Napájení STM32 přes USB typu C

Napájení STM32 přes USB typu C

Zavedení

Tento dokument obsahuje seznam často kladených otázek (FAQ) týkajících se STM32 USB Type-C® a funkce Power Delivery.

Napájení přes USB Type-C®

Lze použít USB Type-C® PD k přenosu dat? (Nepoužívám funkce vysokorychlostního přenosu dat přes USB)

Přestože samotný USB Type-C® PD není navržen pro vysokorychlostní přenos dat, lze jej použít s jinými protokoly a alternativními režimy a zvládá základní přenos dat.

Jaké je praktické využití modulu VDM UCPD?

Zprávy definované dodavatelem (VDM) v rozhraní USB Type-C® Power Delivery poskytují flexibilní mechanismus pro rozšíření funkčnosti zařízení USB Type-C® PD nad rámec standardního vyjednávání napájení. VDM umožňují identifikaci zařízení, alternativní režimy, aktualizace firmwaru, vlastní příkazy a ladění. Implementací VDM mohou dodavatelé vytvářet proprietární funkce a protokoly a zároveň zachovat kompatibilitu se specifikací USB Type-C® PD.

STM32CubeMX je třeba nakonfigurovat se specifickými parametry, kde jsou k dispozici?

Nejnovější aktualizace změnila zobrazení informací tak, aby byly uživatelsky přívětivější, nyní rozhraní jednoduše vyžaduje hlasitost.tage a požadovaný proud. Tyto parametry však lze nalézt v dokumentaci, tabulku s rychlým přehledem naleznete v souboru AN5418.

Obrázek 1Podrobnosti specifikace (tabulka 6-14 ve specifikaci napájení univerzální sériové sběrnice)
Napájení přes USB Type-C®

Obrázek 2 vysvětluje použitou hodnotu 0x02019096.
Obrázek 2. Podrobné dekódování PDO
Napájení přes USB Type-C®

Pro více informací o definici PDO se podívejte do sekce POWER_IF v UM2552.

Jaký je maximální výstupní proud rozhraní USB?

Maximální výstupní proud povolený standardem USB Type-C® PD je 5 A se specifickým 5A kabelem. Bez specifického kabelu je maximální výstupní proud 3 A.

Znamená tento „dvojí režim“ možnost dodávat energii a nabíjet v opačném směru?

Ano, DRP (dual role port) může být buď napájen (sink), nebo může dodávat (source). Běžně se používá u zařízení napájených z baterie.

Řídicí jednotka a ochrana napájení STM32

Podporuje MCU pouze PD standard nebo i QC?

Mikrokontroléry STM32 primárně podporují standard USB Power Delivery (PD), což je flexibilní a široce používaný protokol pro napájení přes připojení USB Type-C®. Mikrokontroléry STM32 ani stack USB PD od společnosti STMicroelectronics neposkytují nativní podporu pro rychlé nabíjení (QC). Pokud je vyžadována podpora rychlého nabíjení, měl by být s mikrokontrolérem STM32 použit specializovaný integrovaný obvod pro řadič QC.

Je možné v pouzdře implementovat synchronní usměrňovací algoritmus? Může spravovat více výstupů a rolí regulátoru?

Implementace synchronního usměrňovacího algoritmu s více výstupy a rolí regulátoru je proveditelná s mikrokontroléry STM32. Konfigurací periferií PWM a ADC a vývojem řídicího algoritmu je možné dosáhnout efektivní přeměny výkonu a spravovat více výstupů. Navíc použití komunikačních protokolů, jako je I2C nebo SPI, koordinuje provoz více zařízení v konfiguraci regulátor-cíl. Jako např.ampNapříklad STEVAL-2STPD01 s jedním STM32G071RBT6, který obsahuje dva UCPD řadiče, může spravovat dva porty napájení typu C s výkonem 60 W a konektorem typu C.

Existují TCPP pro VBUS > 20 V? Platí tyto produkty pro EPR?

Řada TCPP0 je dimenzována na napětí VBUS až 20 V.tage SPR (standardní výkonový rozsah).

Která řada mikrokontrolérů STM32 podporuje USB Type-C® PD?

Periferní zařízení UCPD pro správu USB Type-C® PD je integrováno v následujících řadách STM32: STM32G0, STM32G4, STM32L5, STM32U5, STM32H5, STM32H7R/S, STM32N6 a STM32MP2. V době zápisu dokumentu udává hodnotu 961 P/N.

Jak přimět STM32 MCU, aby fungoval jako sériové USB zařízení podle kurzu USB CDC? Pomůže mi stejný nebo podobný postup bez kódu?

Řešení komunikace přes USB je podporováno technologií Real Ex.ampmnožství nástrojů pro objevování nebo vyhodnocování, včetně komplexních knihoven volně dostupného softwaru a exampSoubory dostupné s balíčkem MCU. Generátor kódu není k dispozici.

Je možné dynamicky měnit „data“ PD za běhu softwaru? Např. voltaga aktuální požadavky/schopnosti, spotřebitel/poskytovatel atd.?

Díky rozhraní USB Type-C® PD je možné dynamicky měnit roli napájení (spotřebitel – SINK nebo poskytovatel – SOURCE), požadavek na napájení (objekt dat o napájení) a roli dat (hostitel nebo zařízení). Tato flexibilita je ilustrována na STM32H7RS USB s dvojitou rolí pro data a napájení videa.

Je možné použít standard USB 2.0 a Power Delivery (PD) pro příjem více než 500 mA?

USB Type-C® PD umožňuje vysoký výkon a rychlé nabíjení USB zařízení nezávisle na přenosu dat. Při přenosu v USB 500.x a 2.x je tedy možné přijímat více než 3 mA.

Máme možnost číst informace o zdrojovém nebo odesílacím zařízení, jako například PID/UID USB zařízení?

USB PD podporuje výměnu různých typů zpráv, včetně rozšířených zpráv, které mohou obsahovat podrobné informace o výrobci. Rozhraní USBPD_PE_SendExtendedMessage API je navrženo tak, aby tuto komunikaci usnadňovalo a umožňovalo zařízením vyžadovat a přijímat data, jako je název výrobce, název produktu, sériové číslo, verze firmwaru a další vlastní informace definované výrobcem.

Při použití shieldu X-NUCLEO-SNK1M1, který obsahuje TCPP01-M12, měl by se použít i X-CUBE-TCPP? Nebo je X-CUBE-TCPP v tomto případě volitelný?

Pro spuštění řešení USB Type-C® PD v režimu SINK se pro usnadnění implementace doporučuje X-CUBE-TCPP, protože řešení STM32 USB Type-C® PD vyžaduje správu. Optimální ochranu představuje TCPP01-M12.

Na deskách plošných spojů s USB jsou datové linky USB (D+ a D-) směrovány jako diferenciální signály s impedancí 90 ohmů. Musí být i vodiče CC1 a CC2 signály s impedancí 90 ohmů?

Linky CC jsou jednostranné linky s nízkofrekvenční komunikací 300 kb/s. Charakteristická impedance není kritická.

Může TCPP chránit D+ a D-?

TCPP není uzpůsoben k ochraně vedení D+/-. Pro ochranu vedení D+/- USBLC6-2 Doporučuje se ochrana proti elektrostatickému výboji (ESD) nebo ECMF2-40A100N6 Ochrana proti elektrostatickým výbojům (ESD) + filtr souhlasného režimu, pokud jsou v systému rádiové frekvence.

Je ovladač HAL nebo registr zapouzdřený?

Řidič je HAL.

Jak mohu zajistit, aby STM32 správně zpracovával vyjednávání o napájení a správu proudu v protokolu PD, aniž bych musel psát kód?

Prvním krokem může být série testů interoperability v terénu s využitím dostupných zařízení dostupných na trhu. Pro pochopení chování řešení umožňuje STM32CubeMonUCPD monitorování a konfiguraci aplikací STM32 USB Type-C® a Power Delivery.

Druhým krokem může být certifikace v rámci programu USB-IF (USB implementer forum) k získání oficiálního čísla TID (Test Identification). Certifikace může být provedena v workshopu sponzorovaném USB-IF nebo v autorizované nezávislé testovací laboratoři.

Kód vygenerovaný X-CUBE-TCPP je připraven k certifikaci a řešení v desce Nucleo/Discovery/Evaluation již byla certifikována.

Jak implementovat funkci OVP u ochrany portu typu C? Lze nastavit toleranci chyby do 8 %?

Prahová hodnota OVP je stanovena objememtagDělicí můstek zapojený na komparátor s pevnou hodnotou zakázaného pásma.
Vstup komparátoru je VBUS_CTRL na TCPP01-M12 a Vsense na TCPP03-M20. Prahová hodnota OVP VBUS.tage lze HW změnit podle objemutagpoměr děliče e.
Doporučuje se však použít dělicí poměr uvedený na X-NUCLEO-SNK1M1 nebo X-NUCLEO-DRP1M1 v závislosti na cílovém maximálním objemu.tage.

Je stupeň otevřenosti vysoký? Lze přizpůsobit některé specifické úkoly?

Zásuvka USB Type-C® PD není otevřená. Je však možné přizpůsobit všechny její vstupy a interakci s řešením. Můžete se také podívat na referenční manuál k použitému STM32, kde se dozvíte více o rozhraní UCPD.

Na co bychom měli věnovat pozornost při návrhu obvodu ochrany portu?

Integrovaný obvod TCPP musí být umístěn blízko konektoru typu C. Schématické doporučení jsou uvedena v uživatelských příručkách X-NUCLEO-SNK1M1, X-NUCLEO-SRC1M1, a X-NUCLEO-DRP1M1Pro zajištění dobré odolnosti proti ESD doporučuji podívat se na Tipy pro rozvržení ESD – aplikační poznámka.

V dnešní době se z Číny uvádí na trh mnoho jednočipových integrovaných obvodů. Jaké jsou jejich specifické výhody?tagpoužití STM32?

Klíčové výhody tohoto řešení se projeví při přidání konektoru PD typu C k existujícímu řešení STM32. Je pak nákladově efektivní díky nízkému napětí.tagŘídicí jednotka UCPD je zabudována v STM32 a má vysokou hlasitost.tagOvládací prvky / ochrana se provádí pomocí TCPP.

Doporučuje ST nějaké řešení s napájecím zdrojem a STM32-UCPD?

Jsou to úplní bývalíample s a Duální portový adaptér USB typu C Power Delivery založené na programovatelném buck převodníku STPD01. Pro podporu dvou programovatelných buck regulátorů STPD01PUR se používají STM32G071RBT6 a dva TCPP02-M18.

Jaké je vhodné řešení pro Sink (monitor třídy 60 W), aplikaci se vstupem HDMI nebo DP a napájením?

STM32-UCPD + TCPP01-M12 dokáže snížit výkon až do 60 W. Pro HDMI nebo DP je potřeba alternativní režim, který lze nastavit softwarově.

Znamenají tyto produkty, že byly testovány na standardní specifikace USB-IF a shodu s USB?

Kód vygenerovaný nebo navržený na firmwarovém balíčku byl testován a oficiálně certifikován pro některé klíčové hardwarové konfigurace. Jako např.ampX-NUCLEO-SNK1M1, X-NUCLEO-SRC1M1 a X-NUCLEO-DRP1M1 nad NUCLEO byly oficiálně certifikovány a ID testů USB-IF jsou: TID5205, TID6408 a TID7884.

Konfigurační a aplikační kód

Jak mohu vytvořit PDO?

Vytvoření objektu dat o napájení (PDO) v kontextu USB Power Delivery (PD) zahrnuje definování napájecích možností zdroje nebo spotřebiče USB PD. Zde jsou kroky k vytvoření a konfiguraci PDO:

  1. Určete typ CHOP:
    • PDO s pevnou dodávkouDefinuje pevný objemtage a aktuální
    • Napájení z baterie PDODefinuje rozsah objemutaga maximální výkon
    • Variabilní dodávka PDODefinuje rozsah objemutaga maximální proud
    • Programovatelný napájecí zdroj (PPS) APDOUmožňuje programovatelnou hlasitosttage a aktuální.
  2. Definujte parametry:
    • svtage: Voltagúroveň, kterou PDO poskytuje nebo požaduje
    • Proud / výkonProud (pro pevné a variabilní PDO) nebo výkon (pro bateriové PDO), který PDO poskytuje
      nebo žádost.
  3. Použijte grafické rozhraní STM32 Cube MonUCPD:
    • Krok 1Ujistěte se, že máte nejnovější verzi aplikace STM32 Cube Mon UCPD.
    • Krok 2Připojte desku STM32G071-Disco k hostitelskému počítači a spusťte aplikaci STM32 Cube Monitor-UCPD
    • Krok 3Vyberte si desku v aplikaci
    • Krok 4Přejděte na stránku „konfigurace portu“ a kliknutím na kartu „možnosti jímky“ zobrazte
      aktuální seznam CHOP
    • Krok 5Upravte existující PDO nebo přidejte nový PDO podle pokynů
    • Krok 6Klikněte na ikonu „odeslat cíli“ pro odeslání aktualizovaného seznamu PDO na vaši nástěnku.
    • Krok 7Klikněte na ikonu „uložit vše do cíle“ pro uložení aktualizovaného seznamu PDO na vaši nástěnku[*].

Tady je examppříklad toho, jak byste mohli v kódu definovat PDO s pevnou nabídkou:

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

Exampkonfigurace souboru

Pro PDO s pevným napájením s 5 V a 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

Další úvahy: 

  • Dynamický výběr PDO: Metodu výběru PDO můžete dynamicky změnit za běhu úpravou proměnné USED_PDO_SEL_METHOD v souboru usbpd_user_services.c. file[*] .
  • Vyhodnocení schopností: Použijte funkce jako USBPD_DPM_SNK_EvaluateCapabilities k vyhodnocení přijatých schopností a přípravě zprávy s požadavkem[*].

Vytvoření PDO zahrnuje definování objemutagparametry e a proudu (nebo výkonu) a jejich konfigurace pomocí nástrojů jako STM32CubeMonUCPD nebo přímo v kódu. Dodržováním kroků a příkladůampPomocí poskytovaných souborů můžete efektivně vytvářet a spravovat objekty PDO pro vaše aplikace USB PD.

Existuje funkce pro schéma prioritizace s více než jedním připojeným PD-sink?

Ano, existuje funkce, která podporuje schéma prioritizace, když je připojeno více než jeden PD-sink. To je obzvláště užitečné v situacích, kdy je k jednomu zdroji napájení připojeno více zařízení. Distribuce napájení musí být řízena na základě priority.

Schéma prioritizace lze spravovat pomocí funkce USBPD_DPM_SNK_EvaluateCapabilities. Tato funkce vyhodnocuje přijaté funkce ze zdroje PD a připravuje zprávu s požadavkem na základě požadavků a priorit jímky. Při práci s více jímkami můžete implementovat schéma prioritizace přiřazením úrovní priority každé jímce a úpravou funkce USBPD_DPM_SNK_EvaluateCapabilities tak, aby tyto priority zohledňovala.

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

Je povinné používat DMA s LPUART pro grafické uživatelské rozhraní?

Ano, je povinné komunikovat prostřednictvím řešení ST-LINK.

Je nastavení délky slova 7 bitů v LPUARTu správné?

Ano, je to správně.

V nástroji STM32CubeMX je zaškrtávací políčko „šetřit energii neaktivního UCPD – deaktivní pull-up při vybité baterii“. Co znamená toto zaškrtávací políčko, pokud je povoleno?

Pokud je USB Type-C® připojen k napětí 3.3 V nebo 5.0 V, potřebuje pull-up rezistor. Funguje jako generátor proudového zdroje. Tento proudový zdroj lze deaktivovat, pokud se nepoužívá USB Type-C® PD, aby se snížila spotřeba energie.

Je nutné používat FreeRTOS pro aplikace STM32G0 a USB PD? Existují nějaké plány pro aplikace s USB PD bez FreeRTOS?amples?

Není povinné používat FreeRTOS pro aplikace USB Power Delivery (USB PD) na mikrokontroléru STM32G0. USB PD můžete implementovat bez RTOS zpracováním událostí a stavových automatů v hlavní smyčce nebo přerušením servisních rutin. I když se objevily žádosti o USB Power Delivery např.ampsoubory bez RTOS. V současné době žádné soubory bez RTOSample je k dispozici. Ale některé AzureRTOS exampJsou k dispozici pro řady STM32U5 a H5.

Je v demu STM32CubeMX, kde se vytváří aplikace USB PD pro STM32G0, přesnost HSI přijatelná pro aplikace USB PD? Nebo je nutné použít externí krystal HSE?

HSI zajišťuje takt jádra pro periferii UCPD, takže použití HSE nemá žádnou výhodu. STM32G0 také podporuje bezkrystalový režim pro USB 2.0 v režimu zařízení, takže HSE by byl vyžadován pouze v hostitelském režimu USB 2.0.

Obrázek 3Reset a hodiny UCPD

Reset a hodiny UCPD

Existuje nějaká dokumentace, na kterou se mohu odkázat pro nastavení CubeMX, jak jste to vysvětlil později?

Dokumentace je k dispozici v následujících Odkaz na wiki.

Je monitor STM 32 Cube schopen monitorovat v reálném čase? Je monitorování v reálném čase možné propojením STM32 a ST-LINK?

Ano, STM32CubeMonitor dokáže provádět skutečný monitoring propojením STM32 a ST-LINK.

Je objem VBUStagJe funkce měření elektrického proudu/elektrického proudu znázorněná na monitoru dostupná v základním a výchozím nastavení na deskách s podporou UCPD, nebo je to funkce přidané desky NUCLEO?

Přesný svtagMěření je k dispozici nativně, protože VBUS voltage je vyžadováno rozhraním USB Type-C®.
Přesné měření proudu lze provádět pomocí TCPP02-M18 / TCPP03-M20 díky vysokému napětí ampOdporový a paralelní rezistor se také používá k ochraně proti nadproudu.

Generátor kódu aplikace

Může CubeMX generovat projekt založený na Azure RTOS s X-CUBE-TCPP stejným způsobem jako s FreeRTOS™? Může generovat kód pro správu USB PD bez použití FreeRTOS™? Vyžaduje tento softwarový balík k provozu RTOS?

STM32CubeMX generuje kód díky balíčku X-CUBE-TCPP s využitím RTOS dostupného pro MCU, FreeRTOS™ (pro STM32G0 jako např.ample) nebo AzureRTOS (pro STM32H5 jako např.ample).

Může X-CUBE-TCPP generovat kód pro duální port PD typu C, jako je deska STSW-2STPD01?

X-CUBE-TCPP dokáže generovat kód pouze pro jeden port. Pro generování kódu pro dva porty je nutné vygenerovat dva oddělené projekty bez překrývání na zdrojích STM32 a se dvěma adresami I2C pro TCPP02-M18, které je pak sloučit.
Naštěstí, STSW-2STPD01 má kompletní balíček firmwaru pro oba porty. Není tedy nutné generovat kód.

Funguje tento návrhový nástroj se všemi mikrokontroléry s USB Type-C®?

Ano, X-CUBE-TCPP funguje s jakýmkoli STM32, který má vestavěnou UCPD pro všechny napájecí skříně (SINK / SOURCE / Dual Role). Funguje s jakýmkoli STM32 pro 5V Type-C SOURCE.

Tabulka 1. Historie revizí dokumentu

Datum Revize Změny
20. června 2025 1 Počáteční vydání.

Důležité upozornění – Pečlivě si přečtěte

STMicroelectronics NV a její dceřiné společnosti (“ST”) si vyhrazují právo provádět změny, opravy, vylepšení, úpravy a vylepšení produktů ST a/nebo tohoto dokumentu kdykoli bez upozornění. Kupující by měli před zadáním objednávky získat nejnovější relevantní informace o produktech ST. Produkty ST jsou prodávány v souladu s prodejními podmínkami ST platnými v době potvrzení objednávky.

Kupující jsou výhradně odpovědní za výběr, výběr a použití produktů ST a ST nepřebírá žádnou odpovědnost za pomoc s aplikací nebo design produktů kupujících.

Společnost ST zde neuděluje žádnou výslovnou ani předpokládanou licenci k právu duševního vlastnictví.

Další prodej produktů ST s ustanoveními odlišnými od informací uvedených v tomto dokumentu ruší jakoukoli záruku poskytnutou společností ST na takový produkt.

ST a logo ST jsou ochranné známky společnosti ST. Další informace o ochranných známkách ST viz www.st.com/trademarks. Všechny ostatní názvy produktů nebo služeb jsou majetkem jejich příslušných vlastníků.

Informace v tomto dokumentu nahrazují a nahrazují informace dříve uvedené v předchozích verzích tohoto dokumentu.

© 2025 STMicroelectronics – Všechna práva vyhrazena
Logo

Dokumenty / zdroje

Napájení ST STM32 přes USB typu C [pdfUživatelská příručka
TN1592, UM2552, STEVAL-2STPD01, Napájení STM32 USB typu C, STM32, Napájení USB typu C, Napájení typu C, Napájení, Napájení

Reference

Zanechte komentář

Vaše emailová adresa nebude zveřejněna. Povinná pole jsou označena *