STM32 USB Typ-C strömförsörjning

STM32 USB Typ-C strömförsörjning

Introduktion

Det här dokumentet innehåller en lista med vanliga frågor (FAQ) om STM32 USB Type-C® och strömförsörjning.

USB Type-C® strömförsörjning

Kan USB Type-C® PD användas för att överföra data? (Inte med USB:s höghastighetsdataöverföringsfunktioner)

Även om USB Type-C® PD i sig inte är utformad för höghastighetsdataöverföring, kan den användas med andra protokoll och alternativa lägen och hanterar grundläggande dataöverföring.

Vad är den praktiska användningen av VDM UCPD-modulen?

Leverantörsdefinierade meddelanden (VDM) i USB Type-C® Power Delivery ger en flexibel mekanism för att utöka funktionaliteten hos USB Type-C® PD utöver standardströmförhandling. VDM:er möjliggör enhetsidentifiering, alternativa lägen, firmwareuppdateringar, anpassade kommandon och felsökning. Genom att implementera VDM:er kan leverantörer skapa proprietära funktioner och protokoll samtidigt som de bibehåller kompatibilitet med USB Type-C® PD-specifikationen.

STM32CubeMX behöver konfigureras med specifika parametrar, var finns de tillgängliga?

Den senaste uppdateringen ändrade informationen på displayen för att vara mer användarvänlig, nu begär gränssnittet helt enkelt volymentage och önskad ström. Dessa parametrar finns dock i dokumentationen, du kan se en snabbreferenstabell i AN5418.

Figur 1Specifikationsdetaljer (tabell 6-14 i specifikationen för universell seriell buss strömförsörjning)
USB Type-C® strömförsörjning

Figur 2 förklarar det tillämpade värdet 0x02019096.
Figur 2. Detaljerad PDO-avkodning
USB Type-C® strömförsörjning

För mer information om PDO-definitionen, se avsnittet POWER_IF i UM2552.

Vad är den maximala utströmmen från USB-gränssnittet?

Den maximala utströmmen som tillåts enligt USB Type-C® PD-standarden är 5 A med en specifik 5 A-kabel. Utan en specifik kabel är den maximala utströmmen 3 A.

Betyder detta "dubbelrollsläge" att man ska kunna leverera ström och ladda i omvänd ordning?

Ja, DRP (dual role port) kan antingen matas (sink) eller matas (source). Det används ofta på batteridrivna enheter.

STM32 strömförsörjningsregulator och skydd

Är MCU-stöd endast PD-standard eller även QC?

STM32-mikrokontrollerna stöder främst USB Power Delivery (PD)-standarden, vilket är ett flexibelt och allmänt antaget protokoll för strömförsörjning över USB Type-C®-anslutningar. Inbyggt stöd för Quick Charge (QC) tillhandahålls inte av STM32-mikrokontrollerna eller USB PD-stacken från STMicroelectronics. Om Quick Charge-stöd krävs bör en dedikerad QC-styrenhets-IC användas med STM32-mikrokontrollern.

Är det möjligt att implementera en synkron likriktningsalgoritm i paketet? Kan den hantera flera utgångar och regulatorroller?

Att implementera en synkron likriktningsalgoritm med flera utgångar och en styrenhetsroll är möjligt med STM32-mikrokontroller. Genom att konfigurera PWM- och ADC-kringutrustning och utveckla en styralgoritm är det möjligt att uppnå effektiv effektomvandling och hantera flera utgångar. Dessutom kan kommunikationsprotokoll som I2C eller SPI koordinera driften av flera enheter i en styrenhet-målkonfiguration. Som exempelampLe, STEVAL-2STPD01 med en enda STM32G071RBT6 som inbäddar två UCPD-kontroller kan hantera två Type-C 60 W Type-C Power Delivery-portar.

Finns det TCPP för VBUS > 20 V? Tillämpas dessa produkter på EPR?

TCPP0-serien är klassad för upp till 20 V VBUS-volymtage SPR (standard effektområde).

Vilken STM32-mikrokontrollerserie stöder USB Type-C® PD?

UCPD-kringutrustning för att hantera USB Type-C® PD är inbyggd i följande STM32-serier: STM32G0, STM32G4, STM32L5, STM32U5, STM32H5, STM32H7R/S, STM32N6 och STM32MP2. Den ger 961 P/N vid tidpunkten då dokumentet skrivs.

Hur får man STM32 MCU att fungera som en seriell USB-enhet enligt USB CDC-klassen? Kan samma eller en liknande procedur hjälpa mig att gå utan kod?

Kommunikation via USB-lösning stöds av verkliga exampav upptäckts- eller utvärderingsverktyg inklusive omfattande bibliotek med fria programvaror och exempelampKodgeneratorn är inte tillgänglig.

Är det möjligt att dynamiskt ändra PD-'data' under programvarans körtid? T.ex. vol.tagoch nuvarande krav/möjligheter, konsument/leverantör etc.?

Det är möjligt att dynamiskt ändra strömförsörjningsrollen (konsument – ​​SINK eller leverantör – SOURCE), strömförbrukningen (strömdataobjekt) och datarollen (värd eller enhet) tack vare USB Type-C® PD. Denna flexibilitet illustreras i STM32H7RS USB Dubbelfunktion Data och strömförsörjning video.

Är det möjligt att använda USB2.0-standarden och Power Delivery (PD) för att ta emot mer än 500 mA?

USB Type-C® PD möjliggör hög effekt och snabbladdning för USB-enheter oberoende av dataöverföring. Det är alltså möjligt att ta emot mer än 500 mA vid överföring i USB 2.x, 3.x.

Har vi möjlighet att läsa information om käll- eller sink-enheten, såsom PID/UID för USB-enheten?

USB PD stöder utbyte av olika typer av meddelanden, inklusive utökade meddelanden som kan innehålla detaljerad tillverkarinformation. USBPD_PE_SendExtendedMessage API är utformat för att underlätta denna kommunikation, vilket gör det möjligt för enheter att begära och ta emot data som tillverkarnamn, produktnamn, serienummer, firmwareversion och annan anpassad information som definierats av tillverkaren.

När man använder en X-NUCLEO-SNK1M1-sköld som inkluderar en TCPP01-M12, ska då även X-CUBE-TCPP användas? Eller är X-CUBE-TCPP valfritt i det här fallet?

För att starta USB Type-C® PD-lösningen i SINK-läge rekommenderas X-CUBE-TCPP för att underlätta implementeringen eftersom STM32 USB Type-C® PD-lösningen behöver hanteras. TCPP01-M12 är det tillhörande optimala skyddet.

På USB-kretskort dirigeras USB-datalinjer (D+ och D-) som 90-ohms differentialsignaler. Måste CC1- och CC2-spåren också vara 90-ohms signaler?

CC-linjer är enkelsidiga linjer med 300 kbps lågfrekvent kommunikation. Karakteristisk impedans är inte kritisk.

Kan TCPP skydda D+, D-?

TCPP är inte anpassad för att skydda D+/- linjer. För att skydda D+/- linjer USBLC6-2 ESD-skydd rekommenderas eller ECMF2-40A100N6 ESD-skydd + common-mode-filter om radiofrekvenser finns i systemet.

Är drivrutinen HAL eller registret inkapslad?

Föraren är HAL.

Hur kan jag säkerställa att STM32 hanterar effektförhandling och strömhantering korrekt i PD-protokollet utan att skriva kod?

Ett första steg kan vara en serie fälttester av interoperabilitet med tillgängliga enheter på marknaden. För att förstå lösningens beteende möjliggör STM32CubeMonUCPD övervakning och konfiguration av STM32 USB Type-C® och Power Delivery-applikationer.

Ett andra steg kan vara en certifiering med USB-IF:s (USB implementer forum) efterlevnadsprogram för att erhålla ett officiellt TID-nummer (Test Identification). Det kan utföras i en USB-IF-sponsrad efterlevnadsverkstad eller i ett auktoriserat oberoende testlabb.

Koden som genererats av X-CUBE-TCPP är redo att certifieras och lösningar i Nucleo/Discovery/Evaluation-tavlan har redan certifierats.

Hur implementerar man OVP-funktionen för Type-C-portskydd? Kan felmarginalen ställas in inom 8 %?

OVP-tröskeln ställs in med en volymtagen delarbrygga ansluten till en komparator med ett fast bandgapvärde.
Komparatoringången är VBUS_CTRL på TCPP01-M12 och Vsense på TCPP03-M20. OVP VBUS tröskelvolymtage kan ändras med hårdvara enligt volymentage dividerförhållande.
Det rekommenderas dock att använda delningsförhållandet som presenteras på X-NUCLEO-SNK1M1 eller X-NUCLEO-DRP1M1 enligt den målsatta maximala volymen.tage.

Är graden av öppenhet hög? Kan vissa specifika uppgifter anpassas?

USB Type-C® PD-stacken är inte öppen. Det är dock möjligt att anpassa alla dess ingångar och interaktionen med lösningen. Du kan också se referensmanualen för STM32 som används för att ta en titt på UCPD-gränssnittet.

Vad bör vi vara uppmärksamma på vid utformningen av portskyddskretsen?

TCPP-kretsen måste placeras nära typ-C-kontakten. Schematiska rekommendationer finns i användarmanualerna för X-NUCLEO-SNK1M1, X-NUCLEO-SRC1M1, och X-NUCLEO-DRP1M1För att säkerställa god ESD-tålighet rekommenderar jag att du tittar på ESD-layouttips, applikationsanteckning.

Nu för tiden introduceras många enchips-IC:er från Kina. Vilka är de specifika fördelarnatagHur man använder STM32?

De viktigaste fördelarna med denna lösning uppstår när man lägger till en typ-C PD-kontakt till en befintlig STM32-lösning. Den är då kostnadseffektiv eftersom den låga volymentagUCPD-styrenheten är inbäddad i STM32 och hög volymtagKontroller/skydd sker via TCPP.

Finns det en rekommenderad lösning som ST tillhandahåller med strömförsörjning och STM32-UCPD?

De är ett helt example med en USB Type-C Power Delivery-adapter med dubbla portar baserad på den programmerbara buck-omvandlaren STPD01. STM32G071RBT6 och två TCPP02-M18 används för att stödja två programmerbara buck-regulatorer av typen STPD01PUR.

Vilken är den lämpliga lösningen för en diskbänk (60 W-skärm), applikation med HDMI- eller DP-ingång och strömförsörjning?

STM32-UCPD + TCPP01-M12 kan stödja en sänkningseffekt på upp till 60 W. För HDMI eller DP behövs ett alternativt läge, och det kan göras med programvara.

Betyder dessa produkter att de har testats enligt standardspecifikationerna för USB-IF och USB-kompatibilitet?

Kod som genererats eller föreslagits i firmwarepaketet har testats och officiellt certifierats för vissa viktiga hårdvarukonfigurationer. Som t.ex.ample, X-NUCLEO-SNK1M1, X-NUCLEO-SRC1M1 och X-NUCLEO-DRP1M1 utöver NUCLEO har officiellt certifierats och USB-IF-test-ID:n är: TID5205, TID6408 och TID7884.

Konfiguration och applikationskod

Hur kan jag bygga en PDO?

Att bygga ett power data object (PDO) i samband med USB Power Delivery (PD) innebär att definiera strömförsörjningskapaciteten hos en USB PD-källa eller -sink. Här är stegen för att skapa och konfigurera en PDO:

  1. Identifiera typen av PDO:
    • Fast leverans PDODefinierar en fast volymtage och nuvarande
    • Batteriförsörjning PDODefinierar ett volymintervalltagoch en maximal effekt
    • Variabel matnings-PDODefinierar ett volymintervalltagoch en maximal ström
    • Programmerbar strömförsörjning (PPS) APDOMöjliggör programmerbar volymtage och nuvarande.
  2. Definiera parametrarna:
    • Voltage: Voltagden nivå som den skyddade ursprungsbeteckningen (PDO) tillhandahåller eller begär
    • Ström / effektStrömmen (för fasta och variabla PDO:er) eller effekten (för batteri-PDO:er) som PDO:n tillhandahåller
      eller begäran.
  3. Använd STM32 Cube MonUCPD GUI:
    • Steg 1Se till att du har den senaste versionen av STM32 Cube Mon UCPD-applikationen.
    • Steg 2Anslut ditt STM32G071-Disco-kort till din värddator och starta STM32 Cube Monitor-UCPD-applikationen
    • Steg 3Välj din tavla i applikationen
    • Steg 4Navigera till sidan ”portkonfiguration” och klicka på fliken ”sinkfunktioner” för att se
      aktuell PDO-lista
    • Steg 5Ändra en befintlig PDO eller lägg till en ny PDO genom att följa anvisningarna
    • Steg 6Klicka på ikonen "skicka till mål" för att skicka den uppdaterade PDO-listan till din styrelse.
    • Steg 7Klicka på ikonen ”spara alla i mål” för att spara den uppdaterade PDO-listan på din anslagstavla[*].

Här är ett examphur du kan definiera en PDO för fast leverans i kod:

/* 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 konfiguration

För en fast matnings-PDO med 5 V och 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

Ytterligare överväganden: 

  • Dynamiskt PDO-val: Du kan dynamiskt ändra PDO-valmetoden vid körning genom att modifiera variabeln USED_PDO_SEL_METHOD i usbpd_user_services.c. file[*] .
  • Utvärdering av funktioner: Använd funktioner som USBPD_DPM_SNK_EvaluateCapabilities för att utvärdera mottagna funktioner och förbereda förfrågningsmeddelandet[*].

Att bygga en PDO innebär att definiera volymentage- och strömparametrar (eller effektparametrar) och konfigurerar dem med verktyg som STM32CubeMonUCPD eller direkt i kod. Genom att följa stegen och exempelampMed de tillhandahållna les kan du effektivt skapa och hantera PDO:er för dina USB PD-applikationer.

Finns det en funktion för ett prioriteringsschema med mer än en PD-sink ansluten?

Ja, det finns en funktion som stöder ett prioriteringsschema när mer än en PD-sink är ansluten. Detta är särskilt användbart i scenarier där flera enheter är anslutna till en enda strömkälla. Strömfördelningen måste hanteras baserat på prioritet.

Prioriteringsschemat kan hanteras med hjälp av funktionen USBPD_DPM_SNK_EvaluateCapabilities. Denna funktion utvärderar de mottagna funktionerna från PD-källan och förbereder förfrågningsmeddelandet baserat på sinkens krav och prioriteringar. När du hanterar flera sinkar kan du implementera ett prioriteringsschema genom att tilldela prioritetsnivåer till varje sink och modifiera funktionen USBPD_DPM_SNK_EvaluateCapabilities för att ta hänsyn till dessa prioriteringar.

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

Är det obligatoriskt att använda DMA med LPUART för det grafiska användargränssnittet?

Ja, det är obligatoriskt att kommunicera via en ST-LINK-lösning.

Är LPUART-inställningen på 7 bitar för ordlängd korrekt?

Ja, det stämmer.

I STM32CubeMX-verktyget finns det en kryssruta som säger "spara ström på inaktiv UCPD – inaktivera pull-up vid dött batteri". Vad betyder den här kryssrutan om den är aktiverad?

När SOURCE används behöver USB Type-C® ett pull-up-motstånd anslutet till 3.3 V eller 5.0 V. Det fungerar som en strömkälla. Denna strömkälla kan inaktiveras när USB Type-C® PD inte används för att minska strömförbrukningen.

Är det nödvändigt att använda FreeRTOS för STM32G0- och USB PD-applikationer? Finns det några planer för icke-FreeRTOS USB PD, t.ex.amples?

Det är inte obligatoriskt att använda FreeRTOS för USB Power Delivery (USB PD)-applikationer på STM32G0-mikrokontrollern. Du kan implementera USB PD utan en RTOS genom att hantera händelser och tillståndsmaskiner i huvudslingan eller genom att avbryta servicerutiner. Även om det har förekommit förfrågningar om USB Power Delivery t.ex.amples utan RTOS. För närvarande inga icke-RTOS-exempelampfilen är tillgänglig. Men vissa AzureRTOS-exempelampfinns tillgängliga för STM32U5- och H5-serien.

I STM32CubeMX-demon som bygger en USB PD-applikation för STM32G0, är ​​HSI-noggrannheten acceptabel för USB PD-applikationer? Eller är användning av extern HSE-kristall obligatorisk?

HSI tillhandahåller kärnklockan för UCPD-kringutrustningen, så det finns ingen fördel med att använda HSE. Dessutom stöder STM32G0 kristalllös koppling för USB 2.0 i enhetsläge, så HSE skulle bara krävas i USB 2.0-värdläge.

Figur 3UCPD-återställning och klockor

UCPD-återställning och klockor

Finns det någon dokumentation som jag kan hänvisa till för att konfigurera CubeMX som du har förklarat senare?

Dokumentationen finns tillgänglig i följande Wiki-länk.

Kan STM 32 Cube Monitor övervakas i realtid? Är realtidsövervakning möjlig genom att ansluta STM32 och ST-LINK?

Ja, STM32CubeMonitor kan utföra verklig övervakning genom att ansluta STM32 och ST-LINK.

Är VBUS-volymentagFunktionen för e/strömmätning demonstreras på skärmen, tillgänglig som grundläggande och standard på UCPD-aktiverade kort, eller är det en funktion på det tillagda NUCLEO-kortet?

Exakt voltage-mätning är tillgänglig direkt eftersom VBUS-volymtage krävs av USB Type-C®.
Noggrann strömmätning kan göras med TCPP02-M18 / TCPP03-M20 tack vare hög sidospänning ampÖverströmsskydd och shuntmotstånd används också för att skydda mot överström.

Programkodgenerator

Kan CubeMX generera ett Azure RTOS-baserat projekt med X-CUBE-TCPP på samma sätt som med FreeRTOS™? Kan den generera koden som hanterar USB PD utan att använda FreeRTOS™? Kräver denna programvarupaket en RTOS för att fungera?

STM32CubeMX genererar kod tack vare X-CUBE-TCPP-paketet med hjälp av RTOS som är tillgängligt för MCU:n, FreeRTOS™ (för STM32G0 som ex.ample), eller AzureRTOS (för STM32H5 som t.ex.ample).

Kan X-CUBE-TCPP generera kod för dubbla typ-C PD-portar, till exempel STSW-2STPD01-kortet?

X-CUBE-TCPP kan generera kod för endast en enda port. För att göra det för två portar måste två separata projekt genereras utan överlappning på STM32-resurser och med två I2C-adresser för TCPP02-M18 och sedan slås samman.
Lyckligtvis, STSW-2STPD01 har ett komplett firmwarepaket för de två portarna. Det är då inte nödvändigt att generera kod.

Fungerar detta designverktyg med alla mikrokontroller med USB Type-C®?

Ja, X-CUBE-TCPP fungerar med alla STM32 som har inbyggd UCPD för alla strömförsörjningsfall (SINK / SOURCE / Dual Role). Den fungerar med alla STM32 för 5 V Type-C SOURCE.

Tabell 1. Dokumentets revisionshistorik

Datum Revision Ändringar
20 juni 2025 1 Initial release.

Viktigt meddelande – Läs noggrant

STMicroelectronics NV och dess dotterbolag (“ST”) förbehåller sig rätten att göra ändringar, korrigeringar, förbättringar, modifieringar och förbättringar av ST-produkter och/eller av detta dokument när som helst utan föregående meddelande. Köpare bör skaffa den senaste relevanta informationen om ST-produkter innan de lägger beställningar. ST-produkter säljs i enlighet med ST:s försäljningsvillkor som gäller vid tidpunkten för ordererkännande.

Köparen är ensam ansvarig för val, urval och användning av ST-produkter och ST tar inget ansvar för applikationshjälp eller design av köparens produkter.

Ingen licens, uttrycklig eller underförstådd, till någon immateriell rättighet beviljas av ST häri.

Återförsäljning av ST-produkter med bestämmelser som skiljer sig från den information som anges häri upphäver all garanti som beviljats ​​av ST för sådan produkt.

ST och ST-logotypen är varumärken som tillhör ST. För ytterligare information om ST-varumärken, se www.st.com/trademarks. Alla andra produkt- eller tjänstnamn tillhör sina respektive ägare.

Informationen i detta dokument ersätter och ersätter information som tidigare tillhandahållits i tidigare versioner av detta dokument.

© 2025 STMicroelectronics – Alla rättigheter reserverade
Logotyp

Dokument/resurser

ST STM32 USB Typ-C strömförsörjning [pdf] Användarmanual
TN1592, UM2552, STEVAL-2STPD01, STM32 USB typ-C strömförsörjning, STM32, USB typ-C strömförsörjning, typ-C strömförsörjning, strömförsörjning, leverans

Referenser

Lämna en kommentar

Din e-postadress kommer inte att publiceras. Obligatoriska fält är markerade *