STM32 USB Type-C 供电

STM32 USB Type-C 供电

介绍

本文档包含有关 STM32 USB Type-C® 和 Power Delivery 的常见问题 (FAQ) 列表。

USB Type-C® 供电

USB Type-C® PD 可以用来传输数据吗?(不使用 USB 高速数据传输功能)

虽然 USB Type-C® PD 本身并非为高速数据传输而设计,但它可以与其他协议和备用模式一起使用并管理基本数据传输。

VDM UCPD模块的实际用途是什么?

USB Type-C® PD 中的供应商定义消息 (VDM) 提供了一种灵活的机制,可将 USB Type-C® PD 的功能扩展到标准功率协商之外。VDM 支持设备识别、备用模式、固件更新、自定义命令和调试。通过实施 VDM,供应商可以创建专有功能和协议,同时保持与 USB Type-C® PD 规范的兼容性。

STM32CubeMX需要配置特定的参数,请问在哪里可以找到?

最新更新改变了显示信息,使其更加用户友好,现在界面只需请求音量tage 和所需电流。不过,这些参数可以在文档中找到,您可以在 AN5418 中查看快速参考表。

图 1. 规格详情(通用串行总线Power Delivery规格表6-14)
USB Type-C® 供电

图 2 解释应用的值 0x02019096。
图 2. PDO 解码细节
USB Type-C® 供电

有关 PDO 定义的更多详细信息,请参阅 UM2552 中的 POWER_IF 部分。

USB接口最大输出电流是多少?

USB Type-C® PD 标准允许的最大输出电流为 5 A,需使用专用 5 A 线缆。若不使用专用线缆,则最大输出电流为 3 A。

这种“双重角色模式”是否意味着能够反向供电和充电?

是的,DRP(双角色端口)既可以供电(接收器),也可以供电(源)。它通常用于电池供电的设备。

STM32 电力输送控制器和保护

MCU 是否仅支持 PD 标准或也支持 QC?

STM32 微控制器主要支持 USB 供电 (PD) 标准,这是一种灵活且广泛采用的 USB Type-C® 连接供电协议。STM32 微控制器或意法半导体的 USB PD 协议栈不提供对快速充电 (QC) 的原生支持。如果需要快速充电支持,应将专用的 QC 控制器 IC 与 STM32 微控制器搭配使用。

是否可以在套件中实现同步整流算法?它可以管理多个输出和控制器角色吗?

使用 STM32 微控制器可以实现具有多输出和控制器角色的同步整流算法。通过配置 PWM 和 ADC 外设并开发控制算法,可以实现高效的电源转换并管理多路输出。此外,使用 I2C 或 SPI 等通信协议,可以在控制器-目标配置中协调多个设备的运行。例如amp例如,STEVAL-2STPD01 带有一个嵌入两个 UCPD 控制器的 STM32G071RBT6,可以管理两个 Type-C 60 W Type-C 电源传输端口。

是否有适用于 VBUS > 20 V 的 TCPP?这些产品是否适用于 EPR?

TCPP0 系列额定电压高达 20 V VBUStage SPR(标准功率范围)。

哪些 STM32 微控制器系列支持 USB Type-C® PD?

用于管理 USB Type-C® PD 的 UCPD 外设已嵌入以下 STM32 系列:STM32G0、STM32G4、STM32L5、STM32U5、STM32H5、STM32H7R/S、STM32N6 和 STM32MP2。截至撰写本文时,其 P/N 为 961。

如何让 STM32 MCU 按照 USB CDC 类作为 USB 串口设备工作?有没有相同或类似的步骤可以帮助我实现无代码?

通过 USB 解决方案进行通信得到了真实 ex 的支持amp发现或评估工具,包括全面的免费软件库和ampMCU 软件包中提供的文件。代码生成器不可用。

是否可以在软件运行时动态更改PD“数据”?例如voltag以及当前的需求/能力, 消费者/提供商等?

借助 USB Type-C® PD,可以动态更改电源角色(消费者 - SINK 或提供者 - SOURCE)、电力需求(电力数据对象)和数据角色(主机或设备)。这种灵活性体现在 STM32H7RS USB 双角色数据和电源视频.

是否可以使用USB2.0标准和Power Delivery(PD)来接收超过500 mA的电流?

USB Type-C® PD 可为 USB 设备提供高功率和快速充电功能,且不受数据传输限制。因此,在 USB 500.x、2.x 中传输时,可以接收超过 3 mA 的电流。

我们是否有可能读取源设备或接收设备上的信息,例如 USB 设备的 PID/UID?

USB PD 支持各种类型的消息交换,包括可携带详细制造商信息的扩展消息。USBPD_PE_SendExtendedMessage API 旨在促进此类通信,允许设备请求和接收制造商名称、产品名称、序列号、固件版本以及制造商定义的其他自定义信息等数据。

当使用包含 TCPP1-M1 的 X-NUCLEO-SNK01M12 扩展板时,是否也应该使用 X-CUBE-TCPP?或者在这种情况下 X-CUBE-TCPP 是可选的吗?

为了在 SINK 模式下启动 USB Type-C® PD 解决方案,建议使用 X-CUBE-TCPP 来简化实施,因为 STM32 USB Type-C® PD 解决方案需要管理。TCPP01-M12 是相关的最佳保护方案。

在 USB PCB 上,USB 数据线(D+ 和 D-)走线为 90 欧姆差分信号。CC1 和 CC2 走线也必须是 90 欧姆信号吗?

CC线为单端线,支持300kbps低频通信。特性阻抗不重要。

TCPP能保护D+、D-吗?

TCPP 不适用于保护 D+/- 线路。为了保护 D+/- 线路 USBLC6-2 建议使用 ESD 保护措施,或者 ECMF2-40A100N6 如果系统上有无线电频率,则需要 ESD 保护 + 共模滤波器。

驱动程序HAL或者寄存器是否封装?

驱动程序是 HAL。

如何在不编写代码的情况下确保STM32正确处理PD协议中的电源协商和电流管理?

第一步是使用市面上现有的设备进行一系列现场互操作性测试。为了了解解决方案的行为,STM32CubeMonUCPD 可以监控和配置 STM32 USB Type-C® 和 Power Delivery 应用。

第二步是通过 USB-IF(USB 实施者论坛)合规计划进行认证,以获得官方 TID(测试标识)编号。认证可以在 USB-IF 主办的合规研讨会或授权的独立测试实验室进行。

X-CUBE-TCPP 生成的代码已准备好进行认证,并且 Nucleo/Discovery/Evaluation 板中的解决方案已经过认证。

Type-C口保护的OVP功能如何实现?误差范围能设置在8%以内吗?

OVP 阈值由音量设置tag连接在具有固定带隙值的比较器上的分压桥。
比较器输入为 TCPP01-M12 上的 VBUS_CTRL 和 TCPP03-M20 上的 Vsense。OVP VBUS 阈值电压tag可以根据卷改变硬件tage 分压比。
但是,建议根据目标最大音量使用 X-NUCLEO-SNK1M1 或 X-NUCLEO-DRP1M1 上显示的分压器比率tage.

开放程度高吗?可以定制一些特定的任务吗?

USB Type-C® PD 协议栈尚未开放。但是,您可以自定义其所有输入以及与解决方案的交互。此外,您还可以参考 STM32 的参考手册来了解 UCPD 接口。

端口保护电路设计时要注意什么?

TCPP IC 必须靠近 Type-C 连接器放置。用户手册中列出了原理图建议。 X-NUCLEO-SNK1M1、X-NUCLEO-SRC1M1、X-NUCLEO-DRP1M1。为了确保良好的 ESD 稳健性,我建议看一下 ESD 布局技巧应用说明.

目前,中国正在推出大量单芯片集成电路。具体有哪些优势?tag使用 STM32 的好处?

该解决方案的主要优势在于,在现有 STM32 解决方案中添加 Type-C PD 连接器时,其成本更低,因为低电压tagUCPD控制器嵌入在STM32上,高容量tag控制/保护由 TCPP 完成。

ST 有没有提供带电源和 STM32-UCPD 的推荐解决方案?

他们完全是前任amp有一个 USB Type-C 供电双端口适配器 基于STPD01可编程降压转换器。STM32G071RBT6和两个TCPP02-M18用于支持两个STPD01PUR可编程降压调节器。

对于 Sink(60W 级显示器)、应用 HDMI 或 DP 输入和电源,适用的解决方案是什么?

STM32-UCPD + TCPP01-M12 可支持高达 60 W 的灌入功率。对于 HDMI 或 DP,需要备用模式,可以通过软件完成。

这些产品是否意味着它们已经通过了USB-IF和USB合规性标准规范的测试?

固件包中生成或建议的代码已针对某些关键硬件配置进行了测试并经过官方认证。例如amp例如,NUCLEO 之上的 X-NUCLEO-SNK1M1、X-NUCLEO-SRC1M1 和 X-NUCLEO-DRP1M1 已获得官方认证,USB-IF 测试 ID 为:TID5205、TID6408 和 TID7884。

配置和应用程序代码

如何构建 PDO?

在 USB 电力传输 (PD) 环境中构建电源数据对象 (PDO) 涉及定义 USB PD 源端或接收端的供电能力。创建和配置 PDO 的步骤如下:

  1. 识别 PDO 的类型:
    • 固定供应 PDO:定义固定卷tage 和电流
    • 电池供电 PDO:定义音量范围tages 和最大功率
    • 可变供应 PDO:定义音量范围tages和最大电流
    • 可编程电源(PPS)APDO:允许可编程音量tage 和电流。
  2. 定义参数:
    • 卷tage: 卷tagPDO 提供或请求的级别
    • 电流/功率:PDO 提供的电流(对于固定和可变 PDO)或功率(对于电池 PDO)
      或要求。
  3. 使用 STM32 Cube MonUCPD GUI:
    • 步骤 1:确保您拥有最新版本的 STM32 Cube Mon UCPD 应用程序
    • 步骤 2:将 STM32G071-Disco 板连接到主机并启动 STM32 Cube Monitor-UCPD 应用程序
    • 步骤 3:在应用程序中选择您的主板
    • 步骤 4:导航到“端口配置”页面,然后单击“接收器功能”选项卡以查看
      当前原产地保护组织 (PDO) 列表
    • 步骤 5:按照提示修改现有的 PDO 或添加新的 PDO
    • 步骤 6:点击“发送到目标”图标,将更新后的 PDO 列表发送到您的主板
    • 步骤 7:单击“保存所有目标”图标将更新的 PDO 列表保存到您的板上[*]。

这是一个前任amp如何在代码中定义固定供应 PDO:

/* Define a fixed supply PDO */
uint32_t fixed_pdo = 0;
fixed_pdo |= (voltage_in_50mv_units << 10); // Voltage in 50 mV units
fixed_pdo |= (max_current_in_10ma_units << 0); // Max current in 10 mA units
fixed_pdo |= (1 << 31); // fixed supply type

Examp文件配置

对于 5 V 和 3A 的固定电源 PDO:

content_copy
uint32_t fixed_pdo = 0;
fixed_pdo |= (100 << 10); // 5 V (100 * 50 mV)
fixed_pdo |= (30 << 0); // 3A (30 * 10 mA)
fixed_pdo |= (1 << 31); // fixed supply type

其他注意事项: 

  • 动态 PDO 选择:您可以通过修改 usbpd_user_services.c 中的 USED_PDO_SEL_METHOD 变量,在运行时动态更改 PDO 选择方法 file[*] 。
  • 能力评估:使用 USBPD_DPM_SNK_EvaluateCapabilities 等函数来评估接收到的能力并准备请求消息[*]。

构建 PDO 涉及定义卷tag以及电流(或功率)参数,并使用 STM32CubeMonUCPD 等工具或直接在代码中配置它们。按照以下步骤和示例amp使用提供的文件,您可以有效地为 USB PD 应用程序创建和管理 PDO。

是否存在针对连接多个 PD 接收器的优先级方案的功能?

是的,当连接多个 PD 接收器时,有一个功能支持优先级方案。这在多个设备连接到单个电源的场景中特别有用。需要根据优先级来管理电源分配。

可以使用 USBPD_DPM_SNK_EvaluateCapabilities 函数管理优先级方案。该函数评估从 PD 源接收到的功能,并根据接收器的要求和优先级准备请求消息。处理多个接收器时,可以通过为每个接收器分配优先级并修改 USBPD_DPM_SNK_EvaluateCapabilities 函数以考虑这些优先级来实现优先级方案。

content_copy
uint32_t fixed_pdo = 0;
fixed_pdo |= (100 << 10); // 5V (100 * 50mV)
fixed_pdo |= (30 << 0); // 3A (30 * 10mA)
fixed_pdo |= (1 << 31); // Fixed supply type

/* Define a Fixed Supply PDO */
uint32_t fixed_pdo = 0;
fixed_pdo |= (voltage_in_50mv_units << 10); // Voltage in 50mV units
fixed_pdo |= (max_current_in_10ma_units << 0); // Max current in 10mA units
fixed_pdo |= (1 << 31); // Fixed supply type

是否必须将 DMA 与 LPUART 一起用于 GUI?

是的,必须通过 ST-LINK 解决方案进行通信。

LPUART 字长设置为 7 位是否正确?

是的,正确。

在 STM32CubeMX 工具中,有一个复选框“节省非活动 UCPD 的电量 - 停用电池没电上拉”。如果启用,这个复选框是什么意思?

当作为电源时,USB Type-C® 需要一个连接到 3.3 V 或 5.0 V 的上拉电阻。它充当电流源发生器。当不使用 USB Type-C® PD 时,可以禁用此电流源以降低功耗。

STM32G0 和 USB PD 应用是否必须使用 FreeRTOS?有没有非 FreeRTOS 的 USB PD 应用计划?amp莱斯?

在 STM32G0 微控制器上,USB 供电 (USB PD) 应用并非必须使用 FreeRTOS。您可以通过在主循环中处理事件和状态机,或通过中断服务程序来实现 USB PD,而无需 RTOS。虽然有人请求 USB 供电示例amp无需 RTOS 的文件。目前没有非 RTOS 示例ample 可用。但有些 AzureRTOS example 适用于 STM32U5 和 H5 系列。

在为 STM32G0 构建 USB PD 应用程序中,STM32CubeMX 演示中 HSI 精度是否可以接受?还是必须使用外部 HSE 晶振?

HSI 为 UCPD 外设提供内核时钟,因此使用 HSE 没有任何好处。此外,STM32G0 在设备模式下支持 USB 2.0 无晶振,因此仅在 USB 2.0 主机模式下才需要 HSE。

图 3. UCPD 复位和时钟

UCPD 复位和时钟

正如您稍后所解释的,是否有任何文档可供我参考来设置 CubeMX?

文档可在以下位置获取 维基链接.

STM 32 Cube Monitor 可以实时监控吗?连接 STM32 和 ST-LINK 可以实时监控吗?

是的,STM32CubeMonitor可以通过连接STM32和ST-LINK进行真实监控。

VBUS 电压tag监视器屏幕上显示的电流测量功能是支持 UCPD 的电路板上的基本和默认功能,还是添加的 NUCLEO 板的功能?

准确的体积tag由于 VBUS 电压tagUSB Type-C® 需要 e。
TCPP02-M18 / TCPP03-M20 借助高侧电路可以进行精确的电流测量 amp放大器和分流电阻器也用于执行过流保护。

应用程序代码生成器

CubeMX 能否像使用 FreeRTOS™ 一样,使用 X-CUBE-TCPP 生成基于 Azure RTOS 的项目?它能在不使用 FreeRTOS™ 的情况下生成管理 USB PD 的代码吗?这个软件套件需要 RTOS 才能运行吗?

STM32CubeMX 借助 X-CUBE-TCPP 包使用适用于 MCU 的 RTOS、FreeRTOS™(例如 STM32G0)生成代码ample),或 AzureRTOS (例如 STM32H5ample)。

X-CUBE-TCPP 可以为双 Type-C PD 端口(例如 STSW-2STPD01 板)生成代码吗?

X-CUBE-TCPP 只能为单个端口生成代码。要为两个端口生成代码,必须生成两个独立的项目,两个项目之间不得重叠,且 TCPP02-M18 必须具有两个 I2C 地址,然后将它们合并。
幸运的是, STSW-2STPD01 两个端口均有完整的固件包。无需生成代码。

该设计工具是否适用于所有带有 USB Type-C® 的微控制器?

是的,X-CUBE-TCPP 可与任何嵌入 UCPD 的 STM32 兼容,适用于所有电源类型(SINK/SOURCE/双电源)。它可与任何支持 32 V Type-C SOURCE 的 STM5 兼容。

表 1. 文档修订历史

日期 修订 更改
20 年 2025 月 XNUMX 日 1 初始版本。

重要通知 – 请仔细阅读

STMicroelectronics NV 及其子公司 (“ST”) 保留随时更改、更正、增强、修改和改进 ST 产品和/或本文档的权利,恕不另行通知。购买者应在下订单前获取有关 ST 产品的最新相关信息。ST 产品根据订单确认时有效的 ST 销售条款和条件销售。

购买者对 ST 产品的选择、挑选和使用负全部责任,ST 对应用协助或购买者产品的设计不承担任何责任。

ST 在​​此不授予任何明示或暗示的知识产权许可。

如果转售的 ST 产品的规定与此处所述的信息不同,则 ST 对该产品授予的任何保证将失效。

ST 和 ST 徽标是 ST 的商标。有关 ST 商标的更多信息,请参阅 www.st.com/trademarks. 所有其他产品或服务名称均属于其各自所有者的财产。

本文档中的信息取代并替换了该文档之前任何版本中提供的信息。

© 2025 STMicroelectronics – 保留所有权利
标识

文件/资源

ST STM32 USB Type-C 供电 [pdf] 用户手册
TN1592、UM2552、STEVAL-2STPD01、STM32 USB Type-C 供电、STM32、USB Type-C 供电、Type-C 供电、供电、供电

参考

发表评论

您的电子邮件地址不会被公开。 必填字段已标记 *