Mit X-CUBE-UCSI steht eine UCSI-zertifizierte Lösung mit sofort verwendbaren Hardware- und Firmwarebeispielen zur Implementierung einer standardisierten Kommunikation mithilfe einer STM32-MCU als UCSI PD Controller zur Verfügung. Diese Designs können von Anwendern kopiert und in eigene Projekte eingefügt werden.
Technische Details
Die Software ermöglicht dem Mikrocontroller die Verbindungsaufnahme mit dem Haupt-Systemprozessor und den Austausch von Informationen mit dem Betriebssystem unter Verwendung des UCSI-Protokolls, während gleichzeitig der USB-C-Anschluss und das PD-Protokoll kontrolliert werden. Der Hauptprozessor, bei dem es sich um ein System-on-Chip (SoC), einen Applikationsprozessor oder einen STM32MP-Mikroprozessor handeln kann, fungiert dabei als UCSI Operating system Policy Manager (OPM). Dem PD-Controller in der STM32-MCU kommt dagegen die Rolle des UCSI Platform Policy Managers (PPM) zu.
Die notwendige USB-C- und Power-Delivery-Peripherie (UCPD) ist in verschiedenen STM32-MCUs verfügbar. Die kostengünstigsten Varianten sind laut STdie Bausteine der Reihe STM32G0.
Die Software ermöglicht ebenfalls das Programmieren der STM32-MCU-Firmware über den Hauptprozessor, was während der Produktion ebenso erfolgen kann wie während der Nutzung der Applikation. Der Hauptprozessor greift auf den UCSI-Treiber zurück, den es von Microsoft oder in der Linux-Community gibt, und nutzt die entsprechenden Befehle zum Austausch von Daten mit dem PD-Controller. Dies spart nicht nur Entwicklungszeit, sondern erweitert außerdem die Interoperabilität zwischen USB-C-Geräten, um die neuesten, von der Technologie ermöglichten Anwendungsfälle zu unterstützen.
Entwicklungsunterstützung
Die STM32Cube-Erweiterungssoftware X-CUBE-UCSI hilft Entwicklern bei der Realisierung einer USB PD DRP Applikation (Dual Role Power) sowie bei der Unterstützung von Alternate-Mode-Befehlen.
Als Starthilfe für die Entwicklung enthält das USB-zertifizierte (TID 8088) Discovery Board STM32MP135F-DK einen STM32MP135 als Haupt-Applikationsprozessor, verbunden mit einer MCU des Typs STM32G071 als UCSI PD Controller. Zusätzlich ist das Board mit dem USB Type-C High-Voltage Port-Protection IC des Typs TCPP03-M20 von ST bestückt.