Compliant with the USB Type-C Port Controller Interface (TCPCi) specification, and designed to manage a separate single- or multi-port Type-C Port Controller (TCPC) chip, ST’s X-CUBE-USB-PD stack implements the protocol layer and policy engine of the USB Power Delivery Specification (USB-PD 3.0 v1.1). The stack uses minimal STM32 resources, having a low memory footprint and using only a single I2C bus address and one alert pin per port. In addition, standard register maps ensure easy interoperability with any connected TCPC device.
The X-CUBE-USB-PD stack supports all USB-PD 3.0 options, including Programmable Power Supply (PPS) for connecting fast chargers, Fast Role Swap (FRS) for seamless user experiences during cable insertion or removal, and authentication-message exchange to allow data or power transfer only with genuine devices or chargers.
By supporting Provider, Consumer, and Dual-Role (DRP) modes, the stack enables product designers to implement USB Type-C in a wide variety of equipment from power hubs or power banks and docking stations to game controllers, PC peripherals and multi-function accessories, as well as cordless vacuum cleaners, portable speakers, lighting products and proprietary chargers.
ST has tested the stack with ON Semiconductor’s FUSB307B, a USB-PD 3.0 v1.1-certified TCPC chip, creating a fully certified and ready-to-use solution that centralises the TCPM for multiple USB-PD ports. The FUSB307B provides a 1Mbps I2C microcontroller interface for plug-insertion/orientation detection and dead-battery power-up. Time-critical Power-Delivery functions that offload the microcontroller effectively enable any STM32 including entry-level devices to manage multi-port, multi-role USB-PD interfaces. X-CUBE-USB-PD currently contains libraries tested on STM32 Arm Cortex-M0 and Cortex-M4 microcontrollers, giving developers a choice of over 420 different part numbers. Libraries for other STM32 series will be introduced by the end of 2018.
An ON Semiconductor FUSB307B evaluation board, ON-FUSB3-STM32, is also available to help streamline development. The board uses a STM32F072 microcontroller and a USB-C connector to demonstrate control of a single port.
The X-CUBE-USB-PD stack, part of the STM32Cube software-development ecosystem, can be downloaded free of charge from www.st.com/x-cube-usb-pd