Klik hier voor de Engelse versie van de broncode.

Hoe u snel vermogensoverdracht van USB-C-apparaten tot 100 W kunt opvoeren met minimale programmering

Door Jens Wallmann

Bijgedragen door De Europese redacteurs van DigiKey

Naarmate we meer USB-C-poorten (Universal Serial Bus Type-C) gebruiken, vertrouwen gebruikers erop steeds hogere elektrische vermogens te kunnen leveren aan een breed scala van aangesloten apparaten. De USB-C-specificatie beperkt de basisvoeding van een "Type-C only"-apparaat echter tot maximaal 15 watt (5 volt, 3 ampère (A)).

Om deze beperking te omzeilen, kunnen ontwerpers USB Power Delivery (PD) toevoegen en een Type-C PD-apparaat maken dat tot 100 watt (20 volt, 5 A) kan leveren in het standaard vermogensbereik (SPR). In plaats van moeizaam het uitgebreide USB PD-protocol te programmeren, kunnen ontwikkelaars nu eenvoudig een kant-en-klare PD-controller configureren en aangepaste en geoptimaliseerde PD-functionaliteit toevoegen aan AC/DC-opladers en USB-poorten met stroomregeling.

Dit artikel geeft een overzicht van de belangrijkste vereisten voor PD-systemen. Daarnaast wordt aan de hand van de FUSB15101MNTWG PD-controller van onsemi getoond hoe men snel en eenvoudig de voorgeprogrammeerde firmware van de controller kan configureren met behulp van evaluatiekaarten, ontwikkelingssoftware, programmeer-/debugadapters en een PD-protocol analyzer.

Schakelende converter met protocolgestuurde vermogensregeling

Vroeger bestonden analoge wandopladers voor batterijgevoede apparaten uit slechts twee componenten: een transformator en een gelijkrichter. De behoefte aan hogere efficiëntie, grotere flexibiliteit en voortdurende miniaturisatie hebben er samen voor gezorgd dat zelfs eenvoudige elektronische apparaten een complexe aangelegenheid zijn geworden. De huidige, op microcontrollers gebaseerde schakelende converters moeten nu dynamisch hun uitgangsvermogen onderhandelen met aangesloten slimme belastingen via een complex protocol.

USB PD is zo'n protocol. In versie 3.1 coördineert dit protocol tot 240 watt elektrisch lijnvermogen via een intelligente USB Type-C EMCA-verbindingskabel (Electronically Marked Cable Assembly), terwijl het tegelijkertijd achterwaartse compatibiliteit behoudt met oudere USB-standaarden. De besturing van dynamische PD-vermogensoverdracht via de 24-pins USB-C-connector gaat echter veel verder dan de statische stuurspanningen op de datalijnen van de klassieke vierdraads USB-interface.

Een USB PD-apparaat kan functioneren als een downstream gerichte poort (DFP) stroombron, een upstream gerichte poort (UFP) stroomverbruiker (of "sink") of in een DRP-modus (dual role port). Een PD-sourceapparaat schakelt intern pull-upweerstanden naar twee controlelijnen (CC1 en CC2); een PD-sinkapparaat identificeert zichzelf via interne pull-downweerstanden.

De twee CC-lijnen worden tegelijkertijd gebruikt om PD-berichten met een lengte tot 356 bits te verzenden met een kloksnelheid van 300 kilohertz (kHz) (afbeelding 1). Korte controleberichten coördineren de berichtenstroom tussen twee poortpartners, terwijl langere gegevensberichten worden gebruikt om het vermogen te onderhandelen en de ingebouwde zelftest (BIST) te regelen of OEM-specifieke inhoud te verzenden.

Afbeelding van PD-berichtstructuurAfbeelding 1: De PD-berichtstructuur kan dynamisch tot 356 bits lang zijn. (Bron afbeelding: Cypress Semiconductor, via embedded.com)

Vermogensonderhandeling tussen PD-apparaten

De USB PD 3.0 SPR definieert verschillende vaste spanningsniveaus tussen 5 en 20 volt en ondersteunt alleen statische vermogensprofielen tot 100 watt. Met behulp van de PPS-uitbreiding (Programmable Power Supply) kan een USB-sinkapparaat in real-time een spanning van de USB-voedingsbron opvragen tussen 3 en 21 volt in stappen van 20 millivolt (mV), afhankelijk van de behoeften.

De PPS vereenvoudigt daardoor de elektronica voor de schakelende converter in het mobiele apparaat, vermindert de warmteafgifte en versnelt het opladen door de vermogensaanpassing te optimaliseren. USB PD 3.1 definieert een uitgebreid vermogensbereik (extended power range, EPR) tot maximaal 240 watt en gebruikt een regelbare spanningsvoeding (adjustable voltage supply, AVS) om de busspanning te regelen in een hoger bereik tussen 15 en 48 volt.

Omdat 3 A de stroomcapaciteit van gewone USB-kabels al overschrijdt, bepaalt het USB Implementers Forum (USB-IF) dat speciale EMCA-kabels moeten worden gebruikt. Deze hebben een dikkere draaddoorsnede en kabelisolatie. De E-Marker-chips in de kabelstekkers bevestigen deze versterkte kabelkenmerken met behulp van het PD-protocol. Hierdoor beïnvloeden ze de vermogensonderhandeling tussen de leverende (source) en het verbruikende (sink) apparaat.

PD-communicatie maakt gebruik van speciale K-codes om berichten af te bakenen. De speciale K-code-sequentie die het begin van een sequentie aangeeft, wordt Start-of-Packet (SOP) genoemd. Er zijn drie sequenties gedefinieerd: SOP, SOP' en SOP'', zodat een DFP (een stroombron zoals een PD-netwerklaadadapter) als initiator kan communiceren met een van de twee E-Marker-chips in de EMCA-kabelconnectoren, evenals met de UFP (USB power sink).

Het stroomschema in afbeelding 2 toont de berichtenuitwisseling tijdens een succesvolle vermogensonderhandeling tussen twee PD-apparaten die zijn verbonden via een EMCA-kabel.

Afbeelding van vermogensonderhandeling tussen twee USB PD-apparaten (klik om te vergroten)Afbeelding 2: Getoond wordt de succesvolle vermogensonderhandeling tussen twee USB PD-apparaten via een EMCA-kabel. Opmerking: Rqt = Request; Ack = Acknowledge. (Bron afbeelding: Cypress Semiconductor, via embedded.com)

Configureren in plaats van programmeren

De complexiteit van het PD-protocol vertaalt zich in een moeizame programmeertaak voor de ontwikkelaar. Sneller is om in plaats daarvan een voorgeprogrammeerde USB PD-controller met aangepaste functies te configureren. Een voorbeeld van een controller is de FUSB15101MNTWG van onsemi. Dit is een sterk geïntegreerde USB PD 3.1-controller die de primaire schakelende regelaar van een AC/DC-adapter kan aansturen via een optocoupler of rechtstreeks een DC/DC-poortstroomregelaar kan aansturen.

Deze alomvattende oplossing minimaliseert de complexiteit van het circuit door geoptimaliseerde hardware-randapparatuur, waaronder digitaal-naar-analoog en analoog-naar-digitaal converters, NTC-temperatuurmeting en NMOS gate drivers. Open-source firmware met een application programming interface (API) en de op Eclipse gebaseerde geïntegreerde ontwikkelomgeving (IDE) vergemakkelijken het programmeren.

De FUSB15101 integreert een zeer efficiënte Cortex® M0+ processor van Arm® met een UART-interface en ondersteunt de PPS-specificatie, waarbij de uitgangsspanning wordt geregeld van 3,3 tot 21 volt. De controller levert een programmeerbare regelaar voor constante spanning (CV) en constante stroom (CC) en compenseert tegen kabelverliezen. Ook zijn er overspannings-, onderspannings-, overstroom- en overtemperatuurbeveiligingsfuncties, evenals overspanningsbeveiligingsdiodes op de USB-C-connectorpinnen. De PD-controller ondersteunt VCONN-voeding voor de E-Marker-chips in EMCA-kabels, terwijl de rust- en slaapmodi voldoen aan de vereisten van het Certificate of Conformity (CoC) en Design of Experiments (DOE).

Typische toepassingen zijn onder andere:

  • AC/DC-adapter die voldoet aan USB PD (zie toepassing 1)
  • DC/DC-poorten die voldoen aan USB PD (zie toepassing 2)

Toepassing 1: AC/DC schakelende voeding met USB PD-uitgang

In deze toepassing bestuurt de FUSB15101 USB PD-controller de NCP1345Q02D1R2G quasi-resonante (QR) flyback schakelende regelaar aan de primaire kant van een AC/DC schakelende voeding via een optocoupler. De NCP1345 werkt op 9 tot 38 volt van een hulpwikkeling van de transformator, terwijl een tweede hulpwikkeling een spanning genereert die vier keer zo hoog is om voldoende schakelspanning te leveren voor een MOSFET bij lage USB-uitgangsspanningen van 3,3 volt. Aan de secundaire zijde regelt de NCP4307AASNT1G-controller de synchrone gelijkrichting. Het combineren van de drie IC's resulteert in een schakelende voeding die consistent een efficiëntie van rond de 90% haalt voor de verschillende PD-vermogensprofielen.

Afbeelding 3 toont het hoofdschakelschema van een USB-C PD 3.0 PPS-netoplader gebaseerd op de drie IC's die 65 watt (20 volt, 3,25 A) leveren.

Afbeelding van het hoofdschakelschema van een USB-C PD 3.0 PPS-netoplader (klik om te vergroten)Afbeelding 3: In deze oplossing voor USB PD-wandopladers stuurt de FUSB15101 de NCP1345 QR flyback schakelende regelaar aan de primaire kant van de AC/DC schakelende voeding aan via een optocoupler. (Bron afbeelding: onsemi)

Programmeurs starten hun eigen USB PD-voedingstoepassing met behulp van de NCP1342PD65WGEVB-evaluatiekaart van onsemi, getoond in afbeelding 4.

Afbeelding van de onsemi NCP1342PD65WGEVB USB-C PD 3.0 wandopladerAfbeelding 4: Met de NCP1342PD65WGEVB USB-C PD 3.0 wandoplader evaluatiekaart kunnen programmeurs direct aan de slag. (Bron afbeelding: onsemi)

De opslagsmoorspoel van deze kaart, in de vorm van een compacte RM8 transformator, levert 60 watt (20 volt, 3 A) uitgangsvermogen. De NCP1342BMDCDD1R2G quasi-resonante flybackschakelregelaar werkt op 9 tot 28 volt van slechts één hulpwikkeling. Geschikt voor het ontwikkelen van krachtige offline vermogensconverters en USB PD-adapters, met snelle frequentie foldback (RFF) voor verbeterde efficiëntie over het hele belastingsbereik. Een geïntegreerde actieve X2-ontladingscondensator maakt ontladingsweerstanden overbodig en zorgt voor een stroomverbruik van minder dan 40 milliwatt (mW) bij onbelaste toestand.

Toepassing 2: DC/DC-stroomregelaar voor een USB PD-poort

In deze toepassing stuurt de FUSB15101 USB PD-controller de NCV81599MWTXG viertraps buck/boost, step-up/down DC/DC-converter aan. Hierdoor kan een USB-C poort die anders beperkt is tot 15 watt worden uitgebreid tot een PD-voedingsbron die meer dan 60 watt levert en wordt gevoed door de interne gelijkstroomvoeding van het apparaat of een batterij (Afbeelding 5).

Diagram van FUSB15101 die de viertraps DC/DC-converter NCV81599 rechtstreeks aanstuurt (klik om te vergroten)Afbeelding 5: In deze toepassing met een DC/DC poortstroomregelaar wordt de viertraps DC/DC-converterregelaar NCV81599 rechtstreeks door de FUSB15101 aangestuurd. (Bron afbeelding: onsemi)

Ontwikkelaars kunnen tijd besparen en direct beginnen met testen en programmeren met de NCV81599 door gebruik te maken van de FUSB3307MPX-PPS-GEVB-evaluatiekaart. Dit DC/DC-stroomregelcircuit zet een USB-poort om in een PD 3.0 PPS-stroombron die tot 5 A levert bij busspanningen van 3,3 tot 21 volt (afbeelding 6). Het circuit kan E-Marker-kabels detecteren en kan standalone worden gebruikt of worden aangesloten op testapparatuur.

Afbeelding van de FUSB3307MPX-PPS-GEVB-evaluatiekaart van onsemiAfbeelding 6: De FUSB3307MPX-PPS-GEVB is een evaluatiekaart voor de NCV81599 die USB-poorten verandert in een PD 3.0 PPS voedingsbron. (Bron afbeelding: onsemi)

Een gelijkstroomvoeding of een batterij voorziet de VBAT-ingang van de FUSB3307-kaart van 4,5 tot 32 volt. Het circuit kan een constante spanning (CV) of een constante stroom (CC) regelen en beveiligt tegen overspanning, onderspanning, kortsluiting, oververhitting en kabelstoringen.

De FUSB15101 programmeren

De FUSB15010-firmware is een sterk geoptimaliseerd stuurprogramma voor Type-C PD-controllers dat de geïntegreerde Arm Cortex M0+ processor ondersteunt. De firmware heeft de flexibiliteit om nieuwe PD-berichten en extra Type-C statusflows te verwerken. De code is modulair opgebouwd, waarbij de broncode van de toepassing, de hardware-abstractielaag, platformafhankelijke code en USB Type-C PD-kernfuncties worden gescheiden.

De PD-kernfuncties kunnen worden geconfigureerd via projectbouwopties of door het vendor info bestand "vif_info.h" aan te passen. De codebase bevat een Eclipse-voorbeeldproject dat kan worden gecompileerd met de IDE, waardoor de Type-C PD standalone controller sneller kan worden geëvalueerd.

Tabel 1 geeft een overzicht van de PD-profielen die worden ondersteund door de FUSB15101; PDO is het power delivery object.

Kenmerk Ondersteund type Firmware
Type-C Source Ja
PD Provider Ja
Geadverteerde PDO's PDO-type Beschrijving
PDO 1 Vast 5 V / 3 A
PDO 2 Vast 9 V / 3 A
PDO 3 Vast 12 V / 3 A
PDO 4 Vast 15 V / 3 A
PDO 5 Vast 20 V / 3,25 A
PDO 6 Augmented 3,3 V tot 21 V / 3,25 A

Tabel 1: Hier worden de PD-profielen weergegeven die door de FUSB15101 worden ondersteund. (Bron tabel: onsemi)

Zoals eerder gezegd, kunnen de parameters van een laadprofiel heel eenvoudig worden aangepast in het bestand "vif_info.h". De onderstaande code laat zien hoe je de maximale stroom in PDO 4 kunt wijzigen van 20 volt/3 A naar 20 volt/3,25 A:

Huidige PDO-waarden:

#define PORT_A_SRC_PDO_VOLTAGE_4                   400 // 20000 mV

#define PORT_A_SRC_PDO_MAX_CURRENT_4         300 // 3.00 A

 

Nieuwe PDO-waarden:

#define PORT_A_SRC_PDO_VOLTAGE_4                   400 // 20000 mV

#define PORT_A_SRC_PDO_MAX_CURRENT_4         325 // 3.25 A

Meer details en instructies voor het installeren van de IDE, het importeren van de firmware en het compileren van het binaire bestand zijn te vinden in de FUSB15101EVBSPG-handleiding.

De installatie van de programmeertools en de procedure van de eenmalige flash worden beschreven in de gebruikershandleiding van UM70086-D. Een geschikte Arm Cortex-M programmeer- en debug-adapter om de ontwikkeling te vergemakkelijken is de 8.08.91 J-LINK EDU MINI van Segger Microcontroller Systems.

De PD-communicatie controleren

Om de communicatie tussen twee USB PD-apparaten te verifiëren, kunnen ontwikkelaars de CY4500 protocol analyzer van Infineon Technologies gebruiken, die USB PD 3.0- en USB-C-specificaties ondersteunt. Deze voert niet-intrusieve tests uit en legt nauwkeurige protocolberichten vast op de CC-lijnen. De bijbehorende EZ-PD-analysesoftware geeft een gedetailleerd overzicht van alle berichten van een dialoog tussen twee USB PD-apparaten en een EMCA-kabel (Afbeelding 7).

Afbeelding van EZ-PD-analysesoftware van Infineon Technologies (klik om te vergroten)Afbeelding 7: De EZ-PD-analysesoftware volgt de dialoog tussen twee USB PD-apparaten via de CC-lijnen. (Bron afbeelding: Infineon Technologies)

Conclusie

Hoewel het belangrijk is om de basisprincipes van het USB PD-protocol te begrijpen om zo ontwerpen aan te kunnen passen aan de toenemende energiebehoeften van eindgebruikerapparaten, kan een complex protocol uitgebreide programmering vereisen. Om tijd te besparen kunnen ontwikkelaars voorgeprogrammeerde, sterk geïntegreerde USB PD-controllers gebruiken om 15 watt USB-C vermogen op te voeren tot meer dan 100 watt. AC/DC USB-opladers en DC/DC USB-poorten kunnen worden uitgebreid met aangepaste PD-functionaliteit door eenvoudigweg de PD-controller te configureren. Het gebruik van evaluatiekaarten en een PD-protocol analyzer vergemakkelijkt het ontwikkelingsproces.

DigiKey logo

Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

Achtergrondinformatie over deze auteur

Jens Wallmann

Jens Wallmann

Jens Wallmann is a freelancing editor and contributes to electronics publications, both print and online. As an electrical engineer (communications engineering) and a trained industrial electronic engineer he has more than 25 years in electronics development with a focus on measuring technology, automotive electronics, process industry and Radio Frequency.

Over deze uitgever

De Europese redacteurs van DigiKey