专为USB Type-C及功率传输而设的STM32解决方案
若要部署USB Type-C®和功率传输技术,则必须具备连接、电源管理、数据通信和身份验证等领域的技术专长。
现有500多款STM32 MCU已内置USB功率传输控制器外设 (UCPD),能够在不使用外部功率传输控制器的情况下实现受电、供电或双角色端口。
STM32 UCPD MCU符合最新的USB PD r3.1规范,并支持:
- SPR消息(标准功率范围可达100 W)
- EPR消息(扩展功率范围可达240 W)
- PPS(可编程电源)
- AM(备用模式)
USB功率传输
为了增强设计安全性,STM32 MCU可兼容颇具成本效益的TCPP0x系列USB Type-C端口保护器件。
通过将中间件、配置和调试工具以及硬件开发平台组合起来,意法半导体生态系统可帮助开发人员实现USB Type-C® PD技术,同时确保出色的灵活性。
除了管理应用的典型功能外,带有内置USB PD外设 (UCPD) 的STM32 MCU还支持用户执行以下操作:
- 控制USB Type-C®连接器的配置和通信信道(CC线路),这些信道在与USB Type-C设备连接时使用
- 传送USB功率传输协议消息
即用型硬件和固件示例可用于在任何嵌入式系统中实现USB Type-C®和功率传输技术,以缩短上市时间。
在基于Windows或Linux且使用片上系统 (SoC)、应用处理器或STM32 MPU器件作为主处理器的架构中,面向USB Type-C®的STM32解决方案符合USB Type-C连接器系统接口规范 (UCSI)。
为什么在嵌入式系统中使用USB Type-C和功率传输技术
USB Type-C®是嵌入式系统中的首选通信接口。该接口还可以为电池供电的电子器件提供5 V电源。已得到广泛采用的可逆USB Type-C连接器更加友好易用,并具有可供用户在设计中使用的多项差异化功能。
通过双角色技术提升互操作性
电源和USB数据传输不再是单向的。用户可以定义和更改电源角色,即从受电方更改为供电方(耗电或供电)和/或USB数据角色或从设备更改为主机,反之亦可,具体视用例而定。USB PD协议控制功率和数据角色交换管理。
提升功率
USB PD协议可以支持高达240 W的功率,以加快便携式设备的充电速度,或者以更高的电压(从5 V增加到48 V)为应用供电。由于符合标准的外部USB PD充电器解决了功率转换模块的复杂性和相关成本问题,因此这可以简化您的设计。
更多协议
USB PD协议支持激活备用模式 (AM)。典型应用如USB Type-C到视频加密狗,使用AM可以实现通过USB传送DisplayPort、HDMI和Thunderbolt等标准的专有信号。
更强保护
USB PD协议执行USB Type-C身份验证,这可确保经认证设备获得品牌保护、安全连接以及安全充电。
下面是USB Type-C和功率传输的主要要求和典型应用概述:
解决方案
架构
除了管理应用的传统功能外,STM32还具有两种不同的版本,其支持用户执行以下操作:
- 控制USB Type-C®连接器的CC线路(配置和通信通道),这些线路在与USB Type-C设备连接时使用
- 传送USB功率传输协议消息
一站式解决方案
一站式解决方案
具有内置UCPD控制器的主要产品
MCU系列 | CPU | UCPD接口 | 受电方 | 供电方 | 双角色电源 | USB数据接口 | 双角色数据 |
STM32G0x1* | Cortex-M0+ | 2 | USB2.0 FS 设备+主机 | ||||
STM32G4 | Cortex-M4 | 1 | USB2.0 FS 仅设备 | ||||
STM32L5 | Cortex-M33+ | 1 | USB2.0 FS 仅设备 | ||||
STM32U5 | Cortex-M33+ | 1 | USB2.0 FS 设备+主机 | ||||
STM32H5 | Cortex-M33 | 1 | USB2.0 FS 设备+主机 | ||||
STM32H7R/S | Cortex-M7 | 1 | 1xUSB2.0 HS(带PHY) + 1xUSB2.0 FS | ||||
STM32MP2 | Cortex-A53 + Cortex-M33 | 1 | USB 2.0主机+ USB 3.0 |
*适用于STM32G071xx、STM32G081xx、STM32G0B1xx和STM32G0C1xx
生态系统
利用我们的生态系统轻松快速地进行开发
从零开始进行USB Type-C设计并非总是简单易行。意法半导体推出了一套包含软件、硬件和设计工具的完整生态系统,可帮助您推进设计进度,从而将构思变为最终产品。
使用STM32 Nucleo USB Type-C扩展板开启原型设计之旅
STM32 USB Type-C Nucleo屏蔽单元专为非专家级开发人员而设计,这些用户希望找到一种使用STM32 UCPD控制器和配套TCPP设备快速开发基本应用的简单方法。
此材料配有可用于评估受电、供电或双角色应用的X-CUBE-TCPP扩展软件。
使用STM32Cube USB Type-C软件生态系统开发应用程序
- 使用STM32CubeMX选择并配置STM32 UCPD控制器
- 选择STM32资源和外设
- 激活UCPD外设并定义USB Type-C角色
- 定义UCPD中间件设置
- 配置USB数据外设和驱动程序
- 生成代码
- 使用STM32Cube MCU软件包缩短开发时间,其中包括:
- USB PD中间件库
- Billboard USB驱动程序、FreeRTOS、Azure® RTOS ThreadX
- HAL、底层API、CMSIS
- 在意法半导体开发板上运行的示例 STM32CubeG0 STM32CubeG4 STM32CubeL5 STM32CubeU5 STM32CubeH5 STM32CubeH7RS
- 再利用基于真实用例的演示固件:
- X-CUBE-TCPP用于通过STM32 UCPD MCU和配套的TCPP实现受电方、供电方或双角色
- X-CUBE-UCSI用于在基于Linux的STM32 MPU架构中实现USB PD双角色解决方案
使用STM32调试软件和硬件工具监控设计
- STM32CubeMonUCPD,用于USB Type-C应用的免费软件监控和配置工具:
- 支持USB Type-C 1.2和USB PD 2.0/3.1(包含SPR和EPR通信)
- 端口配置窗格,用于配置PD设置、VDM、SOP、拉电流和灌电流能力
- 端口通信窗格,用于VBUS和IBUS监控、远程端口功能、消息选择器和实时跟踪
- STM32G071B-DISCO,一款支持USB Type-C和PD的嗅探器:
- 显示任意主机的USB Type-C供电和性能水平
- USB嗅探器、USB PD数据包,显示VBUS电压、IBUS电流
- 使用STM32CubeMonitor UCPD调试、配置并注入USB PD3.1数据包
硬件工具和参考设计
STM32G0 | STM32G4 | STM32L5 | STM32U5 | STM32H5 | STM32H7RS | STM32MP13 | |
AC/DC USB PD 电源适配器 | STEVAL-USBPD27S (27 W/PPS就绪) STEVAL-2STPD01 (2 x 60 W) | ||||||
USB Type-C 探索套件 | STM32G071B-DISCO (USB Type-C®嗅探器/分析仪) | B-G474E-DPOW1 1个DRP端口 | STM32L562E-DK 1个SNK端口 | B-U585I-IOT02A 1个DRP端口 | STM32H573I-DK 1个DRP/DRD端口 1个受电端口 | STM32H7S78-DK 1个DRP端口 1个受电端口 | STM32MP135F-DK 1个DRP/DRD端口 通过UCSI认证 |
评估板 | STM32G0C1E-EV 1个45 W DRP端口 1个受电端口 | STM32G474E-EVAL 具有1个DRP端口 | STM32L552E-EV 1个SNK端口 | STM32U575I-EV 1个DRP端口 | |||
Nucleo开发板 Nucleo屏蔽 | X-NUCLEO-SNK1M1 X-NUCLEO-DRP1M1 X-NUCLEO-SRC1M1 | X-NUCLEO-SNK1M1 X-NUCLEO-DRP1M1 X-NUCLEO-SRC1M1 | NUCLEO-L552ZE-Q 1个SNK端口 | NUCLEO-U575ZI-Q 1个SNK端口 | NUCLEO-H563ZI 1个受电端口 | NUCLEO-H7S3L8 1个DRP端口 |