Sunteți pe pagina 1din 29

Teletransmisii de date Cap.

4 Interfeţe seriale

4
INTERFEŢE SERIALE

4.1. Introducere
Interfaţa serială RS-232 este unul din cele mai răspândite
echipamente periferice. După cum îi spune şi numele, transmisia şi recepţia
se face bit cu bit, necesitând doar un singur fir pentru transmisie. RS-232
este un standard, în sensul că toate modelele de calculatoare şi majoritatea
instrumentelor de măsură o înglobează. A fost standardizată de către EIA
(Electronics Industries Association) în anul 1962. Aşa cum a fost el
conceput, standardul permite comunicaţii doar pe distanţe scurte (până în
20 m) şi viteze de transfer de maxim 19600 bps (bps înseamnă biţi pe
secundă). Ulterior s-au dezvoltat şi alte standarde (RS-422, RS-485, RS-
449) ce permit fie distanţe mai mari între emiţător şi receptor, fie viteze mai
mari fie mai multe dispozitive conectate pe acelaşi cablu. De exemplu RS-
422 permite până la 10Mbs şi distanţe de până la 1.6 km.
Datele seriale pot fi transmise sincron (clocked) sau asincron (non-
clocked). Dacă interfeţele menţionate mai sus sunt asincrone, există şi
interfeţe sincrone (I2C, SPI), acestea fiind destinate în general distanţelor
scurte şi iterfaţării unor periferice cu microprocesoarele.

4.2. Interfaţa serială standard RS-232


4.2.1. Caracteristici electrice
Caracteristicile electrice definesc tensiunile minime şi maxime ale
stărilor logice, semnalele şi semnificaţiile lor şi conectorii.
a) tensiunile de linie
Bit de Bit de Biţi de
start 7 biţi de date (caracterul A) paritate stop
+25V

+12V 0
+3V
0V
-3V
-12V 1
-25V
inactiv 1 0 0 0 0 0 1

Fig. 4.1. Nivelele de tensiune ale interfeţei RS232


42
Teletransmisii de date Cap. 4 Interfeţe seriale

Nivel 1 logic este corespunzător tensiunilor între -3V şi -25V, dar


tipică, este valoarea de -12V. Nivelul 0 logic corespunde tensiunilor situate
între 3V şi 25V, tipică fiind valoarea de 12V. Orice valoare între -3V şi 3V
înseamnă stare nedeterminată. Când nu există impulsuri transmise linia stă
în 1 logic (-12V). O tensiune de 0V înseamnă că linia este întreruptă sau
există un scurtcircuit. Figura următoare ilustrează un exemplu de transmisie
pe interfaţa serială RS-232. Tabelul următor sintetizează caracteristicile
electrice ale interfeţei.
Tabelul 4.1.
SPECIFICAŢII RS-232
Mod de lucru single - ended
1 emiţător
Numărul total de emiţătoare şi receptoare pe o linie
1 receptor
Lungimea maximă a cablului 25m
Rata maximă de transmisie 20kb/s
Tensiunea maximă / minimă +/-25V
Nivelul de semnal de ieşire (Încărcare
încărcat +/-5V to +/-15V
Min.)
Nivelul de semnal de ieşire (Fără
neîncărcat +/-25V
încărcare Max)
Impedanţa de ieşire a emiţătorului (Ohms) 3k to 7k
Curentul maxim de ieşire în starea de
alimentat N/A
înaltă impedanţă
Curentul maxim de ieşire în starea de
nealimentat +/-6mA @ +/-2v
înaltă impedanţă
Slew Rate (Max.) 30V/uS
Gama tensiunilor de intrare +/-15V
Sensitibilitatea de intrare a receptorului +/-3V
Rezistenţa de intrare a receptorului (Ohms) 3k to 7k

b) conectori
Interfaţa RS-232 are două tipuri de conectori disponibili: DB25S şi
DB9S. Primul asigură funcţionalitatea totală a interfeţei în timp ce al doilea
asigură un spaţiu minimal pentru instrumentaţia tot mai redusă în
dimensiuni. Figura următoare prezintă cele două conectoare şi alocarea
pinilor.
Semnalele RS-232 sunt împărţite în 3 categorii:
- date (TxD, RxD). Sunt două canale de date care permit comunicaţii full-
duplex.

43
Teletransmisii de date Cap. 4 Interfeţe seriale

Fig. 4.2. Conectorii specifici interfeţei RS232

- controlul comunicaţiei (RTS, CTS). Aceste semnale furnizează suportul


prin care se controlează traficul datelor.
- timing (TC, RC). Pentru comunicaţii sincrone este necesară transmiterea
unui semnal de tact pentru sincronizarea receptorului cu emiţătorul.
Setul complet de semnale ale interfeţei RS-232D sunt adunate în
tabelul următor împreună cu numărul pinului corespunzător conectorului
Db25. DTE înseamnă „Data Terminal Equipment” iar DCE înseamnă „Data
Circuit termination Equipment” şi definesc care dispozitiv şi pe care fir
transmite. DTE poate fi de exemplu un calculator PC iar DCE poate fi un
instrument de măsură interfaţabil.

Tabelul 4.2.
Pin
DB25 Semnalul Direcţia Funcţia
1 FG - Frame ground - înveliş de
protecţie, ecran
2 TD sau TxD spre DCE Transmisie date
3 Rd sau RxD spre DTE Recepţie date
4 RTS spre DCE Request to send – cerere de
transmisie
5 CTS spre DTE Clear to send – liber pentru
transmisie
6 DSR spre DTE Data set ready – Dset de date

44
Teletransmisii de date Cap. 4 Interfeţe seriale

pregătit. Similar cu CTS doar că


este activat DCE.
7 SG - Signal ground – Masa semnal
8 DCD spre DTE Detcţie semnal recepţionat
9 - -
10 - -
11 - -
12 SDCD spre DTE Detecţie semnal recepţionat
secundară/selecţie rată (generat
de DCE)
13 SCTS spre DTE Secondary Clear to send – Liber
pentru transmisie secundar
14 STD spre DTE Secondary transmitted data –
Transmisie date secundară
15 TC spre DTE Transmit signal element timing
– Semnal de sincronizare
utilizat de DTE pentru
transmisie.
16 SRD spre DTE Secondary received data –
Recepţie date secundar
17 RC spre DTE Receiver signal element timing
– Semnal de sincronizare pentru
recepţia datelor, generat de
DCE
18 DCR spre DCE Local loop-back (tact de
recepţie divizat)
19 SRTS spre DCE Secondary request o send –
cerere de transmisie secudar
20 DTR spre DCE Data terminal ready – terminal
de date pregătit
21 SQ spre DCE Remote loop back / signal
quality detector – detector a
calităţii semnalului
22 RI spre DTE Ring indicator – indică o cerere
de comunicaţie. Folosită în
comunicaţia cu modemul.
23 DSRS spre DCE / Data signal rate select – selecţie
DTE rată transmisie date
24 TC spre DCE Transmit signal element timing
– Semnal de sincronizare
45
Teletransmisii de date Cap. 4 Interfeţe seriale

generat de DTE
25 TM spre DTE Test mode – Mod de test

Cel mai folosit subset de semnale este cel din tabelul următor:
Tabelul 4.3.
Pinul Semnalul Funcţia
1 FG Înveliş de protecţie, ecran, şasiu
2 TxD Transmisie date de la DTE la DCE
3 RxD Recepţie date de către DTE de la
DCE
4 RTS DTE semnalizează că doreşte să
trimitădate către DCE
5 CTS DCE semnalizează că este gata să
primească date de la DTE
6 DSR DCE semnalizează că s-a stabilit o
legătură
7 SG Masa
8 DTR DTE semnalizează că DTE este
operaţional
c) formatul datelor
În majoritatea aplicaţiilor datele sunt transmise asincron sub formă
de pachete, fiecare reprezentând un singur caracter ASCII şi conţinând
suficientă informaţie pentru a fi decodificată fără ajutorul unui semnal de
tact.
De exemplu caracterul „A” este reprezentat în cod ASCII ca
1000001. Pentru a o trimite prin interfaţa serială către alt sistem trebuie să
adăugăm câţiva biţi pentru a semnaliza începutul şi sfârşitul pachetului.
Aceştia sunt bitul de start şi bitul sau biţii de stop. În plus se poate adăuga
încă un bit pentru paritate în scopul detecţiei erorilor. Una din configuraţiile
cele mai folosite foloseşte 1 bit de start, un bit de paritate şi 2 biţi de stop.
Deoarece linia nefolosită se află în 1 logic (-12V), bitul de start este
întotdeauna 0 logic (+12V) cu durata de bit. Acesta este urmat de cei 7 biţi
de date ai caracterului ASCII. După aceştia urmează bitul de paritate.
Funcţie de paritatea aleasă (pară sau impară) bitul poate fi 1 sau 0. Dacă se
lucrează cu peritate pară, atunci se adaugă 1 sau 0 funcţie de caracter, a.î.
numărul de biţi de 1 să fie par. În cazul parităţii impare numărul de biţi de 1
trebuie să fie impar. Atunci bitul de paritate se alege astfel: dacă există un
număr impar de biţi de 1 în caracter atunci bitul de paritate va fi 0, iar dacă
46
Teletransmisii de date Cap. 4 Interfeţe seriale

există un număr par de biţi atunci bitul de paritate va fi 1 astfel încât


împreună cu acesta să fie un număr impar. Pentru a genera acest bit sunt
necesare doar porţi XOR. Un singur bit de paritate poate detecta un număr
impar de erori. Dacă numărul erorilor este par atunci acestea nu se pot
detecta. În final sunt adăugaţi cei doi biţi de stop. Aceştia sunt amândoi 1.
Blocul complet transmis cuprinde 11 biţi. În binar blocul pentru
transmiterea lui „A” este 01000001011 (s-a folosit paritate pară, bitul de
paritate fiind 0 deoarece codul ASCII al lui „A” conţine 2 biţi de 1). Forma
de undă asociată acestei transmisii se găseşte în figura 4.1.
d) configuraţia hardware
Odată cu primul microprocesor Intel a dezvoltat o serie de periferice
ce includea şi o interfaţă UART. Acesta este I8251. Completarea interfeţei
se face cu două circuite adaptoare de nivel 75150 respectiv 75154. Schema
electrică este prezentată în figura 4.3. Cele două adaptoare necesită
alimentări de ±12V pentru obţinerea celor două nivele logice specifice
interfeţei RS-232.

Fig. 4.3. Structura hardware a unei interfeţe RS-232


Într-un sistem cu microprocesor datele sunt verificate sub formă
paralelă. Pentru serializarea lor se folosesc regiştri de deplasare atât la
emisie cât şi la recepţie. Diferenţa constă în faptul că la emisie datele sunt
încărcate paralel şi apoi deplasate serial către linia TxD (figura 4.4. a), iar la
emisie acestea se primesc serial în registrul de deplasare şi sunt preluate
apoi paralel în sistem (figura 4.4. b).

47
Teletransmisii de date Cap. 4 Interfeţe seriale

Q0÷7
LD Registru Memorare
D0÷7

LD Registru
TxD RxD Registru Combinat Baud
Baud Combinat SO SI Clk
Clk D0÷7 Rate
Rate D0÷7

a) b)
Fig. 4.4. a) conversia paralel-serie; b) conversia serie-paralel

Un exemplu reprezentativ de interfaţă serială programabilă este


circuitul I-8251 produs de Intel (figura 4.5). Circuitul are o interfaţă
compatibilă cu microprocesoarele Intel prezentând 3 magistrale pentru
interfaţarea cu acestea: magistrala de date (D0÷7), magistrala de adrese CS şi
magistrala de control (Clk, Reset, RD , WR , C/ D .
I-8251 acceptă date(format ASCII) de la CPU în format paralel le
transformă în şir serial şi le trimite prin TxD cu rata programată. În acelaşi
timp recepţionează date seriale pe RxD cu aceeaşi rată şi le transformă în
format paralel pentru a fi preluate de către CPU. USART va semnaliza către
CPU când poate primi un nou caracter pentru transmitere sau când este un
nou caracter recepţionat disponibil. CPU poate citi în orice moment starea
completă a interfeţei, aceasta incluzând erorile de transmisie şi semnalele de
control SYNDET şi TxEMPTY.
SYNDET
RxRDY
TxRDY

RxC
TxC
TxE

RxD
TxD

Tampon Tampon
Control Control
Transmisie Recepţie
Transmisie Recepţie
Date Date

Tampon Logică de
Control
Magistrală de Control
Modem
Date Scriere / Citire
Reset

DTR
DSR

CTS
RTS
D0÷7

C/D

WR
Clk

RD

CS

Fig. 4.5. Schema bloc a interfeţei UART I-8251


48
Teletransmisii de date Cap. 4 Interfeţe seriale

Descrierea funcţională a circuitului:


• Tamponul magistralei de date – este un buffer de 8 biţi bidirecţional de tip
3 – state. Datele sunt vehiculate în timpul instrucţiunilor IN OUT ale CPU.
Cuvintele de control, de comandă şi de stare sunt de asemenea transferate
prin el.
• Logica de control scriere/citire acceptă comenzi de la magistrala de
control a sistemului şi generează semnalele interne de control pentru
blocurile interne. El conţine Registrul cuvântului de control şi Registrul
cuvântului de comandă ce memorează diferite formate de control pentru
definirea funcţională a circuitului.
Semnalele prezente pe magistrala de control sunt:
- Reset – 1 logic pe această intrare forţează circuitul în modul „idle”. Acesta
rămâne aşa până ce un nou set de cuvinte de control vor fi scrise în regiştrii
acestuia. Durata minimă de iniţializare este de 6 perioade de tact.
- Clk – intrarea furnizează semnal de tact circuitelor interne. Semnalul de
tact trebuie să fie cel puţin 30 de ori mai mare decât ratele de transmisie.
- WR - 0 logic pe această intrare anunţă circuitul că CPU scrie date sau
informaţii de stare în regiştrii săi interni.
- RD - 0 logic pe această intrare anunţă circuitul că CPU citeşte date sau
informaţii de stare din regiştrii săi interni.
- C/ D - această intrare este în legătură cu WR şi RD . Semnalul
semnalizează dacă informaţia de pe magistrala de date este o dată sau un
cuvânt de comandă / o informaţie de stare: 1= control/stare, 0=data.
- CS - 0 logic pe această intrare selectează circuitul. Activarea semnalelor
de scriere / citire nu vor avea efect decât simultan cu activarea acestuia.
Tabelul următor prezintă stările semnalelor de control la diferitele
operaţii:
Tabelul 4.4.
C/ D RD WR CS Operaţia
0 0 1 0 Date 8251 → Magistrala de date
0 1 0 0 Magistrala de date → Date 8251
1 0 1 0 Stare → Magistrala de date
1 1 0 0 Magistrala de date → Control
X 1 1 0 Magistrala de date → 3 state
X X X 1 Magistrala de date → 3 state

• Controlul modem-ului permite un set de intrări şi ieşiri de control ce pot fi


folosite pentru a simplifica interfaţarea cu orice modem. Ele pot fi folosite şi
49
Teletransmisii de date Cap. 4 Interfeţe seriale

în alte scopuri. Acestea sunt:


- DSR - Data Set Ready – intrare inversoare. CPU poate testa starea
acesteia printr-o operaţie de citire a stării. Ea este utilizată pentru a testa
dacă există date disponibile.
- DTR - Data Terminal Ready – este o ieşire inversoare. Poate fi pusă în
starea 0 logic prin bitul corespunzător din cuvântul de comandă. Indică
faptul că se pot primi date.
- RTS - Request to send - este o ieşire inversoare. Poate fi pusă în starea 0
logic prin bitul corespunzător din cuvântul de comandă. Indică faptul că
echipamentul doreşte să trimită date.
- CTS - Clear to send – 0 logic pe această intrare anunţă I-8251să transmită
date dacă bitul TxD este validat în cuvântul de comandă. Dacă fie Tx
Enable sau CTS trece în 1 logic, circuitul transmite ceea ce este în curs şi
apoi se opreşte.
• Tamponul de transmisie date – acceptă date paralele de la tamponul
magistralei de date, adaugă biţii suplimentari funcţie de modul de
comunicaţie ales şi le converteşte într-un şir de biţi serial pe care îl transmite
pe ieşirea TxD pe frontul negativ al TxC . Transmisia începe atunci când
CTS =0.
• Controlul transmisiei – se ocupă de activităţile asociate transmisiei datelor
seriale. Acceptă şi generează semnale necesare acestei operaţii:
- TxRDY - Transmitter Ready – această ieşire semnalizează CPU că
transmiţătorul este gata pentru a recepţiona date. Semnalul poate fi folosit ca
semnal de cerere de întrerupere sau poate fi testat de către CPU prin citirea
stării. El indică faptul că registrul de date al transmiţătorului este gol/plin.
- TxE – Transmitter Empty – în modul sincron 1 logic pe această ieşire
indică faptul că nu a fost încărcat un caracter şi că se transmit caractere de
SYNC cu scopul de a umple golul.
- TxC - Transmitter Clock - controlează rata cu care se transmite
caracterul. În modul de transmisie sincron, rata de transmisie (Baud Rate)
este egală cu frecvenţa de tact pe această intrare. În modul asincron rata este
o fracţiune a acesteia (1, 1/16, 1/64). Frontul negativ al semnalului
deplasează datele la ieşirea TxD.
• Tamponul de recepţie date – acceptă datele seriale şi le converteşte în
format paralel şi „asamblează” caracterul transmis. Datele se primesc pe
RxD şi sunt validate pe frontul pozitiv al RxC .
• Controlul recepţiei – acest bloc se ocupă de controlul recepţiei datelor.
Mai întâi trebuie detectat un 1 valid pe linia de recepţie, după care se caută

50
Teletransmisii de date Cap. 4 Interfeţe seriale

bitul de start. Aceasta se întâmplă doar în modul asincron. detecţia unei


erori de paritate activează bitul corespunzător. Dacă bitul de stop lipseşte
atunci se activează bitul Framing error. Semnale:
- RxRDY – Receiver Ready – această ieşire indică faptul că 8251 conţine un
caracter şi este gata pentru a-l transmite către CPU. Semnalul poate fi
utilizat ca o cerere de întrerupere către acesta sau starea sa poate fi testată
prin citirea registrului de stare. RxEnable ţine RxRDY în condiţia de reset.
În modul asincron acest semnal este activat după detectarea unui bit de start
şi asamblarea caracterului în registrul de recepţie.
- RxC - Receiver Clock – controlează rata cu care se recepţionează
caracterul. În modul sincron rata este egală cu frecvenţa semnalului pe
această intrare. În modul asincron ea este o fracţie din aceasta (1, 1/16,
1/64).
În majoritatea transmisiilor rata de transmisie este egală cu cea de
recepţie.
- SYNDET – SYNC detect / BREAK Detect – În modul sincron semnalul
poate fi intrare sau ieşire programabilă prin registrul de control. Când este
ieşire semnalul trece în 1 logic pentru a indica detecţia caracter-ului/elor de
SYNC. Când este intrare un front pozitiv pe aceasta va determina 8251 să
înceapă asamblarea caracterelor pe frontul următor al RxC . În modul
asincron ieşirea trece în 1 logic după recepţia celor doi biţi de stop după ce
în prealabil au fost recepţionaţi bitul start şi cel de paritate. Poate fi citit ca
bit de stare.
Pentru a iniţializa interfaţa procesorul trebuie să trimită o serie de
cuvinte de comandă către aceasta. Acestea vor programa: rata de transmisie,
lungimea caracterelor, numărul biţilor de stop, lucrul sincron/asincron şi
paritatea. Pentru modul de lucru asincron există şi alte opţiuni suplimentare.
Cuvintele de control sunt de tipuri: instrucţiune de mod şi instrucţiune de
comandă. Cele două instrucţiuni trebuie să urmeze o secvenţă specifică
pentru buna funcţionare a interfeţei (figura 4.6)
Instrucţiunea de mod defineşte caracteristicile operaţionale ale
interfeţei. Ea urmează operaţiei de iniţializare (Reset intern sau extern).
Odată înscris modul, CPU trebuie să înscrie caracterele de SYNC şi
instrucţiunile de comandă. Pentru a înscrie încă o dată instrucţiunea de mod,
bitul Reset din instrucţiunea de comandă trebuie setat pentru a iniţia un reset
intern.
- Modul asincron de transmisie: când un caracter este trimis de către CPU,
I-8251 îi adaugă un bit de start înainte şi un bit de paritate (opţional) şi bitul
(biţii) de stop. Biţii cracterului sunt ordonaţi cu cel mai puţin semnificativ
primul. Pachetul este trimis serial, bit cu bit, la ieşirea TxD. Pachetul de date
51
Teletransmisii de date Cap. 4 Interfeţe seriale

C/D=1 Instrucţiune de mod Doar în modul


SYNC. Dacă s-a
C/D=1 Caracter SYNC 1
programat un
C/D=1 Caracter SYNC 2 singur caracter
C/D=1 Instrucţiune de comandă SYNC, atunci al
doilea nu mai
C/D=0 Date există.
C/D=1 Instrucţiune de comandă

C/D=0 Date
C/D=1 Instrucţiune de comandă

Fig. 4.6. Programarea interfeţei I-8251

este deplasat spre ieşire pe frontul negativ al lui TxC cu o rată egală cu 1,
1/16, 1/64 din frecvenţa TxC , după cum este definit în instrucţiunea de
D7 D6 D5 D4 D3 D2 D1 D0
S2 S1 EP PEN L2 L1 B2 B1
Factorul ratei de transmisie
0 1 0 1
0 0 1 1
Mod SYNC 1X 16X 64X

Lungimea caracterului
0 1 0 1
0 0 1 1
5 biţi 6 biţi 7 biţi 8 biţi

Validarea parităţii
1 0
cu paritate fără paritate

Tipul parităţii
1 0
pară impară

Biţi de stop
0 1 0 1
0 0 1 1
fără 1 bit 1½ biţi 2 biţi

Fig. 4.7. Formatul instrucţiunii de mod – modul asincron.


mod. Când nu sunt de transmis caractere, I-8251 ţine linia TxD în 1 logic.
- Modul asincron de recepţie: Linia RxD este normal ţinută în 1 logic. Un
front negativ anunţă începutul unui bit de start. Validitatea acestuia este
testată din nou în mijlocul perioadei de bit (doar în modurile 16X sau 64X).
Dacă un nivel 0 logic este detectat din nou, atunci se consideră un bit valid
52
Teletransmisii de date Cap. 4 Interfeţe seriale

de start, iar numărătorul de biţi de la recepţie începe să numere. Acesta


determină încărcarea biţilor (biţii de date, bitul de paritate şi biţii de stop)
prin eşantionarea lor exact la mijlocul perioadei de bit. Dacă se detectează o
eroare de paritate atunci fanionul de eroare de paritate (Parity error flag) va
fi setat. Eşantionarea biţilor are loc pe frontul pozitiv al semnalului pe
intrarea RxC . Dacă se detectează un nivel 0 logic pe durata biţilor de stop,
atunci fanionul de eroare de cadru (Framing error flag) va fi setat. Bitul de
stop anunţă sfîrşitul caracterului (receptorul are nevoie doar de 1 bit de stop
indiferent de cîţi sunt programaţi). Caracterul recepţionat este apoi încărcat
în registrul tampon paralel al I-8251. Pinul RxRDY este dus în 1 logic
pentru a semnaliza CPU că s-a recepţionat un caracter. Dacă precedentul
caracter nua fost citit din registrul tampon, atunci următorul va fi
supraînscris peste el. Pentru a semnaliza aceasta, fanionul de supraînscriere
(OverRun Error flag) va fi setat. Toate fanioanele de eroare pot fi reset-ate
cu o instrucţiune de iniţializare a erorilor.
- Modul sincron de transmisie: Ieşirea TxD este ţinută în 1 logic atâta timp
cât nu se trimit caractere, când CPU trimite primul caracter către I-8251
(care de regulă este un caracter de SYNC). Odată cu trecerea liniei CTS în
0 logic, primul caracter etse transmis serial. Fiecare bit este deplasat către
ieşire pe frontul negativ al lui TxC . Odată ce transmisia a început, datele
trebuie să succeadă continuu la ieşirea TxD cu rata fixată de TxC . Dacă
CPU nu reuşeşte să asigure caracterele de treansmis la timp, caractere de
sincronizare (SYNC) vor fi automat inserate. Pinul TxEMPTY va fi adus în
1 logic pentru a semnaliza acest lucru şi va fi reset-at odată cu primul
caracter înscris în registrul tampon de transmisie.
- Modul sincron de recepţie: În acest mod sincronizarea caracterelor poate fi
realizată intern sau extern. Dacă a fost programat modul SYNC, o comandă
ENTER HUNT (Intrare vânătoare) trebuie inclusă în prima instrucţiune de
comandă. Datele pe RxD sunt eşantionate pe frontul crescător al lui RxC .
Conţinutul registrului tampon de recepţie este comparat la fiecare bit
recepţionat cu caracterul SYNC până se detectează o potrivire. Dacă au fost
programate 2 caractere de SYNC, atunci şi următorul caracter este de
asemenea comparat. Când au fost detectate 2 caractere SYNC, USART iese
din modul vânătoare şi intră în modul de sincronizare a caracterelor. Pinul
SYNDET este dus în 1 logic şi va fi reset-at automat după o instrucţiune de
citire a stării. Dacă transmisia este cu bit de paritate atunci SYNDET nu va
fi set-at până la mijlocul bit-ului de paritate (în locul ultimului bit pentru
modul fără paritate). În modul de sincronizare externă, sincronizarea se face
aplicând 1 logic pe SYNDET, forţând 8251 să iasă din modul vânătoare.

53
Teletransmisii de date Cap. 4 Interfeţe seriale

Acest nivel va fi părăsit după un tact pe RxC . Comanda ENTER HUNT nu


are efect în modul asincron. Erorile de paritate şi supraînscriere se testează
la fel ca în modul sincron. Paritatea nu se testează în modul vânătoare. Dacă
sincronizarea s-a pierdut, CPU poate forţa receptorul să intre în modul
vânătoare. Această acţiune va duce în 1 logic toţi biţii din registrul de
recepţie pentru a preveni o detecţie falsă a sincronizării. Fanionul SYNDET
este reset-at la fiecare cititre a stării. Aceasta nu cauzează întparcerea 8251
în modul vânătoare. Când interfaţa se află în modul sincronizare dar nu în
cel de vânătoare, detecţia sincronizării este încă funcţională dar apare doar
la terminarea cuvintelor „cunoscute”. Astfel, dacă o citire a stării indică
SYNDET şi a doua citire la fel, atunci caractere de sincronizare au fost
recepţionate. În modul extern, detecţia internă a sicronizarii este
dezactivataă, iar fanionul de detecţia a sincronizării poate fi activat la
sfârşitul oricărui bit.
D7 D6 D5 D4 D3 D2 D1 D0
SCS ESD EP PEN L2 L1 0 0

Lungimea caracterului
0 1 0 1
0 0 1 1
5 biţi 6 biţi 7 biţi 8 biţi

Validarea parităţii
1 0
cu paritate fără paritate

Tipul parităţii
1 0
pară impară

Detecţie SYNC externă


1 0
SYNDET=intrare SYNDET=ieşire

Caractere de SYNC
1 0
1 caracter SYNC 2 caracter SYNC

Fig. 4.8. Formatul instrucţiunii de mod – modul sincron.


Instrucţiunea de comandă controlează modul de funcţionare al
formatului selectat prin instrucţiunea de mod. Toate cuvintele de control
scrise în 8251 după instrucţiunea de mod vor însemna instrucţiuni de
comandă. Acestea pot fi înscrise la orice moment în interfaţă.
Semnificaţia biţilor instrucţiunii de comandă este prezentată în
figura 4.9.
54
Teletransmisii de date Cap. 4 Interfeţe seriale

D7 D6 D5 D4 D3 D2 D1 D0
EH IR RTS ER SBRK RxE DTR TxEN Validarea transmisiei
1 0
validată invalidată

Terminal de date pregătit


1 0

DTR =0 DTR =1

Validarea recepţiei
1 0
validată invalidată

Trimite caracterul BREAK


1 0
forţează TxD în 0 logic funcţionare normală

Ştergere erori
1 0
ştergere fanioane erori -

Cerere de transmisie
1 0

RTS =0 RTS =1

Reset intern
1 0
reset -

Modul de vânătoare
1 0
validează modul vânătoare -

Fig. 4.9. Formatul instrucţiunii de comandă


Formatul informaţiei de stare: Pentru a putea obţine informaţii despre
eventualele erori apărute în timpul comunicaţiei este adesa necesară citirea
stării interfeţei. I-8251 permite acest lucru la orice moment. Pentru aceasta
se efectuează o citire din interfaţă cu semnalul C/ D = 1 . Câţiva dintre biţi au
semnificaţii similare cu unii dintre pinii externi. TxRDY este o excepţie.
Informaţia de stare poate avea o întârziere de maxim 28 de perioade
de tact faţă de evenimentul ce a generat starea respectivă.
Figura 4.10 prezintă semnificaţia biţilor cuvântului de stare. Biţii D6,
D2 şi D1 sunt cei care au corespondenţă cu semnalele externe.

55
Teletransmisii de date Cap. 4 Interfeţe seriale

D7 D6 D5 D4 D3 D2 D1 D0 TxRDY diferit de pinul TxRDY.


Bitul semnifică faptul că registrul
DSR SYN FE OE PE Tx RxRDY TxRDY
tampon de transmisie este gol, în
DET EMPTY
timp ce pinul semnifică (registrul
tampon gol) AND ( CTS =0) AND
(TxEN=1).

Eroarea de paritate
1 0
s-a detectat eroare nu s-a detectat
de paritate eroare de paritate

Eroare de sepraînscriere
1 0
CPU nu a citit toate -
caracterele recepţionate

Eroare de cadru
1 0
nu s-a detectat un bit de -
stop valid

Set de date pregătit


1 0
indică DSR=0 -

Fig. 4.10. Formatul cuvântului de stare


În continuare sunt prezentate câteva moduri de utilizare a interfeţei
funcţie de tipul de trensmisie ales.
TxD Terminal
Adrese
EIA - TTL asincron
RxD
Date I-8251
RxC
Control I-8253
TxC

Fig. 4.11. Transmisie asincronă

TxD
Adrese
RxD
Date Terminal
I-8251
RxC sincron
Control
TxC
SYNDET

Fig. 4.12. Transmisie sincronă


56
Teletransmisii de date Cap. 4 Interfeţe seriale

TxD
Adrese
RxD Interfaţă
Date DSR Modem
cu linia
asincron
Control DTR telefonică
I-8251 CTS
RTS
RxC
TxC I-8253

Fig. 4.13. Transmisie asincronă prin linia telefonică

TxD
Adrese
RxD Interfaţă
Date DSR cu linia
Control DTR telefonică
I-8251 CTS Modem
sincron
RTS
RxC
TxC
SYNDET

Fig. 4.14. Transmisie sincronă prin linia telefonică


Calculatoarele de tip PC au cel puţin un port serial, dar de regulă
sunt 2, porturi care sunt standardizate. Porturile seriale sun cunoscute sub
prescurtarea de COM şi sunt numerotate cu 1, 2, 3... Tabelul următor
listează adresele regiştrilor asociaţi celor două porturi. Adresele de bază sunt
3F8h pentru COM1 şi 2F8h pentru COM2.
Tabelul 4.5.
Adresa
DLAB RD/WR Abr. Nume
de bază
0 WR - Registru transmiţător
0 RD - Registru tampon recepţie
+0
Memorie octet inferior pentru
1 RD/WR -
divizorul ratei de transmisie
0 RD/WR IER Registru validare întreruperi
+1 Memorie octet superior pentru
1 RD/WR -
divizorul ratei de transmisie
+2 - RD IIR Registru identificare întreruperi
57
Teletransmisii de date Cap. 4 Interfeţe seriale

- WR FCR Registru control FIFO


+3 - RD/WR LCR Control linie
+4 - RD/WR MCR Control modem
+5 - RD LSR Registru stare linie
+6 - RD MSR Registru stare modem
+7 - RD/WR - Registru Scratch (uz general)
Regiştrii portului serial au următoarele semnificaţii:
Addresă: Baza + 1 - RD/WR - DLAB=0 - Nume: Interrupt Enable Register
(IER). Semnificaţia biţilor:
Bit # Nume
0 Validează întreruperea pentru data recepţionată disponibilă
1 Validează întreruperea pentru registru transmiţător gol
Validează întreruperea de stare a liniei (INT în LSR - Line Status
2
Register)
Validează întreruperea de stare a modemului (INT în MSR -
3
Modem Status Register)
4 validează modul Sleep (16750)
5 Validează modul de consum redus (16750)
6 Rezervat
Addresa: Baza + 2 - RD - Nume: Interrupt Identification Register (IIR)
Bit # Nume
0 Întrerupere în aşteptare
0
1 Nu există întreruperi în aşteptare
B2 B1 Tip întrerupere (prioritate)
0 0 Întrerupere stare modem (4)
1&2 0 1 Întrerupere pentru registru transmiţător gol (3)
1 0 Întrerupere pentru dată recepţionată disponibilă (2)
1 1 Întrerupere pentru starea liniei receptorului (1)
0 Rezervat pentru 8250, 16450
3
1 16550 Întrerupere în aşteptare
4 Rezervat
5 FIFO de 64 octeţi activat (numai 16750)
6 & 7 B6 B7
0 0 Fără FIFO
0 1 FIFO validat dar neutilizabil
1 1 FIFO validat
Addresa: Baza + 2 - WR - Nume: FIFO Control Register (FCR).
Bit # Nume
58
Teletransmisii de date Cap. 4 Interfeţe seriale

Validare memorii FIFO


1 Şterge FIFO recepţie
2 Şterge FIFO transmisie
Selecţie Mod DMA. Schimbă starea pinilor RXRDY
3
& TXRDY din modul 1 în modul 2.
4 Rezervat
5 Validare FIFO 64 octeţi (16750 only)
6&7 B7 B6 Nivel de trigger pentru întrerupere
0 0 INT pentru 1 octet recepţionat
0 1 INT pentru 4 octeţi recepţionaţi
1 0 INT pentru 8 octeţi recepţionaţi
1 1 INT pentru 14 octeţi recepţionaţi
Adresă: Baza + 3 - RD/WR - Nume: Line Control Register (LCR)
Bit # Nume
B1 B0 Lungimea cuvântului
0 0 5 Biţi
1 0 1 6 Biţi
1 0 7 Biţi
1 1 8 Biţi
0 1 Bit de Stop
2 2 biţi de Stop pentru cuvinte 6,7 sau 8 biţi sau 1.5
1
Biţi de Stop pentru cuvinte de 5 biţi.
B5 B4 B3
X X 0 Fără Paritate
3, 4 0 0 1 Paritate impară
&5 0 1 1 Paritate pară
1 0 1 Paritate 1 (bit de paritate 1)
1 1 1 Paritate 0 (bit de paritate 0)
6 Validare activare Break
7 1 Acces la memoria divizorului
Acces la tamponul Receptorului, a
0 Transmiţătorului şi la Registrul de validare a
întreruperilor
Adresă: Baza + 4 - RD/WR - Nume: Modem Control Register (MCR)
Bit # Nume
0 Foţează Data Terminal Ready
1 Forţează Request to Send
2 Ieşire auxiliară 1

59
Teletransmisii de date Cap. 4 Interfeţe seriale

3 Ieşire auxiliară 2
4 Modul buclă înapoi (loopback)
5 Validarea controlului Autoflow (numai 16750)
6 Rezervat
7 Rezervat
Adresă: Baza + 5 - RD - Nume: Line Status Register (LSR)
Bit # Nume
0 Date disponibile
1 Eroare de supraînscriere
2 Eroare de paritate
3 Eroare de cadru
4 Întrerupere Break
5 Registru TX gol
6 Registru TX şi registrul de deplasare goale
7 Eroare în FIFO de recepţie
Dacă bitul 6 este setat, USART este ocupată (regiştri de date sunt ocupaţi).
Daca doar bitul 5 este setat. un alt octet poate fi înscris pentru transmisie.
Bitul 4 – când linia de recepţie este ţinută în 0 logic mai mult decât durata
unui caracter inclusiv biţii adiţionali
Bitul 3 – ultimul bit nu e bit de Stop (de regulă când este diferenţă de rate de
transmisie)
Bitul 1 – data din registrul de recepţie nu a fost citită şi a fost supraînscrisă
datorită unei noi recepţii.
Adresă: Baza + 6 - RD - Nume: Modem Status Register (MSR)
Bit # Nume
0 Modificare Clear To Send de la ultima citire
1 Modificare Data Set Ready de la ultima citire
2 Indicator sonerie în aşteptare
3 Modificare Data Carrier Detect de la ultima citire
4 Clear To Send
5 Data Set Ready
6 Indicator sonerie
7 Detecţie purtătoare
Rata de transmisie se stabileşte conform tabelului următor:
Bps (bit/sec) Divizor Latch high byte Latch low byte
50 2304 09h 00h
300 384 01h 80h
600 192 00h C0h
60
Teletransmisii de date Cap. 4 Interfeţe seriale

2400 48 00h 30h


4800 24 00h 18h
9600 12 00h 0Ch
19200 6 00h 06h
38400 3 00h 03h
57600 2 00h 02h
115200 1 00h 01h
4.3. Interfaţa serială RS-422
TIA/EIA-422-B (RS422) este un standard industrial ce precizează
caracteristicile electrice ale unui circuit de interfaţă echilibrat. A fost
introdus pentru a rezolva problemele de limitare ale standardelor
nesimetrice (RS232). Acestea nu prezintă imunitate la zgomote de mod
comun )tipice în medii industriale).
Un emiţător RS-422 poate suporta până la 10 sarcini (4kΩ tipic
pentru o unitate), poate transmite datele până la 1200m şi sunt garantate să
suporte un curent de 20 mA pe o sarcină de 100Ω (adică 2V pe sarcină).

D 100Ω

I
3,25 mA

-10 -3 V

3 10

-3,25 mA

Fig. 4.15. Emiţătorul şi regiunea de funcţionare pentru RS-422


Impedanţa receptorului trebuie să fie egală cu o unitate de sarcină
(panta zonei gri din figura de mai sus). Zona de lucru a receptorului este
definită între -10 şi +10V (zona gri din figura de mai sus).
Receptoarele RS-422 au pragurile de detecţie de ±200mV faţă de
întregul domeniu de ieşire al emiţătorului de ±6V. De asemenea este
garantată o margine de zgomot diferenţială ≥1.8V între excursia de ieşire a
emiţătorului şi pragurile receptorului.
61
Teletransmisii de date Cap. 4 Interfeţe seriale

Pentru distanţe mari sau viteze mari de transmisie este recomandată


utilizarea terminatorilor pentru a reduce reflexiile produse de
neîmperecherea de impedanţă dintre cablu şi impedanţa de intrare a
receptorului.
În principiu standardele RS-422 şi RS-485 sunt similare. Totuşi
există şi diferenţe: etajul de ieşire a emiţătorului, domeniul de mod comun al
interfeţei, rezistenţa de ieşire a receptorului, şi capabilitatea de sarcină a
emiţătorului.
Lungimea cablului şi rata de transmisie sunt mărimi complementare.
Figura 4.16 prezintă o hartă a regiunii operative a standardului RS-422 şi
comparaţie cu alte standarde. Datele au fost obţinute folosind cablu torsadat
din Cu, cu capacitate de 50pF/m, terminat pe 100Ω.
1200
Lungimea cablului (m)

RS-423 RS-422

25
RS-232

0.1 1.0 10 100 1000 10000


Rata de transmisie (kbps)

Fig. 4.16. Lungimea cablului vs. Rata de transmisie


Adaptarea de impedanţă printr-un terminator rezistiv paralel este o
metodă foarte populară, care aduce avantajul unor lungimi mari de cablu şi
rate de transmisie ridicate. Aceasta aduce rezistenţa Rt la valori apropiate de
Z0 (fig. 4.7) şi minimizează reflexiile. Conexiunea are şi un dezavantaj al
disipării inutile de putere pe sarcina rezistivă, tensiune diferenţială mai mică
şi margine de zgomot mai redusă.
Reţelele RS-422 folosesc 3 tipuri de configuraţii:

E Rt R

Fig. 4.17. Aplicaţie multi-recepţie cu terminator paralel

62
Teletransmisii de date Cap. 4 Interfeţe seriale

a) Configuraţia punct-punct are un singur emiţător şi un singur receptor.


Acestea pot fi gândite ca aplicaţii RS-232 cu transmisie diferenţială.
b) Configuraţia punct-multipunct este cea din figura 4.17 în care există un
emiţător şi mai multe receptoare pe acelaşi cablu. Numărul maxim de
receptoare este 10 dacă impedanţa receptorului este 4kΩ şi 20 dacă aceasta
este 8kΩ.
c) Configuraţia multipunct-multipunct permite pe aceleaşi fire conectarea a
mai multor emiţătoare şi receptoare (fig. 4.18). Emiţătoarele 422 nu sunt
proiectate pentru acest gen de configuraţie, dar în anumite condiţii acest
lucru este posibil: diferenţe de potenţial între masele emiţătoarelor, disputa
între emiţătoare şi capacitatea de comandă a acestora.

E Rt Rt R

R R E
E

Fig. 4.18. Aplicaţie multipunct-multipunct


Deşi standardul RS-422 nu prevede nici o specificaţie specială
privind descărcările ESD, porducătorii de circuite integrate au dezvoltat
totuşi un standard minim de protecţie de 2kV pentru atingerea cu corpul
omenesc.
Software-ul asociat reţelelor RS-422 diferă de cel utilizat pentru
comunicaţiile pe interfaţa serială standard. Aici se impune o comunicaţie de
tip master-slavepentru a evita coliziunile. Pentru a reduce costurile nu se
implementează liniile suplimentare de control a comunicaţiei.
Tabelul următor rezumă specificaţiile electrice ale standardului RS-
422.
Tabelul 4.6. Specificaţiile electrice ale RS-422
Parametrul Condiţii Min Max UM
Tensiunea de ieşire a 10 V
emiţătorului în gol -10 V
Tensiunea de ieţire a Rt=100Ω 2 V
emiţătorului în sarcină -2 V
Rezistenţa de ieşire a A la B 100 Ω
emiţătorului
Curentul de scurtcircuit al pe ieşire către ±150 mA
emiţătorului masă

63
Teletransmisii de date Cap. 4 Interfeţe seriale

Timpul de creştere al Rt=100Ω 10 % din durata


ieşirii emiţătorului de bit
Tensiunea de mod comun Rt=100Ω ±3 V
a emiţătorului
Sensibilitatea receptorului VCM≤7V ±200 mV
Tensiunea de mod comun -7 7 V
a receptorului
Rezistenţa de intrare a 4000 Ω
receptorului
Tensiunea diferenţială a operaţională: ±10 V
receptorului oponentă: ±12 V

4.4. Interfaţa serială RS-423


Acest standard nu este folosit pe scară largă. În anii 80 HP producea
calculatoarele cu interfaţă serială suportând ambele standarde RS-232 şi RS-
423. RS-423 este referit faţă de masă şi este o îmbunătăţire a fratelui mai
bătrân RS-232 permiţând distanţe mai mari şi rate de transmisie superioare.
Acest lucru se obţine printr-o viteză de variaţie (slew-rate) variabilă (RS-
232 are o viteză fixă de 30V/µs) ce poate fi programată funcţie de lungimea
cablului şi de rată. RS-423 permite distanţe de maximum 1200m şi viteze
maxime de 100kbps.
4.5. Interfaţa serială RS-485
Ca şi RS-422, şi RS-485 este un sistem de comunicaţie diferenţial
sau echilibrat. Semnalul apare între două fire care transmit doar semnalul,
ele fiind diferite de masa electrică. Topologiile reţelelor pot fi punct – punct,
punct - multipunct, multipunct – multipunct. Numărul maxim de perechi
emiţător receptor pot fi de 32. Multe din caracteristicile emiţătoarelor şi
receptoarelor RS-485 sunt similare cu RS-422.Tensiunile de mod comun pe
care le suportă acestea sunt extinse de la +12 la -7 V datorită capabilităţii
stării de înaltă impedanţă (tri-state).
Figura 4.19 prezintă o configuraţie multipunct-multipunct tipică pe 2
fire. Se observă terminatoarele liniei la ambele capete, dar nu şi la punctele
din mijlocul liniei. Masa de semnal este de asemenea recomandată pentru a
menţine tensiunile de mod comun în limitele acceptate.
RS-485 poate fi configurată şi pe 4 fire (fig. 4.20). Dacă în
configuraţia anterioară oricare din puncte putea fi Master şi oricare Slave, în
configuraţia aceasta Masterul este cel al cărui receptor este singurul de pe
linie, restul fiind Slave. Aşadar două din fire sunt utilizate pentru
transmiterea informaţiei de la Master către receptoarele Slave, iar două
64
Teletransmisii de date Cap. 4 Interfeţe seriale

A A

E B
Rt Rt B
R
T/R T/R

A A
R B B E
100Ω A B B A A B A B

100Ω
100Ω 100Ω
R R 100Ω 100Ω

E E
100Ω 100Ω

T/R T/R

Fig. 4.19. Aplicaţie RS-485 multipunct-multipunct pe 2 fire


A A

E B
Rt Rt B
R
T/E T/E

A A
R B
Rt Rt B
E
100Ω

100Ω 100Ω 100Ω

MASTER SLAVE
A B B A A B A B

100Ω
R R 100Ω

E E
100Ω 100Ω

T/E T/E
SLAVE SLAVE
Fig. 4.20. Aplicaţie RS-485 multipunct-multipunct pe 4 fire
pentru transmiterea informaţiei de la emiţătoarele Slave către receptorul
Master. În concluzie nodurile Slave pot comunica doar către nodul Master,
nu şi între ele. De aici şi un avantaj al lipsei coliziunilor deoarece nodurile
Slave nu vor „vorbi” niciodată simultan pentru că nu comunică între ele, şi
se poate realiza o comunicaţie duplex.
Pe durata cât un nod nu emite, emiţătorul este deconectat de la linia
de transmisie. Sunt numeroase cazurile când sistemele prezintă interfeţe RS-
232 iar pentru a le conecta în reţele RS-485 se folosesc adaptoare RS-232 –
RS-485. Pentru a putea conecta sau deconecta emiţătorul de la linie se poate
folosi semnalul RTS. Când acesta este în 1 logic, emiţătorul este activ şi
devine inactiv pentru 0 logic. Cât timp este deconectat, alte noduri pot
transmite date pe interfaţă. Figura 4.21. prezintă forme de undă specifice
pentru convertorul RS-232 – RS-485. Este important ca RTS să fie dus în 1
logic înainte ca data să fie transmisă, şi trebuie să rămână în această stare
65
Teletransmisii de date Cap. 4 Interfeţe seriale

Convertor
+6 Convertor TTL – RS-485
RS-232 – TTL integrat
VSD 0
integrat
-6 A
TxD TxDTTL VA
+6
VSD R E B
VRTS Tx VB
-6 A
+5
RxD Rx
TxDTTL E R B
0
+3
VA RTS GRD
0
+3
VB VRTS R
0
emiţătorul GRD
RS-485
dezactivat

Fig. 4.21. Schema electrică şi forme de undă pentru convertorul RS-232 – RS-485
până la un moment ulterior transmiterii ultimul bit. Aceasta este realizată
prin software-ul ce controlează portul serial.
Dacă portul serial provine de la un sistem pentru care nu există linia
RTS disponibilă atunci emiţătorul poate fi comandat chiar de către linia de
date. Pentru aceasta linia de date este triggerată pentru a obţine semnalul de
validare a emiţătorului. Figura 4.22. prezintă schema electrică şi formele de
undă asociate pentru această aplicaţie. Este important de ştiut că emiţătorul
este dezactivat la un interval fix după ultimul bit de date; tipic această durată
se alege de lungimea unui caracter. Dacă intervalul este prea scurt se poate
pierde o parte din caracterul de transmis, iar dacă este prea lung atunci
sistemul va încerca să pornească emiţătorul înainte ca receptorul să fie
pregătit pentru a primi date.
Comunicaţia pe RS-485 necesită un nod Master care să gestioneze
comunicaţia pe interfaţă. Fiecare nod Slave trebuie să aibă o adresă unică
pentru a-l deosebi de celelalte. Implementarea pe 4 fire simplifică modul de
adresare. Preambulul poate fi chiar adresa nodului. Trebuie avut grija ca
Masterul să nu ceară informaţii de la mai multe noduri simultan pentru
evitarea coliziunilor. Implementarea pe 2 fire implică o complexitate mai
mare. Întârzierea dintre sfârşitul transmisiei şi momentul de înaltă
impedanţă este un parametru important. Dacă Slave-ul începe să răspundă
înainte ca emiţătorul să fie inactiv, atunci poate apărea o coliziune.
Dacă reţeaua are mai multe noduri Master atunci oricare poate iniţia
o transmisie şi pot apărea coliziuni. În aceste condiţii proiectantul trebuie să
utilizeze metode sofisticate pentru detecţia erorilor pentru autorizarea şi
retransmisia datelor în caz de eroare.
Pentru reţelele în care convertoare ce necesită alimentare din port,
sau dacă întregul nod necesită aceasta, se pot folosi, pentru alimentarea sa,
66
Teletransmisii de date Cap. 4 Interfeţe seriale

Convertor Convertor
+6 RS-232 – TTL TTL – RS-485
VSD 0 integrat integrat
A
-6 TxD TxDTTL VA
+5 VSD R E B
VSDTTL Tx VB
0
A
RxD Rx
+5 E R B
ENABLE 1

ENABLE
0
+3 GRD
VA
0 R
+3
Circuit
VB
0 retriggerabil
GRD C

emiţătorul RS-485
dezactivat 1 – durata este stabilită de către componentele R şi C, dar începutul
intervalului este determinat de frontul fiecărui bit

Fig. 4.22. Schema electrică şi forme de undă pentru convertorul RS-232 – RS-485 cu
triggerarea liniei de date
linii neutilizate ale portului (RTS, CTS,...) care se programează în 1 logic.
Pentru curenţi mai mari se pot suma liniile prin rezistenţe de valoare mică.
Tabelul următor sintetizează caracteristicile electrice ale RS-485.
Tabelul 4.7. Specificaţiile electrice ale RS-485
Parametrul Condiţii Min Max UM
Tensiunea de ieşire a emiţătorului 1.5 6 V
în gol -1.5 -6 V
Tensiunea de ieţire a emiţătorului Rt=54Ω 1.5 5 V
în sarcină -1.5 -5 V
Rezistenţa de ieşire a emiţătorului A la B 100 Ω
Curentul de scurtcircuit al ieşirea la ±250 mA
emiţătorului +12 sau -7
Timpul de creştere al ieşirii Rt=54Ω 30 % din durata
emiţătorului Ct=50pF de bit
Tensiunea de mod comun a Rt=54Ω -1 +3 V
emiţătorului
Sensibilitatea receptorului VCM≤7V ±200 mV

Tensiunea de mod comun a -7 12 V


receptorului
Rezistenţa de intrare a 12k Ω
receptorului

67
Teletransmisii de date Cap. 4 Interfeţe seriale

4.4. Interfaţa USB


Interfaţa USB (Universal Serial Bus) a fost dezvoltată în 1995 de
câteva din marile companii ale lumii (Compaq, Hewlett Packard, Intel,
Lucent, Microsoft, NEC şi Philips). Principalul scop al USB a fost acela de
a defini o magistrală de extindere care să permită adaugarea de periferice
unui calculator PC la fel de simplu cum se conectează un telefon la linia
telefonică. Astfel a ajuns să înlocuiască majoritatea porturilor tradiţionale a
unui calculator cu o singură interfaţă cât mai prietenoasă. USB este o
interfaţă serială ce foloseşte protocoale predefinite. A fost proiectată să nu
necesite întreruperi specifice sau DMA, dar să poată recunoaşte
dispozitivele ce sunt conectate din mers. Pentru a instala un dispozitiv nou
nu sunt necesare cunoştinţe speciale, şi orice dispozitiv să fie distict faţă de
altele, iar driver-ul corect va fi utilizat în mod automat. Interfaţa este de tip
master-slave. A fost dedicată perifericelor de birou dar a înlocuit cele mai
multe dispozitive care se conectau pe portul paralel (LPT) sau pe portul
serial (COM). Există două versiuni de interfaţă USB: versiunea 1.X suportă
două viteze (12Mbps şi 1.5Mbps) - viteză mai mică este destinată
dispozitivelor ieftine (mouse de exemplu) şi nu necesită cablu ecranat; USB
2.0 ce suportă viteză ridicată (480Mbps) pentru, practic, orice tip de
aplicaţie. Această specificaţie a fost introdusă ca răspuns la viteza ridicată a
interfeţei Firewire.
Magistrala este implementată fizic prin 4 fire, două pentru
alimentare şi două pentru date, conectorul rezultând astfel cu 4 pini (figura
4.23.a). Datele sunt vehiculate diferenţial pe 2 fire torsadate, dar şi unele

Conector A Conector B Conector mini USB


2 1
+5V +5V = 1 1 2 3 4 5
D+ ... D+ = 3
D- D- = 2 1 2 3 4
GND GND = 4 3 4

a) b)

Fig. 4.23. Cablul şi conectorul USB


referite faţă de masă. Fiecare din semnalele de pe cele 2 fire sunt referite
faţă de masă. Al 4 le-a semnal este o tensiune de alimentare (+5V) şi poate
fi folosită să alimenteze dispozitivul periferic.
În figura 4.23.b sunt prezentate cele 4 tipuri de conectori. Conectorii
de tip A şi B au 4 contacte, numerotate ca în figură. Contactele de date sunt
pe mijloc (conectorul A) şi respectiv pe partea stângă (conectorul B), iar
cele de putere pe margine (conector A) şi respectiv pe partea dreaptă
68
Teletransmisii de date Cap. 4 Interfeţe seriale

(conector B). Conectorul mini USB (mini B) are 5 contacte din care
contactul 4 se numeşte ID şi nu este conectat. Primele 3 au aceeaşi
numerotare, iar pinul 5 este masa (GND). Toate 3 tipurile au un contact
metalic ce le înconjoară, la care este legat ecranul cablului.
Există 3 tipuri de cabluri:
- un cablu de viteză ridicată cu conector A la un capăt şi conector B sau
mini B la celălalt.
- un cablu de captură de viteză mare, conectat direct la echipamentul
periferic sau cu un conector specific, şi la celalalt capăt cu un conector de
tip A.
- un cablu similar cu cel de-al doilea, dar de viteză scăzută.
Lungimea maximă a cablului depinde de viteza cu care se face comunicaţia,
de atenuare şi de întârzierea de propagare. Pentru un cablu de viteză redusă
timpii de creştere şi cei de cădere fixează lungimea maximă. De aceea
cablul de viteză redusă este mai scurt decât cel de viteză ridicată. Lungimea
oricărui cablu este limitată la 5m. Astfel cel mai îndepărtat perfieric nu
poate fi la mai mult de 30m de controller.
Un dispozitiv sau un hub poate alimenta doar din portul master
(upstream). Există periferice care nu folosesc sursa de alimentare de pe
interfaţă, însă există şi periferice care se alimentează din interfaţă. Curentul
maxim ce poate fi consumat este de 100mA în mod normal sau 500mA dacă
este permis de către unitatea gazdă. Când perifericul este suspendat
consumul cade sub 0.5 mA. Tensinea poate scădea la periferic până la
4.35V şi în plus pe linie pot apărea paraziţi tranzitorii de până la 0.4V
datorită dispozitivelor ce se conectează în acel moment. Astfel nici un
dispozitiv nu are voie să tragă un curent mai mare de 100mA înainte de a fi
configurat. În starea „suspendat” consumul trebuie să fie mai mic de 0.5 mA
datorită rezistenţei de 1.5k spre alimentare care consuma 0.3 mA,
dispozitivului îi rămân doar 0.2 mA. Dacă dispozitivul conţine un
microcontroller acesta trebuie să aibă un curent care să îndeplinească aceste
cerinţe în modul „sleep”.
4.4.1. Arhitectura USB
USB este o arhitectură de tip stea etajată cu un singur controller
gazdă (host) şi până la 127 de dispozitive sclav (slave). Controllerul este
conectat într-un hub (de regulă integrat în calculator), iar acesta permite
ataşarea unui număr de dispozitive. Fiecare conector poate fi continuat cu
încă un hub, şamd, dar cu anumite restricţii. Numărul maxim de ramificaţii
este de 6.

69
Teletransmisii de date Cap. 4 Interfeţe seriale

Controller
Hub rădăcină

Hub

Hub Periferic Periferic

Hub Hub Periferic Periferic

Periferic Hub Periferic

Hub Hub

Periferic

Fig. 4.24. Arhitectura reţelei USB


Limitarea numărului de dispozitive provine din faptul că lungimea
câmpului de adresă este de 7 biţi, iar valoarea 0 nu poate fi utilizată
deoarece are o semnificaţie aparte. În majoritatea sistemelor se ajunge la o
limitare de bandă înainte de a atinge cele 127 de periferice. Din cele 5 hub-
uri de pe o ramură, cel puţin două trebuie să aibă alimentare proprie.
Toate comunicaţiile pe magistrală sunt iniţiate de către controllerul
gazdă. Un periferic nu poate iniţia comunicaţia şi trebuie să aştepte să fie
întrebat pentru a tranfera datele către controller. Singura excepţie este atunci
când un dispozitiv este în modul „suspend” şi poate semnala controllerul cu
un semnal de „trezire”.
70

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