Author
dotruc
View
234
Download
1
Embed Size (px)
Teletransmisii de date Cap. 4 Interfee seriale
42
4 INTERFEE SERIALE
4.1. Introducere Interfaa serial RS-232 este unul din cele mai rspndite echipamente periferice. Dup cum i spune i numele, transmisia i recepia se face bit cu bit, necesitnd doar un singur fir pentru transmisie. RS-232 este un standard, n sensul c toate modelele de calculatoare i majoritatea instrumentelor de msur o nglobeaz. A fost standardizat de ctre EIA (Electronics Industries Association) n anul 1962. Aa cum a fost el conceput, standardul permite comunicaii doar pe distane scurte (pn n 20 m) i viteze de transfer de maxim 19600 bps (bps nseamn bii pe secund). Ulterior s-au dezvoltat i alte standarde (RS-422, RS-485, RS-449) ce permit fie distane mai mari ntre emitor i receptor, fie viteze mai mari fie mai multe dispozitive conectate pe acelai cablu. De exemplu RS-422 permite pn la 10Mbs i distane de pn la 1.6 km. Datele seriale pot fi transmise sincron (clocked) sau asincron (non-clocked). Dac interfeele menionate mai sus sunt asincrone, exist i interfee sincrone (I2C, SPI), acestea fiind destinate n general distanelor scurte i iterfarii unor periferice cu microprocesoarele.
4.2. Interfaa serial standard RS-232
4.2.1. Caracteristici electrice Caracteristicile electrice definesc tensiunile minime i maxime ale strilor logice, semnalele i semnificaiile lor i conectorii. a) tensiunile de linie
+12V
-12V
inactiv
Bit de start
1 0 0 0 0 0 1
Bii de stop 7 bii de date (caracterul A)
Bit de paritate
0V
+25V
-25V
-3V +3V
1
0
Fig. 4.1. Nivelele de tensiune ale interfeei RS232
Teletransmisii de date Cap. 4 Interfee seriale
43
Nivel 1 logic este corespunztor 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. Cnd nu exist impulsuri transmise linia st n 1 logic (-12V). O tensiune de 0V nseamn c linia este ntrerupt sau exist un scurtcircuit. Figura urmtoare ilustreaz un exemplu de transmisie pe interfaa serial RS-232. Tabelul urmtor sintetizeaz caracteristicile electrice ale interfeei. Tabelul 4.1.
SPECIFICAII RS-232
Mod de lucru single - ended
Numrul total de emitoare i receptoare pe o linie 1 emitor 1 receptor Lungimea maxim a cablului 25m Rata maxim de transmisie 20kb/s Tensiunea maxim / minim +/-25V Nivelul de semnal de ieire (ncrcare Min.) ncrcat +/-5V to +/-15V
Nivelul de semnal de ieire (Fr ncrcare Max) nencrcat +/-25V
Impedana de ieire a emitorului (Ohms) 3k to 7k Curentul maxim de ieire n starea de nalt impedan alimentat N/A
Curentul maxim de ieire n starea de nalt impedan nealimentat +/-6mA @ +/-2v
Slew Rate (Max.) 30V/uS Gama tensiunilor de intrare +/-15V Sensitibilitatea de intrare a receptorului +/-3V Rezistena de intrare a receptorului (Ohms) 3k to 7k
b) conectori Interfaa RS-232 are dou tipuri de conectori disponibili: DB25S i DB9S. Primul asigur funcionalitatea total a interfeei n timp ce al doilea asigur un spaiu minimal pentru instrumentaia tot mai redus n dimensiuni. Figura urmtoare prezint cele dou conectoare i alocarea pinilor. Semnalele RS-232 sunt mprite n 3 categorii: - date (TxD, RxD). Sunt dou canale de date care permit comunicaii full-duplex.
Teletransmisii de date Cap. 4 Interfee seriale
44
- controlul comunicaiei (RTS, CTS). Aceste semnale furnizeaz suportul prin care se controleaz traficul datelor. - timing (TC, RC). Pentru comunicaii sincrone este necesar transmiterea unui semnal de tact pentru sincronizarea receptorului cu emitorul. Setul complet de semnale ale interfeei RS-232D sunt adunate n tabelul urmtor mpreun cu numrul pinului corespunztor 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 msur interfaabil. Tabelul 4.2.
Pin DB25 Semnalul Direcia Funcia 1 FG - Frame ground - nveli de
protecie, ecran 2 TD sau TxD spre DCE Transmisie date 3 Rd sau RxD spre DTE Recepie 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
Fig. 4.2. Conectorii specifici interfeei RS232
Teletransmisii de date Cap. 4 Interfee seriale
45
pregtit. Similar cu CTS doar c este activat DCE.
7 SG - Signal ground Masa semnal 8 DCD spre DTE Detcie semnal recepionat 9 - - 10 - - 11 - - 12 SDCD spre DTE Detecie semnal recepionat
secundar/selecie 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 Recepie date secundar
17 RC spre DTE Receiver signal element timing Semnal de sincronizare pentru recepia datelor, generat de DCE
18 DCR spre DCE Local loop-back (tact de recepie divizat)
19 SRTS spre DCE Secondary request o send cerere de transmisie secudar
20 DTR spre DCE Data terminal ready terminal de date pregtit
21 SQ spre DCE Remote loop back / signal quality detector detector a calitii semnalului
22 RI spre DTE Ring indicator indic o cerere de comunicaie. Folosit n comunicaia cu modemul.
23 DSRS spre DCE / DTE
Data signal rate select selecie rat transmisie date
24 TC spre DCE Transmit signal element timing Semnal de sincronizare
Teletransmisii de date Cap. 4 Interfee seriale
46
generat de DTE 25 TM spre DTE Test mode Mod de test
Cel mai folosit subset de semnale este cel din tabelul urmtor: Tabelul 4.3.
Pinul Semnalul Funcia 1 FG nveli de protecie, ecran, asiu 2 TxD Transmisie date de la DTE la DCE 3 RxD Recepie date de ctre DTE de la
DCE 4 RTS DTE semnalizeaz c dorete s
trimitdate ctre DCE 5 CTS DCE semnalizeaz c este gata s
primeasc date de la DTE 6 DSR DCE semnalizeaz c s-a stabilit o
legtur 7 SG Masa 8 DTR DTE semnalizeaz c DTE este
operaional c) formatul datelor n majoritatea aplicaiilor datele sunt transmise asincron sub form de pachete, fiecare reprezentnd un singur caracter ASCII i coninnd suficient informaie pentru a fi decodificat fr ajutorul unui semnal de tact. De exemplu caracterul A este reprezentat n cod ASCII ca 1000001. Pentru a o trimite prin interfaa serial ctre alt sistem trebuie s adugm civa bii pentru a semnaliza nceputul i sfritul pachetului. Acetia sunt bitul de start i bitul sau biii de stop. n plus se poate aduga nc un bit pentru paritate n scopul deteciei erorilor. Una din configuraiile cele mai folosite folosete 1 bit de start, un bit de paritate i 2 bii 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 bii de date ai caracterului ASCII. Dup acetia urmeaz bitul de paritate. Funcie de paritatea aleas (par sau impar) bitul poate fi 1 sau 0. Dac se lucreaz cu peritate par, atunci se adaug 1 sau 0 funcie de caracter, a.. numrul de bii de 1 s fie par. n cazul paritii impare numrul de bii de 1 trebuie s fie impar. Atunci bitul de paritate se alege astfel: dac exist un numr impar de bii de 1 n caracter atunci bitul de paritate va fi 0, iar dac
Teletransmisii de date Cap. 4 Interfee seriale
47
exist un numr par de bii atunci bitul de paritate va fi 1 astfel nct mpreun cu acesta s fie un numr impar. Pentru a genera acest bit sunt necesare doar pori XOR. Un singur bit de paritate poate detecta un numr impar de erori. Dac numrul erorilor este par atunci acestea nu se pot detecta. n final sunt adugai cei doi bii de stop. Acetia sunt amndoi 1. Blocul complet transmis cuprinde 11 bii. 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 conine 2 bii de 1). Forma de und asociat acestei transmisii se gsete n figura 4.1. d) configuraia hardware Odat cu primul microprocesor Intel a dezvoltat o serie de periferice ce includea i o interfa UART. Acesta este I8251. Completarea interfeei se face cu dou circuite adaptoare de nivel 75150 respectiv 75154. Schema electric este prezentat n figura 4.3. Cele dou adaptoare necesit alimentri de 12V pentru obinerea celor dou nivele logice specifice interfeei RS-232.
ntr-un sistem cu microprocesor datele sunt verificate sub form paralel. Pentru serializarea lor se folosesc regitri de deplasare att la emisie ct i la recepie. Diferena const n faptul c la emisie datele sunt ncrcate paralel i apoi deplasate serial ctre 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).
Fig. 4.3. Structura hardware a unei interfee RS-232
Teletransmisii de date Cap. 4 Interfee seriale
48
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 prezentnd 3 magistrale pentru interfaarea cu acestea: magistrala de date (D07), magistrala de adrese CS i magistrala de control (Clk, Reset, RD , WR , DC/ .
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 acelai timp recepioneaz date seriale pe RxD cu aceeai rat i le transform n format paralel pentru a fi preluate de ctre CPU. USART va semnaliza ctre CPU cnd poate primi un nou caracter pentru transmitere sau cnd este un nou caracter recepionat disponibil. CPU poate citi n orice moment starea complet a interfeei, aceasta incluznd erorile de transmisie i semnalele de control SYNDET i TxEMPTY.
Baud Rate
Registru Combinat
D07
LD SO
TxD Registru Combinat
D07
LD
SI RxD
Registru Memorare D07
Q07
a) b)
Clk Baud Rate
Clk
Fig. 4.4. a) conversia paralel-serie; b) conversia serie-paralel
Tampon Magistral de
Date
Logic de Control
Scriere / Citire
Control Modem
Tampon Transmisie
Date
Control Transmisie
Tampon Recepie
Date
Control Recepie
Res
et
C/D
C
lk
WR
RD
DTR
D
SR
RTS
C
TS
D0
7 Tx
D
TxR
DY
TxE
TxC
RxD
RxR
DY
RxC
SYN
DET
CS
Fig. 4.5. Schema bloc a interfeei UART I-8251
Teletransmisii de date Cap. 4 Interfee seriale
49
Descrierea funcional a circuitului: Tamponul magistralei de date este un buffer de 8 bii bidirecional de tip 3 state. Datele sunt vehiculate n timpul instruciunilor 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 conine Registrul cuvntului de control i Registrul cuvntului de comand ce memoreaz diferite formate de control pentru definirea funcional a circuitului. Semnalele prezente pe magistrala de control sunt: - Reset 1 logic pe aceast intrare foreaz circuitul n modul idle. Acesta rmne aa pn ce un nou set de cuvinte de control vor fi scrise n regitrii acestuia. Durata minim de iniializare este de 6 perioade de tact. - Clk intrarea furnizeaz semnal de tact circuitelor interne. Semnalul de tact trebuie s fie cel puin 30 de ori mai mare dect ratele de transmisie. - WR - 0 logic pe aceast intrare anun circuitul c CPU scrie date sau informaii de stare n regitrii si interni. - RD - 0 logic pe aceast intrare anun circuitul c CPU citete date sau informaii de stare din regitrii si interni. - DC/ - aceast intrare este n legtur cu WR i RD . Semnalul semnalizeaz dac informaia de pe magistrala de date este o dat sau un cuvnt de comand / o informaie de stare: 1= control/stare, 0=data. - CS - 0 logic pe aceast intrare selecteaz circuitul. Activarea semnalelor de scriere / citire nu vor avea efect dect simultan cu activarea acestuia. Tabelul urmtor prezint strile semnalelor de control la diferitele operaii: Tabelul 4.4.
DC/ RD WR CS Operaia 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 intrri i ieiri de control ce pot fi folosite pentru a simplifica interfaarea cu orice modem. Ele pot fi folosite i
Teletransmisii de date Cap. 4 Interfee seriale
50
n alte scopuri. Acestea sunt: - DSR - Data Set Ready intrare inversoare. CPU poate testa starea acesteia printr-o operaie de citire a strii. Ea este utilizat pentru a testa dac exist date disponibile. - DTR - Data Terminal Ready este o ieire inversoare. Poate fi pus n starea 0 logic prin bitul corespunztor din cuvntul de comand. Indic faptul c se pot primi date. - RTS - Request to send - este o ieire inversoare. Poate fi pus n starea 0 logic prin bitul corespunztor din cuvntul de comand. Indic faptul c echipamentul dorete s trimit date. - CTS - Clear to send 0 logic pe aceast intrare anun I-8251s transmit date dac bitul TxD este validat n cuvntul de comand. Dac fie Tx Enable sau CTS trece n 1 logic, circuitul transmite ceea ce este n curs i apoi se oprete. Tamponul de transmisie date accept date paralele de la tamponul magistralei de date, adaug biii suplimentari funcie de modul de comunicaie ales i le convertete ntr-un ir de bii serial pe care l transmite pe ieirea TxD pe frontul negativ al TxC . Transmisia ncepe atunci cnd CTS =0. Controlul transmisiei se ocup de activitile asociate transmisiei datelor seriale. Accept i genereaz semnale necesare acestei operaii: - TxRDY - Transmitter Ready aceast ieire semnalizeaz CPU c transmitorul este gata pentru a recepiona date. Semnalul poate fi folosit ca semnal de cerere de ntrerupere sau poate fi testat de ctre CPU prin citirea strii. El indic faptul c registrul de date al transmitorului este gol/plin. - TxE Transmitter Empty n modul sincron 1 logic pe aceast ieire indic faptul c nu a fost ncrcat 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 frecvena de tact pe aceast intrare. n modul asincron rata este o fraciune a acesteia (1, 1/16, 1/64). Frontul negativ al semnalului deplaseaz datele la ieirea TxD. Tamponul de recepie date accept datele seriale i le convertete n format paralel i asambleaz caracterul transmis. Datele se primesc pe RxD i sunt validate pe frontul pozitiv al RxC . Controlul recepiei acest bloc se ocup de controlul recepiei datelor. Mai nti trebuie detectat un 1 valid pe linia de recepie, dup care se caut
Teletransmisii de date Cap. 4 Interfee seriale
51
bitul de start. Aceasta se ntmpl doar n modul asincron. detecia unei erori de paritate activeaz bitul corespunztor. Dac bitul de stop lipsete atunci se activeaz bitul Framing error. Semnale: - RxRDY Receiver Ready aceast ieire indic faptul c 8251 conine un caracter i este gata pentru a-l transmite ctre CPU. Semnalul poate fi utilizat ca o cerere de ntrerupere ctre acesta sau starea sa poate fi testat prin citirea registrului de stare. RxEnable ine RxRDY n condiia de reset. n modul asincron acest semnal este activat dup detectarea unui bit de start i asamblarea caracterului n registrul de recepie. - RxC - Receiver Clock controleaz rata cu care se recepioneaz caracterul. n modul sincron rata este egal cu frecvena semnalului pe aceast intrare. n modul asincron ea este o fracie din aceasta (1, 1/16, 1/64). n majoritatea transmisiilor rata de transmisie este egal cu cea de recepie. - SYNDET SYNC detect / BREAK Detect n modul sincron semnalul poate fi intrare sau ieire programabil prin registrul de control. Cnd este ieire semnalul trece n 1 logic pentru a indica detecia caracter-ului/elor de SYNC. Cnd este intrare un front pozitiv pe aceasta va determina 8251 s nceap asamblarea caracterelor pe frontul urmtor al RxC . n modul asincron ieirea trece n 1 logic dup recepia celor doi bii de stop dup ce n prealabil au fost recepionai bitul start i cel de paritate. Poate fi citit ca bit de stare. Pentru a iniializa interfaa procesorul trebuie s trimit o serie de cuvinte de comand ctre aceasta. Acestea vor programa: rata de transmisie, lungimea caracterelor, numrul biilor de stop, lucrul sincron/asincron i paritatea. Pentru modul de lucru asincron exist i alte opiuni suplimentare. Cuvintele de control sunt de tipuri: instruciune de mod i instruciune de comand. Cele dou instruciuni trebuie s urmeze o secven specific pentru buna funcionare a interfeei (figura 4.6) Instruciunea de mod definete caracteristicile operaionale ale interfeei. Ea urmeaz operaiei de iniializare (Reset intern sau extern). Odat nscris modul, CPU trebuie s nscrie caracterele de SYNC i instruciunile de comand. Pentru a nscrie nc o dat instruciunea de mod, bitul Reset din instruciunea de comand trebuie setat pentru a iniia un reset intern. - Modul asincron de transmisie: cnd un caracter este trimis de ctre CPU, I-8251 i adaug un bit de start nainte i un bit de paritate (opional) i bitul (biii) de stop. Biii cracterului sunt ordonai cu cel mai puin semnificativ primul. Pachetul este trimis serial, bit cu bit, la ieirea TxD. Pachetul de date
Teletransmisii de date Cap. 4 Interfee seriale
52
este deplasat spre ieire pe frontul negativ al lui TxC cu o rat egal cu 1, 1/16, 1/64 din frecvena TxC , dup cum este definit n instruciunea de
mod. Cnd nu sunt de transmis caractere, I-8251 ine linia TxD n 1 logic. - Modul asincron de recepie: 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
Instruciune de mod Caracter SYNC 1 Caracter SYNC 2
Instruciune de comand
Date
Instruciune de comand
Date
Instruciune de comand
C/D=1 C/D=1 C/D=1 C/D=1
C/D=0
C/D=1
C/D=0
C/D=1
Doar n modul SYNC. Dac s-a
programat un singur caracter
SYNC, atunci al doilea nu mai
exist.
Fig. 4.6. Programarea interfeei I-8251
Tipul paritii
S1 EP PEN L2 L1 B2 B1 S2
D6 D5 D4 D3 D2 D1 D7
1 0
par impar
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 bii 6 bii 7 bii 8 bii
Validarea paritii
1 0
cu paritate fr paritate
Bii de stop
0 1 0 1
0 0 1 1
fr 1 bit 1 bii 2 bii
D0
Fig. 4.7. Formatul instruciunii de mod modul asincron.
Teletransmisii de date Cap. 4 Interfee seriale
53
de start, iar numrtorul de bii de la recepie ncepe s numere. Acesta determin ncrcarea biilor (biii de date, bitul de paritate i biii de stop) prin eantionarea 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. Eantionarea biilor are loc pe frontul pozitiv al semnalului pe intrarea RxC . Dac se detecteaz un nivel 0 logic pe durata biilor de stop, atunci fanionul de eroare de cadru (Framing error flag) va fi setat. Bitul de stop anun sfritul caracterului (receptorul are nevoie doar de 1 bit de stop indiferent de ci sunt programai). Caracterul recepionat este apoi ncrcat n registrul tampon paralel al I-8251. Pinul RxRDY este dus n 1 logic pentru a semnaliza CPU c s-a recepionat un caracter. Dac precedentul caracter nua fost citit din registrul tampon, atunci urmtorul va fi supranscris peste el. Pentru a semnaliza aceasta, fanionul de supranscriere (OverRun Error flag) va fi setat. Toate fanioanele de eroare pot fi reset-ate cu o instruciune de iniializare a erorilor. - Modul sincron de transmisie: Ieirea TxD este inut n 1 logic atta timp ct nu se trimit caractere, cnd CPU trimite primul caracter ctre 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 ctre ieire pe frontul negativ al lui TxC . Odat ce transmisia a nceput, datele trebuie s succead continuu la ieirea TxD cu rata fixat de TxC . Dac CPU nu reuete 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 recepie: n acest mod sincronizarea caracterelor poate fi realizat intern sau extern. Dac a fost programat modul SYNC, o comand ENTER HUNT (Intrare vntoare) trebuie inclus n prima instruciune de comand. Datele pe RxD sunt eantionate pe frontul cresctor al lui RxC . Coninutul registrului tampon de recepie este comparat la fiecare bit recepionat cu caracterul SYNC pn se detecteaz o potrivire. Dac au fost programate 2 caractere de SYNC, atunci i urmtorul caracter este de asemenea comparat. Cnd au fost detectate 2 caractere SYNC, USART iese din modul vntoare i intr n modul de sincronizare a caracterelor. Pinul SYNDET este dus n 1 logic i va fi reset-at automat dup o instruciune de citire a strii. Dac transmisia este cu bit de paritate atunci SYNDET nu va fi set-at pn la mijlocul bit-ului de paritate (n locul ultimului bit pentru modul fr paritate). n modul de sincronizare extern, sincronizarea se face aplicnd 1 logic pe SYNDET, fornd 8251 s ias din modul vntoare.
Teletransmisii de date Cap. 4 Interfee seriale
54
Acest nivel va fi prsit dup un tact pe RxC . Comanda ENTER HUNT nu are efect n modul asincron. Erorile de paritate i supranscriere se testeaz la fel ca n modul sincron. Paritatea nu se testeaz n modul vntoare. Dac sincronizarea s-a pierdut, CPU poate fora receptorul s intre n modul vntoare. Aceast aciune va duce n 1 logic toi biii din registrul de recepie pentru a preveni o detecie fals a sincronizrii. Fanionul SYNDET este reset-at la fiecare cititre a strii. Aceasta nu cauzeaz ntparcerea 8251 n modul vntoare. Cnd interfaa se afl n modul sincronizare dar nu n cel de vntoare, detecia sincronizrii este nc funcional dar apare doar la terminarea cuvintelor cunoscute. Astfel, dac o citire a strii indic SYNDET i a doua citire la fel, atunci caractere de sincronizare au fost recepionate. n modul extern, detecia intern a sicronizarii este dezactivata, iar fanionul de detecia a sincronizrii poate fi activat la sfritul oricrui bit.
Instruciunea de comand controleaz modul de funcionare al formatului selectat prin instruciunea de mod. Toate cuvintele de control scrise n 8251 dup instruciunea de mod vor nsemna instruciuni de comand. Acestea pot fi nscrise la orice moment n interfa. Semnificaia biilor instruciunii de comand este prezentat n figura 4.9.
Tipul paritii
ESD EP PEN L2 L1 0 0 SCS
D6 D5 D4 D3 D2 D1 D7
1 0
par impar
Lungimea caracterului
0 1 0 1
0 0 1 1
5 bii 6 bii 7 bii 8 bii
Validarea paritii
1 0
cu paritate fr paritate
Caractere de SYNC
1 0
1 caracter SYNC 2 caracter SYNC
D0
Detecie SYNC extern
1 0
SYNDET=intrare SYNDET=ieire
Fig. 4.8. Formatul instruciunii de mod modul sincron.
Teletransmisii de date Cap. 4 Interfee seriale
55
Formatul informaiei de stare: Pentru a putea obine informaii despre eventualele erori aprute n timpul comunicaiei este adesa necesar citirea strii interfeei. I-8251 permite acest lucru la orice moment. Pentru aceasta se efectueaz o citire din interfa cu semnalul 1DC/ = . Civa dintre bii au semnificaii similare cu unii dintre pinii externi. TxRDY este o excepie. Informaia de stare poate avea o ntrziere de maxim 28 de perioade de tact fa de evenimentul ce a generat starea respectiv. Figura 4.10 prezint semnificaia biilor cuvntului de stare. Biii D6, D2 i D1 sunt cei care au coresponden cu semnalele externe.
Terminal de date pregtit
IR RTS ER SBRKEH
D6 D5 D4 D3 D2 D1 D7
1 0
DTR =0 DTR =1
Validarea transmisiei 1 0
validat invalidat
tergere erori 1 0
tergere fanioane erori -
D0
Trimite caracterul BREAK 1 0
foreaz TxD n 0 logic funcionare normal
RxE DTR TxEN
Validarea recepiei
1 0
validat invalidat
Cerere de transmisie
1 0
RTS =0 RTS =1
Reset intern 1 0
reset -
Modul de vntoare
1 0
valideaz modul vntoare -
Fig. 4.9. Formatul instruciunii de comand
Teletransmisii de date Cap. 4 Interfee seriale
56
n continuare sunt prezentate cteva moduri de utilizare a interfeei funcie de tipul de trensmisie ales.
SYN DET
FE OE PE DSR
D6 D5 D4 D3 D2 D1 D7 TxRDY diferit de pinul TxRDY. Bitul semnific faptul c registrul tampon de transmisie este gol, n timp ce pinul semnific (registrul tampon gol) AND ( CTS=0) AND (TxEN=1).
Eroare de sepranscriere
1 0
CPU nu a citit toate
caracterele recepionate
-
D0 Tx
EMPTYRxRDY TxRDY
Eroarea de paritate
1 0
s-a detectat eroare
de paritate
nu s-a detectat
eroare de paritate
Eroare de cadru 1 0
nu s-a detectat un bit de
stop valid
-
Set de date pregtit
1 0
indic DSR=0 - Fig. 4.10. Formatul cuvntului de stare
Adrese
Control
Date I-8251
TxD
RxD
RxC
TxCI-8253
EIA - TTLTerminal asincron
Fig. 4.11. Transmisie asincron
Adrese
Control
Date I-8251
TxD
RxD
RxC
TxC
Terminal sincron
SYNDET
Fig. 4.12. Transmisie sincron
Teletransmisii de date Cap. 4 Interfee seriale
57
Calculatoarele de tip PC au cel puin 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 urmtor listeaz adresele regitrilor asociai celor dou porturi. Adresele de baz sunt 3F8h pentru COM1 i 2F8h pentru COM2. Tabelul 4.5.
Adresa de baz DLAB RD/WR Abr. Nume
0 WR - Registru transmitor 0 RD - Registru tampon recepie + 0 1 RD/WR - Memorie octet inferior pentru divizorul ratei de transmisie 0 RD/WR IER Registru validare ntreruperi
+ 1 1 RD/WR - Memorie octet superior pentru divizorul ratei de transmisie + 2 - RD IIR Registru identificare ntreruperi
Adrese
Control
Date
I-8251
TxD
RxD
RxC
TxC
Modem asincron
I-8253
DSR
DTR
CTS
RTS
Interfa cu linia
telefonic
Fig. 4.13. Transmisie asincron prin linia telefonic
Adrese
Control
Date
I-8251
TxD
RxD
RxC
TxC
Modem sincron
DSR
DTR
CTS
RTS
Interfa cu linia
telefonic
SYNDET
Fig. 4.14. Transmisie sincron prin linia telefonic
Teletransmisii de date Cap. 4 Interfee seriale
58
- 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)
Regitrii portului serial au urmtoarele semnificaii: Addres: Baza + 1 - RD/WR - DLAB=0 - Nume: Interrupt Enable Register (IER). Semnificaia biilor: Bit # Nume 0 Valideaz ntreruperea pentru data recepionat disponibil 1 Valideaz ntreruperea pentru registru transmitor gol
2 Valideaz ntreruperea de stare a liniei (INT n LSR - Line Status Register)
3 Valideaz ntreruperea de stare a modemului (INT n MSR - 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 ateptare 0 1 Nu exist ntreruperi n ateptare B2 B1 Tip ntrerupere (prioritate) 0 0 ntrerupere stare modem (4) 0 1 ntrerupere pentru registru transmitor gol (3) 1 0 ntrerupere pentru dat recepionat disponibil (2)
1 & 2
1 1 ntrerupere pentru starea liniei receptorului (1) 0 Rezervat pentru 8250, 16450 3 1 16550 ntrerupere n ateptare
4 Rezervat 5 FIFO de 64 octei activat (numai 16750)
B6 B7 0 0 Fr FIFO 0 1 FIFO validat dar neutilizabil
6 & 7
1 1 FIFO validat
Addresa: Baza + 2 - WR - Nume: FIFO Control Register (FCR). Bit # Nume
Teletransmisii de date Cap. 4 Interfee seriale
59
Validare memorii FIFO 1 terge FIFO recepie 2 terge FIFO transmisie
3 Selecie Mod DMA. Schimb starea pinilor RXRDY & TXRDY din modul 1 n modul 2. 4 Rezervat 5 Validare FIFO 64 octei (16750 only)
B7 B6 Nivel de trigger pentru ntrerupere 0 0 INT pentru 1 octet recepionat 0 1 INT pentru 4 octei recepionai 1 0 INT pentru 8 octei recepionai
6 & 7
1 1 INT pentru 14 octei recepionai
Adres: Baza + 3 - RD/WR - Nume: Line Control Register (LCR) Bit # Nume
B1 B0 Lungimea cuvntului 0 0 5 Bii 0 1 6 Bii 1 0 7 Bii
1
1 1 8 Bii 0 1 Bit de Stop
2 1 2 bii de Stop pentru cuvinte 6,7 sau 8 bii sau 1.5 Bii de Stop pentru cuvinte de 5 bii. B5 B4 B3 X X 0 Fr Paritate 0 0 1 Paritate impar 0 1 1 Paritate par 1 0 1 Paritate 1 (bit de paritate 1)
3, 4 & 5
1 1 1 Paritate 0 (bit de paritate 0) 6 Validare activare Break 7 1 Acces la memoria divizorului
0 Acces la tamponul Receptorului, a Transmitorului i la Registrul de validare a ntreruperilor
Adres: Baza + 4 - RD/WR - Nume: Modem Control Register (MCR) Bit # Nume 0 Foeaz Data Terminal Ready 1 Foreaz Request to Send 2 Ieire auxiliar 1
Teletransmisii de date Cap. 4 Interfee seriale
60
3 Ieire 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 supranscriere 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 recepie
Dac bitul 6 este setat, USART este ocupat (regitri de date sunt ocupai). Daca doar bitul 5 este setat. un alt octet poate fi nscris pentru transmisie. Bitul 4 cnd linia de recepie este inut n 0 logic mai mult dect durata unui caracter inclusiv biii adiionali Bitul 3 ultimul bit nu e bit de Stop (de regul cnd este diferen de rate de transmisie) Bitul 1 data din registrul de recepie nu a fost citit i a fost supranscris datorit unei noi recepii.
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 ateptare 3 Modificare Data Carrier Detect de la ultima citire 4 Clear To Send 5 Data Set Ready 6 Indicator sonerie 7 Detecie purttoare
Rata de transmisie se stabilete conform tabelului urmtor: Bps (bit/sec) Divizor Latch high byte Latch low byte
50 2304 09h 00h 300 384 01h 80h 600 192 00h C0h
Teletransmisii de date Cap. 4 Interfee seriale
61
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. Interfaa 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 emitor RS-422 poate suporta pn la 10 sarcini (4k tipic pentru o unitate), poate transmite datele pn la 1200m i sunt garantate s suporte un curent de 20 mA pe o sarcin de 100 (adic 2V pe sarcin).
Impedana 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 detecie de 200mV fa de ntregul domeniu de ieire al emitorului de 6V. De asemenea este garantat o margine de zgomot diferenial 1.8V ntre excursia de ieire a emitorului i pragurile receptorului.
100 D
V
I
3,25 mA
-3,25 mA
10 3
-3 -10
Fig. 4.15. Emitorul i regiunea de funcionare pentru RS-422
Teletransmisii de date Cap. 4 Interfee seriale
62
Pentru distane mari sau viteze mari de transmisie este recomandat utilizarea terminatorilor pentru a reduce reflexiile produse de nemperecherea de impedan dintre cablu i impedana de intrare a receptorului. n principiu standardele RS-422 i RS-485 sunt similare. Totui exist i diferene: etajul de ieire a emitorului, domeniul de mod comun al interfeei, rezistena de ieire a receptorului, i capabilitatea de sarcin a emitorului. Lungimea cablului i rata de transmisie sunt mrimi complementare. Figura 4.16 prezint o hart a regiunii operative a standardului RS-422 i comparaie cu alte standarde. Datele au fost obinute folosind cablu torsadat din Cu, cu capacitate de 50pF/m, terminat pe 100.
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 rezistena Rt la valori apropiate de Z0 (fig. 4.7) i minimizeaz reflexiile. Conexiunea are i un dezavantaj al disiprii inutile de putere pe sarcina rezistiv, tensiune diferenial mai mic i margine de zgomot mai redus. Reelele RS-422 folosesc 3 tipuri de configuraii:
Rata de transmisie (kbps)
Lung
imea
cab
lulu
i (m
)
0.1 1.0 10 100 1000 10000
1200
25 RS-232
RS-423 RS-422
Fig. 4.16. Lungimea cablului vs. Rata de transmisie
Rt
R
R E
Fig. 4.17. Aplicaie multi-recepie cu terminator paralel
Teletransmisii de date Cap. 4 Interfee seriale
63
a) Configuraia punct-punct are un singur emitor i un singur receptor. Acestea pot fi gndite ca aplicaii RS-232 cu transmisie diferenial. b) Configuraia punct-multipunct este cea din figura 4.17 n care exist un emitor i mai multe receptoare pe acelai cablu. Numrul maxim de receptoare este 10 dac impedana receptorului este 4k i 20 dac aceasta este 8k. c) Configuraia multipunct-multipunct permite pe aceleai fire conectarea a mai multor emitoare i receptoare (fig. 4.18). Emitoarele 422 nu sunt proiectate pentru acest gen de configuraie, dar n anumite condiii acest lucru este posibil: diferene de potenial ntre masele emitoarelor, disputa ntre emitoare i capacitatea de comand a acestora.
Dei standardul RS-422 nu prevede nici o specificaie special privind descrcrile ESD, porductorii de circuite integrate au dezvoltat totui un standard minim de protecie de 2kV pentru atingerea cu corpul omenesc. Software-ul asociat reelelor RS-422 difer de cel utilizat pentru comunicaiile pe interfaa serial standard. Aici se impune o comunicaie de tip master-slavepentru a evita coliziunile. Pentru a reduce costurile nu se implementeaz liniile suplimentare de control a comunicaiei. Tabelul urmtor rezum specificaiile electrice ale standardului RS-422. Tabelul 4.6. Specificaiile electrice ale RS-422
Parametrul Condiii Min Max UM Tensiunea de ieire a emitorului n gol
10 -10
V V
Tensiunea de ieire a emitorului n sarcin
Rt=100 2 -2
V V
Rezistena de ieire a emitorului
A la B 100
Curentul de scurtcircuit al emitorului
pe ieire ctre mas
150 mA
Rt
R
R E
E E E R
Rt
Fig. 4.18. Aplicaie multipunct-multipunct
Teletransmisii de date Cap. 4 Interfee seriale
64
Timpul de cretere al ieirii emitorului
Rt=100 10 % din durata de bit
Tensiunea de mod comun a emitorului
Rt=100 3 V
Sensibilitatea receptorului VCM7V 200 mV Tensiunea de mod comun a receptorului
-7 7 V
Rezistena de intrare a receptorului
4000
Tensiunea diferenial a receptorului
operaional: oponent:
10 12
V V
4.4. Interfaa serial RS-423 Acest standard nu este folosit pe scar larg. n anii 80 HP producea calculatoarele cu interfa serial suportnd ambele standarde RS-232 i RS-423. RS-423 este referit fa de mas i este o mbuntire a fratelui mai btrn RS-232 permind distane mai mari i rate de transmisie superioare. Acest lucru se obine printr-o vitez de variaie (slew-rate) variabil (RS-232 are o vitez fix de 30V/s) ce poate fi programat funcie de lungimea cablului i de rat. RS-423 permite distane de maximum 1200m i viteze maxime de 100kbps.
4.5. Interfaa serial RS-485 Ca i RS-422, i RS-485 este un sistem de comunicaie diferenial sau echilibrat. Semnalul apare ntre dou fire care transmit doar semnalul, ele fiind diferite de masa electric. Topologiile reelelor pot fi punct punct, punct - multipunct, multipunct multipunct. Numrul maxim de perechi emitor receptor pot fi de 32. Multe din caracteristicile emitoarelor 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 capabilitii strii de nalt impedan (tri-state). Figura 4.19 prezint o configuraie 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 menine tensiunile de mod comun n limitele acceptate. RS-485 poate fi configurat i pe 4 fire (fig. 4.20). Dac n configuraia anterioar oricare din puncte putea fi Master i oricare Slave, n configuraia aceasta Masterul este cel al crui receptor este singurul de pe linie, restul fiind Slave. Aadar dou din fire sunt utilizate pentru transmiterea informaiei de la Master ctre receptoarele Slave, iar dou
Teletransmisii de date Cap. 4 Interfee seriale
65
pentru transmiterea informaiei de la emitoarele Slave ctre receptorul Master. n concluzie nodurile Slave pot comunica doar ctre 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 comunicaie duplex. Pe durata ct un nod nu emite, emitorul este deconectat de la linia de transmisie. Sunt numeroase cazurile cnd sistemele prezint interfee RS-232 iar pentru a le conecta n reele RS-485 se folosesc adaptoare RS-232 RS-485. Pentru a putea conecta sau deconecta emitorul de la linie se poate folosi semnalul RTS. Cnd acesta este n 1 logic, emitorul este activ i devine inactiv pentru 0 logic. Ct 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 rmn n aceast stare
B A
Rt
R
R E
E R
Rt
R E E E
T/R
T/R T/R
T/R
100
100 100 100
100
100
100
100
A
B
B
A
A B A B B A
A
A
B
B
Fig. 4.19. Aplicaie RS-485 multipunct-multipunct pe 2 fire
B A
Rt
R
R E
E R
Rt
E
T/E
T/E T/E
T/E
100
100 100 100
100
100
100
100
A
B
B
A
A B A B B A
A
A
B
B
E R
Rt Rt
MASTER
SLAVE SLAVE
SLAVE
Fig. 4.20. Aplicaie RS-485 multipunct-multipunct pe 4 fire
Teletransmisii de date Cap. 4 Interfee seriale
66
pn 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 emitorul poate fi comandat chiar de ctre linia de date. Pentru aceasta linia de date este triggerat pentru a obine semnalul de validare a emitorului. Figura 4.22. prezint schema electric i formele de und asociate pentru aceast aplicaie. Este important de tiut c emitorul 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 emitorul nainte ca receptorul s fie pregtit pentru a primi date. Comunicaia pe RS-485 necesit un nod Master care s gestioneze comunicaia 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 informaii de la mai multe noduri simultan pentru evitarea coliziunilor. Implementarea pe 2 fire implic o complexitate mai mare. ntrzierea dintre sfritul transmisiei i momentul de nalt impedan este un parametru important. Dac Slave-ul ncepe s rspund nainte ca emitorul s fie inactiv, atunci poate aprea o coliziune. Dac reeaua are mai multe noduri Master atunci oricare poate iniia o transmisie i pot aprea coliziuni. n aceste condiii proiectantul trebuie s utilizeze metode sofisticate pentru detecia erorilor pentru autorizarea i retransmisia datelor n caz de eroare. Pentru reelele n care convertoare ce necesit alimentare din port, sau dac ntregul nod necesit aceasta, se pot folosi, pentru alimentarea sa,
VSD
VRTS
VA
VB E
R
R
E
R
GRD
RTS
RxD
TxD TxDTTLA
B
A
B
GRD
Tx
Rx
VSD
VRTS
TxDTTL
VA
VB
+6
-6
+6
-6
+3
0
0
+3
0
+5
0
Convertor RS-232 TTL
integrat
Convertor TTL RS-485
integrat
emitorul RS-485
dezactivat Fig. 4.21. Schema electric i forme de und pentru convertorul RS-232 RS-485
Teletransmisii de date Cap. 4 Interfee seriale
67
linii neutilizate ale portului (RTS, CTS,...) care se programeaz n 1 logic. Pentru cureni mai mari se pot suma liniile prin rezistene de valoare mic. Tabelul urmtor sintetizeaz caracteristicile electrice ale RS-485. Tabelul 4.7. Specificaiile electrice ale RS-485
Parametrul Condiii Min Max UM Tensiunea de ieire a emitorului n gol
1.5 -1.5
6 -6
V V
Tensiunea de ieire a emitorului n sarcin
Rt=54 1.5 -1.5
5 -5
V V
Rezistena de ieire a emitorului A la B 100 Curentul de scurtcircuit al emitorului
ieirea la +12 sau -7
250 mA
Timpul de cretere al ieirii emitorului
Rt=54 Ct=50pF
30 % din durata de bit
Tensiunea de mod comun a emitorului
Rt=54 -1 +3 V
Sensibilitatea receptorului VCM7V 200 mV Tensiunea de mod comun a receptorului
-7 12 V
Rezistena de intrare a receptorului
12k
VSDVA
VB E
RE
R
GRD
RxD
TxD TxDTTLA
B
A
B
GRD
Tx
Rx
VSD
VSDTTL
ENABLE
VA
VB
+6
-6
+5
0
+3
0
0
+3
0
+5
0
Convertor RS-232 TTL
integrat
Convertor TTL RS-485
integrat
emitorul RS-485 dezactivat
R
C
Circuit retriggerabil
ENA
BLE
1
1 durata este stabilit de ctre componentele R i C, dar nceputul intervalului este determinat de frontul fiecrui bit
Fig. 4.22. Schema electric i forme de und pentru convertorul RS-232 RS-485 cu
triggerarea liniei de date
Teletransmisii de date Cap. 4 Interfee seriale
68
4.4. Interfaa USB
Interfaa USB (Universal Serial Bus) a fost dezvoltat n 1995 de cteva 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 tradiionale a unui calculator cu o singur interfa ct mai prietenoas. USB este o interfa serial ce folosete protocoale predefinite. A fost proiectat s nu necesite ntreruperi specifice sau DMA, dar s poat recunoate dispozitivele ce sunt conectate din mers. Pentru a instala un dispozitiv nou nu sunt necesare cunotine speciale, i orice dispozitiv s fie distict fa de altele, iar driver-ul corect va fi utilizat n mod automat. Interfaa 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 aplicaie. Aceast specificaie a fost introdus ca rspuns la viteza ridicat a interfeei Firewire.
Magistrala este implementat fizic prin 4 fire, dou pentru alimentare i dou pentru date, conectorul rezultnd astfel cu 4 pini (figura 4.23.a). Datele sunt vehiculate diferenial pe 2 fire torsadate, dar i unele
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 stng (conectorul B), iar cele de putere pe margine (conector A) i respectiv pe partea dreapt
+5V D+ D-
GND
+5V = 1 D+ = 3 D- = 2 GND = 4
... 1 2 3 4
4 3
2 1
a) b)
1 2 3 4 5
Conector A Conector B Conector mini USB
Fig. 4.23. Cablul i conectorul USB
Teletransmisii de date Cap. 4 Interfee seriale
69
(conector B). Conectorul mini USB (mini B) are 5 contacte din care contactul 4 se numete ID i nu este conectat. Primele 3 au aceeai 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 capt i conector B sau mini B la cellalt. - un cablu de captur de vitez mare, conectat direct la echipamentul periferic sau cu un conector specific, i la celalalt capt cu un conector de tip A. - un cablu similar cu cel de-al doilea, dar de vitez sczut. Lungimea maxim a cablului depinde de viteza cu care se face comunicaia, de atenuare i de ntrzierea de propagare. Pentru un cablu de vitez redus timpii de cretere i cei de cdere fixeaz lungimea maxim. De aceea cablul de vitez redus este mai scurt dect cel de vitez ridicat. Lungimea oricrui cablu este limitat la 5m. Astfel cel mai ndeprtat 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 ctre unitatea gazd. Cnd perifericul este suspendat consumul cade sub 0.5 mA. Tensinea poate scdea la periferic pn la 4.35V i n plus pe linie pot aprea parazii tranzitorii de pn 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 rezistenei de 1.5k spre alimentare care consuma 0.3 mA, dispozitivului i rmn doar 0.2 mA. Dac dispozitivul conine un microcontroller acesta trebuie s aib un curent care s ndeplineasc aceste cerine n modul sleep.
4.4.1. Arhitectura USB USB este o arhitectur de tip stea etajat cu un singur controller gazd (host) i pn la 127 de dispozitive sclav (slave). Controllerul este conectat ntr-un hub (de regul integrat n calculator), iar acesta permite ataarea unui numr de dispozitive. Fiecare conector poate fi continuat cu nc un hub, amd, dar cu anumite restricii. Numrul maxim de ramificaii este de 6.
Teletransmisii de date Cap. 4 Interfee seriale
70
Limitarea numrului de dispozitive provine din faptul c lungimea cmpului de adres este de 7 bii, iar valoarea 0 nu poate fi utilizat deoarece are o semnificaie 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 puin dou trebuie s aib alimentare proprie.
Toate comunicaiile pe magistral sunt iniiate de ctre controllerul gazd. Un periferic nu poate iniia comunicaia i trebuie s atepte s fie ntrebat pentru a tranfera datele ctre controller. Singura excepie este atunci cnd un dispozitiv este n modul suspend i poate semnala controllerul cu un semnal de trezire.
Controller
Hub rdcin
Hub
Hub
Hub Hub
Hub
Hub Hub
Periferic Periferic
PerifericPeriferic
Periferic Periferic
Periferic
Fig. 4.24. Arhitectura reelei USB