Sunteți pe pagina 1din 69

ECHIPAMENTE

ELECTRONICE de
INTERFATARE

CONTINUTUL CURSULUI

Transferul de informaie la diferite niveluri de interfaare.


Subsisteme pentru distribuie i/sau achiziie de semnale analogice i/sau
numerice.
Interfee seriale pentru comunicaii industriale:
RS-232, standardul, programarea portului serial la un PC, circuite
integrate pentru RS-232;
RS-422 i RS-485 standard, polarizare, circuite utilizate, aplicaii;
I2C standardul, aplicaii la sisteme cu microcontrolere;
Controller Area Network standarde, basic i full CAN, aplicaie la
sisteme cu microcontrolere cu interfa CAN integrat n cip.
Interfee paralele pentru comunciaii industriale: portul paralel al unui PC,
interfaa IEEE-488.
Breviar pentru programarea aplicaiilor destinate interfatarii cu procese
industriale.

BIBLIOGRAFIE
1. Isar Dorina, Echipamente de conducere a
proceselor industriale, Litografia UPT,
Timioara, 1999.
2. Isar Dorina, Interfee seriale pentru
comunicaii industriale, Editura
Politehnica, Timioara, 2002.
LABORATOR: et. II, corp A,
sala ELECTRONICA 1

1. Principii de interfatare a
echipamentelor

1.1. Principii de structurare pe niveluri a interfetelor

Transferul de informatii la
nivelul 1 de interfatare

a) acumulator, sau Intrri/Ieiri izolate (I/E izolate) (sau I/O sau E/S):
porturile de intrare/iesire sunt accesate prin instructiuni speciale;

b) memory mapped: aceleasi instructiuni se utilizeaza pentru accesarea


memoriei si a perifericelor;

c) acces direct la memorie, DMA (Direct Memory Access): utilizata


atunci cand avem de transferat o cantitate amre de date intre periferic
si unitatea centrala.

Tehnica IE izolate

Tehnica IE izolate = metoda acumulator


usurinta decodificarii adresei; semnale de control distincte separa
toate adresele de IO de alte adrese de memorie; se simplifica mult
programarea modului de lucru cu perifericele, creste viteza de
executie a programului.
trebuie lucrat cu acumulatorul ceea ce reduce viteza atat pentru
achizitia datelor cat si pentru emiterea comenzilor; o limitare a
flexibilitatii comenzilor .

Exemplificarea tehnicii acumulator


MA = magistrala de adrese; MD = magistrala de date; MC =
magistrala de control
MA

MD

MC

Amplificarea semnalelor furnizate de procesor

Buffere pe MA si MC; Ex. de circuite: 74LS541, 74LS373, 74LS573.

Buffere sau transceivere pe MD: 74LS244, 74LS245, 74LS175.

Tehnica memory-mapped I/O

aceleasi instructiuni pentru lucrul cu memoria si pentru transferuri de


intrare-iesire;
un port de intrare-iesire poate fi tratat drept o locatie de memorie;
comanda spre memorie sau spre periferice este in functie de starea logica
pe linia de adresa A15;
o operaie logica poate fi executata direct intr-un latch (circuit) de intrare
sau iesire;

Exemplificarea tehnicii memory-mapped

fiecare port de intrare - iesire utilizat astfel va ocupa o locatie de


memorie;
exista posibilitatea adresarii unui numar mult mai mare de porturi de
intrare/iesire;
diferenta de lungimi de instructiuni;

MA

MD

Tehnica DMA

DMA = Direct Memory Access


este caracterizat printr-o vitez mare de transfer a datelor;
se utilizeaz un circuit specializat denumit controler DMA, care preia
controlul magistralelor sistemului si administreaza transferul.
Exist dou metode prin care un controler DMA poate prelua
gestionarea unui transfer de date:
a). blocarea microprocesorului si trecerea iesirilor acestuia in stare
de inalta impedanta,
b). utilizarea unor timpi morti in care microprocesorul nu este
activ pe magistrale.

Exemplificarea tehnicii DMA

DRQ = Data ReQuest, HRQ = Hold ReQuest, HOLDA = HOLD


Acknowledge, DACK = Data ACKnowledge.

Exist mai multe canale DMA, fiind stabilit i o prioritate n deservirea


perifericelor de ctre controlerul DMA.

Structura unui
DMAC = I8237 sau I8257

Structura unui controler DMA trebuie s conin:


a). o logic de comand i sincronizare,
b). circuite de amplificare (buffers) pentru conectarea la magistrale;
c). o logic de arbitrare (n cazul mai multor canale);
d). o logic a fiecrui canal:
un registru numrtor de adrese care genereaz adresa curent de
transfer,
un numrtor cu decrementare care s permit determinarea
numrului de octei transferai,
un registru de stare a canalului care indic activarea neactivarea
canalului, sensul transferului i prioritatea;
e). o interfa cu UC care s permit iniializarea regitrilor
controlerului DMA i controlul ulterior al acestuia de ctre UC
precum i realizarea protocolului HOLD - HLDA.

Adresarea
perifericelor

La un moment dat un singur


pe) magistrala de date.

circuit poate nscrie (citi) date pe (de

Circuitul desemnat pentru aceast operaie va trebui selectat de ctre


microprocesor.

Alegerea circuitului (perifericului) se face prin program, prin

intermediul magistralei de adrese.

Orice circuit destinat memorrii datelor are o intrare de selecie (validare)


notat cu CS (Cip Select) sau G (Gate) sau E (Enable) etc.
Avem adresa pe mai multe linii iar selectarea se face pe una singur.
Rezulta ca avem nevoie de un decodificator de adrese.

Exemplu de decodificator de adrese


74LS688 care este un comparator
binar pentru cuvinte de 8 bii.
La intrrile P7 - P0 se stabilesc prin
cablare, la mas sau la tensiunea de
alimentare, niveluri de 0 logic sau 1
logic.
Intrrile Q7 - Q0 sunt conectate la
liniile magistralei de adrese i la AEN
= Adress Enable.
Ieirea circuitului 74LS688 va fi
activ doar n cazul egalitii celor
dou cuvinte binare aplicate la
intrrile Pn i Qn.

Decodificator 74LS138

74LS138 este un
decodificator/demultiplexor de la 3 la 8 linii.
Avem 3 intrari de
selectie si doua intrari de
validare.
Daca la liniile de selecie
A, B, C ale lui 74LS138
avem codul 0 1 0,
conform tabelului de
adevr pentru circuitul
74LS138, se valideaz
linia de ieire Y2.

Magistrala ISA
ISA (Industry Standard Architecture)
Are o magistrala de adrese de 20 biti si o
magistrala de date de 8 biti.
Permite gestionarea majoritatii semnalelor de
intrerupere precum si controlul transferurilor
DMA.
A0-A19 (pinii A31 la A12): MA . Se pot adresa
220 octeti (1MB).
D0-D7 (pinii A9 la A2): MD
nAEN (pin B11): Address ENable, semnal de
validare a adresei pe magistrala de adrese.
nMEMW (pin B11)
nMEMR (pin B12)
nIOW (pin B13)
nIOR (pin B14)
DACK0-DACK3 (pinii B15, B17, B19 si
B26): C DMA activeaza aceste semnale cand
trebuie sa comunice ca are controlul asupra
magistralelor sistemului in vederea unui
transfer DMA.

ISA vs. PCI


Dezavantajele bus-ului ISA (1982):
viteza mica de transfer a datelor,
neadecvat pentru volum mare de date in special pentru transferuri
grafice,
limiteaza posibilitatile de viteza ale procesoarelor pe 32 biti,
spatiul de adresare este insuficient pentru unele sisteme cu necesitati
mari de memorie.
Evolutia bus-ului PCI (Peripheral Component Interconnect) (1992):
iunie 1992, versiunea 2
aprilie 1993, versiunea 2.1
la inceputul lui 1995, versiunea 2.2 (revizuire majora permite
transferuri de 64 biti la 66 MHz)
in februarie 1999 si versiunea 3.0 in august 2002.

PCI caracteristici de avangarda

viteza maxima de transfer a datelor poate fi 132 MB/s pentru configuratia de baza;
extensia acestei configurari poate determina o crestere a vitezei pana la 528MBps
iar PCI-X permite un transfer de pana la 4GBps.
orice periferic conectat la bus poate deveni master si sa initieze un transfer de date;
poate functiona independent de un procesor central;
pentru transferul datelor foloseste metoda little endian (cel mai semnificativ octet
este stocat la cea mai mare adresa).
Ex.: 12345678 h de memorat la adresa 0x0100

ADRESA
cuvant lung
cuvant 12
octet
12

0100
12
34

0101
34

0102
0103
56
78
BIG-ENDIEN

cuvant lung
cuvant 34
octet
12

78
56
34
12
LITTLE-ENDIEN

12

Functiile semnalelor pentru bus-ul PCI

Grupa sistem:
CLK impuls de tact furnizat de generatorul de tact al sistemului; toate
semnalele, cu exceptia lui RST# si INTA# - INTD# sunt esantionate
(citite) pe frontul ridicator al impulsului de tact.
RST# este resetul general care initializeaza toate registrele intr-o stare
cunoscuta.
Grupa datelor si adreselor:
AD[31::0] adresele si datele sunt multiplexate
C/BE[3::0] sunt linii multiplexate a caror functie este fie de comanda pe
bus atunci cand pe bus avem adrese, fie de validare a datelor (byte
enable);
PAR este un semnal de paritate.

PCI

Controlul interfetei cu bus-ul PCI:


FRAME#, DEVSEL# (Device Select), IRDY# (Initiator Ready), TRDY#
(Target Ready), STOP# (se solicita terminarea transferului).

Raportarea erorilor:
PERR#, SERR#.
Arbitrare, specifica doar masterelor:
REQ# si GNT# .
TIPUL SEMNALELOR: FRAME#, TRDY#, IRDY#, STOP#,
LOCK#, si DEVSEL# sunt sustained tri-state signals = sunt iesiri
corespunzatoare unor drivere bidirectionale cu iesiri tri-state
mentinute. Acest tip de iesire este similar celui cu iesire tri-state cu
deosebirea ca, inainte de a trece in impedanta ridicata, ultima voaloare
activa la iesire trebuie sa fie un 1 logic.

2. Transferul de informatii la
nivelul 2 de interfatare

Interfa pentru intrri analogice


Interfa pentru ieiri analogice
Interfa pentru intrri numerice
Interfa pentru ieiri numerice

Interfa
pentru
intrri
analogice

UC va emite, pe MA, adresa asociat


perifericului ce conine CAN-ul.
Pe MD se pune codul canalului si
UC va activa comanda de conversie
(cu linii de pe MC).
BC genereaz un impuls notat
mem si un un impuls dec spre
decodificator pentru a determina
decodificarea adresei.
Urmeaz apoi comanda de conectare
efectiv a unui canal din proces ce
conine mrimea analogic de
convertit.
BC va genera comanda start
conversie spre CAN.
CAN furnizeaz un impuls, notat
STATUS, care informeaz blocul de
comand despre sfritul conversiei.
Avem codul numeric al semnalului
analogic, BC va genera o cerere de
ntrerupere spre UC.
UC genereaz un semnal de comand
pentru citirea codului numeric.

Interfa pentru
iesiri analogice

bloc de control:
controleaz i
comand desfurarea
tuturor operaiilor
specifice interfeei cu
ieiri analogice;

RT, registru tampon :


memoreaz adresa
trimis pe MA
(funcionare n timp
real)

decodificator;

amplificator de linie
(buffer)

UC emite pe MA adresa asociat


canalului care se dorete a fi
activat.
Datele numerice sunt puse pe
MD.
Dup timpul necesar stabilizrii
nivelurilor logice pe MD, uP va
emite, pe o linie a MC, o
comand care va fi interpretat
de ctre blocul de control n
sensul de a comanda memorarea
adresei n registrul tampon.
Dup memorare, magistrala de
adrese poate fi utilizat pentru
alte periferice.
Blocul de control va furniza un
semnal de validare spre
decodificatorul de adrese care va
selecta astfel unul din registrele
tampon de ieire. Datele sunt
memorate n registrul de ieire al
canalului j.
Din acest moment se poate
utiliza MD pentru o alt
aplicaie.

Interfa pentru intrari


numerice
Bloc de control,
Registru tampon, RT: memoreaz adresa trimis pe
MA de ctre procesor;
Decodificator: realizeaz
decodificarea adresei
(cod 1 din M),
Circuite de selecie, CSj:
activarea unuia din cele
M canale de intrare;
Concentrator: un circuit
combinaional cu M
canale de intrare, dintre
care doar unul este activ
la un moment dat (n pori
SAU cu cte M intrri).
Circuit de conectare la
magistral: cupleaz
ieirea concentratorului la
MD prin circuite cu ieiri
tri-state.

Interfa
pentru
iesiri
numerice

Exemple de realizare a interfarii pentru


diverse tipuri de CAN

CAN pe 8 bii conectat la o


magistral de date de 8 bii

Exemple de realizare a interfarii pentru


diverse tipuri de CAN

CAN pe 12 bii conectat


la o magistral de date de
8 bii
Consideram ca adresa a fost
decodificat i este figurat
doar ieirea blocului de
decodificare a adresei, prin
linia notat Selecie
CAN.

2. Transferul de informatii la
nivelul 2 de interfatare

Interfa pentru intrri analogice


Interfa pentru ieiri analogice
Interfa pentru intrri numerice
Interfa pentru ieiri numerice

Interfa pentru
iesiri analogice

bloc de control:
controleaz i
comand desfurarea
tuturor operaiilor
specifice interfeei cu
ieiri analogice;

RT, registru tampon :


memoreaz adresa
trimis pe MA
(funcionare n timp
real)

decodificator;

amplificator de linie
(buffer)

Exemple de realizare a interfarii pentru


diverse tipuri de CNA
CNA pe 8 bii conectat
la o magistral de date
de 8 bii

Exemple de realizare a interfarii pentru


diverse tipuri de CNA

CNA pe 12 bii conectat


la o magistral de date de
8 bii

Tabel de adevar pentru


74LS75

CIRCUITUL 8255
8255 = circuit de tip PPI
(Programmable Peripherical
Interface)
destinat implementrii operaiilor
de intrare-ieire ntr-un sistem cu
microprocesor.
are n componen porturi ale cror
linii pot fi configurate fie ca intrri,
fie ca ieiri, prin intermediul
registrelor interne.
Structura intern permite, n plus
configurarea unor grupuri de linii
care s lucreze mpreun, crend
astfel porturi de intrare sau ieire pe
un bit, pe 4 bii, pe 8 sau 12 bii.
Registrele pot fi selectate cu A1A0
= 00 (Port A), A1A0 = 01 (Port B),
A1A0 = 10 (Port C), .

Registrul de CONTROL poate


fi selectat cu A1A0 = 11

Exemple de realizare a interfarii


a doua CNA-uri pe 12 bii la o
magistral de date de 8 bii

Interfaa standardizat RS-232

RS-232 (Recommended Standard 232) trimisa spre standardizare la


IEEE de ctre Bell Labs.
Exista un standard furnizat de EIA (Electronics Industry Association):
EIA/TIA-232-E (TIA = Telecommunication Industry Association).
Viteza maxim este de 115 Kbps
Sarcina capacitiv maxim este de 2000 pF iar distana este ntre 15 i
20 m.
Echipament terminal de date, cunoscut sub acronimul DTE = Data
Terminal Equipment (de ex. calculatoare);
Echipament pentru comunicaii de date DCE =Data Communication
Equipment (de ex. modemuri).

Cea mai simpl


legtur
DTE-urile i DCE-urile
sunt concepute s lucreze
mpreun.
Pinii 2 pentru DTE i
DCE au funcii opuse din
punct de vedere electric:
la DTE pinul 2 este ieire
pe cnd la DCE este
intrare, chiar dac
denumirea lor este
aceeai, TD (Transmit
Data).
DCE emite pe pinul 3
(conector DB25) i DTE
recepioneaz pe pinul 3.
La pinul 7: masa electrica.

TD

RD

TD

RD

Legtur bidirecional ntre 2


calculatoare de tip DTE

Distanta mare:

Legatura cablu modem nul

Conectori i funcii pentru terminale


In tabel sunt semnificaiile
pinilor pentru conectorul
DB25.

DCE sau DTE ?


1 ) Se msoar tensiunea continu ntre pinii 2 i 7 (pentru DB25). Pinul 7
este masa electric. Apoi se msoar tensiunea ntre pinii 3 i 7. Trebuie
avut n vedere ca testerul conectat la borna comun s fie pus la pinul 7 iar
cel rosu (firul cald) sa fie pus la pinul 2 i apoi la 3.
2) Dac tensiunea la pinul 2 este mai negativ dect -3 V, atunci
echipamentul este cablat ca i un DTE. n cellalt caz se msoar o tensiune
continu apropiat de 0 V.
3) Dac tensiunea la pinul 2 este mai negativ dect -3 V, atunci
echipamentul este cablat ca i un DCE.
4) Dac ambele tensiuni de la pinii 2 i 3 sunt mai mari dect 3 V, atunci fie
se msoar incorect, fie echipamentul respectiv nu este unul conform cu
standardul RS-232.
5) In general, un DTE are ieiri care furnizeaz tensiuni la pinii TD, RTS i
DTR, iar un DCE furnizeaz tensiuni la pinii RD, CTS, DSR i CD.

Conector DB9 vs. DB25

Niveluri logice pe RS-232

Toate semnalele transmise pe RS-232 sunt semnale nedifereniale care


apar ca o tensiune raportat la un nivel de referin (mas electric).
Att pentru semnale de date ct i pentru cele de control, standardul
RS-232 utilizeaz niveluri logice bipolare.
Interpretarea nivelurilor de tensiune este ns diferit: pe liniile de date
avem logic negativ iar pe liniile de control - logic pozitiv.
Valorile de tensiune permise pe linii sunt:
- ntre 5V i 25V este nivelul ridicat de tensiune; de obicei
nivelul real este ntre 9V i 12 V;
- ntre -25V i -5V este nivelul cobort de tensiune (cel mai
adesea de la -12V la -5V).

Niveluri la emisie i la recepie

Intervale de tensiune admise pentru semnale de date pe RS-232 la


emisie respectiv intervale de tensiune admise pentru semnale de date
pe RS-232 la recepie.

Intervale de tensiune admise pentru semnale de control pe RS-232 la


emisie.

Protocol de comunicaie
pentru date pe RS 232

Numrul de bauds este frecvena transmisiei, exprimat n tranziii pe


secund.
Exista viteze de 300, 1200, 2400 4800, 9600 i 19200 bauds.
Transmiterea unui caracter necesit, n afara celor 7 sau 8 bii de cod,
un bit de start, unul sau doi bii de stop, un bit de control. Rezulta ntre
8 i 11 bii, pentru a obine un caracter transmis.
Codarea ASCII a datelor: cod cu caractere alfanumerice.
De ex. numrul 7 va fi transmis codat ASCII, adic 55 (zecimal) sau
37 n hexazecimal i nu ca valoare binar 7. Se transmite deci
00110111 i nu 00000111.

Exemplu de caracter transmis pe RS 232

PARTICULARITATI RS 232:
datele sunt transmise invers: bitul cel mai puin semnificativ
este trimis primul;
1 logic nseamn o tensiune negativ iar 0 logic este o tensiune
pozitiv, pentru date.
Succesiunea tensiunilor corespunztoare literei M cod 77 zecimal
sau cod 4D n hexazecimal (corespunztor lui 01001101 n binar),
pe 8 bii.

ZECIMAL
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

HEXA
60
61
62
63
64
65
66
67
68
69
6A
6B
6C
6D
6E
6F
70
71
72
73
74
75
76
77
78
79
7A
7B
7C
7D
7E
7F

OCTAL
140
141
142
143
144
145
146
147
150
151
152
153
154
155
156
157
160
161
162
163
164
165
166
167
170
171
172
173
174
175
176
177

CARACTER
`
a
b
c
d
e
f
g
h
i
j
k
l
m
n
o
p
q
r
s
t
u
v
w
x
y
z
{
|
}
~
DEL

nceput i sfrit de caracter


Transmisia sincron:
caracterele se trimit cu vitez constant i continuu,
se sincronizeaz emitorul i receptorul cu acelai tact, att n
frecven ct i n faz).
Transmisia asincron:
nu se sincronizeaz strict emitorul cu receptorul printr-un semnal
particular,
emitorul i receptorul sunt comandate de un tact propriu, utiliznduse o comunicaie asincron
se insereaz bii suplimentari care nu descriu caracterul dar servesc de
reper, ncadrndu-l: acetia sunt biii de Start i de Stop.

Controlul paritii

Bitul de paritate: la recepie se controleaz calitatea transmisiei.

Principiul este foarte simplu: atunci cnd trimite un caracter spre portul
su de comunicare, emitorul face astfel nct numrul de bii pe 1 logic
s fie par (sau impar, conform configuraiei sistemului).

Acest bit de paritate poate fi calculat n mai multe feluri:


a) se completeaz cu un 0 logic sau un 1 logic astfel nct numrul de
1 logic corespunztor codului ASCII al unui caracter, descompus n
binar, plus bitul de paritate, s fie par (paritate par);
b) paritate impar;
c) se completeaz ntotdeauna cu un 0 logic i se verific la recepie
c exist un 0 logic dup caracter (paritate S Space);
paritate M Mark.

Legtura standard ntre DTE i DCE

Standardul prevedea legtura ntre


dou aparate diferite, un DTE
(calculator) i un DCE (modem)
care comunic pe linii telefonice cu
o alt pereche DCE DTE, aflat la
distan.
DCE verific nivelul pe linia
corespunztoare pinului 20 (DTR):
dac terminalul este deconectat
avem nivel cobort la DTR.
Cnd la pinul DTR avem nivel
ridicat, modemul va testa linia RTS.
DCE nu transmite nimic
terminalului att timp ct DTR i
RTS nu sunt ambele pe nivel
ridicat (acestea sunt comandate de
DTE).

Linii de control = logic pozitiv

Legtura standard ntre DTE i DCE

Faptul c DCE-ul este n


legtur cu calculatorul de la
cellalt capt al legturii se
detecteaz prin existena unei
purttoare (carrier).
DCE pune nivel ridicat pe linia
corespunztoare pinului 8
(CD).
Comanda de altfel i linia DSR
pentru a comunica terminalului
c exist date care sosesc i c
acestea trebuie citite.
Comand i linia CTS pentru
a-i comunica DTE-ului c poate
trimite date.

Interpretri ....

DTE controleaz liniile DTR i RTS, punnd nivel ridicat pe aceste


linii atunci cnd este gata pentru dialog i urmrete liniile CD, DSR
i CTS pentru a verifica dac, la distan, corespondentul este
pregtit pentru date.
Un modem DCE va urmri una din liniile DTR sau RTS i va
comanda una sau alta din liniile DSR, CTS i/sau CD.
Singura problem este ca fiecare s urmreasc aceeai linie pe
care cellalt o comand, n caz contrar comunicaia nu se
iniiaz.

Liniile de control i cablul modem nul


Fiecare DTE poate transmite, recepionnd n
acelai timp.
Dac fiecare ateapt autorizarea emiterii pe una
(sau mai multe) din liniile sale CTS, DSR, CD,
putem atepta la infinit ca transferul s nceap.
Se observ c fiecare din corespondeni comand
liniile RTS i DTR, imediat ce este pregtit. n
concluzie comanda la intrrile CTS, DSR i CD
poate fi furnizat de ieirile RTS i DTR ale
corespondentului.
Alt soluie este s asigurm fiecrui aparat un
semnal de validare fr s ne punem problema ce
se ntmpl la cellalt capt

Tipuri de protocoale de comunicaie

Receptorul trebuie :
s prelucreze datele mai repede dect sosesc sau
s poat opri fluxul de date atunci cnd registrul su de intrare este
pe cale de a se umple.
Exist trei metode prin care receptorul poate opri transferul datelor
dinspre corespondent:
primele dou metode sunt denumite control hardware:
echipamentul terminal comanda linia RTS i/sau DTR i
supraveghea liniile CTS, DSR i CD;
introducerea microprocesoarelor sau microcontrolerelor rului n
terminale i imprimante a adus cea de-a treia posibilitate, controlul
software.

Protocol de comunicaie RTS/CTS

Calculatorul trimite datele dac


linia RTS a imprimantei este
pus pe nivel ridicat (validat).
Dac registrul su tampon este
aproape plin, imprimanta pune
linia sa RTS pe nivel cobort i
calculatorul, care urmrete
aceast linie prin intermediul
nivelului ce apare la pinul su
notat CTS, oprete transferul.

Protocol DTR/DSR

Calculatorul trimite datele doar


dac linia DTR a imprimantei
este pus pe nivel ridicat.
Calculatorul constat aceasta
urmrind nivelul de tensiune de
la pinul su DSR. Deci, pentru
ca acest protocol s fie
realizabil, este nevoie de
legtur ntre pinul 6 (DSR) al
unuia i pinul 20 (DTR) al
celuilalt i invers.

Protocolul XON / XOFF

Se folosesc caractere speciale, din tabelul cu codurile ASCII, standardizate


pentru a putea fi utilizate pe interfaa serial RS-232: 17 n zecimal, denumit
DC1 i 19 n zecimal, adic DC3.
Cel care trimite datele i oprete transferul dac primete, pe linia sa de
recepie, care este legat la emisia corespondentului, caracterul corespunztor
lui DC3, denumit n limbajul RS-232, XOFF.
Echipamentul respectiv i va relua transmisia dac primete caracterul XON
care este DC1.
Protocolul XON/XOFF nu funcioneaz n modul bidirecional dect cu date
de tip caracter: serii binare lungi pot conine secvene interpretabile ca XOFF,
care interzic receptorului s transmit o eventual cerere de oprire a
transmisiei.

Circuite specializate pentru interfa a


serial RS-232
UART (universal asynchronous receiver/transmitter): 8250, 16450, 16550
sau USART - 8251.
UART-ul are o linie separat pentru emisie (TX) i alta pentru recep ie (RX).
Rezult c poate funciona n mod full-duplex sau half-duplex.
Ali pini ai UART-ului furnizeaz semnale necesare pentru controlul transferului
de date (handshaking).
Toi pinii UART sunt compatibili TTL. Din acest motiv se folosesc
convertoarele de la nivel TTL la nivelurile specifice pentru RS-232.

UART

Funcii UART pentru emisie:


setarea vitezei, acceptarea octetului
trimis de ctre microprocesor,
generatea bitului de start,
niruirea biilor pentru transmisie
serial, determin i adaug bitul
de paritate (dac este cazul),
termin transmisia caracterului cu
un bit de stop, semnaleaz
microprocesorului c este pregatit
pentru urmtorul caracter,
ndeplinete controlul transferului
de date (handshaking).

Funcii UART pentru recepie:


seteaz viteza de transfer la recepie,
recunoate bitul de start, grupeaz
datele seriale primite, citete bitul
de paritate i verific paritatea,
recunoate bitul (ii) de stop,
transfer caracterul in paralel spre
microprocesor pentru a fi prelucrat,
ndeplinete controlul transferului
de date (handshaking) dac este
necesar, verific existena erorilor i
le semnaleaz n registrul de stare.

Partea de emisie

registrul de meninere a
datei primit de la uP;
TBE (transmitter buffer
empty);
Se formeaz pachetul
care conine data;
Registrul de deplasare
pentru emisie;
Setarea generatorului
pentru viteza de
transmisie serial;
Daca bitul TXE este 0
atunci data mai este
prezent n Registrul de
deplasare.

Partea de recepie

Se monitorizeaz continuu
linia de recepie n
ateptarea unui bit de start;
la recepie viteza de transfer
(baud rate) este prestabilit ;
Registrul de deplasare
pentru recepie;
Doar octetul de date,
recepionat complet, este
depus n bufferul FIFO;
RxRDY (receiver ready)
este pe 1 logic i rmne aa
atta timp ct buffer-ul
FIFO este plin;

Erori la recepie
Depire la recepie pentru c octeii ajung mai repede dect pot fi citi i;
Eroare de paritate;
Eroare de cadru dac biii recepionai nu fac parte din cadrul recep ionat n acel
interval de timp;
Eroare de tip break: bitul de start este mai lung dect durata unui cadru. Pentru a
obine atenia receptorului, un emitor poate menine linia de date pe nivel
ridicat pentru un interval de timp mai lung dect timpul necesar pentru
transmiterea unui ntreg caracter, aceast stare fiind interpretat ca i break
error.

Eroare de
serializare datorat
nesincronizrii
ntre emitor i
receptor.

Aplicaie: portul serial al PC-ului

Adresele standard ale portului


serial precum i liniile de
ntrerupere, IRQ, pentru un
calculator de tip PC sunt
standardizate.
Adresa
de Baz
+0

DLAB
=0
=0

Citire/Scriere
Read/Write
scriere
citire
citire/scriere

=1
+1

Acronim
-

+4
+5
+6
+7

ADRESA DE
BAZ

IRQ

COM1

3F8

COM2

2F8

COM3

3E8

COM4

2E8

=0

citire/scriere

IER

=1
-

citire/scriere
citire

IIR

DLAB

FCR
Acronim

scriere
Citire/Scriere
Read/Write
citire/scriere

citire/scriere
citire
citire
citire/scriere

MCR
LSR
MSR
-

+2
Adresa
de Baz
+3

NUME

LCR

ADRES DE NCEPUT
0000:0400
0000:0402

FUNCIE
Adres de baz COM1
Adres de baz COM2

0000:0404

Adres de baz COM3

0000:0406

Adres de baz COM4

Divisor Latch Access


Bit i LCR

Vitez (bps)

Factor de
divizare
(zecimal)
2304
384
192
48
24
12
6
3
2
1

50
300
600
2400
4800
9600
19200
38400
57600
115200

Partea High
a divizorului

Partea Low
a divizorului

09h
01h
00h
00h
00h
00h
00h
00h
00h
00h

00h
80h
C0h
30h
18h
0Ch
06h
03h
02h
01h

Cnd setm DLAB pe 0 logic


sau pe 1 logic, unele registre i schimb funcia. Divisor Latch Access Bit (Bitul
de Acces la registrul de memorare al divizorului.
Semnificaia
coninutului
fiecrui registru
este prezentat n
tabele. In
exemplul pentru
registrul de
control al liniei
(LCR) se observ
c putem seta
viteza i
parametrii de
comunicaie.

Bit
Bit 7

Observaii
Bitul
de
acces
la
circuitul
de
memorare
(latch) pentru divizare
1
Acces
la
buffer-ul
de
recepie,
la
buffer-ul
de emisie i la registrul de validare a
0
ntreruperilor.
Validare pentru generarea strii de repaus la recepie a UART-ului (Set Break Enable)

Bit 6
Bit
Biii 3, 4 i
5

Bit
Bit 2

Biii 0
i 1

5
X
0

Bit
4
X
0

Bit 3
0
1

0
1

1
0

1
1

Selecia tipului
de paritate
Fr paritate
Paritate par
Paritate impar
Paritate de tip
Mark (Sticky High
Parity)
Paritate de tip
Space (Sticky Low
Parity)

Observaii
Numrul biilor de stop
Un bit de stop
0
Doi bii de stop pentru cuvinte de lungime de 6, 7 i 8 bii sau 1,5 bii de stop pentru o
1
lungime a caracterului de 5 bii
Bit
Bit Lungimea caracterului
1
0
5 bii
0
0
6 bii
0
1
7 bii
1
0
8 bii
1
1

Drivere de linie

Primele circuite au fost cele de tip 1488 i 1489, avnd


fiecare cte 4 emitoare respectiv 4 receptoare. 1488
are nevoie de dou tensiuni de alimentare, o tensiune
ntre +7,5V i +5V iar a doua ntre -7,5V i 15V.
Pentru receptoarele din structura circuitului 1489 avem
urmtoarele caracteristici: domeniul tensiunilor pe
intrri : +/- 30 V; au histerezis intern al tensiunii de prag
la intrare; prezint un terminal de control care permite
alegerea tensiunii de prag i filtrarea zgomotului.
MAX 232. Acesta are n componen: 2 emitoare,
2 receptoare, convertoare interne pentru dublare i
inversare de tensiune. Datorit convertoarelor in- terne
are nevoie de o singur surs de alimentare,
la + 5 V.

Circuit
MAX 232
MAX 232A

C1
1
0,1

C A P A C I T I (F)
C2
C3
C4
1
1
1
0,1
0,1
0,1

C5
1
0,1

Limitri ale interfeei RS232 i evoluia standardelor

Limitri: lungimea cablului, viteza de transfer a datelor


i posibilitatea alegerii mediului de comunicaie, comunicatie point-to-point,
niveluri de tensiune care nu sunt direct compatibile cu alimentarile moderne. Exista
o relatie intre viteza si lungimea cablului: pe masura ce viteza creste, calitatea
fronturilor impulsurilor depinde de capacitatea si inductivitatea cablului, maximum
2500 pF. Imbunatatire a performantelor cablurilor: de la 160 pF/m la doar 50
pF/m- crestere la 50m.
Soluia este utilizarea interfeelor (derivate din RS-232) cu linii difereniale: RS423, RS-422 i RS-485.
RS-423 face legtura practic ntre cele dou tipuri de linii de comunicaie: cu
tensiuni raportate la mas, nedifereniale (unbalanced) i difereniale (balanced).
Compatibilitatea ntre standardele cu linii de comunicaie nedifereniale i cele care
utilizeaz linii difereniale se realizeaz prin utilizarea aceluiai tip de receptor
diferenial.

S-ar putea să vă placă și