The new capabilities come from a free STM32 USB-C and PD Middleware Stack that is compliant with USB Type-C 1.2 and USB Power Delivery 2.0 specifications, enabling customers to rapidly deploy the technology in end-products. Cypress Semiconductor has been following the same strategy with its CCG2 and CCG3 embedded controllers and hubs.
ST's new firmware stack, X-CUBE-USB-PD, initially based on the STM32F0 entry level Cortex-M0 processor, allows designers to upgrade their USB legacy devices to provide significant benefits to their end users. USB-C together with Power Delivery technology provides a reversible connector, the ability to carry all necessary data (including video or proprietary protocols), and up to 100W of power to supply or charge equipment connected to the USB port.
Using the STM32 with the stack requires only a very simple Analogue Front End comprising a few passive components as it uses the embedded STM32 features such as comparators, ADCs, timers, and Direct Memory Access.
The solution supports up to two USB-C ports in provider, consumer, or dual roles, cable-insertion detection, plug orientation and identification of the role of the port partner attached and its current capability. The Vbus Power negotiation is handled via the Power Delivery communication protocol while Vendor-Defined Messages are handled to identify device or cable ID or to manage Alternate Mode commands. The processing bandwidth and available resources allow the MCU to perform other application-specific tasks, such as power-management control, USB2.0 communication, and/or voltage and current monitoring, on top of its USB-C functionality, and the software library provided in the X-CUBE-USB-PD software expansion is fully in line with STM32Cube APIs (HAL - Hardware Abstraction Layer), ensuring easy switch across different STM32 series.