Curs prezentare vol 7 Microprocesoare
-
Upload
gabyfilipescu -
Category
Documents
-
view
238 -
download
1
Transcript of Curs prezentare vol 7 Microprocesoare
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
1/38
Curs 7
Interfaarea cu dispozitive periferice
Sistemele cu P pentru conducerea proceselor interfee pentru cuplarea perifericelor:
- dialogul cu operatorul:o butoane, comutatoare, lmpi de semnalizare,
tastaturi, afiaje etc.
- nregistrarea i stocarea datelor din proces:o imprimante, plotere, memorii de mas etc.
- conducerea proceselor fizice:o intrri de la traductoare:
convertoare A/N traductoareanalogice; intrri numerice limitatoare de curs,
senzori numerici; intrri n impulsuri traductoare cu
ieire n impulsuri.
o ieiri ctre elemente de execuie: convertoare N/A; ieiri numerice; ieiri n impulsuri.
- comunicaia cu alte sisteme cu microprocesoare:o paralel;o serial. Fig.7.1. Interfaarea sistemelor cu P
UCP cu P
Interfa
paralel
Interfa
serial
Dispozitive periferice
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
2/38
7.1. Interfaarea paralel
Transferul informaiei ntre P i interfa:
- n spaiul de I/E sau de memorie (I/E mapate inmemorie);
- vitez de transfer mare dat de caracteristicile P iale porturilor interfeei paralele;
- transferul se realizeaz pe magistrala de date asistemului cu P;
- sincronizarea transferului semnalele de control decitire/scriere.
Transferul informaiei ntre interfai periferic:
pe o magistral paralel; cu vitez mare, dat de caracteristicile interfeei i
ale dispozitivului periferic;
la o distan relativ redus (de ordinul m)
cu imunitate sczut la perturbaii.
Fluxul de date:
Unidirecional (sincronizat sau nesincronizat);
Bidirecional (multiplexat n timp).
Fig.7.2. Interfaarea paralel a sistemelor cu P
UCP cu P
Interfa paralel
Dispozitive periferice
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
3/38
7.1.1. Transferul paralel. Controlul fluxului de date ntre interfai periferic
Tipuri de transfer paralel: cu sau fr controlul fluxului de date.
I/E nesincronizat (fr controlul fluxului de date)
Sursa: poate furniza date pe magistrala de I/E n orice moment; menine datele valide pe magistrala de I/E pn cnd
depune noi date.
Destinaia: utilizeaz datele prezente pe magistrala de I/E, fr a le
memora; are acces la date ct timp acestea sunt disponibile pe
magistrala de I/E.
Intrare nesincronizat: perifericul depune date noi pe liniile I; P citete direct starea liniilor de intrare I.
Fig.7.3. I/E paralel nesincronizatIeire nesincronizat:
P comand direct nivelul semnalului de pe liniile de ieire E; perifericul utilizeaz continuu datele prezente pe liniile de ieire E.
Date de la perifericI
Date pentru perifericE
UCP cu P
Interfa paralel
Dispozitive periferice
IE
MA MD MC
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
4/38
I/E sincronizat (cu controlul fluxului de date):- fr confirmare;- cu confirmare: simpl sau dubl.
I/E sincronizat fr confirmare:
Sursa: poate furniza date pe magistrala de I/E n orice moment; indic depunerea datelor printr-un impuls pe linia STB; opional - menine datele valide pe magistrala de I/E.
Destinaia: memoreaz datele prezente pe magistrala de I/E la
detectarea impulsului pe linia controlat de surs (SRC); are acces la datele memorate pn la sosirea altora noi.
Intrare sincronizat fr confirmare: perifericul comand nscrierea datelor n portul de intrare. P ateapt apariia de date noi n portul de intrare.
Fig.7.4. I/E fr confirmareIeire sincronizat fr confirmare:
P nscrie date n portul de ieire al interfeei paralele; perifericul ateapt ca interfaa s nscrie date noi.
Date de la / spre perifericI/E
SRCI/E
UCP cu P
Interfa paralel
Dispozitive periferice
I
E
MA MD MC
SRCISRCE
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
5/38
I/E sincronizat cu confirmare simpl (single-handshake):
Sursa: poate nscrie datele la destinaie numai cnd aceastaeste pregtit s le preia (DST=1); opional - menine datele valide pe magistrala de I/E.
Destinaia: indic sursei prin DST dac poate primi date noi; reine datele prezente pe magistrala de I/E la
detectarea impulsului pe linia SRC;
Intrare sincronizat cu confirmare simpl:
perifericul ateapt permisiunea interfeeide a nscrie date noi; P ateapt apariia de date noi n portul de intrare.
Fig.7.5. I/E cu confirmare simplIeire sincronizat cu confirmare simpl:
P ateapt permisiunea interfeei de a nscrie date noi; perifericul indic interfeei momentul n care poate primi date noi.
Utilizat n transferuri paralele unidirecionale.
Date de la / spre perifericI/E
SRCI/E
DSTI/E
UCP cu P
Interfa paralel
Dispozitive periferice
I
E
MA MD MC
SRCI
SRCEDSTI
DSTE
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
6/38
I/E sincronizat cu confirmare dubl (double-handshake):
Sursa: poate depune datele pe magistral numai cnd destinaia confirm c magistrala esteliber (DST=0); nscrie datele la destinaie (SRC=1). menine datele valide ct timp DST=0.
Destinaia: indic sursei prin DST dac poate depune sau nu date pe magistral; reine datele prezente pe magistrala de I/E la dezactivarea semnalului pe linia SRC.
Fig.7.6. I/E cu confirmare dubl
Intrare sincronizat cu confirmare dubl:
perifericul ateapt permisiunea interfeei pentru a depune i nscrie date noi; P ateapt apariia de date noi n portul de intrare.
Ieire sincronizat cu confirmare simpl: P ateapt permisiunea interfeei de a nscrie date noi; perifericul indic interfeei momentul n care aceasta poate depune i nscrie date noi.
Utilizat n transferuri paralele bidirecionale.
Date de la / spre perifericI/E
SRCI/E
DSTI/E
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
7/38
7.1.2. Interfaa paralel PPI 8255/8255A. Caracteristici tehnice i structura intern
PPI - Programmable Peripheral Interface interfa paralel programabil
40 de pini, compatibil TTL, alimentat la +5V; 8255/8255A - NMOS, 82C55A CMOS; 3 porturi I/E paralele de 8 bii.
Fig.7.7. Structura intern a interfeei paralele 8525/8255A
RDWRA1
Grup A
Port A
Comand
Grup AGrup A
Port C
(sup)Tamponmagistral
de date Grup B
Port C
(inf)
Comand
Grup BLogicde
comand
citire/
scriere
Grup B
Port B
CS
D7D0
A0PB7PB0
PC3PC0
PC7
PC4
PA7PA0
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
8/38
3 porturi de 8 bii: A, B i C: Grup A = Port A + Port Csup, Grup B = Port B + Port Cinf
Tamponul magistralei de date asigur legtura ntre MD i magistrala intern, este
validat la selectarea circuitului ( CS =0).Logica de citire/scriere stabilete sensul de transfer al datelor prin tamponul magistraleide date (RD , WR) i decodific liniile A1i A0 pentru a selecta registrele interne.
Logica de comand conine un registru de control (CWR - Control Word Register), princare se poate programa modul de lucru al celor dou grupuri de porturi.
Linia RESET terge coninutul registrelor interne (A, B, C porturi de intrare n modul 0).
CS RD WR A1 A0 Tipul operaiei efectuate
0 0 1 0 0 Citire port A
0 0 1 0 1 Citire port B
0 0 1 1 0 Citire port C
0 0 1 1 1 Nici o operaie (D7D0 n HZ)
0 1 0 0 0 Scriere n portul A
0 1 0 0 1 Scriere n portul B0 1 0 1 0 Scriere n portul C
0 1 0 1 1 Scriere n registrul de comand
1
0 1 1 Nici o operaie (D7D0 n HZ)
Fig.7.8. Tabelul de funcionare al circuitului 8255/8255A
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
9/38
Porturile A, B i C porturi independente de 8 bii.
Portul A - un registru de ieire cu memorare;
- un registru cu memorare pe intrare.Portul B - un registru tampon intrare/ieire cu memorare
- un tampon de intrare;
Portul C - un registru tampon de intrare fr memorare;- un registru tampon de ieire cu memorare.
Porturile A i B linii utilizate numai pentru transferul de date pe octet
Portul C - poate fi controlat pe octet, semioctet i pe bit.- liniile portului C au i funcii auxiliare de sincronizare a transferului prin A i B.
7.1.3. Modurile de lucru ale interfeei paralele PPI 8255/8255A
Circuitul 8255A poate lucra n trei moduri, selectabile prin program.
Modul 0 - intrare/ieire nesincronizatA, B, Csupi Cinfpot fi programate separat pentru transfer paralel nesincronizat.
Modul 1 intrare sau ieire sincronizatA i B programate independent pentru transfer paralel sincronizat cu confirmare simpl.
Modul 2 intrare/ieire sincronizatPortul A programat pentru transfer bidirecional sincronizat, cu confirmare dubl.
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
10/38
Mod
Port AMod
Port B
0 I/E I/E I/E I/E I/E I/E I/E I/E I/E I/E 0
1 I I/E I/E IBFA ASTB INTRA BSTB IBFB INTRB I 1
1 E AOBF AACK I/E I/E INTRA BACK BOBF INTRB E 1
2 I-E AOBF AACK IBFA ASTB INTRA
Fig.7.9. Conectarea PPI 8255A n sistem i semnificaia pinilor n cele trei moduri de lucru
RD WR D7D0 CS A1 A0
RESET 8255A
Port A Port C Port B
PA7PA0 PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 PB7PB0
Magistrala de adrese
Magistrala de comand
Magistrala de date
A1 A0
I/OWI/OR
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
11/38
Modul 1 intrare: SRC = STB (strobe); DST = IBF (Input Buffer Full);
Fig.7.10. Evoluia semnalelor de control n modul 1; A, B - porturi de intrare
1. Perifericul depune data pe liniile de intrare.2. Perifericul activeaz semnalul STB i nscrie data n portul de intrare.3. Portul de intrare reine data i indic acest lucru prin activarea liniei IBF.4. Informat despre ncrcarea datei, perifericul dezactiveaz linia STB.5. Perifericul poate nceta s mai menin data valid pe magistral.6. Atunci cnd STB IBFRD=1, 8255 activeaz linia de ntrerupere INTR, dac INTE=1.7. P afl c data este disponibili declaneaz o procedur de citire a ei (RD=0).8. Achitarea cererii de ntrerupere (INTR=0).9. Data este citit de microprocesor.10.Linia IBF este dezactivat: perifericul poate depune o nou dat pe magistral.
Data stabil
10
STB
IBF
INTR
RD
Date de la
periferic
1 2 3 4 5 6 7
89
tPHtPS
tST
Numai dacINTE=1
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
12/38
Modul 1 ieire SRC = OBF (Output Buffer Full); DST = ACK (Acknowledge);
Fig.7.11. Evoluia semnalelor de control n modul 1; A, B - porturi de ieire
11.P nscrie data n portul de ieire.12.Se dezactiveaz cererea de ntrerupere pe linia INTR (dac exist).13.Se termin scrierea, odat cu dezactivarea semnalului WR .14.Datele apar pe magistral dup tWB de la terminarea scrierii.15.Se activeaz linia OBF , care anun perifericul c datele sunt valide pe magistral.16.Perifericul confirm preluarea datei prin activarea semnalului ACK .17.Aceasta determin portul s-i dezactiveze linia OBF.18.Se dezactiveaz linia de confirmare a prelurii datei de ctre periferic.
19.
Atunci cnd WROBF
ACK=1, se genereaz o ntrerupere pe linia INTR, dac INTE=1.20.P este anunat astfel c portul de ieire este pregtit s accepte noi date.
WR
OBF
INTR
tWB
Date pentruperiferic
Numai dac INTE=1
Data stabil
ACK
1511 12 13 14 16 17 18 19 20
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
13/38
Modul 2 - intrare-ieire sincronizat SRC = STBA, OBF A; DST = IBFA, ACK A.
INTRA = STBAIBFARD + WROBFAACK A, condiionat de INTE1i INTE2.
Controlul fluxului de date cade n sarcina perifericului.
Fig.7.12. Evoluia semnalelor de control n modul 2; A - port intrare-ieire
9
tST
tKDtAD
tPHtPS
Date pt. periferic
1 2 3 4 5 6 7 10
STBA
IBFA
RD
PA7PA0
WR
OBFA
INTRA
ACKA
11 13 1918
8
Date de la periferic
14
17
14
1615 2012
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
14/38
7.1.4. Programarea interfeei paralele PPI 8255/8255A
D7 D6 D5 D4 D3 D2 D1 D0
1 MA1 MA0 PA PCS MB PB PCIGrup A Grup B
Mod Tip Mod Tip
Port A Port A PC7PC4 Port B Port B PC3PC0ControlWord
0 0 - modul 00 1 - modul 11 x - modul 2
1 - I0 - E 1 - I0 - E 0 - mod 01 - mod 1 1 - I0 - E 1 - I0 - E
D7 D6 D5 D4 D3 D2 D1 D0
0 x x x B2 B1 B0 S / R
Nu conteaz Selecie bit port C OperaiaPC0 0 0 0PC1 0 0 1PC2 0 1 0PC3 0 1 1PC4 1 0 0
PC5 1 0 1PC6 1 1 0
Single Bit Set/Reset
PC7 1 1 1
1 - Set0 - Reset
Fig.7.13. Cuvinte de comand
Comenzi pe bit (portul C n modul 0)
Activarea/dezactivarea ntreruperilor (modurile 1 i 2).
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
15/38
Citirea portului C informaie de stare SW (Status Word) - interogare
Mod Port A D7 D6 D5 D4 D3 D2 D1 D0 Mod Port B
0 I/E PC7 PC6 PC5 PC4 PC3 PC2 PC1 PC0 0 I/E
1- I PC7 PC6 IBFA INTEA INTRA INTEB IBFB INTRB 1 - I
1 - E OBFA INTEA PC5 PC4 INTRA INTEB OBFB INTRB 1 - E
2 I-E OBFA INTE1 IBFA INTE2 INTRA
Fig.7.14. Cuvntul de stare (citit din portul C)
7.1.5. Utilizarea interfeei paralele PPI 8255/8255A n aplicaii
Exemple de aplicaii folosind 8255/8255A:
- interfaarea cu tastaturi i afiaje cu electronic proprie;
- interfaarea cu convertoare D/A i A/D.
Modurile de lucru i cuvintele de comand:
- caracteristicile de interfaare ale perifericelor:o modul de transfer al datelor;o secvenierea temporal a operaiilor.
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
16/38
Fig.7.15. Interfaarea cu tastaturi afiaj cu Fig.7.16. Interfaarea cu convertoarelogic de control proprie D/A i A/D
PC3
PA5PA0Mod 1 PA6
Intrare PA7
(STBA) PC4(IBFA) PC58255A
PB5PB0Mod 1 PB6Ieire PB7
(OBFB) PC1(ACKB) PC2
PC6PC7
PC0
Tastatur cudecodificare
R5R0SHIFTCTRL
STBACK
D5D0BACKSPACECLEARDATA READYACKBLANKINGCANCEL WORD
Afiaj cu
auto-explorare
INTRA
INTRB
A0
RD
WR
D7D0
CS
A1
Mod 0PA7PA0
IeirePC7
PC6 Bit
set/reset PC5PC4
Mod 0 PC3PC0
Intrare PB7PB0
8255A
SAMPLE EN
STB
MSBDATA AI
LSB
Convertor
A/D 12 bi i
ConvertorD/A (8 bii)
DATAAO
STB DATA
OUTPUT EN
A0
RDWR
D7D0
CS
A1
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
17/38
Interfaa cu tastatura:
Liniile R5R0 - codul tastei acionate dintr-o matrice cu 64 de taste (26)SHIFT i CTRL starea a dou taste funcionale: Codul de 6 bii se transmite n exteriorSTB indic apsarea unei noi taste, cu codul dat de R5R0.ACK permite tastaturii s furnizeze un nou cod.
Portul A - intrare n modul 1, cu ntrerupere ctre P.
Interfaa cu afiajul cu logic de explorare nglobat:
D5D0 codul caracterului de afiat;BACKSPACE, CLEAR, BLANKING, CANCEL WORD comenzi specifice afiorului;
READYDATA indic afiajului disponibilitatea unui nou caracter;ACK - indic interfeei preluarea caracterului.
Portul B ieire n modul 1, cu ntrerupere ctre P.
D7 D6 D5 D4 D3 D2 D1 D0
1 0 1 1 0 1 0
CW Port A - Modul 1Port A -Intrare
PC6 , PC7 -Ieire
Port B -Modul 1
Port B -Ieire
PC3PC0 -indiferent
Liniile PC5PC0 alocate automat porturilor A i B n modul 1 - nu vor fi influenate de biiiD3i D0 din cuvntul de comand; numai PC6i PC7, vor fi programai ca ieire, prin D3=0.
Pentru validarea liniilor INTRA i INTRB, trebuie setate bistabilele INTEA i INTEB, cuajutorul unor cuvinte set-reset pentru biii PC4i respectiv PC2.
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
18/38
; PROGRAMARE 8255A PENTRU INTERFAAREA CU TASTATURA I CU AFISAJ; CU ELECTRONIC NGLOBAT
PPI EQU 50h ; Adresa de baz 8255A.CW EQU 10110100b ; Cuvntul de comand pentru configurarea 8255A.SINTEA EQU 00001001b ; Comand setare bit PC4=INTEA.SINTEB EQU 00000101b ; Comand setare bit PC2=INTEB.
MVI A, CW ; ncarc n acumulator cuvntul de comand.OUT PPI+3 ; nscrie CW n registrul de comand (adresa 53h)
MVI A, SINTEA ; ncarc n acumulator comanda de setare bistabil INTEA.OUT PPI+3 ; Validare generare ntreruperi pentru portul A.MVI A, SINTEBOUT PPI+3 ; Validare ntreruperi de la portul B.EI ; Valideaz ntreruperile la nivelul microprocesorului.
; . . . . . . . . . . . . . . . . . . . . . . . . . . .
; COMAND INTRODUCEREA UNUI SPATIU INTRE CARACTERE (BLANC)MVI A, 00001101b ; Seteaz linia PC6.OUT PPI+3 ; Este tot un cuvnt de comand, deci se nscrie tot la 53h.MVI A, 00001100b ; Reseteaz linia PC6.OUT PPI+3
; . . . . . . . . . . . . . . . . . . . . . . . . . . .
; COMAND STERGEREA CUVNTULUI AFIATMVI A, 0Fh ; Seteaz linia PC7.OUT PPI+3MVI A, 0Eh ; Reseteaz linia PC7.OUT PPI+3
; . . . . . . . . . . . . . . . . . . . . . . . . . . .
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
19/38
Interfaarea cu convertorul A/D
Convertorul A/D - 12 bii: PC3PC0, PB7PB0.
SAMPLE Enable lansarea conversiei.
STB citirea rezultatului la terminarea conversiei.
Portul B i CINF modul 0.
Interfaa cu convertorul D/A
Rezoluie de 8 bii PA7PA0
STB DATA nscrie data numeric;
OUTPUT ENABLE valideaz ieirea analogic.
D7
D6
D5
D4
D3
D2
D1
D0
1 0 0 0 0 0 1 1
CW Port A - Modul 0Port A -Ieire
PC7PC4 -Ieire
Port B -Modul 0
Port B -Intrare
PC3PC0 -Intrare
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
20/38
7.2. Interfaarea serial
Transferul informaiei ntre P i interfa:
- la fel ca la interfaa paralel.
Transferul informaiei ntre interfai periferic:
pe linii seriale (bit cu bit);
cu vitez mai redus, dat de caracteristicile
interfeei i ale dispozitivului periferic; la o distan invers proporional cu viteza (de
ordinul zeci - sute de m)
cu imunitate mai ridicat la perturbaii.
Transferul serial sincronizat:
- la nivel de caracter transfer asincron;
- la nivel de bit transfer sincron.
Fluxul de date:
Simplex unidirecional;
Half-duplex bidirecional, multiplexat n timp; Duplex bidirecional, simultan.
Tipuri de legturi seriale:
- punct la punct; Fig.7.17. Interfaarea serial a sistemelor cu P
- multipunct.
UCP cu P
Interfa serial
Adaptor de comunicaie
Dispozitiv periferic
sau
sistem cu microprocesor
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
21/38
Fig. 7.18. Modelul general al comunicaiei seriale punct la punct
ETPD - echipamente terminale de prelucrare a datelor (DTE - Data Terminal Equipment);
ETCD - echipamente terminale pentru comunicaii de date (DCE - Data CommunicationEquipment).Linia de comunicaie - mediul fizic prin care se propag datele seriale.
- linii dedicate - linie telefonic nchiriat, linie telex, fibr optic, transmisie radio;- linii comutate linii telefonice din reeaua public.
Adaptor de comunicaie adaptarea la caracteristicile liniei de date.Linii cu cuplaj direct (adaptor fr modem): EIA RS-232, RS-422A, RS-423A, RS-485.
liniede date
circuit de date
Unitate
centralcu micro-
procesor
Adaptorde comu-
nicaie
Interfaserial
Unitate
centralcu micro-
procesor
Adaptorde comu-
nicaie
Interfaserial
legtur de datesim lex
duplex
semidu lex
ETPDETPD ETCD ETCD
ILIP IP
IS IS
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
22/38
7.2.1. Interfaa serial USART 8251A. Caracteristici tehnice i structura intern
USART (Universal Synchronous / Asynchronous Receiver / Transmitter)- un canal serial full duplex;- viteza maxim 19200 Baud (asincron), 64000 Baud (sincron).
Fig.7.19. Schema bloc a circuitului 8251A
RD
WR
C/D
Tampon
transmisie
Comand
transmisie
Tampon
magistral
de date
Logic
de
comand
i
citire/
scriere
Comand
modem
CS
D7D0 TxD
TxRDY
TxE
TxCCLK
RESET
RTS
CTS
DTR
DSR
Tampon
recepie
Comand
recepie
RxD
RxRDY
RxCSYNDET/BRKDET
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
23/38
Tamponul magistralei de date asigur legtura ntre MD i magistrala intern, estevalidat la selectarea circuitului ( CS =0).
Logica de comandi citire/scriere:- stabilete sensul de transfer al datelor prin tamponul magistralei de date ( RD , WR) i
decodific linia C/D (Control / Data) pentru a selecta registrele interne.- sincronizeaz funcionarea transmitorului i receptorului, cu ajutorul semnalului CLK,
avnd frecvena cuprins ntre 750 Khz i 3 MHz (de cel puin 30 de ori > viteza serial).
Linia C/D - se conecteaz la linia A0 a magistralei de adrese.
CS RD WR C/D Tipul operaiei efectuate
0 0 1 0 Citire octet din tamponul de recepie
0 1 0 0 Scriere octet n tamponul de transmisie
0 0 1 1 Citire cuvnt de stare
0 1 0 1 nscriere cuvnt de mod/comand
0 1 1
1 Nici o operaie (D7D0 n HZ)
Fig.7.20. Dialogul dintre P i 8251A
RESET aduce circuitul n starea de inactivitate (Idle), pregtindu-l pentru programare.
Canalul serial are dou blocuri complet independente:Transmitorul primete date de la P i le transmite pe TxD, sincron cu TxC.Receptorul primete date pe RxD, sincron cu RxC, care sunt preluate de P.
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
24/38
Transmitorul format din:- un registru paralel paralel: ncrcat de P cu date de transmis.- un registru paralel serie: preia data din registrul paralel-paralel i o transmite pe TxD.- o logic de comand a transmisiei seriale pe linia TxD, sincronizat de TxC.
Fig.7.21. Structura intern a transmitorului
TxC sincronizeaz transmisia serial la nivel de bit: un nou bit apare pe TxD pe:- fiecare front cztor al TxC:
o viteza de transmisie este egal cu frecvena TxC;- fiecare al 16-lea (al 64-lea) front cztor pe TxC:
o viteza de transmisie este de 16 sau 64 ori mai mic dect frecvena TxC.
TxRDY (Transmitter Ready) P poate nsrie un nou octet n registrul paralel-paralel.
TxE (Transmitter Empty) registrul paralel-serie este gol.
TxRDY, TxE ntreruperi la transmisie.
Registru
paralel-
paralel
Comand transmisie
Registru
paralel-
serie
TxRDY
TxE
TxC
De lalogica decomandi
citire/scriere
De lamagistralaintern
TxD
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
25/38
Receptorul format din:- un registru serie paralel: preia biii de pe linia RxD, pe care i asambleaz n caractere.- un registru paralel paralel: preia caracterele din registrul serie-paralel, la dispoziia P- o logic de comand a recepiei seriale pe linia RxD, sincronizat de RxC.
RxC sincronizeaz recepia serial la nivel de bit: starea liniei RxD este citit pe:- fiecare front cresctor al RxC:
o viteza de recepie este egal cu frecvena RTxC;- fiecare al 16-lea (al 64-lea) front cresctor pe RxC:
o viteza de transmisie este de 16 sau 64 ori mai mic dect frecvena RxC.
Fig.7.22. Structura intern a receptorului
RxRDY un caracter recepionat este disponibil pentru a fi citit de P (ntrerupererecepie)
SYNDET/BRKDET (SYNc DETect/BReaK DETect) rol specific modului de lucru.
Registru
paralel-
paralel
Comand recepie
Registru
paralel-
serie
RxRDY
TxC
De lalogica decomandi
citire/scriere
Lamagistralaintern
RxD
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
26/38
Logica de comand modem controlul hardware al fluxului de date:
DSR (Data Set Ready) intrare - modem pregtit pentru transfer;
DTR (Data Terminal Ready) ieire - terminal de date pregtit pentru transfer;RTS (Request to Send) ieire cere permisiunea de a transmite;
CTS (Clear to Send) intrare primete confirmarea la cererea de transmisie.
7.2.2. Funcionarea USART 8251A n modul asincron
Fig.7.23. Modul de lucru asincron
Bit deparitate
Inserai automat de ctre 8251A
Transmisie
De la microprocesor
Bii deSTOP
Bii de dateBii de date (n=58) Bit deSTART
TxD Bit deSTART
D0 D1 D2 . . . Dn-1
Caracter
D0 D1 D2 . . . Dn-1
Bit deparitate
Verificaide 8251A
Testat de8251A
Recepie
Preluai de ctre microprocesor
Bii deSTOP
Bii de dateBii de date (n=58) Bit deSTART
RxD Bit deSTART
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
27/38
Modul de lucru asincron: sincronizarea receptorului cu transmitorul:
o la nivel de caracter: grup de 58 bii succesivi.
Linia TxD:- nu este nici un caracter de transmis nivel HIGH;- are un caracter de transmis:
o transmite un bit de START nivel LOWo transmite biii caracterului, ncepnd cu lsb;o (opional) transmite bitul de paritate;o transmite 1, 11/2 sau 2 bii de STOP - nivel HIGH.
Validarea transmisiei:- software TxEN=1 n registrul de comand;
- hardware - CTS =0 confirmare la cererea de transmisie furnizat prin RTS=0.
TxD abandonarea transmisiei n curs de desfurare: SBRK=1 n registrul de comand (Send BReaK character)
foreaz TxD continuu pe nivel LOW.
Linia RxD:- nu este nici un caracter prezent pe linie nivel HIGH;
- apariia unui caracter:o sincronizeaz receptorul pe frontul cztor detectat pe linia RxD;o verific bitul de start la jumtatea perioadei corespunztoare vitezei de recepie;o citete periodic starea liniei RxD pentru a reine biii de date;o (opional) citete bitul de paritate;o verific prezena bitului (biilor) de STOP pe nivel HIGH.
Validarea recepiei: software RxEN=1 n registrul de comand.
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
28/38
Tipuri de erori detectate i semnalizate n cuvntul de stare (SW Status Word):
- eroare de paritate bitul de paritate primit nu coincide cu bitul de paritate recalculat;
o se seteaz bistabilul PE (Parity Error) din registrul de stare.
- eroare de ncadrare bitul (biii) de STOP nu au fost gsii pe nivel HIGH;
o seteaz bistabilul FE (Framing Error) din registrul de stare.
- eroare de suprapunere P nu a citit la timp caracterul primit anterior, care s-a pierdut,fiind supranscris de urmtorul caracter sosit pe linie.
o seteaz bistabilul OE (Overrun Error) din registrul de stare.
Erorile detectate nu opresc funcionarea interfeei seriale.
Bistabilele de eroare pot fi resetate prin program: ER=1 (Error Reset) n registrul decomand.
La detectarea unui caracter BREAK (nivel LOW continuu pe linie, pe o durat mai maredect a unui caracter):
linia BRKDET (ieire) trece pe nivel HIGH;
este setat bistabilul cu acelai nume din registrul de stare.
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
29/38
7.2.3. Funcionarea USART 8251A n modul sincron
Modul de lucru sincron: sincronizarea receptorului cu transmitorul:
o la nivel de bloc de bii: de ordinul sutelor de bii de date consecutivi.
Fig.7.24. Modul de lucru sincron
Inserate automatde 8251A
Transmisie
De la microprocesorDe la microprocesor
DATEDATASYNCSYNCDATADATADATASYNCSYNCTxD
TxEMPTY
Bloc de date
nscriere dateLips date
Recepie
Preluate de microprocesorVerificate de8251
Preluate de microprocesor
DATEDATASYNCSYNCDATADATADATASYNCSYNCRxD
SYNDET
Bloc de date
Citire registru de stareCitire registru de stare
Pstrare receptorn sincronism
Intrare n sincronism
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
30/38
Transmisia sincron:- nu sunt date de transmis nivel HIGH;- exist date de transmis:
o transmite unul sau du caractere de sincronizare (SYNC);o transmite biii de date ai mesajului, fr bii de control intercalai;o P trebuie s alimenteze continuu transmitorul cu date, cnd TxRDY=1;o dac TxE=1, se insereaz automat caractere SYNC pentru a pstra sincronismul;
Validarea transmisiei:- software TxEN=1 n registrul de comand;
- hardware - CTS =0 confirmare la cererea de transmisie furnizat prin RTS=0.
Recepia sincron:- cu sincronizare intern:
o iniierea recepiei prin program: EH=1 (Enter Hunt mode) n registrul de comand:
cutare caractere de sincronizare.o cnd ultimii 8 sau 16 bii coincid cu caracterul (caracterele) SYNC:
se trece la recepia biilor de date; se activeaz linia de ieire SYNDET (SYNC Detected); se seteaz bitul cu acelasi nume din registrul de stare; bitul SYNDET este ters automat odat cu citirea registrului de stare.
- cu sincronizare extern:o iniierea recepiei prin hardware: logic extern de sincronizare:
foreaz linia SYNDET=1 (intrare) i determin: ieirea din modul HUNT; nceperea recepiei biilor de date.
Validarea recepiei: software RxEN=1 n registrul de comand.
Erori semnalizate: numai erori de paritate i de suprapunere.
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
31/38
7.2.4. Programarea USART 8251A
Resetare iniializare comenzi
D7 D6 D5 D4 D3 D2 D1 D0S2 S1 EP PEN L2 L1 B2 B1
Numr bii de STOP Tip paritate Numr bii de date Factor de vitez(mod asincron)
Validaregenerare/control
paritate0 0 - inactiv0 1 - 1 bit
1 0 - 11
/2 bii1 1 - 2 bii
0 - impar
1 - par 0 - fr paritate1 - cu paritate
0 0 - 5 bii0 1 - 6 bii
1 0 - 7 bii1 1 - 8 bii
0 1 - 1/1
1 0 1/161 1 1/64
Fig.7.25. Iniializare n modul asincron
D7 D6 D5 D4 D3 D2 D1 D0
SCS ESD EP PEN L2 L1 0 0Tip paritate Numr bii de dateNumr
caractereSYNC
Tipsincro-nizare
Validaregenerare/control
paritate
Mod sincron(Factor de vitez
1/1)
0 - dou1 - unul
0-intern1-extern
0 - impar1 - par 0 - fr paritate
1 - cu paritate
0 0 - 5 bii0 1 - 6 bii1 0 - 7 bii1 1 - 8 bii
Fig.7.26. Iniializare n modul sincron
Factorul de vitez divizor de frecven pentru semnalele de tact TxC i RxC.
1 obligatoriu TxC al transmitorului datelor trebuie s fie comun cu RxC al receptorului.
16, 64 TxC al transmiatorului datelor poate fi independent faa de RxC al receptorului.
i i i l i fi l i d i i
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
32/38
Funcionarea circuitului poate fi controlat n orice moment, de ctre microprocesor, princuvinte de comand (CW) nscrise n registrul de mod/comand.
D7 D6 D5 D4 D3 D2 D1 D0
EH IR RTS ER SBRK RxEN DTR TxEN
Intrare nmod
HUNT
Resetareintern
(=RESET)
Foreaz
RTS =0(pin)
Resetarebistabilede eroare
ForeazTxD=0(pin)
Validarerecepie
Foreaz
DTR=0(pin)
Validaretransmisie
Fig.7.27. Cuvntul de comand
D7 D6 D5 D4 D3 D2 D1 D0
DSR SYNDET/BRKDET
FE OE PE TxEMPTY RxRDY TxRDY
Eroare dencadrare
Eroare desuprapunere
Eroare deparitate
Indic dac
DSR=0(pin) Reflect ntocmai starea pinilor cu acelai nume
Fig.7.28. Cuvntul de stare
Iniializarea USART 8251A: scrierea unei succesiuni de octei, cu C/D=1:
- secvena de sincronizare (numai dup o resetare hardware):onscrierea a 3 octei de comand cu valoarea 00h;
- nscrierea unui cuvnt de comand de resetare intern (IR=1);
- nscrierea unui cuvnt de mod;
- nscrierea a 1 sau 2 caractere de sincronizare n modul sincron;
- nscrierea unui cuvnt de comand.
d i i i i l d l ( / ) b i i i l d
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
33/38
ntre dou scrieri succesive n registrul de control (C/D=1) trebuie asigurat un interval detimp de cel puin 16 perioade ale semnalului de tact CLK (tRV Recovery Time).
Dup iniializare - 8251A este apt s transfere date.La nscrierea datelor n tamponul de transmisie - nu este necesar s se in cont de tRV.
7.2.5. Utilizarea interfeei seriale USART 8251A n aplicaii
Canal de comunicaie serial asincron RS232
RS-232C - standard comunicaie serialasincron
Caracteristici electrice:
Nivelul logic 0 (L - Low) - 312V
Nivelul logic 1 (H - High) 12 -3V
Zona logic interzis: -3 3V
Fig.7.29. RS-232 caracteristici electrice
U[V]
+12V
+3V
t0
-3V
-12V
nivel
L
nivel
H
Caracteristicile mecanice:
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
34/38
Caracteristicile mecanice:
tipul conectorilor: DB25 sau DB9
25 de semnale i linii de dialog pentru controlul transferului de date ntre interfaaseriali modem.
Conectori de tip T (tat) pentruDTE
Conectori de tip M (mam)
pentru DCE
Circuitele de interfa serial -semnale compatibile TTL
Nu sunt direct compatibile cucaracteristicile electrice definitede standardul RS-232.
Pentru adaptare:
circuite emitor-receptorde linie(MAX232)
Tensiunea negativ este formatcu ajutorul unor condensatoarecare se monteaz n exterior.
Fig.7.30. RS-232 caracteristici mecanice
Transmisie date
Recepie date
Cerere de transmisie
Terminal de date pregtit
Pregtit pentru transmisie
Modem pregtit
Mas semnal
Mas protecie
Indicator de apelDetecie purttoare
Ceas de recepie
Ceas de transmisie
NumeNr. pin: /25
2 (3)
4 (7)
15 (-)
5 (8)
17 (-)
8 (1)
3 (2)
20 (4)
7 (5)
6 (6)
1 (-)
22 (9)
TxD
RTS
TxC
CTS
RxC
CD
RxD
DTR
SG
DSR
PG
RI
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
35/38
T1IN T1OUT
R1OUT R1IN
T2IN T2OUT
R2OUT R2IN
C1+
V+
C1-
C2+
V-
C2-
C1
2.2F
+
C2
2.2F
+
C3
2.2F+
VCC
C4
2.2F
+
11
12
1
3
2
6
14
10
9
13
7
8
TTL RS232
TxD
RxD
RTS
CTS
TxD
RxD
RTS
CTS
4
5
MAX232
Fig.7.31. Adaptorul de comunicaie serial asincron MAX232
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
36/38
Fig.7.32. Canal de comunicaie serial asincron RS232 ntr-un sistem cu P 8085
RD WR D7D0 CS A1 A0
8253
GATE2 CLK2 OUT2
Magistrala de adrese
Magistrala de comand
A1 A0
I/OWI/OR
RD WR D7D0 CS C/D
CLK RESET8251
TxCLK TxRDY
RxCLK RxRDY
TxD RxD RTS CTS
A0
I/OWI/OR
T1IN R1OUT T2IN R2OUT
MAX232
T1OUT R1IN T2OUT R2IN
Vcc
TxD RxD RTS CTS
Linii RS232
fCLK (de la 8085)
Magistrala de date
La
RESET
; Secvena de iniializare a circuitului USART 8251A dup un RESET hardware
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
37/38
; Secvena de iniializare a circuitului USART 8251A dup un RESET hardware
USART EQU 80h ; Adresa de baz 8251ARESSOFT EQU 01000000b ; Comand resetare intern
MW EQU 01001110b ; Cuvntul de mod: asincron, 8, N, 1, 1/16CW EQU 00100101b ; Cuvntul de comand: TxEN=1, RTS=1, RxEN=1.
usart_init: MVI B,03h ; Se vor nscrie 3 octei,XRA A ; cu valoarea 00h (A=00h),
sinc: OUT USART+1 ; (10tCY) n registrul de mod/comand (adresa 81h),NOP ; 4 tCYDCR B ; 5 sau 4tCYJNZ sinc ; 10tCY (cu asigurarea tRV > 16tCY).
MVI A,RESSOFT ; ncarc n acumulator comanda de resetare.
OUT USART+1 ; Resetare intern 8251ANOP ; 4 tCYNOP ; 4 tCYNOP ; 4 tCY
MVI A,MW ; ncarc n acumulator cuvntul de mod.OUT USART+1 ; nscrie cuvntul de mod (pe adresa 81h).NOP ; 4 tCYNOP ; 4 tCYNOP ; 4 tCY
MVI A,CW ; TxEN=1, RTS=1, RxEN=1.OUT USART+1 ; Valideaz transmisia i recepia serial a datelor.
; .......................................................
; Rutina de transmisie a unui caracter pe linia serial
-
8/6/2019 Curs prezentare vol 7 Microprocesoare
38/38
; Rutina de transmisie a unui caracter pe linia serial
; Intrare: A caracterul de transmis; Ieire: caracterul a fost inscris in bufferul de transmisie
; Distruge: B, PSW
usart_out: MOV B,A ; Salveaz caracterul in BIN A, USART+1 ; Citete registrul de stareANI 00000000b ; Poate nscrie un nou caracter?JZ send ; Dac TxRDY=0, mai ateapt
MOV A,B ; TxRDY=1, readuce n A caracterul de transmisOUT USART ; nscrie caracterul n bufferul de transmisie.RET ; Revine n programul apelant.
; Rutina de recepie a unui caracter pe linia serial
; Intrare: nimic; Ieire: A caracterul primit; Distruge: PSW
usart_in: IN A, USART+1 ; Citete registrul de stareANI 00000000b ; Exist un caracter disponibil?JZ send ; RxRDY=0, mai ateaptIN USART ; Citete caracterul recepionatRET ; Revine n programul apelant.