![Page 1: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/1.jpg)
Universal Serial Bus
Alessandro Memo
Settembre 2006
![Page 2: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/2.jpg)
Indice degli argomenti
1. Storia
2. Generalità
3. Topologia
4. Componenti
5. Connessione
6. Alimentazione
7. Trasmissione
8. Codifica
9. Il Protocollo
10.Endpoint
11.Pipe
12.USB 2.0
13.USB On-The-Go
![Page 3: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/3.jpg)
Storia
• Un gruppo di aziende (Compaq, Digital Equipment, IBM, Intel, Microsoft e Northern Telecom) decidono di creare un nuovo standard di interfacciamento per PC
• La versione USB 1.0 viene pubblicata il 15.1.96, mentre la 1.1 il 23.9.98
• Il 27 Aprile 2000 nasce la versione 2.0, che apporta migliorie sulla velocità di trasferimento e compatibilità con le precedenti.
![Page 4: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/4.jpg)
Generalità• USB è un bus seriale esterno, che consente il
collegamento e la rimozione di periferiche ‘a caldo’ (hot swap)
• Supporta la tecnologia Plug and Play• Se l’assorbimento di corrente della periferica è
basso, questa può essere alimentata tramite bus• La versione 1.1 ha velocità di trasferimento dati
diversificate: low [1,5 Mbit/sec] e full [12 Mbit/sec]• La versione 2.0 ammette anche la modalità high
[480 Mbit/sec]
![Page 5: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/5.jpg)
Topologia
• La distanza massima per una connessione è di 5 m, anche se si possono raggiungere 30 m con 5 hub tra PC e periferica
• L'USB è un bus solo da un punto di vista logico.
• L’USB consente di connettere un massimo teorico di 127 dispositivi, distribuibili su cinque strati (max 5 hub).
livello 1
livello 2
livello 3
livello 4
Hostlivello root
![Page 6: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/6.jpg)
Componenti di un bus USB• Host, (in generale è il PC) l'host controlla
tutto il traffico sul bus, decidendone le priorità e le diverse modalità, rileva e configura le periferiche connesse.
• Hub, permettono di moltiplicare le connessioni USB. Sono essenzialmente dei multiplatori di segnali dotati di una porta di upstream verso l’host e di porte di downstream, indirizzate verso altri hub o dispositivi.
![Page 7: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/7.jpg)
Componenti di un bus USB
• Gli hub registrano, nei loro bit di stato, le periferiche che vengono collegate o scollegate fisicamente al bus.
• Device, sono le periferiche connesse al bus mediante una porta USB. I device possono funzionare anche da hub.
![Page 8: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/8.jpg)
ConnessioneL’USB usa cavi, prese e connettori standardizzati. I cavi sono di due tipi: non schermati per periferiche lente, con lunghezza massima di tre metri e schermati per periferiche veloci, con lunghezza fino a cinque metri.
![Page 9: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/9.jpg)
ConnessioneI connettori alla estremità dei cavi sono diversi: il connettore verso l’hub è detto tipo A, verso le periferiche tipo B.
![Page 10: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/10.jpg)
Connettori Serie A Connettori Serie B
le spine Serie A sono sempre orientate verso l’Host
(upstream)
le spine Serie B sono sempre orientate verso il device
(downstream)
Spina Aplug(dal device)
Spina Bplug (dall’Host)
Presa Areceptacle
(flusso downstream in uscita dall’Host o
dall’Hub)
Presa Breceptacle
(flusso upstream in ingresso al device o
all’Hub)
![Page 11: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/11.jpg)
Connessione
connettore (spina) tipo A
connettore (spina) tipo B
![Page 12: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/12.jpg)
Connessione
![Page 13: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/13.jpg)
Alimentazione
• Sono previste tre modalità di alimentazione dei device: Self, Bus e Hybrid.
• Self: se il dispositivo ha un’alimentazione autonoma e non preleva corrente dal cavo USB (self powered)
• Bus: se il dispositivo si alimenta tramite il cavo USB. In tal caso deve avvisare preventivamente l’Host che preleverà una corrente, espressa in multipli di 100 mA low-power device: assorbe meno di 100 mA high-power device: assorbe al massimo 500 mA
![Page 14: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/14.jpg)
Alimentazione
• Hybrid: se il dispositivo è parzialmente autoalimentato e comunque preleva una quota di corrente anche dal bus (previa negoziazione).
• un dispositivo bus-powered low power può essere collegato anche ad una linea gestita da hub
• un dispositivo bus-powered high power può avere inconvenienti se collegato ad una linea gestita da hub (meglio se collegato all’Host).
![Page 15: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/15.jpg)
Alimentazione
• Gli hub possono essere forniti di alimentazione propria oppure essere alimentati tramite il bus . Gli hub bus-powered non possono essere collegati in cascata e non possono avere più di quattro porte
• Un dispositivo che assorbe più di 100 mA, ma non dispone di alimentazione separata, non può essere connesso ad un hub alimentato dal bus.
![Page 16: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/16.jpg)
Trasmissione
• Il cavo ha quattro fili, due per l’alimentazione (Vbus e Ground) e due per i dati
• tra i due fili di alimentazione è presente una tensione nominale di 5 Volt
• la seconda coppia di fili (D+ e D-) serve alla trasmissione dei dati, con segnali di ampiezza massima di 3,3 Volt
![Page 17: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/17.jpg)
Trasmissione
• Nello standard USB 1.1 la trasmissione avviene su linea differenziale (cioè il bit dipende dalla tensione su entrambi i fili), sui fili D+ e D-.
• Con due fili sono possibili 4 combinazioni:
LOW SPEED
nome D+ D-
stato J (0) basso alto
stato K (1) alto basso
Single Ended 0 basso basso
Single Ended 1 alto alto
FULL & HIGH SPEED
nome D+ D-
stato J (1) alto basso
stato K (0) basso alto
Single Ended 0 basso basso
Single Ended 1 alto alto
![Page 18: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/18.jpg)
Trasmissione
• Per descrivere lo stato delle linee sul bus sono stati introdotti due simboli: J e K.
• In tal modo si uniformano le terminologie nelle comunicazioni low e full speed. Ad esempio la trasmissione sulla linea USB inizia sempre con una commutazione da stato J a stato K.
![Page 19: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/19.jpg)
Codifica
• La codifica del segnale è la NRZI (No Return Zero Inverted) ; essa prevede la transizione per i bit 'zero' ed il mantenimento di livello per gli 'uno'.
• Per la sincronizzazione viene adottata la tecnica del bit stuffing (per gruppi di sei bit alti)
• L’inizio del pacchetto è caratterizzato dalla sequenza 01010100, mentre la fine è marcata dallo stato Se0 per la durata di due bit, seguiti da un bit alto e dal passaggio in IDLE del trasmettitore.
![Page 20: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/20.jpg)
Il Protocollo
• Tutti i trasferimenti sono iniziati dall'host, con metodo polling-selecting,inviando un pacchetto che, come un gettone, autorizza i terminali a comunicare.
• A questo punto, se la periferica è pronta, risponde all’invito e da ciò deriva l'instaurazione della trasmissione, tramite una procedura di handshaking.
• Gli indirizzi delle periferiche sono assegnati dall'host in maniera dinamica, con un processo che viene continuamente ripetuto.
![Page 21: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/21.jpg)
Il Protocollo
• Quando un device USB si collega al bus, l’host che lo governa interroga il device utilizzando l’indirizzo di default 0.
• Successivamente l’host assegna al device un indirizzo USB univoco nel bus.
• L’host successivamente richiede altre informazioni quali:– classe di conformità del dispositivo– numero di endpoint posseduti– nome del costruttore– vendor ID/Product ID
![Page 22: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/22.jpg)
Il Protocollo• La comunicazione tra Host e device si definisce
transfer.• Ogni transfer si suddivide in una o più
transaction, una per ogni coppia host-device• Ogni transaction è suddivisa in packet, ed è
composta da– un token packet che definisce il destinatario e il tipo
di transaction– uno o più data packet– un handshake packet per il controllo dell’errore.
![Page 23: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/23.jpg)
Protocollo
SYNCSYNC PIDPID DATADATA CRCCRC
TOKEN PACKET
DATA PACKET
HANDSHAKE PACKET
TRANSACTION
NSFER TRANSF
TOKEN PACKET
DATA PACKET
HANDSHAKE PACKET
TRANSACTION TRANSACTION TRANSACTION
TRANSFERTRANSFER
![Page 24: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/24.jpg)
Il Protocollo
• Il Packet contiene i seguenti campi:– 8 bit di sincronismo (32 bit x high speed)– 4+4 bit di Packet Identifier (PID)– ulteriori informazioni dipendenti dal PID– CRC del packet
• Per trasmissioni low/full speed le frame hanno un periodo di 1 mS (125 µS per high speed)
![Page 25: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/25.jpg)
Endpoint
• Ogni device include al suo interno uno o più endpoint (punti terminali della comunicazione host-device).
• Gli endpoint possono essere di tre tipi:– IN (trasmette i dati all’host/hub)– OUT (riceve i dati dall’host/hub)– CONTROL (accesso bidirezionale)
• C’è una sola connessione fisica, ma diverse connessioni logiche tra host e device, dette PIPE.
![Page 26: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/26.jpg)
Pipe
• Ogni Pipe è associata ad un endpoint.• Ogni device, all’avvio, deve attivare la control
Pipe associata all’endpoint0.• La Pipe associata all’endpoint0 è
bidirezionale di tipo control.• Le Pipe associate agli altri endpoint sono
monodirezionali.
![Page 27: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/27.jpg)
USB 2.0
Esempio di configurazione USB 1.1
![Page 28: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/28.jpg)
USB 2.0
Esempio di configurazione USB 2.0
![Page 29: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/29.jpg)
USB 2.0
Ruolo del software sull’host: • Le applicazioni correnti del PC continuano ad
operare con le periferiche USB 1.1• Il software di sistema rileva configurazioni
limitanti (periferiche USB 2.0 collegate ad hub USB 1.1) ed avvisa l’utente.
![Page 30: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/30.jpg)
USB 2.0
Ruolo dell’hub:• Un hub USB 2.0 accetta transaction alla
massima velocità ammessa e le inoltra a periferiche di entrambi gli standard, USB 2.0 ed USB 1.1.
• Ciò richiede capacità elaborative e di buffering.
• L’hub gestisce anche transizioni USB 2.0 inviate dall’host a device USB 1.1
![Page 31: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/31.jpg)
USB On-The-Go
• Una estensione del USB chiamata USB-On-The-Go consente ad una singola porta di fungere sia da device che da host.
![Page 32: Universal Serial Bus Alessandro Memo Settembre 2006](https://reader035.vdocuments.mx/reader035/viewer/2022062701/5542eb58497959361e8c316e/html5/thumbnails/32.jpg)
USB On-The-Go
Per evitare una proliferazione dei connettori proprietari. USB-On-The-Go ha definito anche due connettori chiamati, mini-A e mini-B, molto più piccoli dei connettori precedenti.
connettore (spina) tipo mini-A