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