Il
bus USB (
Universal Serial Bus, in italiano
Bus seriale universale) è, come indicato dal suo nome, basato su un'architettura di tipo seriale.
Presentazione del bus USB
Si tratta tuttavia di un'interfaccia entrata-uscita molto più rapida rispetto alle porte seriali standard. L'architettura che è stata scelta per questo tipo di porta è in serie per due ragioni principali:
L'architettura seriale permette di utilizzare una cadenza di orologio molto più elevata rispetto ad un'interfaccia parallela, dato che questa non supporta delle frequenze troppo elevate (in un'architettura ad alte capacità di banda, i bit circolanti su ogni filo arrivano con dei ritardi, provocando degli errori);
I cavi seriali costano molto meno che i cavi paralleli.
Le norme USB
Dal 1995, lo standard USB è stato elaborato per la connessione di una grande varietà di
periferiche. Lo standard
USB 1.0 propone due modalità di comunicazione:
12 Mb/s in modalità alta velocità;
1.5 Mb/a a bassa velocità.
Lo standard
USB 1.1 apporta qualche chiarimento ai costruttori di periferiche USB ma non modifica niente rispetto alla banda. Le periferiche certificate USB 1.1 hanno il seguente logo:
La norma
USB 2.2 permette di ottenere delle capacità di banda che possono raggiungere 480 Mbit/s. Le periferiche certificate USB 2.0 hanno il seguente logo:
In assenza di loghi il modo migliore per determinare se si tratta di periferiche USB a bassa o alta velocità è quello di consultare la documentazione del prodotto dato che i connettori sono gli stessi. La compatibilità tra periferiche US 1.0, 1.1 e 2.0 è assicurata. Tuttavia l'utilizzazione di una periferica USB 2.0 su una porta USB a bassa velocità (ad esempio 1.0 o 1.1) limiterà la capacità della banda a 12 Mbit/s massimo. Inoltre, il sistema operativo visualizzerà un messaggio indicante l'abbassamento della banda.
Tipi di connettori
Esistono due tipi di connettori USB:
I connettori detti di
tipo A, che hanno forma rettangolare e servono generalmente per delle periferiche che richiedono poca banda passante (tastiera, mouse, webcam, ecc.);
I connettori detti di
tipo B di forma quadrata e utilizzati principalmente per delle periferiche ad alta capacità di banda (dischi rigidi esterni, ecc.):
Alimentazione +5V (VBUS) 100mAh massimo
Dati (D-)
Dati (D+)
Massa (GND)
Funzionamento del bus USB
L'architettura USB ha come caratteristica di fornire l'alimentazione elettrica alle periferiche che collega, limitato a 15 W massimo per periferica. Essa utilizza per questo un cavo composto da quattro fili (la massa
GND, l'alimentazione
VBUS e due fili di dati detti
D- e
D+):
La norma USB permette di concatenare delle periferiche, utilizzando
una topologia in bus o a stella. Le periferiche possono allora essere sia connesse le une presso le altre, ossia ramificate. La ramificazione si fa attraverso dei case detti
hub (in italiano
concentratori), con una sola entrata e più uscite. Alcuni sono attivi (fornendo energie elettrica) altri passivi (alimentati dal computer):
La comunicazione tra l'host (il computer) e le periferiche si fanno seguendo un
protocollo (linguaggio di comunicazione) basato sul principio di (
token ring). Questo significa che la banda è condivisa temporaneamente tra tutte le periferiche connesse. L'host (il computer) emette un segnale di inizio sequenza ogni millisecondo (ms), intervallo di tempo durante il quale darà simultaneamente la "parola" a ciascuno di essi.
Quando l'host vuole comunicare con una periferica, emette pacchetto di dati, contenente l'indirizzo della periferica codificato a 7 bit, che designa una periferica, ed è quindi l'host che decide il "dialogo" con le periferiche. Se la periferica riconosce il proprio indirizzo nel gettone, invia un pacchetto di dati (da 8 a 255 bit) in risposta, altrimenti fa passare il pacchetto alle altre periferiche connesse. I dati così scambiati sono codificati secondo la codifica
NRZI.
Dato che l'indirizzo è codificato a 7 bit, a questo tipo di porta possono essere connesse simultaneamente 128 periferiche (2^7). In realtà bisogna portare questa cifra a 127 dato che l'indirizzo 0 è un indirizzo riservato. Se consideriamo una lunghezza massima di 5 metri per un cavo fra due periferiche e al massimo 5 hub (alimentati), è possibile creare una catena lunga 25 metri.
Le porte USB supportano l'
Hot plug and play. Quindi le periferiche possono essere collegate senza spegnere il computer (
collegamento a caldo, in inglese
hot plug). Quando si connette la periferica all'host, quest'ultimo individua l'aggiunta di un nuovo elemento grazie al cambiamento della tensione tra i fili D+ e D-. In quel momento, il computer invia un segnale di inizializzazione alla periferica per 10 ms, poi gli fornisce corrente mediante i fili
GND e
'VBUS (fino a 100mA).
La periferica è quindi alimentata elettricamente e recupera temporaneamente l'indirizzo di default (l'indirizzo 0). La tappa successiva consiste nel fornirgli un suo indirizzo definitivo (procedura
di numerazione). Per far questo, il computer interroga le periferiche già collegate per conoscere il loro e attribuirne uno nuovo, che viene così identificato. L'host, disponendo di tutte le caratteristiche necessarie è quindi capace di caricare il driver appropriato.
Ulteriori informazioni
Le specifiche complete dello standard USB possono essere scaricate sul sito:
USB Implementers Forum.
Foto: © Pixabay.