Come aumentare rapidamente il trasferimento di potenza da dispositivi USB-C a 100 W con una programmazione minima
Contributo di Editori europei di DigiKey
2023-08-10
Con la crescente diffusione delle porte Universal Serial Bus Type-C (USB-C), molti utenti le sfruttano per fornire livelli sempre più elevati di potenza elettrica a un'ampia gamma di dispositivi connessi. Tuttavia, le specifiche USB-C limitano l'alimentazione di base di un dispositivo "solo Type-C" a un massimo di 15 W (5 V, 3 A).
Per superare questa limitazione, i progettisti possono aggiungere USB Power Delivery (PD) e creare un dispositivo PD Type-C in grado di erogare fino a 100 W (20 V, 5 A) nell'intervallo di potenza standard (SPR). Ora, invece di programmare faticosamente il protocollo USB PD completo, gli sviluppatori possono configurare facilmente un controller PD di serie e aggiungere funzionalità PD personalizzate e ottimizzate ai caricabatterie c.a./c.c. e alle porte USB controllate in corrente.
Questo articolo offre una panoramica dei requisiti fondamentali dei sistemi PD. Presenta quindi il controller PD FUSB15101MNTWG di onsemi e mostra come iniziare rapidamente a configurare il firmware pre-programmato del controller utilizzando schede di valutazione, software di sviluppo, schede di programmazione/debug e un analizzatore di protocollo PD.
Convertitore a commutazione con regolazione di potenza controllata da protocollo
Un tempo i caricabatterie analogici da parete per i dispositivi alimentati a batteria erano costituiti da due soli componenti: un trasformatore e un raddrizzatore. Ora, la necessità di una maggiore efficienza, di una maggiore flessibilità e di una continua miniaturizzazione si sono combinate per rendere complessa l'alimentazione anche di semplici dispositivi elettronici. Gli attuali convertitori a commutazione basati su microcontroller devono ora negoziare dinamicamente la loro potenza di uscita con i carichi intelligenti collegati tramite un protocollo complesso.
USB PD è uno di questi protocolli. Nella versione 3.1, coordina fino a 240 W di potenza elettrica di linea tramite un cavo di connessione intelligente USB Type-C Electronically Marked Cable Assembly (EMCA), mantenendo al contempo la retrocompatibilità con gli standard USB precedenti. Tuttavia, il controllo della trasmissione dinamica dell'alimentazione PD tramite il connettore USB-C a 24 pin va ben oltre le tensioni di controllo statiche sulle linee dati della classica interfaccia USB a quattro fili.
Un dispositivo USB PD può funzionare come fonte di alimentazione di una porta downstream (DFP), come consumatore di energia (o "drain") di una porta upstream (UFP) o in modalità Dual Role Port (DRP). Un dispositivo sorgente PD commuta internamente resistori pull-up su due linee di controllo (CC1 e CC2); un dispositivo drain PD si identifica tramite resistori pull-down interni.
Le due linee CC sono utilizzate simultaneamente per trasmettere messaggi PD di lunghezza fino a 356 bit a una velocità di clock di 300 kHz (Figura 1). Brevi messaggi di controllo coordinano il flusso tra due partner della porta, mentre messaggi di dati più lunghi servono per negoziare l'alimentazione e controllare l'autotest integrato (BIST) o trasmettere contenuti specifici dell'OEM.
Figura 1: La struttura di un messaggio PD può arrivare dinamicamente fino a 356 bit di lunghezza. (Immagine per gentile concessione di Cypress Semiconductor, via embedded.com)
Negoziazione della potenza tra dispositivi PD
SPR USB PD 3.0 definisce diversi livelli di tensione fissi tra 5 e 20 V e supporta solo profili di potenza statica fino a 100 W. Utilizzando l'estensione PPS (alimentatore programmabile), un dispositivo drain USB può richiedere in tempo reale una tensione dalla sorgente di alimentazione USB compresa tra 3 e 21 V con incrementi di 20 mV, in funzione delle proprie esigenze.
Il PPS semplifica quindi l'elettronica di commutazione del convertitore nel dispositivo mobile, riduce la dissipazione di calore e accelera la ricarica ottimizzando l'adattamento di potenza. USB PD 3.1 definisce un intervallo di potenza esteso (EPR) fino a un massimo di 240 W e utilizza un alimentatore a tensione regolabile (AVS) per regolare la tensione del bus in un intervallo superiore compreso tra 15 e 48 V.
Poiché 3 A superano già la capacità di trasporto di corrente dei normali cavi USB, l'USB Implementers Forum (USB-IF) prevede l'utilizzo di cavi EMCA speciali. Sono caratterizzati da sezioni di filo e isolante più spessi. I chip E-Marker nelle spine dei cavi confermano queste caratteristiche rinforzate del cavo che utilizza il protocollo PD. In questo modo, influenzano la negoziazione di potenza tra il dispositivo source e drain.
La comunicazione PD utilizza speciali codici K per delineare i messaggi. La speciale sequenza del codice K che indica l'inizio di una sequenza è chiamata SOP (inizio pacchetto). Sono definite tre sequenze: SOP, SOP' e SOP'', in modo che un DFP (una fonte di alimentazione come una scheda di rete PD) possa comunicare come iniziatore con uno dei due chip E-Marker nei connettori del cavo EMCA e con l'UFP (alimentatore USB).
Il diagramma di flusso della Figura 2 mostra lo scambio di messaggi durante una negoziazione di potenza riuscita tra due dispositivi PD collegati tramite un cavo EMCA.
Figura 2: Qui viene mostrato il buon esito della negoziazione dell'alimentazione tra due dispositivi USB PD su un cavo EMCA. Nota: Rqt = Richiesta; Ack = Riscontro positivo. (Immagine per gentile concessione di Cypress Semiconductor, via embedded.com)
Configurare, non programmare
La complessità del protocollo PD si traduce in un esercizio di programmazione minuzioso per lo sviluppatore. Un approccio più rapido consiste nel configurare un controller USB PD pre-programmato con funzioni personalizzate. Un esempio di questo tipo di controller è FUSB15101MNTWG di onsemi. Si tratta di un controller USB PD 3.1 altamente integrato che può controllare il regolatore a commutazione sul lato primario di un adattatore c.a./c.c. tramite un optoaccoppiatore o controllare direttamente un regolatore di corrente della porta c.c./c.c.
Questa soluzione completa riduce al minimo la complessità del circuito grazie a periferiche hardware ottimizzate, tra cui i convertitori digitale/analogico e analogico/digitale, il rilevamento della temperatura NTC e i gate driver NMOS. Il firmware open-source con un'interfaccia di programmazione delle applicazioni (API) e l'ambiente di sviluppo integrato (IDE) basato su Eclipse facilitano la programmazione.
FUSB15101 integra un processore ARM® Cortex® M0+ ad alta efficienza con un'interfaccia UART e supporta la specifica PPS, regolando la tensione di uscita da 3,3 a 21 V. Offre la regolazione programmabile a tensione costante (CV) e corrente costante (CC) e compensa le perdite dei cavi. Sono inoltre disponibili funzioni di protezione da sovratensione, sottotensione, sovracorrente e sovratemperatura, oltre a diodi di protezione da sovratensione sui pin del connettore USB-C. Il controller PD supporta l'alimentazione VCONN per i chip E-Marker nei cavi EMCA, mentre le modalità a riposo inattivo e di sospensione soddisfano i requisiti del Certificato di conformità (CoC) e del Disegno sperimentale (DoE).
Le applicazioni tipiche comprendono:
- Adattatore c.a./c.c. conforme a USB PD (vedere l'applicazione 1)
- Porte c.c./c.c. conformi a USB PD (vedere l'applicazione 2)
Applicazione 1: alimentatore a commutazione c.a./c.c. con uscita USB PD
In questa applicazione, il controller USB PD FUSB15101 controlla il regolatore a commutazione flyback quasi risonante (QR) NCP1345Q02D1R2G sul lato primario di un alimentatore a commutazione c.a./c.c. tramite un optoaccoppiatore. NCP1345 funziona con una tensione da 9 a 38 V proveniente da un avvolgimento ausiliario del trasformatore e utilizza un secondo avvolgimento ausiliario per generare una tensione quattro volte superiore al fine di fornire una tensione di commutazione sufficiente per un MOSFET a basse tensioni di uscita USB di 3,3 V. Sul lato secondario, il controller NCP4307AASNT1G controlla il raddrizzamento sincrono. Combinando i tre CI si ottiene un alimentatore "a ingranaggi" che raggiunge costantemente un'efficienza del 90% circa nei diversi profili di potenza PD.
La Figura 3 mostra lo schema del circuito principale di un caricatore di rete USB-C PD 3.0 PPS basato sui tre CI che erogano 65 W (20 V/3,25 A).
Figura 3: In questa soluzione per caricabatterie da parete USB PD, FUSB15101 controlla il regolatore a commutazione flyback NCP1345 QR sul lato primario dell'alimentatore a commutazione c.a./c.c. tramite un optoaccoppiatore. (Immagine per gentile concessione di onsemi)
Il programmatore può avviare la propria applicazione di alimentazione USB PD utilizzando la scheda di valutazione NCP1342PD65WGEVB di onsemi, illustrata nella Figura 4.
Figura 4: Utilizzando la scheda di valutazione del caricatore da parete USB-C PD 3.0 NCP1342PD65WGEVB, il programmatore può iniziare subito a lavorare. (Immagine per gentile concessione di onsemi)
La bobina di immagazzinaggio di questa scheda, sotto forma di un trasformatore RM8 compatto, fornisce 60 W (20 V/3 A) di potenza in uscita. Il regolatore a commutazione flyback quasi risonante NCP1342BMDCDD1R2G funziona da 9 a 28 V da un solo avvolgimento ausiliario. Adatto allo sviluppo di convertitori di potenza offline ad alte prestazioni e di schede USB PD, è dotato di un sistema di rapido foldback della frequenza (RFF) per migliorare l'efficienza in tutto l'intervallo di carico. Un condensatore di scarica X2 attivo integrato elimina la necessità di resistori di scarica e assicura un consumo energetico inferiore a 40 mW a vuoto.
Applicazione 2: controller di corrente c.c./c.c. per una porta USB PD
In questa applicazione, il controller USB PD FUSB15101 pilota il controller del convertitore c.c./c.c. a quattro stadi buck/boost, step-up/down NCV81599MWTXG. Ciò consente di espandere una porta USB-C, altrimenti limitata a 15 W, a una fonte di alimentazione PD che fornisce più di 60 W ed è alimentata dall'alimentatore c.c. interno del dispositivo o da una batteria (Figura 5).
Figura 5: In questa applicazione di controllo della corrente della porta c.c./c.c., FUSB15101 controlla direttamente il controller del convertitore c.c./c.c. a quattro stadi NCV81599. (Immagine per gentile concessione di onsemi)
Gli sviluppatori possono risparmiare tempo e iniziare subito a testare e programmare NCV81599 utilizzando la scheda di valutazione FUSB3307MPX-PPS-GEVB. Questo circuito regolatore di corrente c.c./c.c. converte una porta USB in una sorgente di corrente PD 3.0 PPS, che eroga fino a 5 A con tensioni del bus da 3,3 a 21 V (Figura 6). Il circuito è in grado di rilevare i cavi E-Marker e può essere utilizzato autonomamente o collegato a un'apparecchiatura di test.
Figura 6: FUSB3307MPX-PPS-GEVB è una scheda di valutazione per NCV81599 che trasforma le porte USB in una fonte di alimentazione PD 3.0 PPS. (Immagine per gentile concessione di onsemi)
Un alimentatore c.c. o una batteria alimentano l'ingresso VBAT della scheda FUSB3307 con una tensione compresa tra 4,5 e 32 V. Il circuito gestisce la regolazione a tensione costante (CV) o a corrente costante (CC) ed è dotato di protezione contro le condizioni di sovratensione, sottotensione, cortocircuito, sovratemperatura e guasto del cavo.
Programmazione di FUSB15101
Il firmware FUSB15010 è un driver del controller PD Type-C altamente ottimizzato che supporta il processore ARM Cortex M0+ integrato. Il firmware ha la flessibilità necessaria per gestire i nuovi messaggi PD e i flussi di stato Type-C aggiuntivi. Il codice è organizzato in modo modulare, separando il codice sorgente dell'applicazione, il livello di astrazione dell'hardware, il codice dipendente dalla piattaforma e le funzioni principali di USB Type-C PD.
Le funzioni principali di PD sono configurabili tramite le opzioni di compilazione del progetto o modificando il file informativo del fornitore "vif_info.h". La base di codice include un progetto di esempio per Eclipse che può essere compilato con l'IDE, per un avvio più rapido ai fini della valutazione del controller standalone Type-C PD.
La Tabella 1 riassume i profili PD supportati da FUSB15101; PDO è l'oggetto di distribuzione dell'energia elettrica.
|
Tabella 1: I profili PD supportati da FUSB15101. (Tabella per gentile concessione di onsemi)
Come già detto, i parametri di un profilo di carica possono essere modificati molto facilmente nel file "vif_info.h". Il codice seguente mostra come modificare la corrente massima nel PDO 4 da 20 V/3 A a 20 V/3,25 A:
Valori PDO attuali:
#define PORT_A_SRC_PDO_VOLTAGE_4 400 // 20000 mV
#define PORT_A_SRC_PDO_MAX_CURRENT_4 300 // 3.00 A
Nuovi valori PDO:
#define PORT_A_SRC_PDO_VOLTAGE_4 400 // 20000 mV
#define PORT_A_SRC_PDO_MAX_CURRENT_4 325 // 3.25 A
Ulteriori dettagli e istruzioni per l'installazione dell'IDE, l'importazione del firmware e la compilazione del file binario sono disponibili nella guida FUSB15101EVBSPG.
L'installazione degli strumenti di programmazione e la procedura flash OTP sono descritte nel manuale d'uso del dispositivo UM70086-D. Una scheda di programmazione e debug ARM Cortex-M adatta per facilitare lo sviluppo è il modello J-LINK EDU MINI 8.08.91 di Segger Microcontroller Systems.
Verifica della comunicazione PD
Per verificare la comunicazione tra due dispositivi USB PD, gli sviluppatori possono usare l'analizzatore di protocollo CY4500 di Infineon Technologies, che supporta le specifiche USB PD 3.0 e USB-C. Esegue test non intrusivi e registra messaggi di protocollo accurati sulle linee CC. Il software di analisi EZ-PD associato elenca in dettaglio tutti i messaggi di un dialogo tra due dispositivi PD USB e un cavo EMCA (Figura 7).
Figura 7: Il software di analisi EZ-PD registra il dialogo tra due dispositivi USB PD sulle linee CC. (Immagine per gentile concessione di Infineon Technologies)
Conclusione
Sebbene sia importante comprendere le basi del protocollo USB PD per adattare i progetti alle crescenti esigenze di alimentazione dei dispositivi degli utenti finali, si tratta di un protocollo complesso che può richiedere parecchia programmazione. Per risparmiare tempo, gli sviluppatori possono utilizzare controller USB PD pre-programmati e altamente integrati per aumentare la potenza USB-C di 15 W a oltre 100 W. I caricabatterie c.a./c.c. USB e le porte c.c./c.c. USB possono essere potenziati con funzionalità PD personalizzate, semplicemente configurando il controller PD. L'utilizzo di schede di valutazione e di un analizzatore di protocollo PD facilita lo sviluppo.
Esonero della responsabilità: le opinioni, le convinzioni e i punti di vista espressi dai vari autori e/o dai partecipanti al forum su questo sito Web non riflettono necessariamente le opinioni, le convinzioni e i punti di vista di DigiKey o le sue politiche.




