Sunteți pe pagina 1din 16

128 Sisteme de achiziii de date

comunicaia dintre dou aparate electronice interconectate.


Apariia unor noi interfee de tip paralel, este n continuare
impus de nevoia mereu crescnd de a transfera date cu viteze
din ce n ce mai mari ntre diferite echipamente (10 Moctei/s).

7.1 Interfaa standardizat RS-232

7.1.1 Caracterizare general


Interfaa RS-232 i magistrala aferent s-au dezvoltat i
rspndit odat cu proliferarea calculatoarelor personale,
porturile seriale ale unui calculator (COM1COM4) funcionnd
n conformitate cu acest standard. Dei puternic concurat n
momentul de fa de o alt magistral serial USB (Universal
Serial Bus), care prezint numeroase avantaje comparativ cu
prima, interfaa RS-232 este nc de actualitate datorit
numeroaselor echipamente electronice care o utilizeaz.
Conceput pentru transmisii seriale de tipul port la port, cu
rata de transfer redus i la distane mici, interfaa RS-232 a
cunoscut perfecionri succesive, ultima variant,
EIA/TIA-232-E (EIA=Electronic Industries Alliance,
TIA=Telecommunications Industry Association) din 1991, fiind
caracterizat de urmtorii parametri electrici mai importani:
viteza maxim: 20 Kbps (actualmente se utilizeaz curent
pn la 116 Kbps);
lungimea maxim a cablului: 15 m (sau o sarcin capacitiv
de 2000 pF);
niveluri logice pentru liniile de date i comand (logic
negativ):
+5 +25 V pentru 0 logic;
-5 -25 V pentru 1 logic;
rate de transmisie: 300, 1200, 2400, 4800, 9600 i
19200 bps;
Interfee standard de comunicaie 129

transmisie asincron (bit de start, bii de date, bit de paritate


i bit/bii de stop).
n legtur cu precizrile de mai sus se impun cteva
observaii.
Valorile ridicate i plaja larg de variaie pentru nivelurile
logice, stabilite pentru a asigura o bun imunitate la perturbaii,
impun utilizarea unor circuite specializate pentru conversia de
la nivelele TTL/CMOS la nivelele RS-232. Un asemenea circuit
de interfa este prezentat n exemplele analizate la pct. 7.1.5.
Termenul de transmisie asincron trebuie neles n sensul
c o transmisie poate fi iniiat n orice moment; cu toate
acestea, pe durata transmisiei/recepiei unui octet,
transmitorul i receptorul trebuie s funcioneze sincron,
pentru ca datele s fie eantionate corect la recepie. Dac
frecvenele de transmisie/recepie sunt suficient de apropiate
(nu difer cu mai mult de 1-2% ntre ele), aceast sincronizare
pe termen scurt este implicit asigurat.
Distana maxim pn la care se poate realiza schimbul de
date poate fi extins prin includerea n calea de comunicaie a
unui modem, care faciliteaz conectarea la o linie telefonic.
Apar astfel dou categorii de echipamente:
- calculatorul, considerat ca echipament terminal de date i
care este cunoscut sub denumirea de DTE (de la Data
Terminal Equipment), i
- modemul, denumit prescurtat DCE (de la Data
Communication Equipment).
Interconectarea celor dou echipamente se face prin conectori
standardizai (de regul conectori DB9 cu 9 pini), ale cror
specificaii rezult din figura 7.2.
Se va observa c standardul precizeaz nu numai semnalele
aferente diferitelor contacte dar i geometria carcasei
conectorului (male tata i female mama) respectiv a
130 Sisteme de achiziii de date

contactelor (male pin i female born). Aceste caracteristici


difer la cele dou tipuri de echipamente DTE i DCE. Alte
diferene, funcionale, ntre terminalele corespondente de la
echipamentele DTE i DCE vor fi scoase n eviden n
paragraful urmtor.
5 GND Signal Ground
9 RI Ring Indicator
4 DTR Data Ready
8 CTS Clear To Send
3 TD Transmit Data Line
7 RTS Request To Send
2 RD Receive Data Line
6 DSR Data Set Ready
1 DCD Data Carrier Detect
DB9 Observaie:
DCE: Carcas male i pini female
DTE: Carcas female i pini male

Figura 7.2.
Un ultim aspect ce se impune a fi evideniat n legtur cu
comportamentul interfeei RS-232 l constituie structura
informaiei vehiculate pe magistral. Fiind vorba de o
comunicaie serial, datele vor fi transmise caracter dup
caracter. La rndul su, un caracter are structura reprezentat
n figura 7.3. n figur au fost avute n vedere nivelurile logice
aa cum apar ele pe magistral, adic n logica negativ.

Semnal Date
Start Paritate

Repaus 11 0 1111 Stop Repaus t

Figura 7.3.
Interfee standard de comunicaie 131

Se constat c n repaus, adic nainte i dup transmisia


unui caracter, linia de transmisie are nivelul 1 logic. Informaia
vehiculat (biii de date) sunt ncadrai de un bit de start i
respectiv unul sau mai muli bii de stop. Bitul de start, care
apare asincron, realizeaz sincronizarea receptorului cu
transmitorul iar bitul/biii de stop asigur un interval de timp
minim ntre dou caractere succesive, necesar procesrii
caracterului recepionat nainte de sosirea caracterului urmtor.
Informaia transmis const din biii de date i eventual un
bit de paritate. Datele pot fi reprezentate pe 7, 8 i uneori 9 bii.
n primul caz, cei 7 bii reprezint un caracter alfanumeric codat
conform standardului ASCII (vezi tabelul 7.1). Se precizeaz c
tabelul reprezint corespondena dintre cele 128 de caractere
ASCII i valorile n hexazecimal corespunztoare celor 7 bii pe
care este reprezentat caracterul. Spre exemplu, caracterului A
i corespunde valoarea 41 n hexazecimal.

Tabelul 7.1.
Trebuie subliniat c nu toate caracterele ce apar n
tabelul 7.1 sunt vizibile, unele avnd numai rol de comand.
Este cunoscut, spre exemplu, utilitatea caracterelor BS (Back
132 Sisteme de achiziii de date

Space), ESC (Escape), etc., cu rol de comand dar fr o


reprezentare grafic.
Dac datele sunt organizate pe 8 bii, atunci aceti bii pot
reprezenta o informaie binar (un octet); se spune n acest caz
c informaia transmis corespunde unui fiier binar. Pe de alt
parte, cei 8 bii pot reprezenta un caracter, codat conform
codului ASCII extins (care include 256 de caractere). Transmisia
de caractere ASCII, reprezentate pe 7 sau 8 bii este asociat n
exprimarea curent cu fiiere text.
Organizarea datelor pe 9 bii este utilizat n cazul
comunicaiei multimicrocontroler i nu este specific pentru
interfaa RS-232, care permite interconectarea a numai dou
echipamente ntre ele. Se prezint, cu toate acestea, cteva
aspecte funcionale n legtura cu aceast problem.
Primii 8 bii reprezint, de aceast dat, informaia binar
vehiculat iar bitul al 9-lea semnific, prin valoarea sa, faptul c
aceast informaie constituie o adres (bitul 9 pe 1 logic) sau
date (bitul 9 pe 0 logic). Se transmite mai nti adresa (cu bitul 9
pe 1), fapt ce permite ca din mulimea de participani la
comunicaie s fie selectat adresantul, dup care se transmit
datele (cu bitul 9 pe 0), care ajung astfel la adresant (acesta
fiind acum singurul activ).
Este important de reinut faptul c indiferent de modul n
care este organizat informaia vehiculat, transmisia ncepe
ntotdeauna cu bitul cel mai puin semnificativ i se ncheie cu
bitul cel mai semnificativ.
Cteva precizri n legtur cu bitul de paritate. Utilizarea
acestuia este opional i el servete la implementarea unor
proceduri de detecie a erorilor n transferul de date. Un
exemplu simplu de procedur const n urmtoarele: la
transmisie bitul de paritate se pune pe 1 sau 0 logic, dup caz,
astfel nct biii transmii (bii de date plus bitul de paritate) s
Interfee standard de comunicaie 133

conin un numr par de 1 (paritate par) respectiv un numr


impar de 1 (paritate impar). Se verific la recepie dac
numrul de bii de 1 (coninui n biii de date plus bitul de
paritate) corespunde paritii setate; n caz contrar este
semnalat eroare i se iau msuri n consecin.
7.1.2 Conectarea ntre echipamentele DTE i DCE
Magistrala RS-232 a fost gndit, iniial, pentru a servi la
interconectarea a dou echipamente DTE aflate la distan,
printr-o linie telefonic i modemuri (echipamente DCE). Un
asemenea exemplu, n care au fost utilizate semnalele de
comand cunoscute, cu excepia semnalului DCD pentru
detecia purttoarei pe linia telefonic, este prezentat n
figura 7.4.

TX TX TX TX
RX RX RX RX
DTR DTR Linie DTR DTR
telefonic
DSR DSR DSR DSR
RTS RTS RTS RTS
CTS CTS CTS CTS
GND GND GND GND

DTE DCE DCE DTE


Calculator Echipament Echipament Calculator
personal DCE DCE personal

Figura 7.4.
Liniile de comand sunt utilizate pentru derularea unui
protocol ntre echipamentele corespondente, n urma cruia s
rezulte buna lor funcionalitate nainte de iniierea oricrui
transfer de date. Acest transfer are loc pe liniile TX i RX.
Ulterior, aplicabilitatea acestei magistrale s-a extins, nct n
momentul de fa este extrem de utilizat pentru a interconecta
134 Sisteme de achiziii de date

local un calculator (echipament DTE) cu un alt echipament


electronic, considerat echipament DCE, chiar dac acest
echipament nu este un modem (spre exemplu, un modul GSM).
Din acest motiv, va fi abordat n continuare problema de
interes practic a legturii dintre cele dou echipamente: DTE i
respectiv DCE. Varianta standard de interconectare este
reprezentat n figura 7.5.
Schimbul de date se realizeaz, aa cum s-a menionat deja,
pe liniile TX i RX. nainte de iniierea unui transfer, cele dou
echipamente deruleaz un protocol, utiliznd n acest scop
liniile de comand. Calculatorul (DTE) activeaz linia DTR (Data
Terminal Ready), pentru a verifica dac echipamentul
corespondent DCE este pregtit i ateapt confirmarea acestuia
(activarea liniei DSR Data Set Ready). Urmeaz apoi o a doua
secven a protocolului, similar cu prima, cu diferena c sunt
utilizate de aceast dat liniile RTS (Request To Send) i CTS
(Clear To Send).

TX TX
RX RX
DTR DTR
DSR DSR
RTS RTS
CTS CTS
GND GND

DTE DCE
Calculator Echipament
personal DCE

Figura 7.5.
Se va remarca c perechile de linii de comand (DTR/DSR i
RTS/CTS) realizeaz funcii similare i de aceea, uneori, se
Interfee standard de comunicaie 135

utilizeaz pentru dialogul DTE/DCE numai una dintre cele dou


perechi (de regul RTS/CTS).
Este util, de asemenea, s se observe modul diferit n care
echipamentele DTE i DCE trateaz liniile de date i cele de
comand. Linia TX, spre exemplu, este conectat la o ieire n
cazul echipamentului DTE i la o intrare a echipamentului DCE,
chiar dac contactul respectiv al conectorului DCE este notat cu
TX i poart acelai numr. O observaie similar poate fi fcut
n legtur cu linia RX respectiv cu liniile de comand DTR/DSR
i RTS/CTS.
7.1.3 Conectarea ntre dou echipamentele DTE
O situaie frecvent ntlnit n practic o constituie
conectarea a dou echipamente DTE (spre exemplu, dou
calculatoare sau un calculator i un echipament electronic cu
comportament DTE). Schema utilizat, n care sunt folosite
inclusiv liniile de comand, este dat n figura 7.6.

TX TX
RX RX
DTR DTR
DSR DSR
RTS RTS
CTS CTS
GND GND

DTE DTE
Calculator Echipament
personal DTE

Figura 7.6.
Se constat imediat diferena fa de schema prezentat n
figura 7.5 (ncruciarea liniilor de date i de comand),
determinat de faptul c un echipament DTE are fa de un
136 Sisteme de achiziii de date

echipament DCE, la aceleai contacte, intrrile schimbate n


ieiri i reciproc. Acest fapt impune utilizarea unui cablu special
de interconectare.
n majoritatea situaiilor, n care se necesit conectarea a
dou echipamente DTE, utilizarea liniilor de comand nu este
necesar, utilizatorul putnd constata direct faptul c
echipamentele sunt pregtite pentru schimbul de informaie.
Deoarece interfeele RS-232 iniiaz, de regul, transferul de
date numai dup derularea protocolului ntre DTE i DCE aa
cum s-a prezentat mai sus, se impune folosirea unor scheme de
conectare care s suplineasc lipsa liniilor de comand. O
variant posibil, cu asigurarea local a validrilor, este
prezentat n figura 7.7.

TX TX
RX RX
DTR DTR
DSR DSR
RTS RTS
CTS CTS
GND GND

DTE DTE
Calculator Echipament
personal DTE

Figura 7.7.
Fiecare echipament DTE genereaz aici semnalele DTR
respectiv RTS, care sunt utilizate pentru comanda propriilor
intrri de validare, conform protocolului prezentat n paragraful
precedent. Pentru conectarea fizic este necesar un cablu
special realizat, cu 3 fire, la care liniile de date TX i RX trebuie
ncruciate; acelai cablu trebuie s asigure n interiorul celor
Interfee standard de comunicaie 137

doi conectori legturile pentru validarea DTR/DSR i RTS/CTS


la fiecare echipament DTE.
Dac aplicaiile software rulate pe cele dou calculatoare nu
impun aceast validare, conectarea se poate realiza utiliznd un
cablu simplu, cu numai 3 fire, dintre care dou, TX i RX,
ncruciate. O asemenea variant simplificat de cablu se
numete cablu Modem Nul.
7.1.4 Controlul fluxului de date
Datele ce urmeaz a fi transmise respectiv recepionate sunt
memorate temporar n registre tampon, unul pentru transmisie
i cellalt pentru recepie. Monitorizarea coninutului acestor
registre cade n sarcina unitii centrale de procesare a
echipamentului (DTE sau DCE).
La transmisie, se impune evitarea depirii capacitii
registrului de transmisie, avnd n vedere faptul c schimbul de
date este, de regul, un proces mult mai lent dect operaiile de
procesare a datelor. Aceeai cerin se impune i n cazul
recepiei, cu precizarea c problema nu poate fi soluionat
intern, n interiorul echipamentului; de aceast dat este
necesar semnalizarea ctre echipamentul corespondent, care
transmite, a depirii capacitii registrului, pentru a stopa
fluxul de date. Vom analiza succint aceasta problem n cele ce
urmeaz.
Una dintre soluii, aa numitul control hard a fluxului de
date, se bazeaz pe utilizarea liniilor de comand ale interfeei,
dac acestea sunt disponibile. Cel mai adesea sunt utilizate
liniile RTS i CTS, conectate ca n figura 7.8.
Linia RTS semnalizeaz unitii corespondente, prin nivelul
su logic, starea registrului tampon de recepie: la atingerea
limitei superioare a capacitii acestui registru, RTS trece pe
nivel cobort, pentru a semnala oprirea transmisiei; aceasta este
reluat n momentul n care coninutul registrului tampon de
138 Sisteme de achiziii de date

recepie atinge o valoare minim, prestabilit, ca urmare a


trecerii semnalului RTS pe nivel ridicat.

TX TX
RX RX
DTR DTR
DSR DSR
RTS RTS
CTS CTS
GND GND

DTE DTE
Calculator Echipament
personal DTE

Figura 7.8.
O a doua metod utilizat, de tip software, este aa-numitul
protocol XON/XOFF. Pentru controlul fluxului de date se
utilizeaz caracterele ASCII DC1 i DC3 din zona caracterelor de
comand (17 i respectiv 19 n zecimal vezi tabelul 7.1).
Echipamentul care transmite date i oprete transferul dac pe
linia sa de recepie primete, de la unitatea corespondent,
caracterul DC3, care semnific XOFF. Transmisia va fi reluat
dup recepia unui caracter DC1, echivalent lui XON.
Procedeul prezint avantajul c necesit pentru conectare un
cablu cu numai 3 fire, de tipul Modem Nul. Trebuie evideniat
ns i dezavantajul metodei: n cazul unui transfer bidirecional
nu pot fi transmise mpreun cu caracterele de comand dect
date reprezentnd caractere ASCII, din care sunt excluse
caracterele interpretabile DC1 i DC3 (adic fiiere text).
Transmiterea de fiiere binare nu este posibil, deoarece acestea
vor include, n mod inevitabil i secvene interpretabile ca
XON/XOFF. Dac transmisia se face unidirecional (ntr-un
Interfee standard de comunicaie 139

singur sens la un anumit moment), n cellalt sens vor fi


transmise numai caracterele de comand DC1 i DC3 i prin
urmare problema menionat nu se mai pune.
7.1.5 Exemple de conectare serial la calculator a
unui echipament electronic
n cazul proiectrii unui echipament electronic, a crui
funcionare necesit legarea la portul serial al unui calculator,
se pune problema modului n care acest echipament urmeaz a
fi conectat: ca echipament DTE sau DCE.
Soluiile propuse n continuare au n vedere considerente
practice, legate de cablurile de interconectare disponibile.
Acestea, cu rare excepii, nu asigur ncruciarea dorit a
perechilor de fire i cu att mai mult nu conin n interior
legturi care s asigure validarea local pentru semnalele de
comand. Prin urmare, toate aceste probleme trebuie
soluionate printr-o proiectare adecvat a noului echipament.
Vom pleca de la ideea c se va utiliza un cablu de conectare
uzual, prevzut la capete cu conectori DTE spre calculator
(conector tat i contacte born) respectiv DCE spre
echipament (conector mam i contacte pin) i care asigur
strict legtura electric ntre contactele omoloage din cei doi
conectori. Pentru precizarea ideilor, vom include n schemele
propuse i circuitul de interfa care asigur translatarea de la
nivele CMOS/TTL la nivelele specifice RS-232 i invers. Un
asemenea circuit (ST 232) are structura reprezentat n
figura 7.9.
Circuitul include dou canale, att pentru liniile de
transmisie (T1IN/T1OUT i T2IN/T2OUT) ct i pentru liniile de
recepie (R1IN/R1OUT i R2IN/R2OUT). La intrrile R1IN i
R2IN vor fi conectate, evident, linii de recepie cu niveluri
RS-232, n timp ce ieirile corespunztoare vor furniza nivele
compatibile CMOS/TTL. n mod similar, T1IN i T2IN vor fi
140 Sisteme de achiziii de date

comandate cu nivele CMOS/TTL, fiind legate deci spre


echipament, iar la ieirile corespunztoare, cu nivele RS-232,
vor fi conectate linii ale magistralei RS-232.

Figura 7.9.
Pentru asigurarea nivelelor relativ mari de tensiune, specifice
standardului RS-232, inclusiv n domeniul tensiunilor negative,
se utilizeaz dou surse cu injecie de sarcin (capacitile
C1,,C4 i circuitele aferente din interiorul chipului). Acestea
realizeaz dublarea tensiunii de alimentare, respectiv dublare i
inversare; se obin astfel dou tensiuni, de cca. +10V i 10V,
suficiente pentru alimentarea circuitelor de comand a liniilor
de ieire cu nivele RS-232.
Circuitul prezint toate caracteristicile specifice unui circuit
de interfa i care i confer robustee n utilizare: accept
Interfee standard de comunicaie 141

scurtcircuite la ieire respectiv supratensiuni la intrare, suport


tensiuni la intrare fr a fi alimentat, este bine protejat la
tensiuni electrostatice, etc. n plus, datorit conectrii la mas a
intrrilor RS-232 (R1IN i R2IN vezi figura 7.9), nivelele la
ieirile CMOS/TTL (R1OUT i R2OUT) vor corespunde lui 1
logic, chiar dac intrrile sunt necomandate, aa cum prevede
standardul RS-232 pentru regimul de repaus.
Vor fi prezentate n continuare dou scheme de conectare la
calculator a unui echipament electronic, care au n vedere
constrngerile impuse de cablul utilizat (ce nu realizeaz
ncruciare de fire) i n care se va urmri utilizarea eficient a
circuitului de interfa.
Prima dintre condiii impune considerarea echipamentului ca
echipament de tip DCE. Cu aceast precizare, o prima variant
de schem de conectare la calculator a unui echipament DCE,
cu utilizarea liniilor de comand RTS/CTS se prezint ca n
figura 7.10.
Canalul 1 (recepie/transmisie) al circuitului de interfa a
fost alocat pentru schimbul de date iar canalul 2 asigur
conversia de nivele pentru semnalele RTS i CTS. Aceste
semnale pot fi utilizate fie pentru protocolul ce iniiaz
transmisia/recepia, fie pentru controlul fluxului de date.
Pentru urmrirea funcionrii se au n vedere semnalele
RS-232 aplicate echipamentului i care sunt evideniate la
contactele conectorului DB9. Echipamentul fiind considerat ca
DCE, liniile TD (Transmit Data) i RTS (Request To Send),
contrar aparenelor sugerate de notaii, trebuie conectate la
intrri (la R1IN i R2IN n figura 7.10). Un raionament similar
justific conectarea liniilor RD (Receive Data Line) i CTS (Clear
To Send) la ieirile RS-232 ale circuitului de interfa (T1OUT i
T2OUT). Este important de observat modul n care a fost
soluionat problema validrilor locale pentru semnalele
142 Sisteme de achiziii de date

DTR/DSR i DCD (Data Carrier Detect) aferente calculatorului.


Deoarece conexiunile necesare nu pot fi fcute n partea spre
calculator, acestea sunt realizate la conectorul echipamentului
DCE, la care sunt disponibile, prin cablul de legtur, semnalele
necesare n acest scop. Astfel, semnalul DTR va valida intrrile
liniilor DSR i respectiv DCD.

C3 C5
0.1uF C6

U1 0.1uF 0.1uF
J1 2 16
V+ VCC VCC

Nivele CMOS/TT L
5 GND 1 3
C1+ C1-
9 RI 4 5 C4 0.1uF
C2+ C2-
4 DTR 6 10 CtS
CTS V- T2IN
8 7 11 TxD
T2OUT T1IN
3 TD 13 9 RtS
RTS R1IN R2OUT
7 8 12 RxD
R2IN R1OUT
2 RD 14 15
T1OUT GND
6 DSR
1 DCD ST232
C7
Nivele RS-232 0.1uF
DB9

Figura 7.10.
Dac aplicaia nu necesit utilizarea liniilor RTS/CTS,
canalul 2 din circuitul de interfa, rmas disponibil, poate fi
folosit n alte scopuri. O sugestie posibil, prezentat n schema
din figura 7.11, o constituie utilizarea liniilor RTS i CTS pentru
comanda operaiei de RESET a echipamentului respectiv pentru
monitorizarea prezenei tensiunii de alimentare. Singurele
diferene fa de schema din figura 7.10 privesc modul de
folosire al semnalelor de la ieirea R2OUT respectiv intrarea
T2IN.
Soluia propus n figura 7.11 este util mai cu seam n
situaia practic n care echipamentul electronic nu se gsete
n imediata vecintate a calculatorului.
Interfee standard de comunicaie 143

C3 C5
0.1uF C6

U1 0.1uF 0.1uF
J1 2 16
V+ VCC VCC

Nivele CMOS/TT L
5 GND 1 3
C1+ C1-
9 RI 4 5 C4 0.1uF
C2+ C2-
4 DTR 6 10
V- T2IN VCC
8 CTS 7 11 TxD
T2OUT T1IN
3 TD 13 9 RESET
R1IN R2OUT
7 RTS 8 12 RxD
R2IN R1OUT
2 RD 14 15
T1OUT GND
6 DSR
1 DCD ST232
C7
Nivele RS-232 0.1uF
DB9

Figura 7.11.

7.2 Interfaa standard I2C

7.2.1 Introducere
n cazul unui sistem ce funcioneaz cu semnale numerice
(de exemplu, un microcontroler i circuite de achiziie a
semnalelor analogice), pentru proiectarea comunicaiei dintre
componentele sistemului trebuie s se in seama de o serie de
considerente:
- un sistem complet const, de obicei, dintr-un
microcontroler i alte componente periferice, cum ar fi: memorii,
extensii pentru intrri/ieiri i alte circuite integrate (CI);
- costul conectrii diferitelor componente n cadrul sistemului
trebuie redus la minim;
- de obicei, un asemenea sistem realizeaz doar funcia de
comand i nu necesit o mare vitez pentru transferul de date;
- evident, eficiena global depinde de performanele
componentele alese i structura magistralelor de interconectare.
n general, aceste criterii pot fi satisfcute cu uurin
utiliznd o interfa standard serie, chiar dac aceasta nu are
performanele unei interfee paralele, n schimb necesit mai

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