Publicidad
Publicidad

Más contenido relacionado

Publicidad

The Universal Serial BUS

  1. The Universal Serial Bus Andrea Esposito Marco Marinello Corso di Computer Systems Architecture Prof. Flavio Vella Anno accademico 2020-21
  2. A. Esposito, M. Marinello The Universal Serial Bus 2 Agenda ● Primi passi di USB ● Invenzione di USB ● Prima di USB ● Differenza tra seriale e parallelo ● Specifiche di USB ● Caratteristiche del bus ● (A)sincronia e arbitraggio ● Signaling ● Transceiver ● Codifica NRZI ● Analisi del protocollo ● Tipi di trasferimento ● USB contro i suoi avversari ● USB è migliorata col tempo ● Porte e connettori
  3. A. Esposito, M. Marinello The Universal Serial Bus 3 Invenzione di USB Nel 1994, 7 società iniziarono assieme lo sviluppo di USB: Compaq, Hewlett-Packard, IBM, Microsoft, NEC e Nortel. L'obiettivo era rendere più semplice il collegamento di dispositivi esterni ai PC oltre a migliorare velocità di trasferimento e altri problemi di usabilità (hot-plug, ...). Ajay Bhatt e il suo team hanno lavorato allo standard alla Intel; i primi circuiti integrati che supportano USB sono stati prodotti nel 1995.
  4. A. Esposito, M. Marinello The Universal Serial Bus 4 Prima di USB Moltitudine di standard diversi a seconda della periferica da collegare
  5. A. Esposito, M. Marinello The Universal Serial Bus 5 Prima di USB: EIA RS-232 ● Interfaccia seriale ● Bassa velocità di trasmissione ● Scambio dati fra dispositivi digitali ● Scambio dati fra mainframe e terminali ● Utilizzata per collegare i primi mouse, stampanti, scanner e dispositivi di rete ● Ad oggi ancora utilizzata ad es. per management di switch o altri SBC/Embedded Topory - Opera propria, CC BY-SA 3.0
  6. A. Esposito, M. Marinello The Universal Serial Bus 6 Prima di USB: Porta parallela Afrank99 - Opera propria, CC BY-SA 3.0, ● Detta anche LPT, dall'inglese Line Printer Terminal ● usata inizialmente per collegare un computer a una stampante o a un plotter ● in seguito, nella versione bidirezionale, impiegata anche per altre periferiche tra le quali scanner, unità ZIP, hard disk, lettori di CD-ROM e webcam ● È parallela e non seriale
  7. A. Esposito, M. Marinello The Universal Serial Bus 7 Differenza fra seriale e parallelo Courtesy of Quantil.com
  8. A. Esposito, M. Marinello The Universal Serial Bus 8 Prima di USB: Game port ● Ideata dalla IBM e distribuita nel 1981 come una scheda di espansione del primo PC IBM ● Inizialmente consentiva di gestire quattro assi analogici e quattro pulsanti su una porta ● Microsoft nel 2006 ha cessato il supporto di game port con Windows Vista mentre nel kernel Linux è ad oggi supportato dal modulo snd_cmipci e joydev
  9. A. Esposito, M. Marinello The Universal Serial Bus 9 Prima di USB: altre porte Quark67 - Opera propria, CC BY-SA 3.0 Apple Desktop Bus (ADB) PS/2 (mini-DIN)
  10. A. Esposito, M. Marinello The Universal Serial Bus 10 USB – caratteristiche del bus Il bus USB è di tipo tiered star, in cui ogni nodo connesso fa capo a un hub. Un hub mette a disposizione porte per la connessione simultanea di più nodi (lato downstream); a sua volta l’hub fa capo a un altro hub nel livello (tier) superiore (lato upstream), fino ad arrivare al Root Hub, ovvero quello dell’host. Nella topologia USB un dispositivo (non un hub) che occupa un nodo è chiamato funzione.
  11. A. Esposito, M. Marinello The Universal Serial Bus 11 USB – caratteristiche del bus L’architettura USB è host-centrica. L’host gestisce le connessioni (rilevamento di inserimento e rimozione, alimentazione, enumerazione dei device connessi) e avvia tutte le transazioni (scambi di dati) da e verso i nodi. Questi rimangono in attesa di un pacchetto proveniente dall’host (il pacchetto token); se questo contiene l’indirizzo del device in questione, rispondono di conseguenza. Per questo meccanismo di attesa e controllo quello USB è definito un polled bus.
  12. A. Esposito, M. Marinello The Universal Serial Bus 12 USB – (a)sincronia e arbitraggio Per la sua natura seriale, il bus USB è un bus sincrono: la scansione degli intervalli è fissata dal data rate adottato da host e device e alcuni accorgimenti vengono impiegati affinché i segnali di clock rimangano tra loro sincronizzati. Dal fatto che tutte le transazioni sono avviate dall’host deriva il sistema di arbitraggio USB: un device utilizza il bus solo quando richiesto dall’host e continua ad occuparlo fino al termine della transazione. L’host non avvia nuove transazioni finché la precedente non si conclude.
  13. A. Esposito, M. Marinello The Universal Serial Bus 13 USB – signaling VBUS e GND sono le linee di alimentazione (nominalmente +5V). Il signaling USB, ovvero la generazione degli impulsi alla base della codifica e del trasferimento dei dati, avviene sulle linee D+ e D-. Una corrente può essere indirizzata dal trasmittente in D+ o (invertita) in D-. Il ricevente rileva un impulso positivo o negativo tra le due linee. Questi due stati vengono descritti come J e K. Questa modalità di trasmissione è denominata differential signaling. I segmenti di connessione tra i nodi del bus USB sono costituiti da quattro linee elettriche.
  14. A. Esposito, M. Marinello The Universal Serial Bus 14 USB – transceiver Un transceiver USB 2.0 include la circuiteria per trasmettere e ricevere segnali a tre diversi data rate: • High Speed – 480 Mb/s (la sola mostrata in figura) • Full Speed – 12 Mb/s • Low Speed – 1.5 Mb/s In base al data rate supportato dal device, la trasmissione avviene su intervalli di tempo differenti.
  15. A. Esposito, M. Marinello The Universal Serial Bus 15 USB – codifica NRZI La codifica utilizzata sul bus USB è denominata Non Return to Zero Inverted, o NRZI. Consiste nel rappresentare il valore logico basso [0] con un cambiamento di stato J-K e il valore logico alto [1] con una persistenza di stato J-K (nessun cambiamento). Diversi meccanismi di rilevamento e correzione degli errori vengono utilizzati in base al tipo di trasferimento in atto sul bus. A livello bitwise viene applicato il bit stuffing, che consiste nel trasmettere un impulso logico basso [0] dopo ogni occorrenza di una sequenza di almeno sei impulsi alti [1]. TPERIOD
  16. A. Esposito, M. Marinello The Universal Serial Bus 16 USB – analisi del protocollo Ogni transazione USB consiste nello scambio di un numero variabile di pacchetti tra i device connessi. Ogni pacchetto USB inizia con una sequenza di sincronizzazione (SYNC), impiegata per allineare i clock tra i due nodi. Seguono otto bit che identificano il tipo di pacchetto (PID). Si distinguono quattro tipi di pacchetti: • Token, contengono direzione della transazione (IN o OUT) e indirizzo del nodo e dell’endpoint; • Data, contengono da 0 a 1024 byte di dati annessi alla transazione; • Handshake, contengono le possibili risposte a seguito di una transazione riuscita (ACK) o fallita (NAK o STALL); • Special, contengono informazioni aggiuntive (ad es. richieste di utilizzare il bus da parte di dispositivi Low Speed). Ogni transazione termina con una sequenza End of Packet (EOP).
  17. A. Esposito, M. Marinello The Universal Serial Bus 17 USB – analisi del protocollo Diverse sequenze di pacchetti sono associate a diversi tipi di trasferimenti sul bus USB. Per avviare una transazione con un device, l’host emette un pacchetto che ne specifica l’indirizzo e un suo endpoint, ovvero una porzione dedicata del device stesso, univocamente identificabile. Si instaura così una pipe, ovvero un’associazione tra host e device che funge da canale di trasferimento dati. Una pipe è sempre unidirezionale e permette un solo tipo di trasferimento tra i quattro possibili: Control, Interrupt, Bulk e Isochronous. Le quattro tipologie differiscono per direzione della transazione, dimensione dei pacchetti, limiti di latenza e gestione degli errori.
  18. A. Esposito, M. Marinello The Universal Serial Bus 18 USB – tipi di trasferimento Control Bulk / Interrupt Isochronous
  19. A. Esposito, M. Marinello The Universal Serial Bus 19 USB contro i suoi avversari RS-232 (serial port) Parallel port Game port Apple Desktop Bus IEEE 1394 (“FireWire”) PS/2 USB Thunderbolt Presentation date 1962 1981 1981 1986 1986 1987 1996 2009 Reversible        (only type-C)  (only v. 3) Hotplug   (usually)  Sometimes  Sometimes   Maximum length 15m 4.5m -unknown- 5m 4.5m 25m 5m (v. 2.0+) 0.5 (40Gbps) 2m (20Gbps) Maximum bitrate 115200 bit/s 200 Mbps 4.8 Mbps 0.125 Mbps 3200 Mbps 0.012 Mbps 40 Gbps 40 Gbps
  20. A. Esposito, M. Marinello The Universal Serial Bus 20 USB – porte e connettori USB 1.1 USB 2.0 USB 3.0+ 1994 2000 2007 2013 2001 OTG 2014 Seguendo le esigenze del mercato e l’avanguardia tecnologica, lo standard USB ha periodicamente rinnovato le porte e i connettori da esso utilizzati, riducendo le dimensioni e migliorando robustezza e versatilità.
  21. A. Esposito, M. Marinello The Universal Serial Bus 21 USB è migliorata col tempo
  22. 22 Grazie dell’attenzione Andrea Esposito Marco Marinello Corso di Computer Systems Architecture Prof. Flavio Vella Anno accademico 2020-21
  23. A. Esposito, M. Marinello The Universal Serial Bus 23 Bibliografia e sitografia ● USB 2.0 Specification https://www.usb.org/document-library/usb-20-specification ● Data transmission – Parallel vs Serial https://www.quantil.com/content-delivery-insights/content- acceleration/data-transmission/ ● USB Hardware – Wikipedia (vector images) https://en.wikipedia.org/wiki/USB_hardware
Publicidad