Schnelle Erhöhung der Leistungsübertragung von USB-C-Geräten auf 100 W mit minimalem Programmieraufwand

Von Jens Wallmann, beigetragen von Digi-Key’s Deutschen Redakteuren

Zur Verfügung gestellt von Europäische Fachredakteure von DigiKey

Mit der zunehmenden Verbreitung von Ports für Universal Serial Bus Typ-C™ (USB-C) verlassen sich viele Nutzer darauf, dass sie einer Vielzahl von vernetzten Geräten immer höhere elektrische Leistungen liefern. Die USB-C-Spezifikation begrenzt jedoch die Basis-Stromversorgung einer „Nur-Typ-C“-Komponente auf maximal 15 Watt (5 Volt, 3 Ampere (A)).

Um diese Einschränkung zu überwinden, kann USB Power Delivery (PD) hinzugefügt werden um ein Typ-C-PD-Gerät zu entwickeln, das bis zu 100 Watt (20 Volt, 5 A) im Standardleistungsbereich (SPR) liefern kann. Anstatt das umfassende USB-PD-Protokoll mühsam zu programmieren, können ganz einfach PD-Controller von der Stange konfiguriert werden und AC/DC-Ladegeräte und stromgesteuerte USB-Ports um benutzerdefinierte und optimierte PD-Funktionen erweitert werden.

Dieser Artikel gibt einen Überblick über die wichtigsten Anforderungen an PD-Systeme. Anschließend wird der PD-Controller FUSB15101MNTWG von onsemi vorgestellt und gezeigt, wie mit Hilfe von Evaluierungsboards, Entwicklungssoftware, Programmier-/Debug-Adaptern und einem PD-Protokollanalysator schnell mit der Konfiguration der vorprogrammierten Controller-Firmware begonnen werden kann.

Schaltwandler mit protokollgesteuerter Leistungsregelung

Es gab eine Zeit, in der analoge Wandladegeräte für batteriebetriebene Geräte nur aus zwei Komponenten bestanden: einem Transformator und einem Gleichrichter. Der Bedarf an höherer Effizienz, größerer Flexibilität und fortschreitender Miniaturisierung haben dazu geführt, dass die Stromversorgung selbst einfacher elektronischer Geräte zu einem komplexen Unterfangen geworden ist. Heutige mikrocontrollerbasierte Schaltwandler müssen ihre Ausgangsleistung mit angeschlossenen intelligenten Lasten über ein komplexes Protokoll dynamisch aushandeln.

USB PD ist ein solches Protokoll. In der Version 3.1 koordiniert es bis zu 240 Watt elektrische Leistung über ein intelligentes EMCA-Anschlusskabel (EMCA: Electronically Marked Cable Assembly) für USB Typ-C, während gleichzeitig die Abwärtskompatibilität mit älteren USB-Standards erhalten bleibt. Die Regelung der dynamischen PD-Stromübertragung über den 24-poligen USB-C-Stecker geht jedoch weit über die statischen Steuerspannungen auf den Datenleitungen der klassischen Vier-Draht-USB-Schnittstelle hinaus.

Ein USB-PD-Gerät kann als Stromquelle für einen Downstream-Port (DFP), als Stromverbraucher (oder „Senke“) für einen Upstream-Port (UFP) oder in einem Doppelmodus (DRP) arbeiten. Ein PD-Quellengerät schaltet intern Pull-Up-Widerstände auf zwei Steuerleitungen (CC1 und CC2); ein PD-Senkengerät identifiziert sich über interne Pull-Down-Widerstände.

Die beiden CC-Leitungen werden gleichzeitig zur Übertragung von PD-Nachrichten mit einer Länge von bis zu 356 Bit bei einer Taktrate von 300 Kilohertz (kHz) verwendet (Abbildung 1). Kurze Steuernachrichten koordinieren den Nachrichtenfluss zwischen zwei Portpartnern, während längere Datennachrichten dazu dienen, die Stromversorgung auszuhandeln und den eingebauten Selbsttest (BIST) zu steuern oder OEM-spezifische Inhalte zu übertragen.

Bild der PD-NachrichtenstrukturAbbildung 1: Die PD-Nachrichtenstruktur kann dynamisch bis zu 356 Bit lang werden. (Bildquelle: Cypress Semiconductor, über embedded.com)

Leistungsaushandlung zwischen PD-Geräten

Der USB PD 3.0 SPR definiert mehrere feste Spannungspegel zwischen 5 und 20 Volt und unterstützt nur statische Leistungsprofile bis zu 100 Watt. Mit der PPS-Erweiterung (Programmable Power Supply) kann ein USB-Verbrauchergerät in Echtzeit eine Spannung von der USB-Stromquelle zwischen 3 und 21 Volt in Schritten von 20 Millivolt (mV) anfordern, je nach Bedarf.

Dadurch vereinfacht das PPS die Schaltwandlerelektronik im mobilen Gerät, reduziert die Wärmeabgabe und beschleunigt den Ladevorgang durch eine optimierte Leistungsanpassung. USB PD 3.1 definiert einen erweiterten Leistungsbereich (EPR) bis maximal 240 Watt und verwendet eine einstellbare Spannungsversorgung (AVS), um die Busspannung in einem höheren Bereich zwischen 15 und 48 Volt zu regulieren.

Da 3 A bereits die Strombelastbarkeit gewöhnlicher USB-Kabel übersteigt, schreibt das USB Implementers Forum (USB-IF) die Verwendung spezieller EMCA-Kabel vor. Diese zeichnen sich durch dickere Kabelquerschnitte und eine stärkere Kabelisolierung aus. Die E-Marker-Chips in den Kabelsteckern bestätigen diese verstärkten Kabeleigenschaften mit Hilfe des PD-Protokolls. Damit beeinflussen sie die Leistungsaushandlung zwischen dem Quellen- und dem Senkengerät.

Bei der PD-Kommunikation werden spezielle K-Codes zur Abgrenzung von Nachrichten verwendet. Die spezielle K-Code-Sequenz, die den Beginn einer Sequenz anzeigt, wird SOP (Start Of Packet) genannt. Es sind drei Sequenzen definiert: SOP, SOP' und SOP'', so dass ein DFP (eine Stromquelle wie z. B. ein PD-Netzladeadapter) als Initiator mit einem der beiden E-Marker-Chips in den EMCA-Kabelanschlüssen sowie mit dem UFP (USB-Stromsenke) kommunizieren kann.

Das Flussdiagramm in Abbildung 2 zeigt den Nachrichtenaustausch während einer erfolgreichen Leistungsaushandlung zwischen zwei über ein EMCA-Kabel verbundenen PD-Geräten.

Bild der Leistungsverhandlung zwischen zwei USB-PD-Geräten (zum Vergrößern anklicken)Abbildung 2: Hier wird die erfolgreiche Aushandlung der Leistungsversorgung zwischen zwei USB-PD-Geräten über ein EMCA-Kabel gezeigt. Hinweis: Rqt = Anforderung; Ack = Bestätigung. (Bildquelle: Cypress Semiconductor, über embedded.com)

Konfigurieren statt programmieren

Die Komplexität des PD-Protokolls bedeutet für den Entwickler eine mühsame Programmierarbeit. Ein schnellerer Ansatz besteht darin, einen vorprogrammierten USB-PD-Controller mit benutzerdefinierten Funktionen zu konfigurieren. Ein Beispiel für einen Controller ist der FUSB15101MNTWG von onsemi. Hierbei handelt es sich um einen hochintegrierten USB-PD-3.1-Controller, der den primärseitigen Schaltregler eines AC/DC-Adapters über einen Optokoppler oder direkt einen DC/DC-Portstromregler steuern kann.

Diese Komplettlösung minimiert die Schaltkreiskomplexität durch optimierte Hardware-Peripherie, einschließlich Digital/Analog- und Analog/Digital-Wandler, NTC-Temperaturmessung und NMOS-Gate-Treiber. Open-Source-Firmware mit einer Anwendungsprogrammierschnittstelle (API) und die Eclipse-basierte integrierte Entwicklungsumgebung (IDE) erleichtern die Programmierung.

Der FUSB15101 integriert einen hocheffizienten Arm®-Cortex®-M0+-Prozessor mit einer UART-Schnittstelle und unterstützt die PPS-Spezifikation, indem sie die Ausgangsspannung von 3,3 bis 21 Volt regelt. Er bietet eine programmierbare Konstantspannungs- (CV) und Konstantstromregelung (CC) und gleicht Kabelverluste aus. Außerdem sind Schutzfunktionen für Über- und Unterspannung, Überstrom und Übertemperatur sowie Überspannungsschutzdioden an den USB-C-Anschlusspins verfügbar. Der PD-Controller unterstützt die VCONN-Stromversorgung für die E-Marker-Chips in den EMCA-Kabeln, während seine Leerlauf- und Ruhemodi die Anforderungen des CoC (Certificate of Conformity) und des DOE (Design of Experiments) erfüllen.

Typische Anwendungen umfassen:

  • USB-PD-kompatibler AC/DC-Adapter (siehe Anwendung 1)
  • USB-PD-kompatibler DC/DC-Port (siehe Anwendung 2)

Anwendung 1: AC/DC-Schaltnetzteil mit USB-PD-Ausgang

In dieser Anwendung steuert der USB-PD-Controller FUSB15101 den quasi-resonanten (QR) Flyback-Schaltregler NCP1345Q02D1R2G auf der Primärseite eines AC/DC-Schaltnetzteils über einen Optokoppler. Der NCP1345 arbeitet mit 9 bis 38 Volt aus einer Hilfswicklung des Transformators, während eine zweite Hilfswicklung eine viermal höhere Spannung erzeugt, um genügend Schaltspannung für einen MOSFET bei niedrigen USB-Ausgangsspannungen von 3,3 Volt zu liefern. Auf der Sekundärseite steuert der Controller NCP4307AASNT1G die Synchrongleichrichtung. Die Kombination der drei ICs führt zu einem Schaltnetzteil, das über die verschiedenen PD-Leistungsprofile hinweg durchgängig einen Wirkungsgrad von rund 90 % erreicht.

Abbildung 3 zeigt das Hauptschaltbild eines USB-C-PD-3.0-PPS-Netzladegeräts, das auf den drei ICs basiert und 65 Watt (20 Volt/3,25 A) liefert.

Abbildung des Hauptschaltplans eines USB-C-PD-3.0-PPS-Netzladegeräts (zum Vergrößern anklicken)Abbildung 3: Bei dieser Lösung für USB-PD-Wandladegeräte steuert der FUSB15101 den NCP1345 QR Flyback-Schaltregler auf der Primärseite des AC/DC-Schaltnetzteils über einen Optokoppler. (Bildquelle: onsemi)

Programmierer starten ihre eigene USB-PD-Stromversorgungsanwendung mit Hilfe des Evaluierungsboards NCP1342PD65WGEVB von onsemi (siehe Abbildung 4).

Bild: USB-C-PD-3.0-Wandladegerät NCP1342PD65WGEVB von onsemiAbbildung 4: Mit dem USB-C-PD-3.0-Evaluierungsboard (Wandladegerät) NCP1342PD65WGEVB können Programmierer sofort loslegen. (Bildquelle: onsemi)

Die Speicherdrossel dieser Karte in Form eines kompakten RM8-Transformators liefert eine Ausgangsleistung von 60 Watt (20 Volt/3 A). Der quasi-resonante Flyback-Schaltregler NCP1342BMDCDD1R2G arbeitet mit einer Spannung von 9 bis 28 Volt aus nur einer Hilfswicklung. Er eignet sich für die Entwicklung leistungsfähiger Offline-Leistungswandler und USB-PD-Adapter und verfügt über eine schnelle Frequenzrückführung (RFF) für einen verbesserten Wirkungsgrad über den gesamten Lastbereich. Ein integrierter aktiver X2-Entladekondensator macht Entladewiderstände überflüssig und ermöglicht eine Leistungsaufnahme von unter 40 Milliwatt (mW) im Leerlauf.

Anwendung 2: DC/DC-Stromregler für einen USB-PD-Port

In dieser Anwendung steuert der USB-PD-Controller FUSB15101 den vierstufigen Buck/Boost-Aufwärs/Abwärts-DC/DC-Wandler-Controller NCV81599MWTXG. Dadurch kann ein USB-C-Port, der ansonsten auf 15 Watt begrenzt ist, zu einer PD-Stromquelle erweitert werden, die mehr als 60 Watt liefert und vom internen Gleichstromnetzteil des Geräts oder einer Batterie versorgt wird (Abbildung 5).

Diagramm: Der FUSB15101 steuert direkt den vierstufigen DC/DC-Wandler-Controller NCV81599 (zum Vergrößern anklicken)Abbildung 5: In dieser DC/DC-Port-Stromregler-Anwendung steuert der FUSB15101 direkt den vierstufigen DC/DC-Wandler-Controller NCV81599. (Bildquelle: onsemi)

Mit dem Evaluierungsboard FUSB3307MPX-PPS-GEVB können Entwickler Zeit sparen und sofort mit dem Testen und Programmieren des NCV81599 beginnen. Diese DC/DC-Stromreglerschaltung wandelt einen USB-Port in eine PD-3.0-PPS-Stromquelle um, die bis zu 5 A bei Busspannungen von 3,3 bis 21 Volt liefert (Abbildung 6). Die Schaltung ist in der Lage, E-Marker-Kabel zu detektieren und kann eigenständig oder in Verbindung mit einem Testgerät betrieben werden.

Bild: Das FUSB3307MPX-PPS-GEVB von onsemi ist ein EvaluierungsboardAbbildung 6: Das FUSB3307MPX-PPS-GEVB ist ein Evaluierungsboard für den NCV81599, das USB-Ports in eine PD-3.0-PPS-Stromquelle verwandelt. (Bildquelle: onsemi)

Ein Gleichspannungsnetzteil oder eine Batterie versorgt den VBAT-Eingang der FUSB3307-Karte mit 4,5 bis 32 Volt. Die Schaltung ermöglicht eine Konstantspannungs- (CV) oder Konstantstromregelung (CC) und bietet Schutz gegen Über- und Unterspannung, Kurzschluss, Übertemperatur und Kabelfehler.

Programmierung der FUSB15101

Die FUSB15010-Firmware ist ein hochoptimierter Typ-C-PD-Controller-Treiber, der den integrierten Arm-Cortex-M0+-Prozessor unterstützt. Die Firmware ist flexibel genug, um neue PD-Nachrichten sowie zusätzliche Typ-C-Statusflüsse zu verarbeiten. Der Code ist modular aufgebaut und trennt den Quellcode der Anwendung, die Hardware-Abstraktionsschicht, den plattformabhängigen Code und die USB-Typ-C-PD-Kernfunktionen.

Die PD-Kernfunktionen sind über die Build-Optionen des Projekts oder durch Modifizierung der Vendor-Info-Datei „vif_info.h“ konfigurierbar. Die Code-Basis enthält ein Eclipse-Beispielprojekt, das mit der IDE kompiliert werden kann, was einen schnelleren Start für die Evaluierung des Typ-C-PD-Standalone-Controllers ermöglicht.

Tabelle 1 fasst die von der FUSB15101 unterstützten PD-Profile zusammen; PDO ist das Power Delivery Object.

Merkmale Unterstützter Typ Firmware
Typ-C Quelle Ja
PD Anbieter Ja
Angebotene PDOs PDO-Typ Beschreibung
PDO 1 Fest 5 V / 3 A
PDO 2 Fest 9 V / 3 A
PDO 3 Fest 12 V / 3 A
PDO 4 Fest 15 V / 3 A
PDO 5 Fest 20 V / 3,25 A
PDO 6 Erweitert 3,3 V bis 21 V / 3,25 A

Tabelle 1: Abgebildet sind die von der FUSB15101 unterstützten PD-Profile. (Quelle der Tabelle: onsemi)

Wie bereits erwähnt, können die Parameter eines Ladeprofils sehr einfach in der Datei „vif_info.h“ geändert werden. Der folgende Code zeigt, wie man den maximalen Strom in PDO 4 von 20 Volt/3 A auf 20 Volt/3,25 A ändert:

Aktuelle PDO-Werte:

#define PORT_A_SRC_PDO_VOLTAGE_4                   400 // 20000 mV

#define PORT_A_SRC_PDO_MAX_CURRENT_4         300 // 3.00 A

 

Neue PDO-Werte:

#define PORT_A_SRC_PDO_VOLTAGE_4                   400 // 20000 mV

#define PORT_A_SRC_PDO_MAX_CURRENT_4         325 // 3.25 A

Weitere Details und Anleitungen zur Installation der IDE sowie zum Firmware-Import und zur Kompilierung der Binärdatei finden Sie in der Anleitung zum FUSB15101EVBSPG.

Die Installation der Programmiertools und der Ablauf des One-Time-Flashs sind im Benutzerhandbuch UM70086-D beschrieben. Ein geeigneter Arm-Cortex-M-Programmier- und Debug-Adapter, der die Entwicklung erleichtert, ist der 8.08.91 J-LINK EDU MINI von Segger Microcontroller Systems.

Überprüfung der PD-Kommunikation

Um die Kommunikation zwischen zwei USB-PD-Geräten zu überprüfen, kann der Protokollanalysator CY4500 von Infineon Technologies verwendet werden, der die USB-PD-3.0- und USB-C-Spezifikationen unterstützt. Es führt nicht-intrusive Tests durch und erfasst genaue Protokollnachrichten auf den CC-Leitungen. Die zugehörige Analysesoftware EZ-PD listet alle Meldungen eines Dialogs zwischen zwei USB-PD-Geräten und einem EMCA-Kabel detailliert auf (Abbildung 7).

Bild der EZ-PD-Analysesoftware von Infineon Technologies (zum Vergrößern anklicken)Abbildung 7: Die EZ-PD-Analysesoftware verfolgt den Dialog zwischen zwei USB-PD-Geräten über die CC-Leitungen. (Bildquelle: Infineon Technologies)

Fazit

Es ist zwar wichtig, die Grundlagen des USB-PD-Protokolls zu verstehen, um Designs an den steigenden Energiebedarf von Endgeräten anpassen zu können, aber es ist ein komplexes Protokoll, das eine umfangreiche Programmierung erfordern kann. Um Zeit zu sparen, können vorprogrammierte, hochintegrierte USB-PD-Controller verwendet werden, um die 15-Watt-USB-C-Leistung auf über 100 Watt zu erhöhen. AC/DC-USB-Ladegeräte sowie DC/DC-USB-Ports können durch einfache Konfiguration des PD-Controllers um benutzerdefinierte PD-Funktionen erweitert werden. Der Einsatz von Evaluierungsboards und eines PD-Protokollanalysators erleichtert den Entwicklungsprozess.

DigiKey logo

Haftungsausschluss: Die Meinungen, Überzeugungen und Standpunkte der verschiedenen Autoren und/oder Forumsteilnehmer dieser Website spiegeln nicht notwendigerweise die Meinungen, Überzeugungen und Standpunkte der DigiKey oder offiziellen Politik der DigiKey wider.

Über den Autor

Jens Wallmann

Jens Wallmann, beigetragen von Digi-Key’s Deutschen Redakteuren

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.

Über den Verlag

Europäische Fachredakteure von DigiKey