# Hub USB

Un hub USB è un dispositivo che espande una singola porta USB (Universal Serial Bus) in più porte in modo che, in modo simile ad una presa multipla, siano disponibili più collegamenti USB.

## Caratteristiche

Tutti i dispositivi collegati tramite un hub USB condividono la larghezza di banda disponibile per quell'hub.
Gli hub USB sono spesso integrati in apparecchiature quali custodie di computer, tastiere, monitor o stampanti. Quando un dispositivo di questo tipo ha molte porte USB, di solito derivano tutte da uno o due hub USB interni anziché da ciascuna porta con circuiti USB indipendenti.
Gli hub USB fisicamente separati sono disponibili in un'ampia varietà di varianti: da scatole esterne (sembrano simili ad hub Ethernet), a piccoli elementi che possono essere collegati direttamente ad una porta USB (vedere l'immagine "design compatto"). Gli hub a "cavo corto" in genere utilizzano un cavo integrato da 15 cm per allontanare leggermente un piccolo hub dalla congestione delle porte fisiche e aumentare il numero di porte disponibili.
Quasi tutti i moderni computer portatili sono dotati di limitate porte USB, ma un hub USB esterno può integrare più dispositivi di uso quotidiano (come mouse, tastiera o stampante) e consentire il collegamento e la rimozione di tutti i dispositivi da un singolo punto.
Alcuni hub USB possono supportare l'alimentazione (PD) per caricare la batteria del laptop, se autoalimentati e certificati per farlo, ma possono essere indicati come una semplice docking station a causa della necessità di una sola connessione per caricare la batteria e collegare le periferiche.

## Storia

Subito dopo la nascita dello standard USB nel 1996, è nata l'esigenza di hub USB.
Nel 1998 erano già largamente diffusi nel quotidiano, citati nella documentazione delle più varie periferiche per computer, come nella documentazione ufficiale di stampanti Epson per il sistema operativo Windows 98.
Dal 2012 circa, in seguito alla diffusione di milioni di computer a scheda singola a basso costo sul mercato, come il Raspberry Pi, vi è stato un notevole aumento nella domanda di hub USB alimentati in quanto si trattava dell'unico modo per collegare hard disk esterni o altre periferiche, per evitare problemi di sottotensione.
Nel 2015 l'annuncio della multinazionale Apple Inc. creò un certo clamore, con l'introduzione sul mercato di computer portatili con nessuna porta USB Type-A (quello che allora era il tipo tradizionale) e al suo posto una singola porta TYpe-C, causando un ulteriore incremento nella domanda di hub USB e vari altri adattatori per poter collegare più periferiche o la stessa alimentazione.

## Disposizione fisica

Una rete USB è costituita da hub USB collegati a valle a porte USB, che a loro volta possono derivare da altri hub USB. Gli hub USB possono estendere una rete USB fino a un massimo di 127 porte. La specifica USB richiede che gli hub alimentati dal bus (passivi) non siano collegati in serie ad altri hub alimentati dal bus.
A seconda del fornitore e del design, le porte USB sono spesso ravvicinate. Di conseguenza, il collegamento di un dispositivo a una porta può bloccare fisicamente una porta adiacente, in particolare quando la spina non fa parte di un cavo ma è parte integrante di un dispositivo come un'unità flash USB. Una serie orizzontale di prese può essere facile da fabbricare, ma può rendere utilizzabili solo due porte su quattro (a seconda della larghezza della spina).
Gli array di porte in cui l'orientamento delle stesse è perpendicolare all'orientamento dell'array hanno generalmente meno problemi di blocco. Hub esterni "Octopus" o "Squid" (con ogni presa all'estremità di un cavo molto corto, spesso lungo circa 5 cm) o hub a "stella" (con ogni porta rivolta in una direzione diversa, come nella foto sopra) evitano completamente questo problema.

### Limiti di lunghezza

I cavi USB sono limitati a 3 metri per i dispositivi USB 1.1 a bassa velocità. Un hub può essere utilizzato come ripetitore USB attivo per estendere la lunghezza del cavo fino a 5 metri. I cavi attivi (hub a una porta specializzati con connettori integrati) svolgono la stessa funzione, ma poiché sono rigorosamente alimentati da bus, per alcuni segmenti sarebbero probabilmente necessari hub USB alimentati esternamente.

## Energia

Un hub alimentato dal bus (hub passivo) trae tutta la sua potenza dall'interfaccia host USB del computer e non necessita di una connessione di alimentazione separata. Tuttavia, molti dispositivi richiedono più energia di quella che questo metodo può fornire e non funzioneranno in questo tipo di hub. Potrebbe essere opportuno utilizzare un hub alimentato dal bus con dischi rigidi esterni autoalimentati, poiché il disco rigido potrebbe non rallentare quando il computer si spegne o entra in modalità di sospensione durante l'utilizzo di un hub autoalimentato poiché il controller del disco rigido continuerebbe a vedere una fonte di alimentazione sulle porte USB.
La corrente elettrica di un USB è allocata in unità di 100 mA fino ad un massimo totale di 500 mA per porta. Pertanto, un hub alimentato da bus non può avere più di quattro porte downstream e non può offrire più di quattro unità da100 mA di corrente in totale ai dispositivi a valle (poiché l'hub necessita di un'unità per sé). Se un dispositivo richiede più unità di corrente di quelle che la porta a cui è collegato è in grado di fornire, il sistema operativo di solito lo segnala all'utente.
Al contrario, un hub autoalimentato (hub attivo) prende la sua alimentazione da un alimentatore esterno e può quindi fornire piena potenza (fino a 500 mA] a ogni porta. Molti hub possono funzionare come hub alimentati dal bus o autoalimentati.
Tuttavia, ci sono molti hub non conformi sul mercato che si annunciano all'host come autoalimentati nonostante siano realmente alimentati da bus. Allo stesso modo, ci sono molti dispositivi non conformi che utilizzano più di 100 mA senza annunciare questo fatto. Questi hub e dispositivi consentono una maggiore flessibilità nell'uso dell'alimentazione (in particolare, molti dispositivi utilizzano molto meno di 100 mA e molte porte USB possono fornire più di 500 mA prima di passare allo spegnimento per sovraccarico), ma è probabile che rendano più difficili da diagnosticare i problemi di alimentazione.
Alcuni hub autoalimentati non forniscono energia sufficiente per pilotare 500 mA su ogni porta. Ad esempio, molti hub a sette porte hanno una potenza di alimentazione da 1 A, quando in realtà sette porte potrebbero assorbire un massimo di 7 x 0,5 = 3,5 A, più la potenza per l'hub stesso. I progettisti presumono che l'utente, molto probabilmente, collegherà molti dispositivi a bassa potenza e solo uno o due che richiederanno 500 mA. D'altra parte, la confezione di alcuni hub autoalimentati indica esplicitamente quante delle porte possono gestire un carico completo di 500 mA. Ad esempio, la confezione di un hub a sette porte potrebbe dichiarare di supportare un massimo di quattro dispositivi a pieno carico.
Gli hub ad alimentazione dinamica sono hub che possono funzionare sia come hub alimentati da bus che come hub autoalimentati. Possono passare automaticamente da una modalità all'altra a seconda che sia disponibile o meno un'alimentazione separata. Sebbene il passaggio dal funzionamento con alimentazione da bus a quello con alimentazione autonoma non richieda necessariamente una rinegoziazione immediata con l'host, il passaggio da funzionamento autoalimentato a funzionamento tramite bus può causare il ripristino delle connessioni USB se i dispositivi collegati in precedenza richiedevano più potenza di quella disponibile in bus a modalità alimentata.

## Velocità

Per consentire ai dispositivi ad alta velocità (USB 2.0) di funzionare nella modalità più veloce, tutti gli hub tra i dispositivi e il computer devono essere ad alta velocità. I dispositivi ad alta velocità dovrebbero tornare alla massima velocità (USB 1.1) quando collegati a un hub a piena velocità (o collegati a una porta del computer a piena velocità precedente). Mentre gli hub ad alta velocità possono comunicare a tutte le velocità dei dispositivi, il traffico a bassa e massima velocità viene combinato e separato dal traffico ad alta velocità tramite un traduttore di transazioni. Ogni traduttore di transazioni separa il traffico a velocità inferiore nel proprio pool, creando essenzialmente un bus virtuale a piena velocità. Alcuni progetti utilizzano un singolo traduttore di transazione (STT), mentre altri progetti hanno più traduttori (MTT). Avere più traduttori è un vantaggio significativo quando si collegano più dispositivi ad alta larghezza di banda a piena velocità.
È una considerazione importante che nel linguaggio comune (e spesso nel marketing del prodotto), USB 2.0 è utilizzato come sinonimo di alta velocità. Tuttavia, poiché la specifica USB 2.0, che ha introdotto l'alta velocità, incorpora la specifica USB 1.1 in modo che non sia necessario che un dispositivo USB 2.0 funzioni ad alta velocità, qualsiasi dispositivo conforme a piena velocità o bassa velocità può ancora essere etichettato come un dispositivo USB 2.0. Pertanto, non tutti gli hub USB 2.0 funzionano ad alta velocità.
USB 3.0 è la terza versione principale dello standard Universal Serial Bus (USB) per l'interfacciamento di computer e dispositivi elettronici. Tra gli altri miglioramenti, l'USB 3.0 aggiunge la nuova velocità di trasferimento denominata SuperSpeed USB (SS) che può trasferire dati fino a 5 Gbit/s (625 MB/s), che è circa 10 volte più veloce dello standard USB 2.0. Si consiglia ai produttori di distinguere i connettori USB 3.0 dalle loro controparti USB 2.0 utilizzando il blu (Pantone 300C) per le prese e le spine Standard-A, e con le iniziali SS.
USB 3.1, messo in commercio nel luglio 2013, è lo standard successivo che sostituisce lo standard USB 3.0. Preserva la velocità di trasferimento SuperSpeed esistente, dandogli la nuova etichetta USB 3.1 Gen 1, definendo una nuova modalità di trasferimento SuperSpeed+ , chiamata USB 3.1 Gen 2, che può trasferire dati fino a 10 Gbit/s sui connettori USB di tipo A e USB-C esistenti (1250 MB/s, il doppio della velocità di USB 3.0).
USB 3.2, commercializzato dal settembre 2017, sostituisce lo standard USB 3.1. Conserva le modalità dati USB 3.1 SuperSpeed e SuperSpeed+ esistenti e introduce due nuove modalità di trasferimento SuperSpeed+ tramite il connettore USB-C utilizzando il funzionamento a due corsie, con velocità dati di 10 e 20 Gbit/s (1250 e 2500 MB/s).

## Protocollo

Ogni hub ha esattamente una porta upstream e un certo numero di porte downstream. La porta upstream collega l'hub (direttamente o tramite altri hub) all'host. Altri hub o dispositivi possono essere collegati alle porte downstream. Durante la normale trasmissione, gli hub sono essenzialmente trasparenti: i dati ricevuti dalla loro porta upstream vengono trasmessi a tutti i dispositivi collegati alle loro porte downstream. I dati ricevuti da una porta downstream vengono generalmente inoltrati solo alla porta upstream. In questo modo, ciò che viene inviato dall'host viene ricevuto da tutti gli hub e i dispositivi e ciò che viene inviato da un dispositivo viene ricevuto dall'host ma non dagli altri dispositivi (un'eccezione è la segnalazione di ripristino). Il routing downstream è stato modificato in USB 3.0 con l'aggiunta del routing Point to Point: una stringa di route inviata nell'intestazione del pacchetto consente a un host USB 3.0 di inviare un pacchetto downstream solo a una singola porta di destinazione, riducendo la congestione e il consumo energetico.
Gli hub non sono trasparenti quando si tratta di cambiamenti nello stato delle porte downstream, come l'inserimento o la rimozione di dispositivi. In particolare, se una porta a valle di un hub cambia stato, tale cambiamento viene affrontato in un'interazione tra l'host e questo hub; con qualsiasi hub tra l'host e "hub modificato" che agisce come trasparente.
A tal fine, ogni hub dispone di un unico endpoint di interrupt "1 IN" (indirizzo endpoint 1, direzione hub-host) utilizzato per segnalare cambiamenti nello stato delle porte downstream. Quando qualcuno collega un dispositivo, l'hub rileva la tensione su D+ o D- e segnala l'inserimento all'host tramite questo endpoint di interrupt. Quando l'host esegue il polling di questo endpoint di interruzione, apprende che il nuovo dispositivo è presente. Quindi indica all'hub (tramite la "pipe" di controllo predefinita) di ripristinare la porta in cui è stato collegato il nuovo dispositivo. Questo ripristino fa assumere al nuovo dispositivo l'indirizzo 0 e l'host può quindi interagire direttamente con esso; questa interazione farà sì che l'host assegni un nuovo indirizzo (diverso da zero) al dispositivo.

## Traduttore di transazioni

Qualsiasi hub USB 2.0 che supporti uno standard superiore a USB 1.1 (12 Mbit/s) tradurrà tra lo standard inferiore e lo standard superiore utilizzando quello che viene chiamato un traduttore di transazioni (TT). Ad esempio, se un dispositivo USB 1.1 è collegato a una porta su un hub USB 2.0, il TT riconoscerà e tradurrà automaticamente i segnali USB 1.1 in USB 2.0 sull'uplink. Tuttavia, il design predefinito è che tutti i dispositivi di standard inferiore condividano lo stesso traduttore di transazioni e quindi creano un collo di bottiglia, una configurazione nota come traduttore di transazione singola . Di conseguenza, sono stati creati traduttori di transazioni multiple' (Multi-TT), che forniscono più traduttori di transazioni in modo da evitare i colli di bottiglia. Si noti che gli hub USB 3.0 attualmente non eseguono la traduzione delle transazioni a super-velocità per dispositivi USB 2.0.

## Progettazione elettronica

La maggior parte degli hub USB utilizza uno o più controller integrati (IC), di cui sono disponibili diversi modelli di vari produttori. La maggior parte supporta un sistema hub a quattro porte, ma nel settore sono disponibili anche hub che utilizzano controller hub a 16 porte. Il bus USB consente sette livelli di porte in cascata. L'hub principale è il primo livello e gli ultimi dispositivi sono al settimo livello, consentendo 5 livelli di hub tra di loro. Il numero massimo di dispositivi utente viene ridotto del numero di hub. Con 50 hub collegati, il numero massimo è 127 − 50 = 77.

## Hub inversi o di condivisione (KVM)

Sono disponibili anche "hub di condivisione", che sono effettivamente l'inverso di un hub USB, consentendo a più PC di accedere (di solito) a una singola periferica. Possono essere manuali, in pratica un semplice switch-box, o automatici, incorporando un meccanismo che riconosce quale computer desidera utilizzare la periferica e commuta di conseguenza. Non possono concedere più di un accesso al PC contemporaneamente. Alcuni modelli, tuttavia, hanno la possibilità di controllare più periferiche separatamente (es. due PC e quattro periferiche, assegnando l'accesso separatamente). Gli switch più semplici tendono ad essere automatici e questa funzione generalmente li colloca anche a un prezzo più alto. I moderni switch "tastiera, video e mouse" (KVM) possono spesso condividere dispositivi USB tra più computer.