STM32 USB Type-C Power Delivery

Introduzione
Stu documentu cuntene una lista di dumande frequenti (FAQ) nantu à STM32 USB Type-C®, è Power Delivery.
Alimentazione USB Type-C®
Pò esse adupratu u USB Type-C® PD per trasmette dati? (Ùn si utilizanu micca e funzioni di trasferimentu di dati à alta velocità USB)
Mentre chì l'USB Type-C® PD stessu ùn hè micca cuncipitu per u trasferimentu di dati à alta velocità, pò esse adupratu cù altri protokolli è modi alternativi è gestisce a trasmissione di dati basica.
Chì ghjè l'usu praticu di u modulu VDM UCPD?
I missaghji definiti da u venditore (VDM) in USB Type-C® Power Delivery furniscenu un mecanismu flessibile per estende a funzionalità di USB Type-C® PD oltre a negoziazione standard di putenza. I VDM permettenu l'identificazione di u dispositivu, modi alternativi, aghjurnamenti di firmware, cumandamenti persunalizati è debugging. Implementendu VDM, i venditori ponu creà funzionalità è protokolli pruprietarii mantenendu a compatibilità cù a specificazione USB Type-C® PD.
STM32CubeMX hà bisognu di esse cunfiguratu cù parametri specifici, induve sò dispunibili?
L'ultima aghjurnazione hà cambiatu l'infurmazioni di visualizazione per esse più faciule d'utilizà, avà l'interfaccia dumanda solu u vulumetage è a corrente desiderata. Tuttavia, sti parametri ponu esse truvati in a documentazione, pudete vede una tavula di riferimentu rapidu in l'AN5418.
Figura 1Dettagli di specificazione (tabella 6-14 in a specificazione di Power Delivery di u bus seriale universale)

Figura 2 spiega u valore applicatu 0x02019096.
Figura 2. Decodificazione PDO dettagliata

Per più ditaglii nantu à a definizione PDO, fighjate a sezzione POWER_IF in UM2552.
Chì ghjè a corrente di uscita massima di l'interfaccia USB?
A corrente di uscita massima permessa da u standard USB Type-C® PD hè 5 A cù un cavu specificu di 5 A. Senza un cavu specificu, a corrente di uscita massima hè 3 A.
Questa "modalità à doppiu rolu" significa esse capace di furnisce energia è carica à l'inversu?
Iè, u DRP (portu à doppiu rolu) pò esse furnitu (sink), o pò furnisce (source). Hè cumunamente adupratu nantu à i dispusitivi alimentati da batteria.
Cuntrollore è prutezzione di Power Delivery STM32
U MCU supporta solu u standard PD o ancu u QC?
I microcontrollori STM32 supportanu principalmente u standard USB Power Delivery (PD), chì hè un protocolu flessibile è largamente aduttatu per Power Delivery via cunnessione USB Type-C®. U supportu nativu per Quick Charge (QC) ùn hè micca furnitu da i microcontrollori STM32 o da a pila USB PD di STMicroelectronics. Se u supportu Quick Charge hè necessariu, un circuitu integratu di controller QC dedicatu deve esse adupratu cù u microcontrollore STM32.
Hè pussibule d'implementà un algoritmu di rettificazione sincrona in u pacchettu? Pò gestisce parechje uscite è roli di controller?
L'implementazione di un algoritmu di rettificazione sincrona cù parechje uscite è un rolu di controller hè fattibile cù i microcontroller STM32. Cunfigurà i periferichi PWM è ADC è sviluppà un algoritmu di cuntrollu, hè pussibule ottene una cunversione di putenza efficiente è gestisce parechje uscite. Inoltre, l'usu di protocolli di cumunicazione cum'è I2C o SPI coordina u funziunamentu di parechji dispositivi in una cunfigurazione controller-target. Cum'è per esempiuampvale à dì, STEVAL-2STPD01 cù un unicu STM32G071RBT6 chì integra dui controller UCPD pò gestisce dui porti Power Delivery Type-C 60 W Type-C.
Ci hè TCPP per VBUS > 20 V? Sti prudutti s'applicanu à l'EPR?
A serie TCPP0 hè classificata finu à 20 V VBUS vol.tage SPR (Gamma di Putenza Standard).
Quale serie di microcontrollori STM32 supporta USB Type-C® PD?
A periferica UCPD per gestisce l'USB Type-C® PD hè integrata in e seguenti serie STM32: STM32G0, STM32G4, STM32L5, STM32U5, STM32H5, STM32H7R/S, STM32N6, è STM32MP2. Dà 961 P/N à u mumentu di a scrittura di u documentu.
Cumu fà chì u MCU STM32 funziona cum'è un dispositivu seriale USB seguendu a classa USB CDC? A listessa prucedura o una simile mi aiuta à ùn aduprà micca u codice?
A cumunicazione via a suluzione USB hè supportata da ex realeampmenu strumenti di scuperta o di valutazione, cumprese biblioteche di software gratuiti cumpleti è esempiampFile dispunibili cù u pacchettu MCU. U generatore di codice ùn hè micca dispunibule.
Hè pussibule di cambià dinamicamente i "dati" PD in u tempu d'esecuzione di u software? Per esempiu, voltage esigenze/capacità attuali, cunsumadore/fornitore ecc.?
Hè pussibule di cambià dinamicamente u rolu di putenza (cunsumatore - SINK o furnitore - SOURCE), a dumanda di putenza (ughjettu di dati di putenza) è u rolu di dati (host o dispusitivu) grazia à USB Type-C® PD. Sta flessibilità hè illustrata in STM32H7RS USB Doppiu Ruolu Dati è Video di Alimentazione.
Hè pussibule aduprà u standard USB 2.0 è u Power Delivery (PD) per riceve più di 500 mA?
L'USB Type-C® PD permette capacità di carica rapida è di putenza elevata per i dispositivi USB indipendentemente da a trasmissione di dati. Cusì, hè pussibule riceve più di 500 mA mentre si trasmette in USB 2.x, 3.x.
Avemu a pussibilità di leghje l'infurmazioni nantu à u dispusitivu surghjente o di u dissipatore cum'è u PID/UID di u dispusitivu USB?
USB PD supporta u scambiu di vari tipi di missaghji, cumpresi i missaghji estesi chì ponu cuntene infurmazioni dettagliate di u fabricatore. L'API USBPD_PE_SendExtendedMessage hè cuncipita per facilità sta cumunicazione, permettendu à i dispusitivi di dumandà è riceve dati cum'è u nome di u fabricatore, u nome di u produttu, u numeru di serie, a versione di u firmware è altre infurmazioni persunalizate definite da u fabricatore.
Quandu si usa un schermu X-NUCLEO-SNK1M1 chì include un TCPP01-M12, si deve aduprà ancu l'X-CUBE-TCPP? O hè X-CUBE-TCPP facultativu in questu casu?
Per inizià a suluzione USB Type-C® PD in modu SINK, X-CUBE-TCPP hè cunsigliatu per facilità l'implementazione perchè a suluzione STM32 USB Type-C® PD deve esse gestita. TCPP01-M12 hè a prutezzione ottima assuciata.
Nant'à i PCB USB, e linee di dati USB (D+ è D-) sò instradate cum'è signali differenziali di 90 Ohm. E tracce CC1 è CC2 devenu ancu esse signali di 90 Ohm ?
E linee CC sò linee à estremità unica cù cumunicazione à bassa frequenza di 300 kbps. L'impedenza caratteristica ùn hè micca critica.
U TCPP pò prutege D+, D-?
TCPP ùn hè micca adattatu per prutege e linee D+/-. Per prutege e linee D+/- USBLC6-2 E prutezioni ESD sò cunsigliate o ECMF2-40A100N6 Prutezzione ESD + filtru di modu cumunu se ci sò frequenze radio in u sistema.
U driver HAL o u registru hè incapsulatu?
U cunduttore hè HAL.
Cumu possu assicurà chì STM32 gestisce currettamente a negoziazione di putenza è a gestione di a corrente in u protocolu PD senza scrive codice?
Un primu passu pò esse una seria di testi d'interoperabilità in u campu utilizendu i dispusitivi dispunibili nantu à u mercatu. Per capisce u cumpurtamentu di a suluzione, STM32CubeMonUCPD permette u monitoraghju è a cunfigurazione di l'applicazioni STM32 USB Type-C® è Power Delivery.
Un secondu passu pò esse una certificazione cù u prugramma di cunfurmità USB-IF (forum di l'implementatore USB) per ottene un numeru TID (Identificazione di Test) ufficiale. Pò esse realizatu in un attellu di cunfurmità sponsorizatu da USB-IF o in un laburatoriu di test indipendente autorizatu.
U codice generatu da X-CUBE-TCPP hè prontu per esse certificatu è e suluzioni in u cunsigliu Nucleo/Discovery/Evaluation sò digià state certificate.
Cumu implementà a funzione OVP di a prutezzione di u portu Type-C? U margine d'errore pò esse stabilitu in 8%?
A soglia OVP hè stabilita da un vultagUn ponte divisore cunnessu à un comparatore cù un valore di banda proibita fissu.
L'entrata di u paragunatore hè VBUS_CTRL nantu à TCPP01-M12 è Vsense nantu à TCPP03-M20. Volu di soglia VBUS OVPtage pò esse cambiatu HW secondu u vulumetagrapportu di divisore e.
Tuttavia, hè cunsigliatu di utilizà u rapportu di divisore presentatu nantu à X-NUCLEO-SNK1M1 o X-NUCLEO-DRP1M1 secondu u vulume massimu previstu.tage.
U gradu d'apertura hè altu? Si ponu persunalizà alcune di e attività specifiche?
A pila USB Type-C® PD ùn hè micca aperta. Tuttavia, hè pussibule di persunalizà tutti i so ingressi è l'interazzione cù a suluzione. Inoltre, pudete riferisce à u manuale di riferimentu di STM32 utilizatu per dà un'ochjata à l'interfaccia UCPD.
À chì duvemu fà attenzione in a cuncepzione di u circuitu di prutezzione di u portu?
U circuitu integratu TCPP deve esse piazzatu vicinu à u connettore Type-C. I cunsiglii schematichi sò elencati in i manuali d'usu di X-NUCLEO-SNK1M1, X-NUCLEO-SRC1M1, è X-NUCLEO-DRP1M1Per assicurà una bona robustezza ESD, vi cunsigliu di dà un'ochjata à Nota d'applicazione di cunsiglii di layout ESD.
Oghje ghjornu, assai circuiti integrati à un chip da a Cina sò introdutti. Chì sò i vantaghji specifichitages di l'usu di STM32?
I vantaghji chjave di sta suluzione cumpariscenu quandu si aghjusta un connettore PD di tipu C à una suluzione STM32 esistente. Dopu, hè economicu perchè u bassu vulumetagU controller UCPD hè integratu in STM32, è à altu vulumetagI cuntrolli / a prutezzione sò fatti da TCPP.
Ci hè una suluzione cunsigliata furnita da ST cù alimentatore è STM32-UCPD?
Sò un ex cumpletuample cù a Adattatore à doppia porta USB Type-C Power Delivery basatu annantu à u cunvertitore buck programmabile STPD01. STM32G071RBT6 è dui TCPP02-M18 sò aduprati per supportà dui regulatori buck programmabili STPD01PUR.
Chì ghjè a suluzione applicabile per un Sink (monitor di classe 60 W), applicazione HDMI o DP input è alimentazione?
STM32-UCPD + TCPP01-M12 pò supportà una putenza di dissipazione finu à 60 W. Per HDMI o DP, hè necessariu un modu alternativu, è pò esse fattu per software.
Sti prudutti significanu ch'elli sò stati testati per e specificazioni standard di cunfurmità USB-IF è USB?
U codice generatu o prupostu nantu à u pacchettu di firmware hè statu testatu è certificatu ufficialmente per alcune cunfigurazioni HW chjave. Cum'è per esempiuample, X-NUCLEO-SNK1M1, X-NUCLEO-SRC1M1, è X-NUCLEO-DRP1M1 sopra NUCLEO sò stati certificati ufficialmente è l'ID di test USB-IF sò: TID5205, TID6408, è TID7884.
Cunfigurazione è codice d'applicazione
Cumu possu custruisce un PDO ?
A custruzzione di un ughjettu di dati di putenza (PDO) in u cuntestu di USB Power Delivery (PD) implica a definizione di e capacità di putenza di una fonte o dissipatore USB PD. Eccu i passi per creà è cunfigurà un PDO:
- Identificà u tipu di PDO:
- PDO à furnitura fissaDefinisce un vulume fissutage è attuale
- Alimentazione à batteria PDO: Definisce un intervallu di vulumetages è una putenza massima
- PDO à alimentazione variabile: Definisce un intervallu di vulumetages è una corrente massima
- Alimentazione Programmabile (PPS) APDOPermette un vulume programmabiletage è attuale.
- Definite i parametri:
- Voltage: U voltaglivellu chì l'ODP furnisce o dumanda
- Corrente / putenzaA currente (per i PDO fissi è variabili) o a putenza (per i PDO à batteria) chì u PDO furnisce
o dumanda.
- Aduprate l'interfaccia grafica STM32 Cube MonUCPD:
- Passu 1Assicuratevi di avè l'ultima versione di l'applicazione STM32 Cube Mon UCPD
- Passu 2Cunnette a vostra scheda STM32G071-Disco à a vostra macchina ospitante è lanciate l'applicazione STM32 Cube Monitor-UCPD
- Passu 3Selezziunate a vostra tavola in l'applicazione
- Passu 4Navigate à a pagina "cunfigurazione di u portu" è cliccate nantu à a tabulazione "capacità di u sink" per vede u
lista attuale di PDO - Passu 5Mudificà un PDO esistente o aghjunghje un novu PDO seguendu l'istruzzioni
- Passu 6Cliccate nant'à l'icona "mandà à u target" per mandà a lista PDO aghjurnata à u vostru cunsigliu
- Passu 7Cliccate nant'à l'icona "salvà tuttu in u target" per salvà a lista PDO aghjurnata nant'à u vostru pannellu[*].
Eccu un exampesempiu di cumu pudete definisce un PDO di furnimentu fissu in u codice:
/* Define a fixed supply PDO */
uint32_t fixed_pdo = 0;
fixed_pdo |= (voltage_in_50mv_units << 10); // Voltage in 50 mV units
fixed_pdo |= (max_current_in_10ma_units << 0); // Max current in 10 mA units
fixed_pdo |= (1 << 31); // fixed supply type
Example cunfigurazione
Per un PDO à alimentazione fissa cù 5 V è 3 A:
content_copy
uint32_t fixed_pdo = 0;
fixed_pdo |= (100 << 10); // 5 V (100 * 50 mV)
fixed_pdo |= (30 << 0); // 3A (30 * 10 mA)
fixed_pdo |= (1 << 31); // fixed supply type
Cunsiderazioni supplementari:
- Selezzione dinamica di PDO: Pudete cambià dinamicamente u metudu di selezzione di PDO in tempu reale mudificendu a variabile USED_PDO_SEL_METHOD in usbpd_user_services.c file[*] .
- Valutazione di e capacità: Aduprate funzioni cum'è USBPD_DPM_SNK_EvaluateCapabilities per valutà e capacità ricevute è preparà u missaghju di dumanda [*].
A custruzzione di un PDO implica a definizione di u vulumetagparametri e è di corrente (o di putenza) è cunfiguralli cù strumenti cum'è STM32CubeMonUCPD o direttamente in u codice. Seguendu i passi è l'esempiiampCù i lettori furniti, pudete creà è gestisce in modu efficace i PDO per e vostre applicazioni USB PD.
Ci hè una funzione per un schema di priorità cù più di un dissipatore PD cunnessu?
Iè, ci hè una funzione chì supporta un schema di priorità quandu più di un dissipatore PD hè cunnessu. Questu hè particularmente utile in scenarii induve parechji dispositivi sò cunnessi à una sola fonte di alimentazione. A distribuzione di l'alimentazione deve esse gestita in basa à a priorità.
U schema di priorità pò esse gestitu cù a funzione USBPD_DPM_SNK_EvaluateCapabilities. Sta funzione valuta e capacità ricevute da a fonte PD è prepara u missaghju di dumanda basatu annantu à i requisiti è e priorità di u sink. Quandu si tratta di parechji sink, pudete implementà un schema di priorità assignendu livelli di priorità à ogni sink è mudificendu a funzione USBPD_DPM_SNK_EvaluateCapabilities per cunsiderà queste priorità.
content_copy
uint32_t fixed_pdo = 0;
fixed_pdo |= (100 << 10); // 5V (100 * 50mV)
fixed_pdo |= (30 << 0); // 3A (30 * 10mA)
fixed_pdo |= (1 << 31); // Fixed supply type
/* Define a Fixed Supply PDO */
uint32_t fixed_pdo = 0;
fixed_pdo |= (voltage_in_50mv_units << 10); // Voltage in 50mV units
fixed_pdo |= (max_current_in_10ma_units << 0); // Max current in 10mA units
fixed_pdo |= (1 << 31); // Fixed supply type
Hè ubligatoriu aduprà DMA cù LPUART per l'interfaccia grafica?
Iè, hè ubligatoriu cumunicà per mezu di una suluzione ST-LINK.
L'impostazione LPUART di 7 bit per a lunghezza di a parola hè curretta?
Iè, hè currettu.
In u strumentu STM32CubeMX - ci hè una casella di cuntrollu "risparmià a putenza di l'UCPD micca attivu - disattivazione di a batteria scarica". Chì significa sta casella di cuntrollu s'ella hè abilitata?
Quandu hè SOURCE, USB Type-C® hà bisognu di una resistenza pull-up cunnessa à 3.3 V o 5.0 V. Agisce cum'è un generatore di fonte di corrente. Sta fonte di corrente pò esse disattivata quandu USB Type-C® PD ùn hè micca adupratu per riduce u cunsumu energeticu.
Hè necessariu aduprà FreeRTOS per l'applicazioni STM32G0 è USB PD? Ci sò piani per schede USB PD senza FreeRTOS.amples?
Ùn hè micca ubligatoriu aduprà FreeRTOS per l'applicazioni USB Power Delivery (USB PD) nant'à u microcontrollore STM32G0. Pudete implementà USB PD senza un RTOS gestendu l'eventi è e macchine di statu in u ciclu principale o interrompendu e rutine di serviziu. Mentre ci sò state richieste per USB Power Delivery exampschedari senza RTOS. Attualmente nisun esempiu non-RTOSample hè dispunibule. Ma certi esempi di AzureRTOSampsò dispunibili per e serie STM32U5 è H5.
In a dimustrazione STM32CubeMX chì custruisce una applicazione USB PD per STM32G0, a precisione HSI hè accettabile per l'applicazioni USB PD? O l'usu di un cristallu HSE esternu hè ubligatoriu?
L'HSI furnisce u clock di u kernel per a periferica UCPD, dunque ùn ci hè micun benefiziu à aduprà l'HSE. Inoltre, l'STM32G0 supporta crystal-less per USB 2.0 in modalità dispositiva, dunque l'HSE seria necessariu solu in modalità host USB 2.0.
Figura 3Reset UCPD è orologi

Ci hè qualchì ducumentazione à a quale possu riferisce per cunfigurà CubeMX cum'è avete spiegatu dopu?
A ducumentazione hè dispunibule in u seguente Ligame Wiki.
U monitor STM 32 Cube hè capace di monitorà in tempu reale ? Hè pussibule u monitoraghju in tempu reale cunnettendu STM32 è ST-LINK ?
Iè, STM32CubeMonitor pò fà un monitoraghju reale cunnettendu STM32 è ST-LINK.
Hè u vulume VBUStagFunzione di misurazione e/current dimustrata nantu à u schermu di u monitor dispunibule da a basa è da u predefinitu nantu à e carte abilitate per UCPD, o hè una funzione di a carta NUCLEO aghjunta?
Precisu voltagA misurazione hè dispunibile nativamente perchè u vulume VBUStage hè necessariu da USB Type-C®.
Una misurazione precisa di a corrente pò esse fatta da TCPP02-M18 / TCPP03-M20 grazia à u latu altu. ampU lifer è a resistenza shunt sò ancu aduprati per eseguisce a prutezzione da sovracorrente.
Generatore di codice d'applicazione
CubeMX pò generà un prughjettu basatu annantu à Azure RTOS cù X-CUBE-TCPP in u listessu modu cù FreeRTOS™? Pò generà u codice chì gestisce l'USB PD senza aduprà FreeRTOS™? Sta suite di software richiede un RTOS per funziunà?
STM32CubeMX genera codice grazia à u pacchettu X-CUBE-TCPP aduprendu l'RTOS dispunibule per l'MCU, FreeRTOS™ (per STM32G0 cum'è ex.ample), o AzureRTOS (per STM32H5 cum'è example).
X-CUBE-TCPP pò generà codice per un portu PD duale di Type-C cum'è a scheda STSW-2STPD01?
X-CUBE-TCPP pò generà codice per un solu portu. Per fà lu per dui porti, dui prughjetti separati devenu esse generati senza sovrapposizione nantu à e risorse STM32 è cù dui indirizzi I2C per TCPP02-M18 è esse fusionati.
Fortunatamente, STSW-2STPD01 hà un pacchettu di firmware cumpletu per i dui porti. Ùn hè tandu necessariu generà codice.
Stu strumentu di cuncepimentu funziona cù tutti i microcontrollori cù USB Type-C®?
Iè, X-CUBE-TCPP funziona cù qualsiasi STM32 chì integra UCPD per tutti i casi di alimentazione (SINK / SOURCE / Dual Role). Funziona cù qualsiasi STM32 per 5 V Type-C SOURCE.
Tabella 1. Storia di rivisione di documenti
| Data | Revisione | Cambiamenti |
| 20-ghjugnu-2025 | 1 | Liberazione iniziale. |
Avvisu impurtante - Leghjite attentamente
STMicroelectronics NV è e so filiali ("ST") si riservanu u dirittu di fà cambiamenti, correzioni, miglioramenti, mudificazioni è migliure à i prudutti ST è / o à stu documentu in ogni mumentu senza avvisu. I cumpratori anu da ottene l'ultime informazioni pertinenti nantu à i prudutti ST prima di fà ordini. I prudutti ST sò venduti in cunfurmità cù i termini è e cundizioni di vendita di ST in vigore à u mumentu di a ricunniscenza di l'ordine.
I cumpratori sò solu rispunsevuli di a scelta, a selezzione è l'usu di i prudutti ST è ST ùn assume micca responsabilità per l'assistenza di l'applicazione o u disignu di i prudutti di l'acquirente.
Nisuna licenza, espressa o implicita, à qualsiasi dirittu di pruprietà intellettuale hè cuncessa da ST quì.
A rivendita di i prudutti ST cù disposizioni diverse da l'infurmazioni stabilite quì annullerà ogni garanzia accordata da ST per tali pruduttu.
ST è u logo ST sò marchi di ST. Per infurmazioni supplementari nantu à i marchi ST, riferite à www.st.com/trademarks. Tutti l'altri prudutti o nomi di serviziu sò a pruprietà di i so rispettivi pruprietarii.
L'infurmazioni in stu documentu rimpiazzanu è rimpiazzanu l'infurmazioni furnite prima in qualsiasi versione precedente di stu documentu.
© 2025 STMicroelectronics - Tutti i diritti riservati

Documenti / Risorse
![]() |
ST STM32 USB Type-C Power Delivery [pdfManuale d'usu TN1592, UM2552, STEVAL-2STPD01, STM32 Alimentazione USB Type-C, STM32, Alimentazione USB Type-C, Alimentazione Type-C, Alimentazione, Consegna |
