/x-cube-tcpp

STM32 expansion package providing an integrated solution for a robust protection of MCU-based USB Type-C applications

Primary LanguageC++OtherNOASSERTION

X-CUBE-TCPP MCU Firmware Package

X-CUBE-TCPP is an STMicroelectronics original initiative. It uses for USB Type-C and Power Delivery software expansion for STM32Cube (UM2285).

X-CUBE-TCPP is a USB-IF certified Expansion Package (USB Type-C Rev 1.2 and Power Delivery 3.0 with 100 W PPS support) and consists of libraries, drivers, sources, APIs and application examples running on STM32 Series GP microcontrollers embedding Type-C and power delivery management (thanks to the embedded UCPD PHY integrated in STM32G4, STM32G0 and STM32L5).

For the other STM32 GP MCU without embedded UCPD PHY (like STM32L4, STM32F0...), this package demonstrates how to comply with Type-C specification.

All the applications available in this package need to have the TCPP01-M12 integrated. The TCPP01-M12 (Type-C port protection) is a single chip solution for USB Type-C port protection that facilitates the migration from USB legacy connectors type-A or type-B to USB Type-C connectors.

STMicroelectronics package has been certified by USB-IF through the reference TID 3036 and TID 5205.

Check the ST web page : USB Type-C and Power Delivery for more details.

The figure below shows the overall architecture:

Boards available

X-NUCLEO-USBPDM1_NUCLEO-G071

X-NUCLEO-SNK1M1_NUCLEO-G071

Applications

Applications Board Shield Short Description
USBPDM1_Sink_PPS NUCLEO-G071RB X-NUCLEO-USBPDM1 Use of USB Power Delivery (USB-PD) Consumer application (with PPS) running on STM32G0XX devices, with X-NUCLEO-USBPDM1 shield plugged.
USBPDM1_Sink_LPM NUCLEO-G071RB X-NUCLEO-USBPDM1 Use of USB Power Delivery (USB-PD) Consumer application (with Low Power Mode) running on STM32G0XX devices, with X-NUCLEO-USBPDM1 shield plugged.
USBPDM1_Sink NUCLEO-G474RE X-NUCLEO-USBPDM1 Use of USB Power Delivery (USB-PD) Consumer application running on STM32G4XX devices, with X-NUCLEO-USBPDM1 shield plugged.
SNK1M1_Sink NUCLEO-G071RB X-NUCLEO-SNK1M1 Use of USB Power Delivery (USB-PD) Consumer application (with PPS) running on STM32G0XX devices, with X-NUCLEO-SNK1M1 shield plugged.
SNK1M1_Sink NUCLEO-G474RE X-NUCLEO-SNK1M1 Use of USB Power Delivery (USB-PD) Consumer application (with PPS and USB MSC cohabitation) running on STM32G4XX devices, with X-NUCLEO-SNK1M1 shield plugged.
SNK1M1_Sink_TypeC_Only NUCLEO-L412RB-P X-NUCLEO-SNK1M1 Use of Type-C Consumer application (with USB MSC enumeration) running on STM32L4XX devices, with X-NUCLEO-SNK1M1 shield plugged.

This Expansion Package is demonstrated on one hardware implementation, but can easily be ported to any STM32 including the UCPD periperal.

Development Toolchains and Compilers

  • IAR Embedded Workbench for ARM (EWARM) toolchain V8.50.4 + STLink/V2
  • RealView Microcontroller Development Kit (MDK-ARM) toolchain V5.25.2 + ST-LINK/V2
  • STM32CubeIDE V1.5.0 + ST-LINK/V2

Included features

  • STM32CubeMonUCPD: Monitoring and configuration software tool for STM32 USB-C and Power Delivery 3.0 applications

Documentation

License and release history

Details about the content of this release are available in the release note here.

Troubleshooting

Caution : The Issues requests are strictly limited to submit problems or suggestions related to the software delivered in this repo

For any question related to this solution, the hardware performance, the hardware characteristics, the tools, the environment, you can submit a topic on the ST Community/STM32 MCUs forum