Cum lucrează porturile USB ?

Ce este USB?
Lucruri ca Zip drives, ce necesită o conexiune de înaltă viteză cu un calculator, folosesc portul paralel, dar deseori fără prea mare succes datorită vitezei limitate.
Modemurile folosesc de asemenea portul paralel, anumite imprimante şi diferite alte lucruri ca Palm Pilots sau camere digitale. Majoritatea calculatoarelor au cel mult două porturi seriale, aceste porturi fiind de obicei foarte lente. Dispozitivele ce necesită conexiuni mai rapide vin cu carduri proprii, carduri ce trebuie să se potrivească într-un slot de card din interiorul calculatorului. Din nefericire, numărul de sloturi de card este limitat şi aveţi nevoie de un specialist în electronică pentru instalarea software-ului pentru unele carduri.
Scopul USB este de a înlătura toate aceste dificultăţi. Universal Serial Bus vă oferă o modalitate unică, standardizată, uşor de folosit de conectare a cel mult 127 de dispozitive la un calculator. Fiecare dispozitiv poate consuma până la 6 megabits pe secundă (Mbps) de lărgime de bandă, ceea ce este suficient pentru marea majoritate a dispozitivelor periferice ce se pot conecta la un calculator.

Conectorul rectangular este un conector tipic USB aflat în spatele calculatorului
Aproape orice periferic realizat acum are o versiune USB. Un exemplu de listă de dispozitive USB pe care le puteţi cumpăra astăzi include: Imprimante, Scannere, Joystick-uri, Flight yokes, Camere digitale, Webcams, Plăci achiziţie de date, Modem-uri, Boxe, Telefoane, Videotelefoane, “Storage devices” cum ar fi Zip drives, Network connections.

Conectarea unui dispozitiv USB la un calculator este simplă: se introduce conectorul USB al dispozitivului în conectorul USB din spatele calculatorului.<

Un conector USB tipic pentru un dispozitiv, denumită o conexiune “A”

O conexiune “B” tipică

Dacă există un dispozitiv nou, sistemul de operare îl detectează automat şi cere discheta cu driverul. Dacă dispozitivul a fost deja instalat, calculatorul îl activează şi începe să comunice cu el. Dispozitivele USB pot fi conectate şi deconectate oricând.
Multe dispozitive USB au încorporat propriul cablu ce are pe el o conexiune “A”. Dacă nu are acest cablu, dispozitivul are un socket pe el ce acceptă un conector “B” USB.
Standardul USB foloseşte conectori “A” şi “B” pentru a evita confuziile:

- Conectorii “A” se leagă “upstream” către calculator.
- Conectorii “B” se leagă “downstream” şi se conectează cu dispozitivele individuale.

Folosind diferiţi conectori la capătul upstream şi downstream nu mai există confuzii: dacă se conectează conectorul “B” al cablului USB la un dispozitiv, dispozitivul va funcţiona. În mod asemănător, se poate conecta u n conector “A” într-un socket “A”.
Nu mai sunt porturi libere?
Majoritatea calculatoarelor ce se comercializează astăzi au unul sau două socket-uri USB. Dată fiind mulţimea de dispozitive USB de pe piaţă, se poate ajunge în situaţia în care nu mai există socket-uri libere.

Un hub cu patru porturi USB acceptă 4 conexiuni “A”
De exemplu, pe calculatorul la care scriu chiar acum, am o imprimantă USB, un scanner USB, un Webcam USB şi o conexiune de reţea USB. Calculatorul meu are doar un conector USB, astfel că se pune întrebarea: “Cum conectezi toate celelalte dispozitive?”
O soluţie facilă pentru rezolvarea acestei probleme este cumpărarea unui hub USB ieftin. Standardul USB suportă până la 127 de dispozitive, iar hub-urile USB fac parte din standard.
Un hub are în mod obişnuit patru noi porturi, dar poate avea mult mai multe. Conectaţi hubul la calculator, iar apoi conectaţi dispozitivele (sau alte hub-uri) la hub. Prin înlănţuirea hub-urilor se pot realiza multe porturi USB pe un singur calculator.
Hub-urile pot fi alimentate sau nealimentate. Aşa cum veţi vedea mai jos, standardul USB permite ca dispozitivele să se alimenteze din conexiunea USB. Evident că un dispozitiv ce are nevoie de putere mare de alimentare, cum ar fi o imprimantă sau un scanner, vor avea propria lor sursă de alimentare, dar dispozitivele ce necesită putere mică de alimentare, cum ar fi mouse-ul sau camerele digitale, pot fi alimentate de la bus. Energia necesară pentru alimentare (până la 500 de miliamperi la o tensiune de 5 volţi) provine de la calculator.
Dacă există multe dispozitive ce au sursă proprie de alimentare (cum ar fi imprimante sau scannere), hub-ul nu trebuie să fie alimentat - niciunul dintre dispozitivele conectate la hub nu necesită energie suplimentară de alimentare. Dacă există multe dispozitive fără alimentare proprie (cum ar fi mouse sau camere), aveţi nevoie de un hub alimentat. Hub-ul are propriul transformer ce alimentează bus-ul, astfel că dispozitivele periferice nu încarcă sursa de alimentare a calculatorului.

În spatele scenei
Universal Serial Bus are următoarele caracteristici:
Calculatorul funcţionează ca “host”. Se pot conecta până la 127 de dispozitive la host, direct sau prin intermediul hub-urilor USB. Cablurile individuale USB pot avea maxim 5 metri; folosind hub-uri, dispozitivele pot fi situate până la o distanţă de 30 de metri de host.
Busul are o rată maximă de date de 12 megabiţi pe secundă.

Interiorul unui cablu USB Există două fire pentru alimentare -- +5 volţi (roşu - R) şi masa (maro - M) - şi o pereche de fire răsucite (galben - G şi albastru - A) pentru date. Cablul este ecranat.

Oricărui dispozitiv individual îi pot fi alocaţi până la 6 megabiţi pe secundă (evident că nu poate exista mai mult de un dispozitiv ce necesită mai mult de 6 Mbps, altfel s-ar depăşi valoarea maximă de 12 Mbps a busului). Un cablu USB are două fire pentru alimentare (+5V şi masa) şi o pereche de fire răsucite pentru date. Pe firele de alimentare calculatorul poate livra până la 500 de miliamperi la 5 volţi. Dispozitivele ce necesită putere mică pentru alimentare (cum ar fi mouse-ul) pot fi alimentate direct de la bus. Dispozitivele ce necesită putere mare pentru alimentare (cum ar fi imprimanta) au propria sursă de alimentare şi consumă o putere minimă de pe bus. Hub-urile pot avea propria sursă de alimentare pentru a furniza putere dispozitivelor conectate la el. Dispozitivele USB sunt “hot-swappable”, ceea ce înseamnă că ele pot fi conectate sau deconectate de la bus oricând. Multe dispozitive USB pot fi puse în starea de sleep de calculatorul host atunci când calculatorul intră în starea de “power-saving”.
Dispozitivele conectate la un port USB folosesc cablul USB pentru alimentare şi pentru date.
Atunci când host-ul este alimentat, acesta interoghează dispozitivele conectate la bus şi le dă la fiecare câte o adresă. Acest proces se numeşte enumerare - dispozitivele sunt de asemenea enumerate atunci când se conectează la bus. Host-ul află de asemenea de la fiecare dispozitiv ce tip de transfer de date doreşte:
Întrerupere - Un dispozitiv cum este mouse-ul, ce va trimite foarte puţine date, va alege acest mod de lucru.
Bulk - Un dispozitiv cum este imprimanta, ce primeşte date în pachete foarte mari, foloseşte modul de transfer bulk. Către imprimantă este trimis un bloc de date (în pachete de 64 byte), blocul fiind verificat apoi.
Asincron - Un dispozitiv de tip streaming (cum sunt boxele) foloseşte modul asincron. Fluxul de date este în timp real între dispozitiv şi host şi nu se face corectare a erorilor. Host-ul poate de asemenea trimite comenzi sau cere parametri folosind pachete de control. Pe măsură ce dispozitivele sunt enumerate, host-ul calculează lărgimea de bandă totală necesară pentru dispozitive. Ele pot consuma până la 90 de procente din lărgimea de bandă de 12 Mbps disponibilă. În momentul în care este folosită 90 de procente din lărgimea de bandă, host-ul nu mai permite accesul pentru alte dispozitive asincrone sau în întreruperi.
Pachetele de control şi pachetele pentru transfer de tip bulk folosesc lărgimea de bandă ce rămâne, care este de cel puţin 10 procente din lărgimea de bandă. Universal Serial Bus divide lărgimea de bandă disponibilă în cadre, iar host-ul controlează aceste cadre. Cadrele conţin 1.500 bytes, iar un cadru nou începe la fiecare milisecundă. În timpul unui cadru, dispozitivele asincrone şi în întreruperi primesc un slot, astfel că este garantată lărgimea de bandă necesară. Transferurile bulk şi de control folosesc orice spaţiu rămâne disponibil.

de Marshall Brain