STUSB4500 PPS(PD3.0)快充SINK模块——应用 解析
0 前言
朋友参加车展,收获一枚很漂亮的倍思65W氮化镓快充头,送给我了。
我看了手中只支持33W快充的三星陷入了沉思…
快充头支持PPS协议,我心思这玩意适合做可调电源啊!
上网随便一查没查到,都是转换成5V、9V、12V等固定电压的,商机来了啊!!
直接让DeepSeek给我推荐了一款芯片,DeepSeek大手一挥推荐了ST的STUSB4500。
上网一搜除了官网啥资料没有,没毛病,吃螃蟹总要付出点什么~
一顿看手册、看参考设计、画板子、焊板子、调板子炸了两颗芯片
结果全做完了,上立创开源广场一搜,一大堆做PPS协议的可调电源的
当时怎么没换个关键词好好搜搜呢…
不过也不是完全没有意义,因为现有的方案大多数都是安森美的FSUSB302
介绍个别的芯片给大家换换口味,更何况ST这个销量也不错呢
综上,本文是少有的STUSB4500芯片解析的帖子(虽然这颗芯片也出了很久了),主要介绍一下其应用方案及芯片解析。
我的使用经验也不足,有问题烦请指出。
1 资料
STUSB4500 DATASHEET — Standalone USB PD sink controller with short-to-VBUS protections
STUSB4500 官方文档
STUSB4500 官方评估板
2 概述
主要的特性:
- 自动运行TypeC和USB PD接收控制器
——指不通过IIC连接MCU也能用 - 支持电池耗尽模式
——指可以只通过TypeC的 V B U S V_{BUS} VBUS供电给 V D D V_{DD} VDD,不用外接电源 - 3个可配置的PDO配置文件
——有3个默认的可配置文件,用于决定输出的电压和电流值。当不使用IIC连接
MCU的时候,将使用优先级最高的配置文件决定输出的电压和电流 - 双通道高功率充电路径支持
——由两个引脚是开漏输出,用于驱动MOS管,可以由软件或自动控制,达到控制电源路径的目的
(还有一个引脚用于驱动MOS管,但那个引脚相当于是放电路径的总开关) - V B U S V_{BUS} VBUS引脚最高可耐28V的电压
- 双电源供应
——当使用电源耗尽模式时,参考特性2;当不使用电源耗尽模式时,可以通过 V S Y S V_{SYS} VSYS给芯片供电 - 兼容PD3.0
——(也支持PD3.0里的PPS)
综上,我觉得STUSB4500比FSUSB302强的地方主要在于多了3个MOS管控制引脚,用于控制放电路径。
3 引脚定义
4 要点
4.1 电源耗尽模式
两个参考图都是使用电源耗尽模式的。
快充芯片是用来给移动设备用的嘛,移动设备都会有电池,平时由电池来给STUSB4500供电,当连接快充头(source端)的时候,STUSB4500(sink端)通过CC和source端通信,获取到需要的电压和电流。
而当电池没电的时候,STUSB4500也就没电了,没法和source端建立通信,因此连一个5V都获取不到(如果CC引脚没有接下拉的话)。因此这种时候就需要使用电源耗尽模式,当无法使用电池通过 V S Y S V_{SYS} VSYS引脚给STUSB4500供电时,STUSB4500可以在CC引脚上提供一个下拉,获取到一个电压用于给自己供电,并在后面建立通讯。
电源耗尽模式的硬件接法:
CC1DB
和CC1
接一起,CC2DB
和CC2
接一起。
然而,直接量CC
引脚对地是量不到下拉电阻的,因为里面的结构大概是这样的 (引用自TI的TPS65988):
可以把上图的C_CCn
看成STUSB4500的CC1
,把RCD_DB_EN
看成CC1DB
。
TI的原文解释如下:
.
TPS65988 支持在无电池或电池耗尽状态下通过从 VBUS 获取电力启动系统。Type-C USB 端口要求受电设备(Sink)在 CC 引脚上呈现 Rd(下拉电阻),Type-C 电源(Source)才会在 VBUS 上提供电压。 TPS65988 的硬件设计可在电池耗尽或无电池状态下自动配置这一 Rd 电阻。此外,电路还提供一种机制,在设备不再需要从 VBUS 取电时关闭此 Rd。
.
图 8-16 展示了 C_CCn 引脚的配置,并详细说明了图 8-14 中基础线缆插入与方向检测模块的结构。每个 C_CCn 引脚的下拉 FET 栅极连接了一个电阻 R_RPD。在正常受电模式(Sink)下,下拉电阻为 RD_CC;但在电池耗尽或无电池状态下,电阻未经过校准,此时表现为 RD_DB。当系统在电池耗尽状态下检测到 RD_DB 时,应用程序代码会将其切换为 RD_CC。
.
在此情况下,下拉 FET 的栅极驱动器输出为高阻态(Hi-Z)。当外部连接在 C_CCn 引脚上施加上拉电压(例如连接到带有上拉电阻 Rp 或上拉电流的 DFP 时),通过 R_RPD 的路径会将 FET 栅极电压上拉,从而导通下拉电阻 RD_DB。此时,C_CCn 引脚等效于一个钳位电压 VTH_DB 与电阻 RD_DB 串联的电路。
.
术语解释:
DFP(Downstream Facing Port):Type-C 中的下行端口(如主机或电源),通常配置上拉电阻 Rp。
VTH_DB:钳位电压阈值(与死电池模式相关)。
RD_DB:死电池模式下的下拉电阻值。
4.2 PDO配置文件
4.2.1 PDO概述
PDO全程是Power Data Object,是 PD 协议中用于描述电源能力或电源需求的数据结构。
STUSB4500支持3组PDO。其中PDO3的优先级最高,PDO1的优先级最低。
PDO1的电压是不可调整的,固定为5V。PDO2和PDO3的电压是可以调整的,参照下表(用户定义参数和默认配置表);PDO1、PDO2和PDO3的电流都是可以调整的。
STUSB4500 三个PDO的默认参数如下:
4.2.2 PDO的匹配流程
决策算法将 SNK_PDO(接收端电源需求) 与 SRC_PDO(源端供电能力) 逐一比较。
从优先级最高的 SNK_PDO 开始,依次向下比较,优先比较电压,再比较电流。
如果满足以下条件,则匹配成功,停止对其余PDO的比较。
(1) SNK_PDO 电压 等于 SRC_PDO 电压;
(2) SNK_PDO 电流 ≤ SRC_PDO 电流。
匹配成功时,生成 RDO(请求数据对象),包含:
工作电压 = 匹配的 SNK_PDO 电压;
工作电流 = 匹配的 SNK_PDO 电流;
最大电流 = 匹配的 SRC_PDO 电流。
将 RDO 发送给源端,等待源端接受并切换电压,SINK 端收到 PS_READY 后完成协商。
若所有比较均未匹配,则 PD 协商失败,默认采用 5V 供电。
发送 RDO,标记能力不匹配;
工作电流 = 源端 5V PDO 的电流值;
最大电流 = SNK_PDO1 的电流值。
4.3 电源回路控制
STUSB4500有三个引脚,VBUS_EN_SNK
、POWER_OK2
和POWER_OK3
,用于驱动MOS管以控制电流路径。
这三个引脚的有效触发状态可通过IIC配置,当一些条件满足时,该引脚由高阻态变为低电平,MOS管导通,相应的电流回路被激活。
默认状态是Configuration 2:
当检测到VBUS时,VBUS_EN_SNK
输出低电平,否则为高阻态;
当匹配PDO2时,POWER_OK2
输出低电平,否则为高阻态;
当匹配PDO3时,POWER_OK3
输出低电平,否则为高阻态。
在本文设计的模块中,只使用VBUS_EN_SNK
驱动了MOS管,来充当整个放电回路的开关。POWER_OK2
和POWER_OK3
则作为一个引脚引出模块。
5 原理图
5.1 参考原理图
这里主要参考了两个原理图设计:
- STUSB4500 DATASHEET里的Typical applications:
- 来自MIKROE的评估板的原理图:
5.2 模块原理图
- STUSB4500芯片外围
- 放电回路控制
- ESD保护
- IIC和RST引脚外围
6 PCB
7 实物演示
- 上电但是不接USB
- 接入VBUS和GND,但是不接CC
可以看到ATTACH引脚的灯没有亮,量VSINK引脚也没有电压输出
- 再把CC接上
可以看到ATTACH引脚的灯亮了,并且量VSINK引脚有20V电压输出
8 结语
以上,希望对大家有帮助。
后面我会用STUSB4500做一个超迷你的PPS可调电源,包含LCD显示、过欠压保护、过流保护、短路保护、PC控制等,目前已经申请立创本年度的星火计划了,有兴趣的话可以关注一手,等待后续更新。
PCB会在测完了之后开源在立创广场,届时会把链接更新过来。