Sunteți pe pagina 1din 19

1

1. MAGISTRALA SERIAL UNIVERSAL - USB


(UNIVERSAL SERIAL BUS)

obligatoriu
1.1. DESCRIERE GENERAL

Magistrala USB reprezint soluia oferit comunicaiilor seriale de noua generaie
de calculatoare PC. Este o interfa serial rapid, bidirecional, ieftin i uor de folosit.
USB a fost creat ca un standard industrial, o extensie a arhitecturii PC orientat spre
armonizarea cu standardele de comunicaie din telefonie, ceea ce este numit CTI
(Computer Telephony Integration). Acest aspect este considerat fundamental din punct de
vedere al aplicaiilor generaiei urmtoare.

Avantajele acestei soluii fa de btrna interfa serial RS-232 transformat prin
mbuntiri 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;
uor de utilizat de ctre utilizatorul final (end user) -
adugarea/eliminarea de dispozitive n/din sistem este foarte comod;
are un protocol flexibil;
este o soluie ieftin de interconectare.

Specificaiile acestei magistrale descriu atributele de magistral, definesc protocolul,
tipurile de tranzacii, administrarea magistralei (bus management) i totodat furnizeaz
informaii 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 ataat, 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
performane i rate de transfer diferite sunt tratate prin software.

Magistrala USB definete trei categorii de dispozitive fizice:

gazda USB (USB Host)
funcii 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. 1.1. Din figur se poate observa c USB face legtura
ntre dispozitivele USB i gazd. n nodul fiecrei stele se gsete un hub. ntre elemente
legtura este fcut cu segmente de cablu: fiecare segment de cablu face legtura punct la
2
punct (point-to-point) ntre gazd i o funcie sau un hub sau ntre hub i o funcie sau un
alt hub.































n sistem exist o singur gazd. Interfaa dintre gazd i sistemul USB se numete Host
Controller; poate fi o combinaie hardware, software sau firmware. Gazda are implicit un
hub care se numete Root Hub i pune la dispoziie unul sau mai multe pucte de legtur.
Punctele de legtur se numesc porturi.

Hub-urile i funciile USB sunt referite global ca dispozitive USB. Un hub furnizeaz
puncte de legtur suplimentare, iar o fucie furnizez faciliti suplimentare sistemului.

Dispozitivele USB recunosc protocolul USB, rspund la operaii standard i recunosc
informaia desriptiv din informaia vehiculata n magistral. Dispozitivele i gazda USB
vor fi descrise mai amnunit n unul din subcapitolele urmtoare.

n ceea ce privete iniiatorul 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 tranzacie de magistral implic transmiterea a cel
mult trei pachete. Fiecare tranzacie ncepe prin trimiterea de ctre gazd a unui pachet de
semnalizare -token packet- care descrie tipul i sensul tranzaciei, adresa dispozitivului
USB i numrul nodului destinaie (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. 1.1. Topologia magistralei USB
3
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 tranzacie 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 interfeei sunt reglementate foarte precis n
specificaiile de magistral. Semnalele electrice sunt vehiculate sub form de semnal
diferenial (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 aceeai magistral prin
comutare dinamic automat ntre moduri. Semnalul de ceas (clock) este transmis
codificat simultan cu datele difereniale. Codificarea utilizat este NRZI cu mpnare de
bii (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 potenialul de referin
(GND). n acest fel pot fi alimentate prin cablul de legtur dispozitive conectate la
magistral. n Fig. 1.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 ataate.

Un atu al USB este sigurana crescut a transferurilor de date, se poate spune c este o
magistral robust. La asigurarea acestei caliti i dau concursul o serie de factori:
principii funcionale, accesorii implementate n acest scop, restricii constructive bine
definite. Acesta este principalul motiv pentru care semnalele purttoare de informaie sunt
semnale electrice difereniale. Pentru a garanta securitatea datelor este implementat un
aparat CRC (soft, hard sau combinat). n caz de eroare sistemul hotrte retransmiterea de
trei ori a pachetului alterat, dup care este informat utilizatorul care decide asupra modului
de acionare.
V
BUS

V
BUS

D+

D-
D+

D-
GND
GND
Fig. 1.2. Cablu USB
4

Uurina 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 ataarea 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 funcie 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).

obligatoriu
1.2. ELEMENTE ARHITECTURALE

1.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 cantiti mari de informaie 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, cantiti mici de date; datele transferate n acest mod
sunt caractere, coordonate sau semnalizri de evenimente organizate n unul sau
mai muli octei;
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, recepie
i utilizare la receptor; acest tip de transfer este folosit pentru fluxuri de transfer
n timp real cum ar fi sistemele audio.

1.2.2. Dispozitive USB

Dispozitivul USB este numit n specificaii device. Toate dispozitivele sunt
accesate printr-o adres USB care se atribuie la ataarea 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 informaiei prin acest port este comun tuturor
dispozitivelor. Pipe-ului endpoint zero i este asociat informaia ce descrie complet
dispozitivul USB:
informaie standard - clasa de dispozitiv, informaii de power management,
productor;
informaie de clas - semnificaia depinde de clasa de dispozitive;
informaii de productor - la alegerea productorului.
5

Exist dou clase de dispozitive: hub (distribuitor) i funcie.

1.2.2.1. Dispozitive HUB

Dispozitivele hub sunt elemente cheie n arhitectura plug-and-play a USB. Fig. 1.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 ataare 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 conine registre de interfa care fac posibil
comunicarea cu gazda, pentru configurare i comand.

1.2.2.2. Dispozitive funcii

Funcia este un dispozitiv USB capabil s transmit informaii de date sau control
prin magistral. n mod obinuit, o funcie este un periferic independent cu un cablu care se
ataeaz la un port al unui hub. Este posibil ca o unitate fizic s includ mai multe funcii
i un hub, dispunnd de un singur cablu de conexiune. Acesta se numete dispozitiv
compus i este vzut de gazd ca un hub cu mai multe dispozitive nedetaabile. Fiecare
funcie posed informaie de configurare prin care sunt descrise pentru gazd facilitile i
resursele necesare.

Exemple de funcii de dispozitiv:

dispozitiv de localizare - mouse, tablet digitizoare, light pen;
dispozitiv de intrare - tastatura;
dispozitiv de ieire - imprimanta;
adaptor de telefonie - ISDN.


Fig. 1.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 1.3 Hub tipic
6



















1.2.3. Gazda USB

Gazda ocup o poziie special n coordonarea sistemului USB. Pe lng poziia
fizic special, gazda are responsabiliti speciale n ceea ce privete magistrala i
dispozitivele ataate. Controleaz accesul la magistral; un dispozitiv are acces la
magistral doar dac i este acordat de gazd. Gazda este responsabil pentru urmtoarele
aciuni:

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 informaii de stare i statistici de activitate;
furnizeaz alimentare dispozitivelor USB ataate.

Gazda interacioneaz cu dispozitivele USB prin controlerul gazdei. Exist de asemenea o
interaciune 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);
informaii de administrare de magistral i de dispozitiv.

1.2.4. Extensii arhitecturale

Arhitectura USB este extensibil la nivelul interfeei 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/Funcie
Monitor
Hub/Funcie
Tastatur
Light
pen
Funcie
Mouse
Funcie
Difuzor
Funcie
Microfon
Funcie
Telefon
Funcie
Hub
Hub
Fig. 1.4. Sistem USB la un calculator PC model desktop
7
optional
1.3. FLUXUL DE DATE N MAGISTRALA USB

1.3.1. Reprezentarea elementelor funcionale

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



































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

Componenta client-software este reprezentat de software-ul care ruleaz pe gazd;
fiecrui dispozitiv i corespunde o component client-software care se regsete la gazd.
Aceasta se livreaz fie cu sistemul de operare, fie odat cu dispozitivul USB.
GAZD
USB
DISPOZITIV
USB
Fig. 1.5. Reprezentare simpl a legturii gazd-dispozitiv
Nivelul dispozitiv USB
Nivelul interfeei
spre magistrala USB
GAZD
DISPOZITIV
FIZIC
conexiune
CLIENT-
SOFTWARE
FUNCIE Nivelul funcie USB
SISTEMUL
SOFTWARE
USB
DISPOZITV
LOGIC USB
CONTROLER
GAZD USB
INTERFA
MAGISTR.
USB
Flux efectiv de comunicaie
Flux logic de comunicaie
Fig.1.6. Legtur gazd-dispozitiv
8
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 interfaa spre
magistral a controlerului i este constituit din hardware+software care permit
dispozitivelor s se ataeze la gazd.

Responsabilitile i drepturile sunt mprite ntre cele patru componente descrise. O
simpl conexiune gazd-dispozitiv presupune o interaciune pe mai multe nivele ntre mai
multe entiti.

Nivelul interfeei spre magistrala USB furnizeaz conectarea fizic a semnalelor
ntre gazd i dispozitiv;
Nivelul dispozitiv USB reprezint modelul care execut operaii generice ntre
software-sistem i dispozitiv;
Nivelul funcie USB reprezint modelul care confer faciliti suplimentare
gazdei prin entitatea client-software adecvat dispozitivului;
Nivelele dispozitiv USB i funcie USB modeleaz o comunicaie logic,
comunicaie ce se realizeaz efectiv fizic prin nivelul interfeei spre magistrala
USB.

1.3.2. Topologia fizic a magistralei

Dispozitivele sunt conectate la gazd printr-o reea de tip stea (multipl) ca n
Fig. 1.1.
















Punctele de ataare sunt puse la dispoziie prin clasa de dispozitive numite hub
(distribuitor). Punctele de ataare 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 faciliti suplimentare se numesc funcii. ntr-un dispozitiv fizic pot fi
nglobate mai multe funcii. Unitatea fizic conine n acest caz un hub la care sunt ataate
permanent n configuraie fix funciile individuale; acesta este un dispozitiv compus.
GAZD
RH
DISP.
H
DISP.
DISP.
H
DISP.
DISP.
DISP.
DISP.
Dispozitiv compus
Fig. 1.7. Topologia magistralei USB
9
1.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. 1.8.













1.3.4. Relaia nre client-software i funcie

Dei att topologia fizic ct i topologia logic reflect caracterul partajat al
magistralei USB, la activarea unei funcii, imaginea interaciunii dintre componenta client-
software i funcie este ca i cum nu ar exista alte elemente n sistem. Client-software
interacioneaz doar cu interfaa de interes. Modelul de interaciune este redat in Fig. 1.9.











obligatoriu
1.4. INTERFAA ELECTRIC

1.4.1. Caracteristicile circuitelor emitoare

USB folosete circuite difereniale pentru elaborarea semnalului electric emis pe
cablul USB. Nivele de tensiune garantate de aceste circuite sunt cele din Tabelul 1.1.

Tabel 1.1. Nivele de tensiune garantate de circuitele emitoare 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. 1.9. Relaia ntre client-software i funcie
GAZD
DISP.
LOG.
DISP.
LOG.
DISP.
LOG.
DISP.
LOG.
DISP.
LOG.
DISP.
LOG.
DISP.
LOG.
Fig. 1.8. Topologia logic a magistralei USB
10
Ieirile circuitelor emitoare de magistral trebuie s fie de tip three-state pentru a permite
operaii bidirecionale half-duplex.

Structura unui circuit emitor de magistral este reprezentat n Fig. 1.10











Rezistena R
S
este inclus n structura emitorului. Rezistena echivalent de ieire a
emitorului trebuie s fie ntre 28 i 44.

Specificaiile de magistral prevd restricii i pentru timpii de cretere i descretere 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 1.11. definete timpii de cretere (rise time) i
descretere (fall time).












V
CRS
, potenialul de intersecie al semanlului diferenial (Crossover voltage), poate lua
valori ntre 1.3V i 2.0V.

1.4.2. Caracteristicile circuitelor receptoare

Receptorul de linie este un circuit cu intrare diferenial. Nivelele de tensiune
acceptate la intrare sunt cele din Tabelul 1.2.

Tabel 1.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 difereniale
V
CRS

timp de cretere
timp de descretere
Fig. 1.11. Timpii de cretere i descretere ai semnalului de date
R
S
R
S
TxD+
TxD-
OE
D+
D-
Fig.1.10. Circuit emitor de magistral
11
V
DI
este sensibilitatea difetenial la intrare, iar V
CM
este tensiunea de mod comun a
intrrilor difereniale. Att intrarea D+ ct i intrarea D- pot fi temporar mai mici dect V
IH

minim n timpul tranziiilor semnalelor difereniale; intervalul nu are voie s depeasc
14ns la transferul de mare vitez (12 Mbps) i 210 ns la transferul de mic vitez (1.5
Mbps).

obligatoriu
1.5. INTERFAA MECANIC

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

Cablul conine patru fire conductoare, dou purttoare ale semnalului diferenial, unul
transport tensiunea de alimentare i un conductor pentru potenialul de mas. Aceast
structur este valabil pentru ambele viteze posibile prin USB.

Pentru viteze mari, 12 Mbps, conductoarele care transport semnalul diferenial sunt
torsadate i toate patru conductoarele sunt ecranate.

O seciune printr-un astfel de cablu este redat n Fig. 1.12.



















La viteze sczute, 1.5 Mbps, cerinele 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. 1.12.Structura constructiv a cablului USB
12
Dei restriciile sunt dure pentru cabluri, lungimea acestora nu poate depi 5m. Datorit
topologiei sistemului USB, dispozitivele se pot afla practic la distane mai mari de 5m de
gazd sau ntre ele.

n ceea ce privete conectorii, acetia sunt concepui n dou serii, A i B. Seria A pentru
conexiuni amonte i seria B pentru conexiuni aval. Specificaiile 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

obligatoriu
1.6. PROTOCOLUL USB

1.6.1. Descriere general

USB folosete un protocol bazat pe pachete de date (Data Packet). Un pachet de
date este o colecie de cadre de date (Data Frame). Numrul de bii dint-un cadru nu are
o valoare fix. Majoritatea sistemelor folosesc cadre de 4 pn la 8 bii de date.

La transmisii seriale biii sunt trimii spre magistral astfel: primul bit este cel mai puin
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, biii sunt
reprezentai de la stnga la dreapta n ordinea n care sunt trimii pe magistrala serial.
Protocolul USB definete 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 conin 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).

1.6.1.1. Cmpul SYNC

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

13










Ultimii doi bii din cmpul SYNC sunt folosii pentru a indica sfritul cmpului i
totodat nceputul urmtorului cmp, PID.

1.6.1.2. Cmpul PID

Cmpul PID urmeaz cmpului SYNC ntr-un pachet USB i are lungimea de 8
bii. Primii patru bii indic tipul pachetului, iar urmtorii patru sunt n ordine primii
patru complementai (complement fa de 1) i sunt folosii ca bii de verificare pentru a
confirma acurateea primilor patru. Structura cmpului PID este reprezentat n Fig.
1.14.






Primii patru bii responsabili cu definirea tipului pachetului sunt folosii n dou etape.
Cei mai semnificativi doi bii specific tipul pachetului, iar ceilali doi bii mpart
pachetele n categorii. Tabelul1.3. red regula de interpretare a informaiei din PID.

Tabel 1.3. Semnificia biilor 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

1.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 bii mprii n cinci cmpuri. Structura pachetului este
reprezentat n Fig. 1.15.







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

Fig. 1.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. 1.13. Cmpul SYNC
14

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 1.4.

Tabel 1.4. Semnificaia PID pentru stabilirea categoriei pachetului de semnalizare
PID Categorie pachet semnalizare
00011110 Pachet de ieire (OUT)
01011010 Pachet de nceput cadru (SOF)
10010110 Pachet de intrare (IN)
11010010 Pachet de comand (SETUP)

Pachetul de ieire (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 bii dup PID sunt interpretai ca i
cmp de adres pentru a identifica dispozitivul pe care gazda vrea s-l apeleze pentru
comand sau transfer de date. Urmtorii 4 bii furnizeaz un numr de nod (Endpoint).

Un nod reprezint o seciune a unei funcii USB adresabil individual. Conceptul de nod
d proiectanilor de hardware posibilitatea divizrii unui dispozitiv fizic n uniti logice
separate.

Ultimul cmp, de 5 bii, 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.

1.6.2.1. Pachetul de nceput de cadru

Gazda emite un pachet de nceput de cadru la 1.00 ms n cadrul unei tranzacii de
semnalizare. Toate dispozitivele reacioneaz i decodific acest pachet, dar nu trimit
napoi semnal de recepie a pachetului. Structura pachetului de nceput de cadru este cea
din Fig. 1.16.









Fig.1.16. Structura pachetului de nceput de cadru
SYNC
PID CRC
8b 8b
11b 5b
Numr cadru
15
Cmpul de 11 bii conine 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
informaie de sincronizare pe magistrala USB.

1.6.3. Pachetul de date

Informaia propriu-zis este transferat n sistemele USB sub forma unor pachete
de date. Structura acestui pachet este redat n Fig. 1.17.








Dup cmpurile SYNC i PID urmeaz cmpul de date care este compus dintr-un numr
ntreg de octei, de la 0B la 1023B. Corectitudinea cmpului de date este asigurat prin
cmpul de verificare ciclic de 16b aflat la sfritul pachetului.

n cmpul PID se definesc dou categorii de cmpuri de date; DATA0 i DATA1
conform Tabelului 1.5.

Tabel 1.5. Semnificaia PID pentru stabilirea categoriei pachetului de date
PID Categoria pachet date
00111100 DATA0
10110100 DATA1

Din punct de vedere funcional, cele dou categorii de pachete de date formeaz ntre
emitor i receptor un sistem adiional de verificare a erorilor. Emitorul oscileaz
ntre DATA0 i DATA1 pentru a indica faptul c a recepionat o confirmare valid a
recepiei pachetului precedent.

Exemplu:
Emitorul trimite un pachet DATA0; dac receptorul a preluat cu succes
datele, emite un pachet handshake (de dialog) prin care confirm emitorului
c a preluat corect datele. n urma interpretrii pachetului handshake,
emitorul trimite urmtorul pachet de tip DATA1, ceea ce indic receptorului
c mesajul su de confirmare (ACK) a fost interpretat corect de emitor.

1.6.4. Pachetul handshake

Pachetele handshake, sau de dialog, sunt folosite pentru a raporta starea unui
transfer de date, pentru a indica recepia 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. 1.18.



Fig. 1.18. Structura pachetului handshake
SYNC
PID
8b 8b
Fig.1.17. Structura pachetului de DATE
SYNC
PID CRC
8b 8b
0 -1023B 16b
DATA
16
Cmpul PID definete trei categorii de pachete handshake conform Tabelului 1.6.

Tabel 1.6 Semnificaia PID pentru stabilirea categoriei pachetului handshake
PID Categoria pachet handshake
00101101 ACK
10100101 NAK
11100001 STALL

Pachetul handshake ACK indic emitorului c pachetul de date a fost recepionat fr
erori.
Pachetul handshake NAK indic faptul c o funcie nu a fost capabil s recepioneze
date de la gazd (ntr-o tranzacie OUT) sau c o funcie nu are date de transmis gazdei
(ntr-o tranzacie IN). O gazd nu poate trimite niciodat NAK.
Pachetul STALL este emis de o funcie ca rspuns la un pachet de semnalizare IN sau
dup o tranzacie de date OUT, indicnd c funcia nu este capabil s emit sau s
recepioneze date. Gazda nu poate rspunde cu pachet STALL.

obligatoriu
2.Controllere USB din familia FTDI [4]

Din introducerea anterioara reiese complexitatea USB si necesitatea folosirii unor circuite
specializate. Se pot folosi interfete de conversie USB paralele sau serial [4] sau
microcontrollere cu USB [5]. In acest material se opteaza pentru prima varianta.

2.1. Circuitul interfata USB - format paralel, FT245BM
Circuitele cu sufixul AM sunt capabile USB 1.1 iar cele cu sufixul BM sunt capabile USB
2.0. Protocolul USB este incorporat total in circuit si nu este nevoie de programarea
formarii si gestionarii cadrelor USB. Schema bloc a circuitului este data in figura 1:



















Figura 1: Schema bloc a interfetei USB - format paralel FT 245BM


3.3 V Regulator
USB Transceiver
USB PLL
6MHz Oscillator
Serial Interface
Engine
X8 Clock Multiplier
FIFO
Receive
Buffer 128
Bytes

FIFO
Transmit
Buffer 384
Bytes
FIFO
Controller
EEPROM Interface
Serial EEPROM
D0-D7

RD

WR

TxE

RxF
3.3V
D+
D-

17
Pentru a putea realiza o lucrare practica cu acest tip de interfata, anume obtinerea unor
rezultate spectaculoase, la circuitul FTDI se conecteaza un grup de 8 LED-uri si un grup de
8 intrerupatoare, ca in figura 2:













Figura 2: schema bloc a modulului de laborator cu FT245BM

Switch-ul RD/WR stabileste sensul transferului de date de la calculatorul gazda prin USB
spre LED-uri. Pentru a obtine o lumina statica pe LED-uri, valorile logice sunt buffer-ate.

2.2. Circuitul interfata USB - format serial, FT232BM

Acest circuit are aceeasi schema bloc interna ca si interfata paralela. Singurul bloc diferit
este controllerul FIFO care contine semnalele standard interfetei seriale RS232: TxD, RxD,
RTS, CTS, DTR, DSR, DCD, RI. Circuitul mai are un semnal specific RS485, precum si 2
semnale la care se pot conecta LED-uri indicind transmisia/ receptia RS232. Blocul
controller FIFO contine si un generator de rata de Baud. Modulul de laborator echipat cu
acest circuit are schema bloc data in figura 3:











Figura 2: schema bloc a modulului de laborator cu FT232BM


2.3.Procedura de lucru

Interfata USB- paralel
In primul rand se instaleaza driverele USB pentru circuitele FTDI care sunt furnizate pe
pagina FTDI [4]. Se atrage atentia studentilor asupra procesului de configurare/
reconfigurare. Configurarea corecta este verificata in Device Manager, figura 3:
Clock 6MHz
FT245BM
USB
Tri state
gates
8 I/O
lines
8 x
LED
Buffer
RD/WR
8 x
switch
Clock 6MHz
FT232BM
USB
MAX
232
RS 232
lines
RS232 Equipment:
-GPS
-microcontroller
development board
18


Figura 3: captura din Device manager in care se vede driverul pentru circuitul FTDI

Modulul de laborator cu circuitul FTDI este aratat in figura 4:




Figura 4: modulul de laborator cu FT245BM (circuitul FTDI este lipit pe spatele placii)

FTDI pune la dispozitia utilizatorilor o biblioteca de functii. Aceasta biblioteca se explica
studentilor si li se cere sa foloseasca doar funtiile de trimitere caracter de la calculatorul
gazda prin USB si receptie caracter. Dupa familiarizarea cu aceste functii se poate trimite
temporizat unele cuvinte care sa creeze un efect luminos de lumina dinamica pe LED-uri.
Pentru cei care obtin acest rezultat se cere ca secventa de aprindere sa se schimbe la
primirea unui cod care se formeaza cu switch-urie de pe placa.

Interfata USB- serial
Aceasta lucrare este mult mai simpla decat cea precedenta pentru ca FTDI pune la
dispozitia utilizatorilor un program care defineste un port serial (COM) virtual. Lucrarea
consta in trimiterea printr-un program de tip Hyperterminal a unor cuvinte spre un
echipament serial conectat. Spectaculozitatea temei creste daca echipamentul conectat este
un sistem GPS serial. O alta varianta folosita a fost conectarea prin USB la calculatorul
gazda a unui sistem de dezvoltare cu microcontroller si schimbul de date prin transfer de
date USB. La aceasta a doua varianta se pot gasi aplicatii practice deoarece putine
19
microcontrollere au integrata o interfata USB, asa incit conectarea unui circuit FTDI la un
microcontroller prin interfata seriala duce la marirea posibilitatilor de conectivitate a unor
mici echipamente de automatizare. La conectarea directa cu un microcontroller se poate
renunta la circuitele de modificare de nivel si schema devine simplu de implementat.

[1] C. Gerigan, P. Ogrutan, Tehnici de interfatare, Editura Transilvania Brasov
[4] www.ftdichip.com
[5] P. Ogruan, C. Gerigan, N. Banciu Memories Interfaces and Peripherals. Specialized
Interfaces (Memorii, interfee i periferice. Interfee specializate, Ed. Transilvania
Braov, 2003, 190 pag., ISBN 973-635-118-1

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