大概从去年开始,我这边接的不少项目都开始往USB-C PD供电方向走,尤其是电池供电类的设备——像户外电源、电动工具、便携显示器、甚至是带电池的医疗手持终端,大家都在问同一件事:能不能直接用PD充电器给设备供电和充电?以前的答案很勉强,因为PD标准最高也就20V 5A共100W,很多设备要么电压不够要么功率不够,只能继续用又大又笨的专用适配器。但PD 3.1引入EPR(Extended Power Range)之后,28V、36V、48V这些档位直接把天花板拉到了240W,适用范围一下子宽了太多。而要把这些高电压安全“接住”,Sink控制器是关键中的关键。
我最近重点研究了Diodes Incorporated推出的USB Sink控制器方案,它们在PD EPR应用上做得确实有想法——专门瞄准电池供电设备,把协商、保护、通路控制这些东西全部整合进去,外围电路变得非常干净。这篇文章就把我这几周的调研和实测心得整理出来,从协议原理、选型参数、电路搭建到排障经验,一次讲清楚,给正在做PD供电方案的工程师作个参考。
1. PD快充里的Sink控制器到底在干什么
1.1 从USB PD协议说起,Sink和Source的角色
很多人一提到USB PD就只想到“快充”,但PD协议的本质其实是一场双向协商——Source端(充电器/电源适配器)和Sink端(用电设备)通过CC线进行通信,约定好用多大的电压和电流供电。这句话说起来简单,实际两边各有一个“大脑”在跑协议栈。Source端的大脑通常是充电器主控芯片,Sink端的大脑就是我们说的Sink控制器。
为什么设备端不能“傻乎乎”地硬接充电器的20V?因为USB-C接口是一个通用接口,你插上去的充电器可能是5V/9V/15V/20V的任意档位,如果你的设备只支持12V输入,直接接到20V上,板子大概率当场冒烟。Sink控制器的任务就是:先检测到充电器插入,然后主动发起PD协商,告诉Source“请输出我需要的那个电压”,确认稳定之后再把VBUS通到后级电路。这个过程在毫秒级完成,用户完全感知不到。
传统做法是在设备里放一颗MCU自己跑PD协议栈,再加上一堆分立元器件搭建通路控制,复杂而且容易出兼容性问题。Diodes这一代Sink控制器走的是高度集成路线,把协议物理层、协议引擎、VBUS通路控制、过压过流保护这些全部封装在一个小芯片里,对做产品的人来说省了太多事——尤其是电池供电设备,PCB空间本来就寸土寸金,能少一颗芯片就少一颗。
1.2 电池供电设备为什么特别依赖Sink控制器
电池供电设备和纯插电设备对供电的要求差别非常大。纯插电设备(比如显示器、扩展坞)只要电压电流够就行,但电池设备要考虑充电曲线、电池电压平台、系统负载动态变化。我这里举两个典型场景:
第一个是电动工具。以前无绳电钻的电池包是18V或者20V,充电器是专用的,用户丢了一个充电器就非常麻烦。如果改用USB PD输入,电池包内部放一个Sink控制器,协商一个28V或36V的EPR档位,再由后级降压电路给电池充电,这样用户手里的任意一个支持PD EPR的充电器都能用,通用性瞬间拉满。
第二个是户外电源/便携储能。这类产品输入电压范围很宽,常见的有12V DC输入、太阳能板输入、车充输入。过去DC输入和USB-C输入是两条独立通路,要两套保护电路。现在用一颗支持EPR的Sink控制器,把USB-C协商到48V,再配合宽压Buck-Boost给电池组充电,一套方案同时搞定两路输入,PCB面积和BOM成本都下来了。
这里有个很容易被忽视的点:电池设备在充电过程中,系统负载是不断变化的(比如一边充电一边在放电),Sink控制器和Source协商好的功率档位是个最大值,实际电流由后级电路决定。如果后级瞬间拉高电流超过PD协商值,Source会直接断开输出或者降档,严重的话会触发过流保护。好的Sink控制器内置动态请求能力,可以根据后级负载反馈调整请求档位,而不是傻傻地固定在一个档位。
2. EPR到底解决了什么问题
2.1 从SPR到EPR,28V/36V/48V的意义
USB PD 3.1规范把功率范围分成了两段:标准功率范围SPR(Standard Power Range)最高20V 5A共100W,扩展功率范围EPR(Extended Power Range)新增28V/36V/48V三档,电流还是5A封顶,但最大功率来到了240W。
EPR带来的直接好处有两个。第一个是效率提升,在同样功率下,电压越高电流越小,线缆上的I²R损耗就越低。以前做100W的方案,20V 5A的电流,一条稍微差一点的线就会发热;现在同样100W可以用28V 3.6A实现,余量更大,线损更小。第二个是突破了电压天花板,很多设备内部母线就是24V、36V、48V,比如电机驱动、工业传感器、LED大屏,以前必须用专用电源适配器,现在直接拿PD EPR充电器就能供电——这才是EPR真正的杀手锏。
但EPR也带来了设计上的新挑战。48V在USB-C接口上并不是“提起电压”那么简单,它涉及安全要求的变化:EPR设备必须支持新的电缆检测机制,只有确认线缆也支持EPR,才会协商到28V以上;如果插了一根普通3A线,只能走SPR档位。这就是EPR安全机制的底层逻辑——用协商代替硬切,防止用户在不兼容的线缆上遭遇高压风险。
2.2 高功率设备实际受益场景
我梳理了一轮市面上的EOL(终端)设备,以下三类是EPR Sink控制器比较典型的受益场景:
- 高性能笔记本电脑/迷你主机:很多轻薄本已经用PD供电,但游戏本和工作站功耗远超100W,过去只能用专用电源口。有了EPR Sink控制器的方案,整机可以直接用48V PD输入,甚至可以做“充电器+扩展坞+视频输出”的一线通方案。
- 电动两轮车/平衡车电池充电:这类设备的电池组电压通常是36V/48V,原来配的充电器体积大、必须专用。用EPR Sink控制器引导充电器输出48V,再交给后级恒压恒流充电管理,用户出门只带一个小巧的氮化镓充电器就行。
- 大功率LED灯具/影视灯光:专业影视灯功率经常到200W以上,现场供电混乱是常态,用PD EPR充电器统一供电之后,现场设备管理和安全性都好很多。
从市场反馈来看,2024年以后这类需求爆发得非常快,最核心的驱动因素就是“标准化充电器替代专用适配器”带来的用户体验提升。对于产品经理来说,砍掉专用适配器意味着降低配件成本和售后复杂度;对用户来说,出差只需要带一个充电器。这个逻辑在消费电子领域已经被验证过无数次了。
3. 选型Sink控制器时我会重点看的几个参数
3.1 支持的PD版本与EPR电压档位
这是最基础也最关键的一项。Diodes的Sink控制器目前主打PD 3.1,支持28V/36V/48V的EPR协商。有些芯片标称支持PD 3.1,但只实现了28V档,48V还是缺失的。做产品选型时,建议直接看芯片手册里的“EPR Voltage”和“PDO Config”部分,确认你需要的档位都能覆盖。
另外注意PDO配置方式。有些芯片是出厂预配置固定PDO(比如只支持20V/5A),有些芯片支持I2C动态修改PDO。如果你的设备有多种工作模式(比如充电模式要20V,放电模式要48V),那必须选支持动态配置的型号,不然协议协商会被锁死,后级电路没法灵活调度。
3.2 通路控制集成度,决定BOM复杂度的关键
Sink控制器对VBUS通路的控制方式有两大类:集成FET和外部FET。集成FET方案外围简单,芯片把Source输入到设备输出的通路直接用内部MOS管打通,适合电流20A以内的中小功率设备;外部FET方案更灵活,可以搭配低导通电阻的大电流MOS管做高功率通路,适合30A以上的大电流应用。
这里要特别看一个指标:通路FET的导通电阻Rds(on)。这个参数决定了通路的发热和压降。比如20V 5A的场景,Rds(on)如果是50mΩ,压降是0.25V,功耗是1.25W,勉强可以接受;如果Rds(on)是20mΩ,功耗就只有0.5W,优势非常明显。Diodes的Sink控制器方案在通路设计上做了优化,内外部FET搭配灵活,可以根据电流需求选择集成或者外扩,这个设计粒度我很喜欢。
还值得关注的是软启动能力。电池设备插上充电器的瞬间,VBUS上存在巨大的容性负载(尤其是大容量MLCC和电池侧电容),如果Sink控制器不控制浪涌电流,很容易把充电器触发过流保护,或者打火花损坏Type-C接口。集成FET方案一般都会做软启动斜率控制,选型时问一句“Inrush Current Limit”多大,有没有可调选项。
3.3 保护功能与睡眠功耗
电池设备对保护功能的要求比普通消费电子严格很多。至少要有以下四类保护:
- 过压保护(OVP):Source协商出错或者线缆故障导致VBUS电压异常时,立刻切断通路。
- 过流保护(OCP):后级短路或者负载异常拉高电流时,限制或者关断输出。
- 反向电流保护:当VBUS电压低于电池电压时,防止电流从设备回流到VBUS——这个在电池设备上尤其重要,不然电池会把整个Type-C通路“灌”到冒烟。
- 热关断保护(OTP):芯片内部温度过高时自动进入保护状态。
睡眠功耗是另一个容易踩坑的点。电池供电设备待机功耗要求越来越严格,很多产品标称待机功耗要低于几百微安。Sink控制器如果一直在跑PD协议轮询,功耗会很高。好的方案会支持低功耗模式——在没有充电器插入的时候,Sink控制器进入深度睡眠,只有CC检测电路保持活跃;插入充电器后通过CC电平变化唤醒芯片。
3.4 封装与散热
电池设备对PCB面积的影响因素很多,散热设计也要提前评估。我见过不少工程师选了一颗强大的Sink控制器,结果封装是QFN-40,板子上根本没有位置放。Diodes的Sink控制器常见封装有QFN-24、QFN-32以及更小的WLCSP封装,发热功耗需要控制在几百毫瓦以内才能用WLCSP方案。
另一个容易忽略的散热问题是:芯片靠近Type-C接口时,插拔瞬间会有静电放电和热插拔浪涌,PCB layout上要留足够的铺铜面积给热焊盘,并且在芯片附近放置TVS管。这部分我在第5节会展开讲。
4. 实操:基于Diodes Sink控制器的典型应用电路
4.1 最小系统框架
我拿一个基于Diodes Sink控制器的典型应用电路来讲,它就是一个非常经典的EPR Sink设计框架。整体结构可以分成五大块:Type-C连接器、Sink控制器、VBUS通路MOS管(如果外部MOS)、后级DC-DC、以及主控MCU(用于配置和状态读取)。
Type-C连接器的CC1和CC2引脚分别连接到Sink控制器的CC1/CC2引脚。Sink控制器内部集成了CC检测的上下拉电阻(Rd)和ESD保护电路,所以外部不需要额外加5.1k下拉电阻。VBUS接到Sink控制器的VBUS检测引脚和VBUS通路输入端。Sink控制器内部的通路FET或者外部的通路MOS管,负责把VBUS的电压通到后级电路。后级DC-DC将协商好的电压转换成电池充电或者系统供电需要的电压。主控MCU通过I2C总线和Sink控制器通信,读取当前协商电压、电流、状态下,同时可以动态配置请求的PDO档位。
硬件上有一个细节值得注意:Sink控制器的CC引脚和VBUS引脚必须做好滤波处理——CC线上要加RC滤波(比如R=1kΩ,C=100pF),VBUS检测引脚加高压电容。这个滤波处理直接影响协议协商的稳定性,我踩过坑:CC线上没加滤波电容,插拔某些充电器时偶发协商失败,加了电容之后立刻正常。
4.2 与电池充电管理协同设计
Sink控制器和后级充电管理的配合,是这个方案里最容易出问题的地方。我见过很多人直接把Sink控制器输出的VBUS接给充电芯片,结果充电芯片的输入电压范围不够,一插EPR充电器就过压保护。
正确的做法是:Sink控制器先协商出一个电压空档,然后在Sink控制器和后级充电管理之间加一级Buck-Boost电路。比如电池组是3串锂电(12.6V满电),Sink控制器协商48V输入,Buck-Boost把48V降到合适的充电电压(比如13V左右),再进充电管理芯片。这样做的原因是PD协商出来的电压档位是离散的(20V/28V/36V/48V),不可能每一档都正好匹配电池平台的充电电压;而且电池在充电过程中电压不断变化,需要Buck-Boost动态调节。
实际项目中,我建议把“Sink控制器的请求策略”和“后级充电策略”放到一起考虑。比如电池电压低于某个阈值时,让Sink控制器请求最大功率档位(48V/5A),等电池电压升高后,再降低请求功率。Diodes Sink控制器支持通过I2C动态调整请求的PDO,配合MCU里的充电策略算法,可以实现从“涓流充电 → 恒流充电 → 恒压充电”全流程的功率动态调度。
4.3 固件配置要点
Sink控制器的PDO配置文件通常在出厂时需要固化,但Diodes方案支持通过I2C接口在启动时加载配置。我整理几个配置时要特别注意的参数:
- 请求PDO表:明确你的设备需要哪些电压档位,建议按照“优先高功率档,其次高电压档”的顺序排列。比如设备能接受48V,理论上优先请求48V;如果Source充电器只支持20V,则返回请求20V,这个过程是PD协议里的“Find Highest Capability”逻辑。
- EPR模式使能:如果设备支持EPR,必须把EPR enable位打开,否则芯片会拒绝协商超过20V的档位。
- 供电能力声明:在PDO表中填写你的设备作为Sink时能够接受的最大电流,这个值需要和后级DC-DC的实际处理能力匹配,不要填得过大,否则Source输出功率超限后会进入保护。
- FRS(快速角色交换)配置:如果你的设备需要支持双向供电(比如手机连电脑时作为Source给电脑供电),需要额外配置FRS相关参数。这是很多Sink控制器的隐藏功能,Diodes芯片也支持这个能力,建议在实际项目中认真对待。
另外,有一部分Sink控制器支持“不插MCU也能工作”的模式——芯片有自己的EEPROM保存配置,上电后自动加载并跑协议。这个模式很适合量产阶段不想烧录MCU固件的场景,Diodes这类Sink控制器的配置工具还挺好用的,图形化界面直接勾选PDO、配置OVP阈值,然后生成配置文件。
5. 常见问题与排查技巧实录
5.1 插上充电器没反应:先查CC线序和电压
这是我最常被问到的故障。Sink控制器插上充电器没反应,首先拿示波器看CC1/CC2的波形——注意要看的是USB-C接口的CC引脚是否被正确连接。如果发现CC1有波形但CC2没有,说明线缆或者连接器的CC线序有问题。
还有一种情况:CC线序没问题,但示波器看不到任何波形,这时候要看Sink控制器有没有被正常唤醒。很多Sink控制器在没有充电器插入时是深度睡眠模式,CC引脚不上拉;Charger插入后CC上拉到一定电压才被唤醒。如果CC上拉电阻没配置好(比如Rd电阻断掉),芯片就无法感知充电器接入,自然不工作。用万用表量一下CC引脚对地的电阻,正常应该是5.1kΩ左右(Rd)。
5.2 协商出来电压不对:检查PDO优先级
遇到充电器插入后协商到20V而不是48V的情况,先别怀疑芯片坏了,大概率是PDO优先级配置问题。PD协议里有一个“Choose Highest Capability”规则:如果Source支持多组PDO,Sink会优先选择“输出功率最高”的那组,而不是“电压最高”的那组。比如你的设备请求了48V/5A(240W)和20V/5A(100W),而充电器支持20V/5A(100W)但不支持48V,结果就是它会选20V。
如果想让设备优先选择48V,就得在Sink控制器的请求策略上做文章,强行按PDO的Index来请求(BSP)。这种“按索引请求”功能并不是所有Sink控制器都支持,Diodes方案里我记得是可以通过I2C接口动态配置的,非常灵活。
5.3 EPR协商失败:检查线缆和协议版本
EPR协商和SPR协商的机制完全不同,涉及到线缆能力检测(EMCA/E-marker)。如果插入的线缆不支持EPR,Source端不会输出电压超过20V的档位。所以出现EPR协商失败,第一个要排除的就是线缆问题——拿一条明确标注支持240W/48V的线缆试试,如果成功,说明你的Sink控制器没毛病。
还有一种情况是Sink控制器和Source的协议版本不匹配。一些老充电器只支持PD 3.0,不支持PD 3.1 EPR,这时Sink控制器必须在“EPR请求失败后降级到SPR请求”,否则协议栈会卡死。Diodes的Sink控制器在协议状态机里内置了这个“fallback to SPR”机制,但具体是否启用要靠配置开关控制。
5.4 热插拔时打火:检查软启动和TVS
电池设备热插拔打火花是一个需要认真对待的安全问题,不光是体验差,还容易在接口上烧出痕迹。打火的原因通常是VBUS电容在插入瞬间被充电,电流尖峰过大。解决办法是确认Sink控制器有没有开启软启动模式,同时确认VBUS通路FET的G极驱动电阻有没有加上。大多数方案里,VBUS FET的G极都应该串联一个4.7Ω到10Ω的电阻来控制开通速度;如果芯片集成了FET,那就只能靠配置芯片内部的软启动曲线参数。
另外,从硬件保护角度,芯片的VBUS引脚和Type-C连接器之间建议串一个0Ω电阻(或者磁珠)加上TVS二极管。TVS的钳位电压要选取比协商的最高电压高一些,比如EPR 48V方案,TVS可以用58V钳位电压的规格,这样既能保护芯片不被ESD打坏,又不会在正常工作时钳掉太多电压。
5.5 睡眠功耗偏高:查芯片进入低功耗的时机
电池设备的睡眠功耗是客户必查的指标。Sink控制器如果一直保持主动协商状态,功耗会比深度睡眠时高出几十倍。排查方法:用万用表电流档测试整机睡眠电流,排除其他外设后,重点看Sink控制器的供电电源有没有被后级DC-DC完全切断。
Diodes的方案里,Sink控制器可以配置成“无充电器时主动进入低功耗模式”的自动策略。需要注意:如果Sink控制器的供电电源接在电池电压上,那即使充电器拔了,芯片内部还是会继续消耗电池电流——这点在低功耗设计评审中经常被遗漏。我建议把Sink控制器的供电分成两路:系统上电时由主电源供电,睡眠时由主控MCU控制切断。当然,前提是MCU自己也要能在睡眠模式唤醒。
6. 关于Diodes方案的一些整体评价
6.1 Diodes Sink控制器相对其他方案的核心优势
这段时间用下来,Diodes的Sink控制器方案给我最深的印象是协议兼容性做得很扎实。PD协议栈的难点不在“能协商成功”,而在于“各种奇奇怪怪的充电器插入后都能协商成功”——市面上有太多充电器的PD协议实现得不规范,有的充电器对Request消息响应慢,有的干脆主动发包不按协议来。Diodes的Sink控制器在这个场景下表现得相当稳定,这可能得益于其协议栈做了很多兼容性兜底逻辑。
其次,EPR支持完整且可配置性强。从28V到48V都可以通过寄存器配置,而且支持动态切换。我之前调研过其他几家方案,有些芯片虽然标榜支持EPR,但PDO是出厂固化的,没法在量产阶段调整,遇到需要适配不同客户设备的情况会非常头疼。Diodes的方案给了灵活的I2C配置接口,研发阶段调起参数来非常方便。
再一个就是配套资料和工具做得比较完善。Diodes提供了官方的图形化配置工具,可以可视化配置PDO、切换EPR档位、设置保护阈值。做硬件工程师最怕的就是芯片强大但没工具,这家的工具体验在同行业里绝对是第一梯队。
6.2 哪些场景更适合选这套方案
根据我自己的观察,Diodes Sink控制器方案最适合以下这几类产品:
- 电池供电的电动工具/户外电源/储能设备,需要支持EPR高电压输入,同时对BOM面积和整体可靠性有要求。
- 便携显示器和扩展坞:这类设备通常需要从充电器获取电能同时给其他设备供电,对Sink控制器的通路开关能力要求比较高,Diodes方案可以灵活配置多路通路。
- 工业设备/医疗器械:这类产品对协议稳定性和抗干扰能力要求极高,用Diodes这种经过大量量产验证的方案,能显著降低协议兼容性风险。
如果你的产品功耗在100W以内、只支持SPR档位,那选Diodes的Sink控制器当然也完全没问题;但如果你对EPR档位有明确需求,那它会更值得优先考虑。整体看下来,Sink控制器已经不是一个“能用就行”的简单外围器件了,它在PD供电链路里扮演着越来越核心的角色。选型、电路设计、固件配置,每一环都得较真。这篇把一个多月来的调研和实操经验沉淀下来了,希望对正在做PD EPR方案的兄弟有帮助。