USB Type-C: Specifiche tecniche e protocolli

  • Hardware
preview usb c

La USB Type-c negli ultimi anni ha ottenuto una diffusione sempre maggiore. Diventano lo standard per smartphone di nuova generazione (iPhone escluso) e mostrando vantaggi anche su PC, tablet e convertibili.

Nonostante gli importanti miglioramenti ha attirato diverse critiche da parte degli utenti. Vediamo cosa ha portato alla creazione e alla diffusione di questo nuovo formato di porta.

Premessa:  Standard precedente

Le usb sono porte seriali che fino alla versione 2.0 prevedono l’utilizzo di un singolo canale dati half-duplex (assimilabile ad un senso unico alternato). La comunicazione è controllata da un protocollo master-slave tra i 2 dispositivi.

Per identificare il ruolo del dispositivo, la porta è differenziata in 2 diverse tipologie. La type-A che è generalmente utilizzata sul dispositivo principale, detto host (master) e la type-B dedicata a dispositivi secondari o periferiche (slave).

La costante diminuzione della dimensione dei dispositivi ha richiesto la creazione di versioni ridotte che hanno costituito poi lo standard mini-USB e micro-USB. Sono praticamente inutilizzati in tipologia A ma particolarmente diffusi per la B. In particolar modo la micro-USB B che è diventata lo standard imposto dall’unione europea per la ricarica di dispositivi mobili.

3.0

Con la maggiore richiesta di prestazioni nel 2008 è nata la versione 3.0 del protocollo.

Le nuove porte utilizzano 5 pin aggiuntivi che aggiungono 2 canali dati extra: uno in ricezione e uno in trasmissione. Portando così il protocollo da half-duplex a full-duplex: quindi con una comunicazione totalmente bidirezionale.

Questo in teoria permette di avere un protocollo meno rigido e non strettamente controllato da un host. Anche se per problemi di retrocompatibilità viene mantenuta una linea bidirezionale, che viene utilizzata in ogni caso per stabilire la connessione.

Tutte le porte sono state aggiornate al nuovo standard, mantenendo la retrocompatibilità con i formati precedenti. Fatta eccezione per la mini-USB che era già stata precedentemente abbandonata.

I connettori dei cavi rimangono retrocompatibili solo per le type-A; i nuovi cavi 3.0 non possono essere usati su dispositivi con type-B 2.0.

OTG

Le versioni ridotte dispongono di un pin aggiuntivo che permette di decidere arbitrariamente quale dispositivo farà da host durante la comunicazione.

Introducendo la tecnologia OTG (On-The-Go) che permette a dispositivi come smartphone e tablet di utilizzare periferiche esterne.

Per far in modo che si comporti come host bisogna collegare il pin ID (4) a GND.

Introduzione USB Type-C

Il sempre maggiore utilizzo di dispositivi mobili che si comportano arbitrariamente da master o da slave, in base alle necessità, ha reso obsoleta la distinzione tra A e B.

Si può ricercare una motivazione aggiuntiva nel fatto che con la versione 3.1 la comunicazione diventa totalmente bidirezionale.

Design

Il connettore presenta una forma rinnovata, rettangolare con i bordi stondati e per la prima volta reversibile. I pin sono disposti su due file da 12 e sono polarizzati. Pertanto, anche se può essere inserita in entrambe le direzioni, a livello hardware il collegamento non è del tutto indifferente.

Il design è stato criticato principalmente per la mancata retrocompatibilità, che rende necessario l’utilizzo di adattatori, almeno in un primo momento. Ma anche per la fragilità: il connettore presenta un sottile elemento centrale, contenente tutti i pin, considerato troppo delicato dai detrattori. Anche se in realtà è garantito per 10.000 inserimenti, contro i 1500 del tipo A.

Hardware

Il nuovo connettore presenta 24 pin disposti su due file A e B numerate in modo speculare.

  • Nella parte centrale si trovano i pin del bus dati 2.0:
    • D+ (A6, B6)
    • D- (A7, B7)
  • Tutti e 4 i pin più esterni sono dedicati al ground:
    • GND (A1, B1, A12, B12)
  • sono presenti anche 4 pin di potenza:
    • Vbus (A4, B4, A9, B9)

Come si può notare tutti questi pin sono perfettamente speculari (non polarizzati). Permettendo così un collegamento diretto con protocollo 2.0 indipendentemente dall’orientamento del connettore. I restanti 12 presentano cablaggi differenti dai 2 lati.

  • due canali di trasmissione dati ad alta velocità
    • SSTXp1 (A2)
    • SSTXn1 (A2)
    • SSTXp2 (B2)
    • SSTXn2 (B2)
  • E due canali di ricezione ad alta velocità
    • SSRXp1 (B11)
    • SSRXn1 (B10)
    • SSRXp2 (A11)
    • SSRXn2 (A10)
  • Un bus aggiuntivo per protocolli differenti, definito side-bus
    • SBU1 (A9)
    • SBU2 (B9)
  • Un canale di configurazione
    • CC1 (A5)
    • CC2 – Vconn (B5)

Alimentazione

USB Type-C utilizza di default 5v, come le precedenti generazione e i cavi devono supportare almeno 3A.

Nella definizione 3.1 sono state inglobate e aggiornate le specifiche USB PD (Power Delivery).

Con i cavi adatti sono supportati 4 differenti livelli di tensione: 5V, 9V, 15V e 20V e permettono una potenza arbitraria tra 0,5W e 100W. Da 5V, 500mA a 20V, 5A.

I 2 dispositivi e il cavo (con 3.1 il cavo è attivo. concetto approfondito in seguito) comunicano attraverso il canale di configurazione per stabilire tensione e potenza ottimale.

Sono inoltre disponibili standard proprietari per permettere la carica rapida (QuickCharge, DashCharge)

Protocollo

Usb non è l’unico protocollo supportato da questo connettore. Nelle fasi preliminari di comunicazione possono essere specificate anche modalità alternative (alt mode), che ne estendono notevolmente le possibilità.

Generalmente la presenza di tale modalità è comunicata attraverso il canale di configurazione (CC1 e CC2).

USB 2.0

La USB Type C permette l’utilizzo diretto del protocollo 2.0, con un qualsiasi cavo che colleghi almeno D+, D-, Vbus e GND.

Il connettore in questo caso risulta completamente reversibile ed utilizzabile da entrambi i lati senza configurazioni.

Questa configurazione permette di attivare la modalità OTG via hardware, come per la micro-usb. In questo caso anche se manca il pin ID, basta collegare a GND uno dei due CC, assicurandosi di usare una resistenza da 5kΩ.

USB 3.1

USB Type C è nata insieme alla versione 3.1, che definisce anche la tipologia di cavi, detti type-c completi.

3.1 ingloba lo standard precedente, ora detto 3.1 gen1, che permette di raggiungere velocità di 5gb/s, utilizzando i vecchi controller 3.0. Mentre con i nuovi controller gen2 permette di raggiungere la velocità di 10gb/s usando solo 2 dei 4 canali ad altà velocità. Rimanendo perfettamente compatibile con i connettori Type-A.

Di default, l’host viene stabilito casualmente ma può anche essere cambiato arbitrariamente dal software. 

I cavi type-c completi, definiti dallo standard 3.1, contengono un chip di riconoscimento che comunica tramite il canale di configurazione (CC1 e CC2). È in grado di fornire diverse informazioni: prodotto, fornitore, connettori, protocollo (2.0, gen1, gen2, alt mode), alimentazione e versione firmware.

USB 3.2

A luglio 2017 USB-IF ha presentato il nuovo standard, compatibile esclusivamente con cavi Type-C to Type-C. In questa configurazione è possibile raddoppiare la larghezza di banda, e raggiungere fino a 20gb/s, utilizzando tutti gli 8 cavi dati ad alta velocità.

la connessione può essere impostata su 4 modalità differenti:

  • 3.2 Gen 1×1 (analoga a 3.1 gen 1 e 3.0) che raggiunge 5gb/s usando 2canali (uno tx e uno rx). 
  • 3.2 Gen 1×2 Che raddoppia la banda della precedente modalità usando 4 canali  (due tx e due rx) , permettendo quindi 10gb/s.
  • 3.2 Gen 2×1 (analoga a 3.1 gen 2) che raggiunge 10gb/s usando 2 canali  (uno tx e uno rx) .
  • 3.2 Gen 2×2 Che raddoppia la banda della precedente modalità usando 4 canali  (due tx e due rx) , permettendo quindi 20gb/s.

È compatibile con windows 10 e con il kernel linux 4.18

Thunderbolt 3

Thunderbolt è un protocollo progettato da Intel in collaborazione con Apple, studiato per fornire connessioni ad alte prestazioni. Si interfaccia direttamente con le linee PCI-e per fornire alta bandwidth e bassa latenza.

In questo caso sfrutta tutti e 4 i canali SuperSpeed della type-c per fornire prestazioni fino a 40gb/s. Permettendo di portare esternamente la piena banda di 4 linee PCI-e 3.0 (circa 32gb/s).

È compatibile con il protocollo DisplayPort ed è possibile utilizzare entrambi i protocolli in modalità alternativa contemporaneamente.

Può essere utilizzato per collegare vari dispositivi ad alte prestazioni e monitor, anche in cascata. Supporta gli IP, quindi può essere usato per connessioni di rete e può anche gestire GPU esterne.

L’unico problema è che è un protocollo proprietario utilizzabile sotto licenza e quindi non gode di una buona diffusione. Anche se dal 2018 è diventato royalty-free. Inoltre visto che utilizza direttamente PCI-e, può esporre il pc a sofisticati malware che agiscono a basso livello.

Modalità alternativa HDMI

HDMI licensing ha annunciato un nuovo standard di cavi che permette il collegamento diretto usb type-c to HDMI. Supporta una vasta gamma di funzionalità HDMI 1.4b, quali: 4k, 3D, Ethernet over HDMI, deep color, audio return channel e CEC (consumer electronic control). Manca però il supporto a HDR (high dynamic range).

La comunicazione viene gestita direttamente dal dispositivo host e il cavo non necessita di chip o hardware particolari.

Modalità alternativa Audio

Le USB Type C supportano il collegamento per periferiche audio sia in modalità analogica che digitale, con audio stereo e microfono.

Per la modalità analogica viene usato il canale 2.0 per l’audio out (D+, D- per Left, Right) e i due pin del side-bus per mic e gnd.

Le periferiche dotate di usb C devono obbligatoriamente supportare anche la modalità digitale.