emUSB-C PD

emUSB-C PD trasforma il cavo in una connessione intelligente, consentendo il rilevamento del tipo di dispositivo collegato, le capacità di alimentazione, il software USB Host/Device e altro ancora. Con la libreria emUSB-C PD di SEGGER, le applicazioni embedded possono gestire facilmente una porta USB-C su qualsiasi dispositivo embedded con un controller USB PD. emUSB-C PD può essere utilizzato in combinazione con emUSB-Host e/o emUSB-Device. Può anche essere utilizzato senza uno stack USB per dispositivi che utilizzano semplicemente USB-C come fonte di alimentazione o per caricare una batteria dedicata.

USB Type-C (in breve: USB-C) è un formato di connettore USB a 24 pin bidirezionale che consente la trasmissione sia di dati che di alimentazione su un singolo cavo. Questo nuovo standard industriale si distingue dai precedenti tipi A e B per il suo formato compatto e il cavo reversibile. In termini di funzionalità, USB-C consente anche alle alimentatori di caricare o alimentare dispositivi (ad esempio smartphone, monitor). È più resistente di Micro-B in quanto può sfruttare appieno tensioni e correnti più elevate fino a 48V 5A (240W) e velocità di trasferimento massime di 10 Gbps (Superspeed+).

Caratteristiche principali

Rilevamento della connessione del dispositivo su connettori USB Type-C
Rilevamento della fonte/pozzo di alimentazione
Rilevamento del ruolo dei dati USB host/dispositivo
Segnalazione della batteria scarica (se supportata dall’hardware)
Negoziazione dinamica dell’alimentazione fino a 20V 3A
Utilizzo di caricatori con tensione di alimentazione variabile
Codice sorgente ISO/ANSI C
Configurazione semplice
Configurabile per un’impronta di memoria minima
API molto semplice

Risorse

Function Codice bytes RAM bytes
USB-C OTG (on the go) 1400 220
USB-C PD (power delivery) 5100 450
USB-C OTG (sink only) 1000 220
USB-C PD (sink only) 3800 450
USB-C OTG (source only) 1000 220
USB-C PD (source only) 3300 450

Scambio di ruolo

Una caratteristica chiave di emUSB-C PD è il supporto dello scambio di ruolo. Per impostazione predefinita, l’host USB è sempre la fonte di alimentazione e un dispositivo è sempre il pozzo di alimentazione. Utilizzando gli scambi di ruolo, un host può essere un pozzo di alimentazione e un dispositivo USB collegato può essere la fonte di alimentazione.

Scambio rapido di ruolo (FRS)

La funzione di scambio rapido di ruolo (FRS) consente gli scambi di ruolo durante il funzionamento in corso di un dispositivo. È destinato a fornire alimentazione ininterrotta sulla connessione USB. Questo potrebbe essere il caso se un dispositivo alimentato a batteria funziona come sorgente, ma ha esaurito la sua alimentazione, o se un dispositivo alimentato dalla rete perde l’alimentazione dalla rete. Ora il dispositivo interessato può segnalare al dispositivo partner che richiede immediatamente alimentazione per evitare di perdere le connessioni e con esso qualsiasi trasmissione in corso. Questo viene gestito tramite lo scambio rapido di ruolo.

Casi d’uso

USB-C ha linee aggiuntive e può trasmettere più potenza rispetto alle precedenti connessioni USB. Anche per le applicazioni ad alto consumo energetico, il cavo USB può trasmettere abbastanza potenza dalla sorgente. Ciò apre casi d’uso specifici, principalmente relativi a diversi modelli per fornire alimentazione, e aiuta gli sviluppatori di sistemi embedded a soddisfare il requisito di un mandato dell’UE. Secondo la nuova Direttiva dell’UE sui caricatori comuni (Direttiva 2014/53/UE sulle apparecchiature radiofoniche), tutte le apparecchiature elettroniche che utilizzano la tecnologia di ricarica cablata devono essere alimentate tramite cavo USB-C.

Evita la perdita improvvisa di alimentazione

Quando un dispositivo alimentato regolarmente a batteria è collegato a un altro dispositivo, potrebbe spegnere il proprio pacco batteria e prelevare l’alimentazione dal dispositivo collegato per ridurre il consumo delle batterie. Oppure, una volta che le batterie iniziano a esaurirsi, può chiedere all’altro dispositivo di fornire alimentazione evitando una perdita improvvisa di connessione.

Dispositivi con batterie ricaricabili

Con USB tradizionale, la potenza è limitata a 5V e 500mA, con 1.5A come miglior caso scenario con rilevamento del caricatore. Questo raramente fornisce abbastanza potenza per caricare in modo affidabile una batteria e, quando lo fa, richiede sicuramente molto tempo. Con USB-C, la connessione può essere utilizzata per trasmettere tensioni e correnti più elevate. Per raggiungere questo obiettivo, il protocollo USB-C PD viene utilizzato per interrogare le capacità del cavo e richiedere alimentazione al dispositivo di origine.

Specifiche tecniche

emUSB-C PD è una libreria software per applicazioni embedded che supporta pienamente l’implementazione del protocollo di consegna dell’alimentazione di USB-C. È composto da due livelli: lo stack di protocollo emUSB-C PD indipendente dal dispositivo e un driver per gestire lo specifico hardware target. I driver sono disponibili per diversi controller hardware target.

Entrambi i livelli sono divisi in due moduli funzionali: il modulo base che fornisce l’API per l’applicazione e gestisce il rilevamento statico dei pin CC, e il modulo PD che è responsabile della comunicazione dei pacchetti di consegna dell’alimentazione. L’API emUSB-C PD può anche essere utilizzata in combinazione con un driver OTG legacy per implementare la funzionalità OTG su un dispositivo senza connettore USB-C.

Funzioni dei pin

Il connettore USB-C ha 24 pin. Il connettore USB-C viene principalmente utilizzato per controllare i pin CC aggiuntivi CC1 e CC2. Questi sono i pin di configurazione del canale che vengono utilizzati per determinare l’allineamento del cavo, la distribuzione dei ruoli e il controllo della porta.