Sunteți pe pagina 1din 16

115

7. MAGISTRALA SERIAL UNIVERSAL - USB


(UNIVERSAL SERIAL BUS)


7.1. DESCRIERE GENERAL

Magistrala USB reprezint solu!ia oferit comunica!iilor seriale de noua genera!ie
de calculatoare PC. Este o interfa! serial rapid, bidirec!ional, ieftin "i u"or de folosit.
USB a fost creat ca un standard industrial, o extensie a arhitecturii PC orientat spre
armonizarea cu standardele de comunica!ie din telefonie, ceea ce este numit CTI
(Computer Telephony Integration). Acest aspect este considerat fundamental din punct de
vedere al aplica!iilor genera!iei urmtoare.

Avantajele acestei solu!ii fa! de btrna interfa! serial RS-232 transformat prin
mbunt!iri n EIA/TIA-232-E sunt:

rata de transfer - poate atinge 12 Mbps fa! de 115 000 bps;
conecteaz pna la 127 de dispozitive la PC, (ceea ce nseamn c
opereaz ca o magistral) fa! de numai 2 dispozitive;
u"or de utilizat de ctre utilizatorul final (end user) -
adugarea/eliminarea de dispozitive n/din sistem este foarte comod;
are un protocol flexibil;
este o solu!ie ieftin# de interconectare.

Specifica!iile acestei magistrale descriu atributele de magistral, definesc protocolul,
tipurile de tranzac!ii, administrarea magistralei (bus management) "i totodat furnizeaz
informa!ii necesare pentru construirea unui sistem n acest standard.

USB este o magistral pe cablu care permite schimb de date ntre un calculator
gazd "i o gam larg de periferice accesibile simultan. Magistrala permite ca perifericul s
fie ata"at, configurat, folosit "i deconectat n timp ce gazda "i celelalte periferice opereaz.

USB a fost proiectat n primul rnd pentru utilizatorii care nu doresc s intre n detalii de
instalare hardware, astfel sistemul complicat de cablare a fost nlocuit cu un control
software. Toate problemele presupuse de interconectarea mai multor dispozitive cu
performan!e "i rate de transfer diferite sunt tratate prin software.

Magistrala USB define"te trei categorii de dispozitive fizice:

gazda USB (USB Host)
func!ii USB (USB function)
distribuitoare USB (USB Hub)

Acestea sunt interconectate ntr-o topologie specific de tip stea multipl. Topologia USB
este reprezentat sugestiv n Fig. 7.1. Din figur se poate observa c USB face legtura
ntre dispozitivele USB "i gazd. n nodul fiecrei stele se gse"te un hub. ntre elemente
legtura este fcut cu segmente de cablu: fiecare segment de cablu face legtura punct la
116
punct (point-to-point) ntre gazd "i o func!ie sau un hub sau ntre hub "i o func!ie sau un
alt hub.































n sistem exist o singur gazd. Interfa!a dintre gazd "i sistemul USB se nume"te Host
Controller; poate fi o combina!ie hardware, software sau firmware. Gazda are implicit un
hub care se nume"te Root Hub "i pune la dispozi!ie unul sau mai multe pucte de legtur.
Punctele de legtur se numesc porturi.

Hub-urile "i func!iile USB sunt referite global ca dispozitive USB. Un hub furnizeaz
puncte de legtur suplimentare, iar o fuc!ie furnizez facilit!i suplimentare sistemului.

Dispozitivele USB recunosc protocolul USB, rspund la opera!ii standard "i recunosc
informa!ia desriptiv din informa!ia vehiculata n magistral. Dispozitivele "i gazda USB
vor fi descrise mai amnun!it n unul din subcapitolele urmtoare.

n ceea ce prive"te ini!iatorul transferurilor de date pe magistral, acestea este doar gazda.
Protocolul folosit este protocol prin interogare (de tip polled). Datele vehiculate pe
magistral sunt grupate n pachete; o tranzac!ie de magistral implic transmiterea a cel
mult trei pachete. Fiecare tranzac!ie ncepe prin trimiterea de ctre gazd a unui pachet de
semnalizare -tocken packet- care descrie tipul "i sensul tranzac!iei, adresa dispozitivului
USB "i numrul nodului destina!ie (endpoint). Dispozitivul adresat se autoselecteaz prin
Host
Root Hub
Hub 1
Nod
Hub 2
Hub 3
Hub 4
Nod
Nod
Nod
Nod
Nod Nod
Fig. 7.1. Topologia magistralei USB
117
decodificarea adresei ce-i corespunde. Urmeaz transferul de date de la gazd spre
dispozitivul adresat sau invers, dup cum este specificat n pachetul de semnalizare.

Receptorul rspunde n aceast tranzac!ie printr-un pachet de dialog -handshake packet-
prin care se confirm (sau nu) ncheierea cu succes a transferului de date. Descrierea n
amnunt a aspectelor concrete legate de protocol este reluat n unul din capitolele
urmtoare.

Aspectele electrice "i mecanice ale interfe!ei sunt reglementate foarte precis n
specifica!iile de magistral. Semnalele electrice sunt vehiculate sub form de semnal
diferen!ial (D+ "i D-) "i sunt posibile dou rate de transfer: 12 Mbps (full-speed) "i 1.5
Mbps (low-speed). Ambele rate de transfer sunt suportate n aceea"i magistral prin
comutare dinamic automat ntre moduri. Semnalul de ceas (clock) este transmis
codificat simultan cu datele diferen!iale. Codificarea utilizat este NRZI cu mpnare de
bi!i (bit-stuffing).

Transportarea semnalelor se face printr-un cablu cu patru fire conductoare. Semnalul util
este transportat pe dou conductoare torsadate. Pe celelalte dou conductoare cablul mai
transport tensiunea de alimentare nominal de +5V (V
BUS
) "i poten!ialul de referin!
(GND). n acest fel pot fi alimentate prin cablul de legtur dispozitive conectate la
magistral. n Fig. 7.2. este reprezentat un cablu USB.










Toate dispozitivele au o conexiune n sus, amonte (upstream) "i una sau mai multe
conexiuni n jos, aval (downstream). Conectorii pentru aceste legturi nu sunt
interschimbabili, eliminnd posibilitatea de buclare la hub.

Alimentarea dispozitivelor este o problem de magistral la USB. Gazda poate furniza
alimentare dispozitivelor USB conectate direct. Din punctul de vedere al alimentrii,
dispozitivele pot fi dispozitive care dispun de surs proprie de alimentare (self powered
device) sau dispozitive care se alimenteaz prin cablu (bus powered device). Un hub poate,
ca "i gazda, s furnizeze alimentare dispozitivelor ata"ate.

Un atu al USB este siguran!a crescut a transferurilor de date, se poate spune c este o
magistral robust. La asigurarea acestei calit!i "i dau concursul o serie de factori:
principii func!ionale, accesorii implementate n acest scop, restric!ii constructive bine
definite. Acesta este principalul motiv pentru care semnalele purttoare de informa!ie sunt
semnale electrice diferen!iale. Pentru a garanta securitatea datelor este implementat un
aparat CRC (soft, hard sau combinat). n caz de eroare sistemul hotr"te retransmiterea de
trei ori a pachetului alterat, dup care este informat utilizatorul care decide asupra modului
de ac!ionare.
V
BUS

V
BUS

D+

D-
D+

D-
GND
GND
Fig. 7.2. Cablu USB
118

U"urin!a cu care este utilizat USB rezult din atributul special de tip plug-and-play al
acestei magistrale. USB accept cuplarea "i decuplarea de dispozitive n orice moment;
sistemul software se adapteaz dinamic la modificrile fizice de topologie. Un dispozitiv
USB este plasat fizic n structur prin ata"area la portul unui hub. Hub-ul dispune de
indicatori de stare la fiecare port pentru a semnaliza cuplarea sau decuplarea unui
dispozitiv. Gazda sesizeaz semnalizarea de la hub "i atribuie o adres unic dispozitivului.
Dup aceea constat dac dispozitivul este o func!ie sau un hub. La decuplare hub-ul
dezactiveaz portul "i indic gazdei acest eveniment care este tratat n continuare de soft-ul
gazdei. Pentru a se adapta dinamic, sistemul software USB este permanent ntr-un proces
de inventariere a magistralei (bus counting).

7.2. ELEMENTE ARHITECTURALE

7.2.1. Tipuri de transferuri USB

Arhitectura USB distinge patru tipuri de baz de transferuri de date:

transferuri de control (Control Transfers) - sunt folosite pentru configurare "i
comand "i obligatoriu trebuie s fie suportate de toate perifericele;
transferuri cu volum mare de date (Bulk Data Transfers) - permit dispozitivelor
s schimbe cantit!i mari de informa!ie cu gazda pe msur ce magistrala devine
disponibil, (ex.:camere digitale, scannere sau imprimante);
transferuri prin ntreruperi (Interrupt Data Transfers) - a fost proiectat ca suport
pentru periferice de intrare controlate de om, (tastatur, mouse, joystick), care au
nevoie s comunice rar, cantit!i mici de date; datele transferate n acest mod
sunt caractere, coordonate sau semnalizri de evenimente organizate n unul sau
mai mul!i octe!i;
transferuri izocrone (Isochronous Transfers) - asigur un acces garantat la
magistral, flux de date constant "i tolereaz erorile de transmisie; datele
izocrone sunt continue "i n timp real la toate nivelele: generare, emisie, recep!ie
"i utilizare la receptor; acest tip de transfer este folosit pentru fluxuri de transfer
n timp real cum ar fi sistemele audio.

7.2.2. Dispozitive USB

Dispozitivul USB este numit n specifica!ii device. Toate dispozitivele sunt
accesate printr-o adres USB care se atribuie la ata"area acestuia n sistem. Fiecare
dispozitiv USB poate dispune de una sau mai multe pipe-uri prin care gazda comunic cu
dispozitivul. Toate dispozitivele posed un pipe special, endpoint zero, care este privit ca
pipe de control. Mecanismul de accesare a informa!iei prin acest port este comun tuturor
dispozitivelor. Pipe-ului endpoint zero i este asociat informa!ia ce descrie complet
dispozitivul USB:
informa!ie standard - clasa de dispozitiv, informa!ii de power management,
productor;
informa!ie de clas - semnifica!ia depinde de clasa de dispozitive;
informa!ii de productor - la alegerea productorului.

119
Exist dou clase de dispozitive: hub (distribuitor) "i func!ie.

7.2.2.1. Dispozitive HUB

Dispozitivele hub sunt elemente cheie n arhitectura plug-and-play a USB. Fig. 7.3.
arat un hub tipic .










Hub-urile sunt folosite pentru a simplifica conectica din punctul de vedere al utilizatorului
"i totodat determin un sistem robust "i ieftin.

Punctele de ata"are se numesc porturi. Exist un port spre gazd (amonte - upstream port)
"i mai multe porturi spre alte dispozitive (aval - downstream port).

Un hub are dou componente: un repetor (Hub Repeator) "i un controler (Hub Controller).
Repetorul este un comutator comandat prin protocol, care face legtura ntre portul amonte
cu unul din porturile aval. Controlerul con!ine registre de interfa! care fac posibil
comunicarea cu gazda, pentru configurare "i comand.

7.2.2.2. Dispozitive func!ii

Func!ia este un dispozitiv USB capabil s transmit informa!ii de date sau control
prin magistral. n mod obi"nuit, o func!ie este un periferic independent cu un cablu care se
ata"eaz la un port al unui hub. Este posibil ca o unitate fizic s includ mai multe func!ii
"i un hub, dispunnd de un singur cablu de conexiune. Acesta se nume"te dispozitiv
compus "i este vzut de gazd ca un hub cu mai multe dispozitive nedeta"abile. Fiecare
func!ie posed informa!ie de configurare prin care sunt descrise pentru gazd facilit!ile "i
resursele necesare.

Exemple de func!ii de dispozitiv:
dispozitiv de localizare - mouse, tablet digitizoare, light pen;
dispozitiv de intrare - tastatura;
dispozitiv de ie"ire - imprimanta;
adaptor de telefonie - ISDN.


Fig. 7.4. prezint un sistem USB la un calculator PC model desktop.



Port 1 Port 2 Port 3
Port 7 Port 6 Port 5
Port 4
HUB
Port
amonte
Fig 7.3 Hub tipic
120


















7.2.3. Gazda USB

Gazda ocup o pozi!ie special n coordonarea sistemului USB. Pe lng pozi!ia
fizic special, gazda are responsabilit!i speciale n ceea ce prive"te magistrala "i
dispozitivele ata"ate. Controleaz accesul la magistral; un dispozitiv are acces la
magistral doar dac i este acordat de gazd. Gazda este responsabil pentru urmtoarele
ac!iuni:
detectarea conectrii/deconectrii de dispozitive USB;
administreaz trasferurile de control ntre gazd "i dispozitive USB;
administreaz transferurile de date ntre gazd "i dispozitive USB;
culege informa!ii de stare "i statistici de activitate;
furnizeaz alimentare dispozitivelor USB ata"ate.

Gazda interac!ioneaz cu dispozitivele USB prin controlerul gazdei. Exist de asemenea o
interac!iune ntre software-ul de sistem "i software-ul de dispozitiv pe urmtoarele cinci
domenii:
numrare "i configurare de dispozitive;
transferuri izocrone;
transferuri asincrone de date;
administrarea alimentrii (power management);
informa!ii de administrare de magistral "i de dispozitiv.

7.2.4. Extensii arhitecturale

Arhitectura USB este extensibil la nivelul interfe!ei dintre driver-ul Host
Controller-ului "i driver-ul USB. n viitor este posibil s se dezvolte arhitecturi cu mai
multe Host Controller-e "i cu drivere asociate.



Gazd/Hub
PC
Hub/Func!ie
Monitor
Hub/Func!ie
Tastatur
Light
pen
Func!ie
Mouse
Func!ie
Difuzor
Func!ie
Microfon
Func!ie
Telefon
Func!ie
Hub
Hub
Fig. 7.4. Sistem USB la un calculator PC model desktop
121
7.3. FLUXUL DE DATE N MAGISTRALA USB

7.3.1. Reprezentarea elementelor func!ionale

Un mod simplu de a vedea legtura ntre gazd "i dispozitive este reprezentat n
Fig. 7.5. O abordare mai profund este reprezentat n figura urmtoare, Fig. 7.6.



































Dispozitivul fizic USB este o component hardware aflat la captul unui cablu, capabil
s execute func!ii utile.

Componenta client-software este reprezentat de software-ul care ruleaz pe gazd;
fiecrui dispozitiv i corespunde o component client-software care se regse"te la gazd.
Aceasta se livreaz fie cu sistemul de operare, fie odat cu dispozitivul USB.
GAZD
USB
DISPOZITIV
USB
Fig. 7.5. Reprezentare simpl a legturii gazd-dispozitiv
Nivelul dispozitiv USB
Nivelul interfe!ei
spre magistrala USB
GAZD
DISPOZITIV
FIZIC
conexiune
CLIENT-
SOFTWARE
FUNC$IE Nivelul func!ie USB
SISTEMUL
SOFTWARE
USB
DISPOZITV
LOGIC USB
CONTROLER
GAZD USB
INTERFA$
MAGISTR.
USB
Flux efectiv de comunica!ie
Flux logic de comunica!ie
Fig. 7.6. Legtur gazd-dispozitiv
122
Componenta sistem-software-USB este software-ul care suport magistrala USB ntr-un
sistem de operare particular. Aceast component se livreaz cu sistemul de operare "i este
independent de dispozitivul USB particular sau de componenta client-software.

Componenta controler-gazd-USB (USB-Host Controller) reprezint interfa!a spre
magistral a controlerului "i este constituit din hardware+software care permit
dispozitivelor s se ata"eze la gazd.

Responsabilit!ile "i drepturile sunt mpr!ite ntre cele patru componente descrise. O
simpl conexiune gazd-dispozitiv presupune o interac!iune pe mai multe nivele ntre mai
multe entit!i.

Nivelul interfe!ei spre magistrala USB furnizeaz conectarea fizic a semnalelor
ntre gazd "i dispozitiv;
Nivelul dispozitiv USB reprezint modelul care execut opera!ii generice ntre
software-sistem "i dispozitiv;
Nivelul func!ie USB reprezint modelul care confer facilit!i suplimentare
gazdei prin entitatea client-software adecvat dispozitivului;
Nivelele dispozitiv USB "i func!ie USB modeleaz o comunica!ie logic,
comunica!ie ce se realizeaz efectiv fizic prin nivelul interfe!ei spre magistrala
USB.

7.3.2. Topologia fizic a magistralei

Dispozitivele sunt conectate la gazd printr-o re!ea de tip stea (multipl) ca n
Fig. 7.7.
















Punctele de ata"are sunt puse la dispozi!ie prin clasa de dispozitive numite hub
(distribuitor). Punctele de ata"are sunt porturile. Gazda are un hub inclus, numit root-hub
(RH n figur) prin care furnizeaz unul sau mai multe puncte de legtur. Dispozitivele
care confer gazdei facilit!i suplimentare se numesc func!ii. ntr-un dispozitiv fizic pot fi
nglobate mai multe func!ii. Unitatea fizic con!ine n acest caz un hub la care sunt ata"ate
permanent n configura!ie fix func!iile individuale; acesta este un dispozitiv compus.
GAZD
RH
DISP.
H
DISP.
DISP.
H
DISP.
DISP.
DISP.
DISP.
Dispozitiv compus
Fig. 7.7. Topologia magistralei USB
123
7.3.3. Topologia logic a magistralei

n timp ce conexiunea fizic este o stea multipl, gazda comunic cu fiecare
dispozitiv logic ca "i cum ar fi direct conectat la hub-ul rdcin (root hub). Modelul logic
este ilustrat n Fig. 7.8.













7.3.4. Rela!ia nre client-software "i func!ie

De"i att topologia fizic ct "i topologia logic reflect caracterul partajat al
magistralei USB, la activarea unei func!ii, imaginea interac!iunii dintre componenta client-
software "i func!ie este ca "i cum nu ar exista alte elemente n sistem. Client-software
interac!ioneaz doar cu interfa!a de interes. Modelul de interac!iune este redat in Fig. 7.9.












7.4. INTERFA#A ELECTRIC

7.4.1. Caracteristicile circuitelor emi!toare

USB folose"te circuite diferen!iale pentru elaborarea semnalului electric emis pe
cablul USB. Nivele de tensiune garantate de aceste circuite sunt cele din Tabelul 7.1.

Tabel 7.1. Nivele de tensiune garantate de circuitele emi!toare pe cablu USB
Parametru minim maxim unitate de msur
V
OL
0.0 0.3 V
V
OH
2.8 3.6 V
C-Sw
C-Sw
C-Sw
C-Sw
C-Sw
C-Sw
Func
Func
Func
Func
Func
Func
Fig. 7.9. Rela!ia ntre client-software "i func!ie
GAZD
DISP.
LOG.
DISP.
LOG.
DISP.
LOG.
DISP.
LOG.
DISP.
LOG.
DISP.
LOG.
DISP.
LOG.
Fig. 7.8. Topologia logic a magistralei USB
124
Ie"irile circuitelor emi!toare de magistral trebuie s fie de tip three-state pentru a permite
opera!ii bidirec!ionale half-duplex.

Structura unui circuit emi!tor de magistral este reprezentat n Fig. 710











Rezisten!a R
S
este inclus n structura emi!torului. Rezisten!a echivalent de ie"ire a
emi!torului trebuie s fie ntre 28 "i 44.

Specifica!iile de magistral prevd restric!ii "i pentru timpii de cre"tere "i descre"tere ai
semnalului de date. Acesta se msoar ntre 10% "i 90% din excursia semnalului care poate
s ia valori ntre -1.0V "i +4.6V. Figura 7.11. define"te timpii de cre"tere (rise time) "i
descre"tere (fall time).












V
CRS
, poten!ialul de intersec!ie al semanlului diferen!ial (Crossover voltage), poate lua
valori ntre 1.3V "i 2.0V.

7.4.2. Caracteristicile circuitelor receptoare

Receptorul de linie este un circuit cu intrare diferen!ial. Nivelele de tensiune
acceptate la intrare sunt cele din Tabelul 7.2.

Tabel 7.2. Nivele de tensiune acceptate de circuitele receptoare USB
Parametru minim maxim unitate de msur
V
IH
2.0 - V
V
IL
- 0.8 V
V
DI
0.2 - V
V
CM
0.8 2.5 V

10% 10%
90% 90%
t
R
t
F

Date diferen!iale
V
CRS

timp de cre"tere
timp de descre"tere
Fig. 7.11. Timpii de cre"tere "i descre"tere ai semnalului de date
R
S
R
S
TxD+
TxD-
OE
D+
D-
Fig. 7.10. Circuit emi!tor de magistral
125
V
DI
este sensibilitatea difeten!ial la intrare, iar V
CM
este tensiunea de mod comun a
intrrilor diferen!iale. Att intrarea D+ ct "i intrarea D- pot fi temporar mai mici dect V
IH

minim n timpul tranzi!iilor semnalelor diferen!iale; intervalul nu are voie s dep"easc
14ns la transferul de mare vitez (12 Mbps) "i 210 ns la transferul de mic vitez (1.5
Mbps).

7.5. INTERFA#A MECANIC

Topologia USB se realizeaz conectnd aval de hub-ul gazdei un port amonte al
unui hub sau o func!ie, folosind o conectic definit "i cabluri de asemenea cu caracteristici
stabilite prin specifica!iile mecanice ale USB. Deoarece USB poate opera la dou viteze
diferite, pentru fiecare din ele se fac precizri pentru caracteristicile cablului.

Cablul con!ine patru fire conductoare, dou purttoare ale semnalului diferen!ial, unul
transport tensiunea de alimentare "i un conductor pentru poten!ialul de mas. Aceast
structur este valabil pentru ambele viteze posibile prin USB.

Pentru viteze mari, 12 Mbps, conductoarele care transport semnalul diferen!ial sunt
torsadate "i toate patru conductoarele sunt ecranate.

O sec!iune printr-un astfel de cablu este redat n Fig. 7.12.



















La viteze sczute, 1.5 Mbps, cerin!ele pentru cablu nu sunt att de dure; nu este necesar
ecranul "i nici torsadarea conductoarelor.

Cablul USB trebuie marcat de ctre productor. Pentru cablul de mic vitez nu este
obligatorie folosirea unui cablu marcat. Cablurile de mare vitez pot fi folosite "i la
conexiunile cu transferuri de de mic vitez.

R B
W
G
Cma" PVC
Ecrane metalice

Cabluri
netorsadate

R-red- V
BUS
B-black- GND
W-white- D-
Cabluri torsadate G-green- D+
Fig. 7.12.Structura constructiv a cablului USB
126
De"i restric!iile sunt dure pentru cabluri, lungimea acestora nu poate dep"i 5m. Datorit
topologiei sistemului USB, dispozitivele se pot afla practic la distan!e mai mari de 5m de
gazd sau ntre ele.

n ceea ce prive"te conectorii, ace"tia sunt concepu!i n dou serii, A "i B. Seria A pentru
conexiuni amonte "i seria B pentru conexiuni aval. Specifica!iile USB dau o ntreag list a
standardelor prin care se reglementeaz caracteristicile materialelor folosite. Dintre aceste
documente amintim:

American National Standard/Electronic Industries Association
ANSI/EIA-364-C (12/94)
American Standard Test Materials ASTM-D-4565 "i ASTM-D-4566
Underwriters Laboratory, Inc UL STD-94 "i UL Subject-444

7.6. PROTOCOLUL USB

7.6.1. Descriere general

USB folose"te un protocol bazat pe pachete de date (Data Packet). Un pachet de
date este o colec!ie de cadre de date (Data Frame). Numrul de bi!i dint-un cadru nu are
o valoare fix. Majoritatea sistemelor folosesc cadre de 4 pn la 8 bi!i de date.

La transmisii seriale bi!ii sunt trimi"i spre magistral astfel: primul bit este cel mai pu!in
semnificativ bit (LSB) din cadru, urmat de bitul mai semnificativ pn la trimiterea celui
mai semnificativ (MSB) bit din cadrul respectiv. n diagramele ce urmeaz, bi!ii sunt
reprezenta!i de la stnga la dreapta n ordinea n care sunt trimi"i pe magistrala serial.
Protocolul USB define"te patru tipuri de pachete de date:

pachet de semnalizare (Token Packet)
pachet de date (Data Packet)
pachet de dialog (Handshake Packet)
pachet special (Special Packet)

Toate pachetele con!in la nceputul lor un cmp de sincronizare, la care se va face
referire n continuare cu numele SYNC, "i un cmp identificator de pachet, la care se va
face referire n continuare cu PID (Packet Identifier).

7.6.1.1. Cmpul SYNC

SYNC este primul cmp din orice pachet USB. Cmpul de sincronizare este
constituit dintr-o serie de bi!i care produc un "ir dens de tranzi!ii utiliznd schema de
codificare NRZI cerut de standardul USB. Aceste tranzi!ii permit tuturor dispozitivelor
conectate la USB s-"i reseteze ceasul "i s se sincronizeze cu gazda. Cmpul apare ca o
serie de trei tranzi!ii 1/0 urmat de o marc cu l!imea a dou impulsuri. Datele din
cmp au succesiunea de valori 0000 0001. Succesiunea datelor "i forma semnalului din
cmpul SYNC sunt reprezentate n Fig. 7. 13.


127









Ultimii doi bi!i din cmpul SYNC sunt folosi!i pentru a indica sfr"itul cmpului "i
totodat nceputul urmtorului cmp, PID.

7.6.1.2. Cmpul PID

Cmpul PID urmeaz cmpului SYNC ntr-un pachet USB "i are lungimea de 8
bi!i. Primii patru bi!i indic tipul pachetului, iar urmtorii patru sunt n ordine primii
patru complementa!i (complement fa! de 1) "i sunt folosi!i ca bi!i de verificare pentru a
confirma acurate!ea primilor patru. Structura cmpului PID este reprezentat n Fig.
7.14.






Primii patru bi!i responsabili cu definirea tipului pachetului sunt folosi!i n dou etape.
Cei mai semnificativi doi bi!i specific tipul pachetului, iar ceilal!i doi bi!i mpart
pachetele n categorii. Tabelul7.3. red regula de interpretare a informa!iei din PID.

Tabel 7.3. Semnific!ia bi!ilor din cmpul PID pentru stabilirea tipului de pachet
Cod Tip pachet
xx00xx11 Pachet special
xx01xx10 Pachet de semnalizare
xx10xx01 Pachet de dialog
xx11xx00 Pachet de date

7.6.2. Pachetul de semnalizare (Token Packet)

Orice transfer ncepe prin trimiterea de ctre gazd a unui pachet de semnalizare.
Un pachet are 32 de bi!i mpr!i!i n cinci cmpuri. Structura pachetului este
reprezentat n Fig. 7.15.








Fig. 7.14. Cmpul PID
PID
0
PID
1
PID
2
PID
3
PID
0
PID
1
PID
2
PID
3

Fig. 7.15. Structura pachetului de semnalizare
SYNC
PID
Cmp
adres
Nod
(Endpoint)
CRC
8b 8b 7b
4b 5b
0 0 0 0 0 0 0 1
S
0
S
1
S
2
S
3
S
4
S
5
S
6
S
7

SYNC
Date
Semnal corespunztor datelor
codate NRZI
Fig. 7.13. Cmpul SYNC
128
Primele dou cmpuri, fiecare cu lungimea de un octet, iau forma standard a tuturor
pachetelor USB.

n cadrul cmpului PID se definesc pentru acest tip de pachet patru categorii de pachete
de semanlizare conform Tabelului 7.4.

Tabel 7.4. Semnifica!ia PID pentru stabilirea categoriei pachetului de semnalizare
PID Categorie pachet semnalizare
00011110 Pachet de ie"ire (OUT)
01011010 Pachet de nceput cadru (SOF)
10010110 Pachet de intrare (IN)
11010010 Pachet de comand (SETUP)

Pachetul de ie"ire (OUT) poart datele de la gazd la dispozitiv.
Pachetul de intrare (IN) poart datele de la dispozitiv la gazd.
Pachetul de comand (SETUP) vizeaz un anume nod (Endpoint).
Pachetul de nceput de cadru (SOF-Start Of Frame) este difuzat tuturor dispozitivelor;
structura acestui pachet difer de a celorlalte trei pachete de semnalizare.

Pentru pachetele IN, OUT "i SETUP, urmtorii 7 bi!i dup PID sunt interpreta!i ca "i
cmp de adres pentru a identifica dispozitivul pe care gazda vrea s-l apeleze pentru
comand sau transfer de date. Urmtorii 4 bi!i furnizeaz un numr de nod (Endpoint).

Un nod reprezint o sec!iune a unei func!ii USB adresabil individual. Conceptul de nod
d proiectan!ilor de hardware posibilitatea divizrii unui dispozitiv fizic n unit!i logice
separate.

Ultimul cmp, de 5 bi!i, este folosit pentru verificri CRC, asigurnd astfel integritatea
transferului pachetului de date. n suma de control sunt incluse toate cmpurile n afar
de PID, care este protejat prin structura sa.

7.6.2.1. Pachetul de nceput de cadru

Gazda emite un pachet de nceput de cadru la 1.00 ms n cadrul unei tranzac!ii de
semnalizare. Toate dispozitivele reac!ioneaz "i decodific acest pachet, dar nu trimit
napoi semnal de recep!ie a pachetului. Structura pachetului de nceput de cadru este cea
din Fig. 7.16.









Cmpul de 11 bi!i con!ine numrul cadrului care este atribuit de gazd n mod cresctor
de la 0 la 7FFH (2047), dup care ncepe din nou de la 0. Cmpul este folosit ca
informa!ie de sincronizare pe magistrala USB.
Fig. 7.16. Structura pachetului de nceput de cadru
SYNC
PID CRC
8b 8b
11b 5b
Numr cadru
129
7.6.3. Pachetul de date

Informa!ia propriu-zis este transferat n sistemele USB sub forma unor pachete
de date. Structura acestui pachet este redat n Fig. 7.17.








Dup cmpurile SYNC "i PID urmeaz cmpul de date care este compus dintr-un numr
ntreg de octe!i, de la 0B la 1023B. Corectitudinea cmpului de date este asigurat prin
cmpul de verificare ciclic de 16b aflat la sfr"itul pachetului.
n cmpul PID se definesc dou categorii de cmpuri de date; DATA0 "i DATA1
conform Tabelului 7.5.

Tabel 7.5. Semnifica!ia PID pentru stabilirea categoriei pachetului de date
PID Categoria pachet date
00111100 DATA0
10110100 DATA1

Din punct de vedere func!ional, cele dou categorii de pachete de date formeaz ntre
emi!tor "i receptor un sistem adi!ional de verificare a erorilor. Emi!torul oscileaz
ntre DATA0 "i DATA1 pentru a indica faptul c a recep!ionat o confirmare valid a
recep!iei pachetului precedent.
Exemplu:
Emi!torul trimite un pachet DATA0; dac receptorul a preluat cu succes
datele, emite un pachet handshake (de dialog) prin care confirm emi!torului
c a preluat corect datele. n urma interpretrii pachetului handshake,
emi!torul trimite urmtorul pachet de tip DATA1, ceea ce indic receptorului
c mesajul su de confirmare (ACK) a fost interpretat corect de emi!tor.

7.6.4. Pachetul handshake

Pachetele handshake, sau de dialog, sunt folosite pentru a raporta starea unui
transfer de date, pentru a indica recep!ia cu succes a datelor sau pentru a ntoarce valori
care indic acceptarea/respingerea unei comenzi sau o stare de HALT la dispozitiv.

Acest tip de pachet este compus doar din dou cmpuri; SYNC "i PID. Structura este
reprezentat n Fig. 7.18.







Fig. 7.18. Structura pachetului handshake
SYNC
PID
8b 8b
Fig. 7.17. Structura pachetului de DATE
SYNC
PID CRC
8b 8b
0 -1023B 16b
DATA
130

Cmpul PID define"te trei categorii de pachete handshake conform Tabelului 7.6.

Tabel 7.6 Semnifica!ia PID pentru stabilirea categoriei pachetului handshake
PID Categoria pachet handshake
00101101 ACK
10100101 NAK
11100001 STALL

Pachetul handshake ACK indic emi!torului c pachetul de date a fost recep!ionat fr
erori.

Pachetul handshake NAK indic faptul c o func!ie nu a fost capabil s recep!ioneze
date de la gazd (ntr-o tranzac!ie OUT) sau c o func!ie nu are date de transmis gazdei
(ntr-o tranzac!ie IN). O gazd nu poate trimite niciodat NAK.

Pachetul STALL este emis de o func!ie ca rspuns la un pachet de semnalizare IN sau
dup o tranzac!ie de date OUT, indicnd c func!ia nu este capabil s emit sau s
recep!ioneze date. Gazda nu poate rspunde cu pachet STALL.

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