Pubblicità

L’interfaccia e il cavo USB 2.0 e 3.0 funzionamento e schema di connessione pin

La trasmissione dei dati attraverso il sistema Universal Serial Bus (USB) è uno standard “de facto” ed è presente in tantissimi dispositivi embedded per il collegamento ad un computer. Vediamo nel dettaglio il cavo USB 2.0 e 3.0 funzionamento e schema di connessione pin.

Il primo grande pregio dell’USB è stato dal primo momento la funzione plug&play. Questa funzione riconfigura automaticamente il bus USB ogni volta che connettiamo o togliamo una periferica. Vedremo in questo articolo Il cavo USB 2.0 e 3.0 funzionamento e schema di connessione pin.

Il Protocollo di comunicazione Seriale

L’USB utilizza la trasmissione seriale dei dati, un bit alla volta. Il Protocollo Seriale è una modalità di comunicazione tra dispositivi digitali nella quale i bit sono trasferiti uno di seguito all’altro arrivando in sequenza al dispositivo ricevente nello stesso ordine in cui sono stati trasmessi. I dispositivi che utilizzano questo protocollo sono progettati per commutare e riconoscere pacchetti di bit e dal punto di vista hardware sono sicuramente più complessi rispetto al protocollo di comunicazione parallela. La trasmissione dei dati tra dispositivi è bidirezionale e può essere nelle seguenti modalità

  • Half – Duplex (trasmissione e ricezione dei dati non avvengono in contemporanea)
  • Full – Duplex (trasmissione e ricezione dei dati avvengono in contemporanea)

La linea di trasmissione, ovvero il cavo utilizzato per le connessioni su bus USB è un cavo schermato con quattro fili. Due vengono utilizzati per la comunicazione (Rx e Tx) e due per l’alimentazione delle periferiche.

Lo sviluppo della miniaturizzazione dell’hardware unita alla buona performance nei confronti delle interferenze eletteriche hanno consentito alla modalità seriale di essere il protocollo di comunicazione più diffuso nell’informatica.

L’UNIVERSAL SERIAL BUS
Al bus si possono facilmente collegare un certo numero di dispositivi e, entro certe condizioni, le periferiche USB possono essere alimentate direttamente dal bus. La comunicazione può avvenire a varie velocità:

  • Low USB1.0 1.5Mbit/s
  • Full USB1.1 12Mbit/s
  • High USB2.0 480Mbit/s
  • Superspeed USB3.0 4.8Gbit/s
  • Superspeed1 USB3.2 10Gbit/s
  • Superspeed2 USB3.2 20Gbit/s

Osserviamo che periferiche con diverse velocità di trasmissione condividono senza problemi lo stesso bus. La massima distanza per una connessione USB è di 5m anche se è possibile arrivare fino a trenta metri inserendo 5 hub tra il computer e la periferica. La comunicazione su bus USB è del tipo master/slave e, per un dispositivo embedded slave, non è possibile utilizzare il bus USB in assenza di un Host.

L'interfaccia e il cavo USB 2.0 e 3.0 funzionamento e schema di connessione pin

USB 2.0

Come supplemento della specifica USB2.0 è stato introdotto il protocollo USB OTG (On The Go) che aggiunge alla periferica slave alcune funzioni normalmente svolte dal master per consentire la connessione punto-punto di due apparati USB anche in assenza di un Host.
Ogni dispositivo con interfaccia USB ha due codici univoci che identificano il prodotto:

  • VendorID
  • ProductID

Il sistema operativo del PC host riconosce la periferica USB collegata ad una porta tramite questa coppia di codici.

  • Il VendorID è assegnato dal consorzio USB previa il pagamento di una tassa.
  • Il Prdouct ID può essere assegnato dal produttore della scheda.

L'interfaccia e il cavo USB 2.0 e 3.0 funzionamento e schema di connessione pin

L’Host

È il gestore della comunicazione sul bus (master). L’host avvia ogni comunicazione ed ha il compito di riconfigurare dinamicamente la rete ogni volta che un dispositivo viene connesso o disconnesso.

L’Hub

Ogni hub permette di moltiplicare le connessioni USB.
L’HUB è l’elemento in cui convergono più connessioni (connessione a stella).
Possono essere connessi in cascata (fino a 5 livelli) e gestire i device collegati alle loro porte. L’hub riesce anche a gestire la velocità di comunicazione con i device.
Se abbiamo l’hub high speed a cui è collegato un device low speed la comunicazione tra host e hub avviene in modalità high speed. È l’hub poi che regola la velocità di trasmissione per la periferica low speed.

I device o funzioni

In pratica i terminali della rete a stella e sono tutti i dispositivi USB: mouse, stampanti, ecc…
Un device deve rispondere a tutti i comandi fondamentali del protocollo per consentire all’host di riconoscere la periferica durante la fase di configurazione.

Processo di funzionamento dell’USB

Il processo inizia dal momento in cui una periferica USB viene inserita nel connettore dell hub del PC. L’Host riconosce la periferica e acquisisce le informazioni che sono state inserite nei descrittori.

Il driver dell’Hub in uscita ha due resistenze di pull-down da 15Kohm. Una device low speed ha una resistenza di pull-up da 1.5Kohm sulla linea D- mentre la full o high speed ha la resistenza di pullup da 1.5Kohm sulla linea D+.

  • Inserendo un device nella porta dell’Hub la linea si trova nello stato J.
  • Controllando lo stato delle linee D+/D- l’hub si accorge se è stato inserito un device e se si tratta di un low o full speed.
  • Appena riconosce il nuovo dispositivo l’hub pone la linea USB nella condizione di reset entrambe le linee sono a zero.
  • La condizione di reset permane per un minimo di 10ms.
  • Un device high speed viene inizialmente riconosciuto come full speed.
  • Per segnalare all’Hub che si tratta di una periferica high speed il device commuta la linea nella condizione K durante la fase di reset. Se anche l’Hub è high speed riconosce la condizione K e risponde con una sequenza JK al device.
  • Se il device non riceve questa sequenza mantiene lo stato full speed senza commutare nella modalità high speed.

Al termine di questo riconoscimento hardware il device si trova nello stato default e attiva la pipe sull’endpoint 0. L’indirizzo del dispositivo nel bus USB al momento è 0.

Comunicazione attivata

A questo punto host e device sono in grado di comunicare. l’Host acquisisce il device descriptor che contiene le informazioni principali sul device. È compito dell’Host assegnare al device un indirizzo tramite la control transfer set_address, indirizzo che sarà mantenuto dal device finchè rimarrà collegato al bus.

  • Al termine della configurazione il dispositivo entra nello stato addressed.
  • L’host a questo punto richiede la configurazione che trasferisce informazioni sull’interfaccia la classe e gli endpoint del dispositivo.
  • Quando ha acquisito tutte le informazioni Windows cerca di caricare il driver per la nuova periferica.
  • La prassi prevede la ricerca di un driver personalizzato utilizzando vendorID e productID. In assenza di questo, di utilizzare le informazioni di classe, subclasse e protocollo per ricavarlo da una serie di driver standard di Windows.

Al termine di questa fase l’host comunica al device l’identificativo della configurazione da utilizzare. Il device si pone in configured state ed è pronto per comunicare secondo l’interfaccia specificata.

L'interfaccia e il cavo USB 2.0 e 3.0 funzionamento e schema di connessione pinTrasmissione dei dati in modalità Seriale e Parallelo, Considerazioni

Attualmente la versione 3.0 dell’interfaccia di collegamento USB consente una velocità di trasmissione massima fino a 10 Gb/s (giga bit per secondo).

A questo punto ci chiediamo: come mai un collegamento seriale come l’USB possa raggiungere velocità maggiori rispetto a un collegamento parallelo come l’IEEE 488, la vecchia interfaccia parallela per le stampanti? In una connessione parallela i bit viaggiano “a gruppi” e dunque più velocemente rispetto ad un protocollo seriale.

Questo non è necessariamente vero poiché nella trasmissione parallela c’è il problema del rumore dovuto all’interferenza reciproca fra i dati trasmessi sulle singole linee. Inoltre, siccome i bit non commutano in generale tutti contemporaneamente, non è possibile trasmettere a velocità troppo elevate (altrimenti le differenze fra le velocità di commutazione dei diversi bit comprometterebbero la trasmissione).

In teoria la trasmissione dei dati in parallelo consentirebbe velocità maggiori rispetto alla trasmissione seriale. In pratica la velocità massima di trasmissione parallela è limitata dai problemi suddetti:

  • rumore
  • interferenza fra i collegamenti
  • differenti velocità di commutazione

Queste limitazioni non sono presenti nella trasmissione seriale che ha dei problemi molto trascurabili di interferenze elettriche.

Conclusioni

Abbiamo visto in questo articolo Il cavo USB 2.0 e 3.0 funzionamento e schema di connessione pin. Ne abbiamo analizzato la storia, l’evoluzione e abbiamo cercato di evidenziare i pregi e i possibili sviluppi.

 

 

Pubblicità