1 / 32

Universal Serial Bus

Universal Serial Bus. Alessandro Memo Settembre 2006. Indice degli argomenti. Storia Generalità Topologia Componenti Connessione Alimentazione Trasmissione. Codifica Il Protocollo Endpoint Pipe USB 2.0 USB On-The-Go. Storia.

leala
Download Presentation

Universal Serial Bus

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Universal Serial Bus Alessandro Memo Settembre 2006

  2. Indice degli argomenti • Storia • Generalità • Topologia • Componenti • Connessione • Alimentazione • Trasmissione • Codifica • Il Protocollo • Endpoint • Pipe • USB 2.0 • USB On-The-Go

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

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

  5. Topologia • L’USB consente di connettere un massimo teorico di 127 dispositivi, distribuibili su cinque strati (max 5 hub). • 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. livello root Host livello 1 livello 2 livello 3 livello 4

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

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

  8. Connessione L’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.

  9. Connessione I connettori alla estremità dei cavi sono diversi: il connettore verso l’hub è detto tipo A, verso le periferiche tipo B.

  10. 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 A plug (dal device) Spina B plug(dall’Host) Presa A receptacle(flusso downstream in uscita dall’Host o dall’Hub) Presa B receptacle(flusso upstream in ingresso al device o all’Hub)

  11. Connessione connettore (spina) tipo A connettore (spina) tipo B

  12. Connessione

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

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

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

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

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

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

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

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

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

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

  23. TOKEN PACKET TOKEN PACKET DATA PACKET DATA PACKET HANDSHAKEPACKET HANDSHAKEPACKET SYNC PID DATA CRC Protocollo NSFER TRANSFER TRANSF TRANSACTION TRANSACTION TRANSACTION TRANSACTION

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

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

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

  27. USB 2.0 Esempio di configurazione USB 1.1

  28. USB 2.0 Esempio di configurazione USB 2.0

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

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

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

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

More Related