当前位置: 首页 > article >正文

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 概述

在这里插入图片描述

主要的特性:

  1. 自动运行TypeC和USB PD接收控制器
    ——指不通过IIC连接MCU也能用
  2. 支持电池耗尽模式
    ——指可以只通过TypeC的 V B U S V_{BUS} VBUS供电给 V D D V_{DD} VDD,不用外接电源
  3. 3个可配置的PDO配置文件
    ——有3个默认的可配置文件,用于决定输出的电压和电流值。当不使用IIC连接
    MCU的时候,将使用优先级最高的配置文件决定输出的电压和电流
  4. 双通道高功率充电路径支持
    ——由两个引脚是开漏输出,用于驱动MOS管,可以由软件或自动控制,达到控制电源路径的目的
    (还有一个引脚用于驱动MOS管,但那个引脚相当于是放电路径的总开关)
  5. V B U S V_{BUS} VBUS引脚最高可耐28V的电压
  6. 双电源供应
    ——当使用电源耗尽模式时,参考特性2;当不使用电源耗尽模式时,可以通过 V S Y S V_{SYS} VSYS给芯片供电
  7. 兼容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引脚上提供一个下拉,获取到一个电压用于给自己供电,并在后面建立通讯。

电源耗尽模式的硬件接法:

  • CC1DBCC1接一起,CC2DBCC2接一起。

然而,直接量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_SNKPOWER_OK2POWER_OK3,用于驱动MOS管以控制电流路径。

这三个引脚的有效触发状态可通过IIC配置,当一些条件满足时,该引脚由高阻态变为低电平,MOS管导通,相应的电流回路被激活。

默认状态是Configuration 2:
当检测到VBUS时,VBUS_EN_SNK输出低电平,否则为高阻态;
当匹配PDO2时,POWER_OK2输出低电平,否则为高阻态;
当匹配PDO3时,POWER_OK3输出低电平,否则为高阻态。

在这里插入图片描述
在本文设计的模块中,只使用VBUS_EN_SNK驱动了MOS管,来充当整个放电回路的开关。POWER_OK2POWER_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会在测完了之后开源在立创广场,届时会把链接更新过来。

相关文章:

STUSB4500 PPS(PD3.0)快充SINK模块——应用 解析

0 前言 朋友参加车展,收获一枚很漂亮的倍思65W氮化镓快充头,送给我了。 我看了手中只支持33W快充的三星陷入了沉思… 快充头支持PPS协议,我心思这玩意适合做可调电源啊! 上网随便一查没查到,都是转换成5V、9V、12V等…...

Android全局网络监控最佳实践(Kotlin实现)

本文将介绍如何在Android应用中实现全局网络状态监控,适配高版本API,并提供完整的Kotlin实现方案。 一、核心实现方案 1. 网络监控核心类 SuppressLint("MissingPermission") class NetworkMonitor private constructor(private val contex…...

从认识AI开始-----解密门控循环单元(GRU):对LSTM的再优化

前言 在此之前,我已经详细介绍了RNN和LSTM,RNN虽然在处理序列数据中发挥了重要的作用,但它在实际使用中存在长期依赖问题,处理不了长序列,因为RNN对信息的保存只依赖一个隐藏状态,当序列过长,隐…...

Docker系列(五):ROS容器化三叉戟 --- 从X11、Wayland到DockerFile实战全解析

引言 随着机器人操作系统(ROS)在机器人领域的广泛应用,容器化技术成为提高开发效率和简化部署的关键。在多种容器化方案中,基于X11、Wayland和标准Dockerfile的ROS容器化方式各有特点,它们在容器内安装ROS1和ROS2的实…...

【位运算】常见位运算总结

位运算 常见位运算总结位1的个数比特位计数汉明距离只出现一次的数字只出现一次的数字 III 常见位运算总结 位1的个数 191. 位1的个数 给定一个正整数 n,编写一个函数,获取一个正整数的二进制形式并返回其二进制表达式中 设置位 的个数(也被…...

Delphi 导入excel

Delphi导入Excel的常见方法可分为两种主流方案:基于OLE自动化操作Excel原生接口和利用第三方组件库。以下为具体实现流程及注意事项: ‌一、OLE自动化方案(推荐基础场景)‌ 该方法通过COM接口调用本地安装的Excel程序&#xff0c…...

5G RedCap是什么-与标准5G的区别及支持路由器推荐

技术背景与重要性 从智能穿戴到工业传感器,物联网设备种类繁多,但并非所有设备都需要标准5G的全部功能。为满足这些中端应用的需求,3GPP在Release 17中引入了5G RedCap(Reduced Capability),也称为5G NR-L…...

纯html,js创建一个类似excel的表格

后台是php,表中数据可编辑,可删除,可提交到数据库 <!DOCTYPE html> <html> <head><meta charset="utf-8"><style>body {font-family: Arial, sans-serif;margin: 20px;background-color: #fff;}.toolbar {margin-bottom: 10px;disp…...

如何使用windows下的vscode连接到本地虚拟机的linux

1.打开windows下的vscode 下载下图所示插件 下载完以后打开首选项选择设置搜索ssh 搜索ssh往下滑对下图打上勾 点击下图或者按ctrl shift P 搜索ssh 选择第一个&#xff0c;双击后 进入这个界面 好的window基本配置差不多 2.打开虚拟机 在终端中输入 sudo apt-get install…...

Vue开发系列——零基础HTML引入 Vue.js 实现页面之间传参

目录 一、实现页面之间传参 二、使用 URL 查询参数实现传参(不需要额外引入vue-router) 一、实现页面之间传参 实现从a.html 向b.html传参param1value1, param2value2 二、使用 URL 查询参数实现传参(不需要额外引入vue-router) a.html页面 a.html代码&#xff1a; <!…...

Ubuntu22.04 重装后,串口无响应

欢迎关注公号&#xff1a;每日早参&#xff0c;获取每日最新资讯&#xff01; 1&#xff1a;确认串口设备文件是否存在 在Ubuntu中&#xff0c;串口通常会映射为以下两种 /dev/ttyS*&#xff08;对于传统的串口&#xff09; /fragistics/dev/ttyUSB*&#xff08;对于USB转串口…...

设计模式-发布订阅

文章目录 发布订阅概念发布订阅 vs 监听者例子代码 发布订阅概念 发布/订阅者模式最大的特点就是实现了松耦合&#xff0c;也就是说你可以让发布者发布消息、订阅者接受消息&#xff0c;而不是寻找一种方式把两个分离 的系统连接在一起。当然这种松耦合也是发布/订阅者模式最大…...

C#学习26天:内存优化的几种方法

1.减少对象创建 使用场景&#xff1a; 在循环或密集计算中频繁创建对象时。涉及大量短生命周期对象的场景&#xff0c;比如日志记录或字符串拼接。游戏开发中&#xff0c;需要频繁更新对象状态时。 说明&#xff1a; 重用对象可以降低内存分配和垃圾回收的开销。使用对象池…...

功能测试向量是个什么概念

在半导体测试领域&#xff0c;功能测试向量&#xff08;Functional Test Vector&#xff09; 是一个非常重要的概念。以下是对其的详细解释&#xff1a; 1. 什么是功能测试向量&#xff1f; 功能测试向量是一组输入信号和预期输出信号的集合&#xff0c;用于验证芯片的功能是否…...

C++之string的模拟实现

string 手写C字符串类类的基本结构与成员变量一、构造函数与析构函数二、赋值运算符重载三、迭代器支持四、内存管理与扩容机制五、字符串操作函数六、运算符重载总结 手写C字符串类 从零实现一个简易版std::string 类的基本结构与成员变量 namespace zzh { class string { …...

Python打卡第38天

浙大疏锦行 作业&#xff1a; 了解下cifar数据集&#xff0c;尝试获取其中一张图片 import torch import torch.nn as nn import torch.optim as optim from torch.utils.data import DataLoader , Dataset # DataLoader 是 PyTorch 中用于加载数据的工具 from torchvision im…...

【网络安全】轻量敏感路径扫描工具

订阅专栏,获取文末项目源码。 文章目录 工具简介工具特点项目结构使用方法1.环境准备2.配置目标URL3.运行扫描4.结果查看5.自定义扩展项目源码工具简介 该工具是一款基于Python的异步敏感路径扫描工具,用于检测目标网站是否存在敏感文件或路径泄露(如配置文件、密钥、版本控…...

K8S查看pod资源占用和物理机器IP对应关系

方法1&#xff1a;使用管道组合多个grep kubectl describe node | grep -E "Resource|InternalIP" -A 3方法2&#xff1a;显示节点名称和IP地址的对应关系 kubectl describe node | grep -E "Name:|InternalIP:"方法3&#xff1a;更清晰的格式化输出 ku…...

Java Spring 之拦截器HandlerInterceptor详解与实战

目录 一、拦截器的作用1.1 请求处理前的拦截1.2 请求处理后的拦截1.3 请求完成后的拦截 二、创建拦截器2.1 实现 HandlerInterceptor 接口2.2 注册拦截器 三、拦截器的使用场景3.1 权限校验3.2 日志记录3.3 性能监控 四、总结 在 Spring 框架中&#xff0c;拦截器&#xff08; …...

开源第三方库发展现状

摘要&#xff1a;当前&#xff0c;开源第三方库生态正呈现爆发式增长趋势。GitHub 目前已托管超过 4.2 亿个代码仓库&#xff0c;远超早期统计的 1 亿规模&#xff0c;显示出开发者社区的活跃度持续攀升。同时&#xff0c;37 个主流包管理器所维护的开源组件数量可能已达到数千…...

JavaSE核心知识点04工具04-02(IDEA)

&#x1f91f;致敬读者 &#x1f7e9;感谢阅读&#x1f7e6;笑口常开&#x1f7ea;生日快乐⬛早点睡觉 &#x1f4d8;博主相关 &#x1f7e7;博主信息&#x1f7e8;博客首页&#x1f7eb;专栏推荐&#x1f7e5;活动信息 文章目录 JavaSE核心知识点04工具04-02&#xff08;ID…...

NodeMediaEdge通道管理

NodeMediaEdge任务管理 简介 NodeMediaEdge是一款部署在监控摄像机网络前端中&#xff0c;拉取Onvif或者rtsp/rtmp/http视频流并使用rtmp/kmp推送到公网流媒体服务器的工具。 在未使用NodeMediaServer的情况下&#xff0c;或者对部分视频流需要单独推送的需求&#xff0c;也可…...

25、web场景-【源码分析】-静态资源原理

25、web场景-【源码分析】-静态资源原理 静态资源原理主要涉及Spring Boot如何管理和提供静态文件&#xff0c;如CSS、JavaScript、图片等。以下是详细的分析&#xff1a; #### 默认静态资源目录 Spring Boot默认将以下目录作为静态资源的存放位置&#xff1a; - classpath:/…...

qt结构化绑定的重大缺陷:只能创建局部变量

根据你的描述,问题出现在使用 std::make_tuple 和结构化绑定(structured binding)初始化多个成员变量时。这种初始化方式在C++中是合法的,但可能会导致一些问题,尤其是在类的成员变量初始化中。 问题分析 成员变量初始化顺序: 在C++中,类的成员变量的初始化顺序是按照它…...

历年中南大学计算机保研上机真题

2025中南大学计算机保研上机真题 2024中南大学计算机保研上机真题 2023中南大学计算机保研上机真题 在线测评链接&#xff1a;https://pgcode.cn/school 进制转换 题目描述 请写出一段程序&#xff0c;将十进制数字转为八进制。 输入格式 第一行输入 T T T ( 1 ≤ T ≤…...

端口映射不通的原因有哪些?路由器设置后公网访问本地内网失败分析

本地网络地址通过端口映射出去到公网使用&#xff0c;是较为常用的一种传统方案。然而&#xff0c;很多环境下和很多普通人员在实际使用中&#xff0c;却往往会遇到端口映射不通的问题。端口映射不通的主要原因包括公网IP缺失&#xff08;更换nat123类似映射工具方案&#xff0…...

Vue3 封装el-table组件

封装一个el-table组件&#xff1a;子组件仅负责事件触发&#xff0c;业务逻辑&#xff08;如API调用、状态更新&#xff09;由父组件实现 <template><el-table:data"tableData"borderstripestyle"width: 100%; height: calc(100% - 32px);"class…...

Python爬虫实战:研究Requests-HTML库相关技术

1. 引言 1.1 研究背景与意义 随着互联网数据量的爆炸式增长,网络爬虫已成为数据获取的重要工具,广泛应用于市场调研、舆情分析、学术研究等领域。传统爬虫技术在面对现代 JavaScript 动态渲染网页时面临挑战,而 Requests-HTML 库通过集成浏览器渲染引擎,为解决这一问题提…...

Azure Devops pipeline 技巧和最佳实践

1. 如何显示release pipeline ? 解决方法: 登录devops, 找到organization - pipeline - setting下的Disable creation of classic release pipelines,禁用该选项。 然后在project - pipeline - setting,禁用Disable creation of classic release pipelines 现在可以看到r…...

云原生应用架构设计原则与落地实践:从理念到方法论

&#x1f4dd;个人主页&#x1f339;&#xff1a;慌ZHANG-CSDN博客 &#x1f339;&#x1f339;期待您的关注 &#x1f339;&#x1f339; 一、云原生&#xff1a;现代架构的起点与范式变革 1.1 什么是云原生&#xff1f; 云原生&#xff08;Cloud Native&#xff09;是一种面…...