USB Type-C的充电场景这两年越来越绕不开一个词:Power Delivery。我在帮朋友做一款双口桌面充电器时,对比了好几个方案,最终定型为两颗电源传输芯片协同工作,一颗负责“受电”——从任意PD适配器诱骗出需要的电压,另一颗负责“供电”——把输入电压变成设备实际需要的快充档位。这个组合看着简单,实际上把Type-C充电链路里最核心的Source侧和Sink侧逻辑都覆盖全了,非常典型,也很有参考价值。这篇就围绕这个双芯片方案,把选型、设计、调试、踩坑都拆开讲清楚。
1. 先说结论:这条Type-C充电链路是怎么一回事
1.1 为什么需要两颗芯片
很多刚接触Type-C快充的朋友会困惑:一颗充电芯片不就够了吗?为什么非得用两颗?这里的关键在于“充电”这个词其实覆盖了完全不同的两个方向。
Type-C接口里的CC引脚承载了PD协议通信,通信双方分别是Source(供电方,比如适配器、充电宝)和Sink(受电方,比如手机、开发板)。当我们设计一台“输入是Type-C口、输出也是Type-C口”的充电设备时,输入侧需要一颗Sink芯片去和上游适配器协商电压,输出侧需要一颗Source芯片去和下游客机协商电压。这天然就是两颗芯片的工作。
以我这次的核心组合来说,CH224K是Sink侧协议芯片,只管“从适配器把电压求过来”;SW3516是Source侧协议芯片,负责“把可用电压调度成多路快充档位”。一颗负责谈判进场,一颗负责分发资源,二者各司其职,组成了完整的充电管理方案。
1.2 两颗芯片怎么分工协作
CH224K挂在Type-C输入口,它有CC1/CC2引脚,上电后通过物理电阻和协议报文的组合,向上游PD适配器发出请求。适配器回应后,CH224K会输出一个控制信号(通过配置引脚的电平组合),让后级的DC-DC电源系统知道现在输入电压是5V、9V还是20V。
SW3516则挂在Type-C输出口,它内置了同步降压控制器和完整的协议栈。输入电压进来后,SW3516先做一次Buck降压,再根据输出口上接入的设备类型,自动切换PD/QC/FCP/AFC等协议档位。
整个链路的数据流是:上游适配器→CH224K请求电压→中端降压电路建立母线电压→SW3516协议识别→下游设备获得所需电压。信号流和功率流虽然方向一致,但每一级都各管一段,理解这个分层会让后面的电路设计清晰很多。
2. 芯片选型思路拆解:为什么是CH224K和SW3516
2.1 Sink侧芯片的几个硬指标
Sink侧芯片的选择,很多人的第一反应是“随便找颗PD诱骗芯片就行”。其实不然。真正的产品设计里,Sink芯片必须满足几个现实条件:支持的PD版本要够新但又不能太激进,静态功耗要低,封装和外围电路要简单,最重要的是价格要可控。
CH224K吸引我的点在于它支持PD2.0和PD3.0协议,同时保留了BC1.2的识别能力,能够兼容老式非PD适配器。它的电压配置是通过CH224K的CFG1/CFG2引脚组合实现的,不需要烧录固件,纯硬件配置就能指定请求5V/9V/12V/15V/20V,这对量产和DIY都非常友好。
另一个细节是它自带LDO输出,可以给后级的MCU或LED指示电路提供约3.3V的参考电源,省掉一颗独立的LDO芯片。在寸土寸金的PCB上,这种“附带价值”往往比标称参数更值得关注。
2.2 Source侧芯片的核心考量
Source侧的SW3516是我权衡了很久之后才定下来的。它集成了协议识别和同步Buck控制两大功能,外围只需要外挂两颗MOS管、一颗电感、若干电阻电容,就能完成从输入到多协议输出的全部工作。
SW3516支持的协议覆盖很广,包括PD3.0/2.0、QC4+、QC3.0/2.0、AFC、FCP、SCP等常见的快充协议,这意味着下游不管接的是iPhone、安卓旗舰机还是老款QC设备,都能正确握手。它内置了多个模板可选的Type-C口配置,支持单C口和A+C口双口输出。对我这个项目来说,单C口输出已经足够,但留出的余量让后续产品扩展变得很方便。
需要特别留意的是,SW3516是外置MOS方案,不能像内置MOS芯片那样直接打样就完事,MOS管的选型、驱动电阻、Layout走线都会影响最终效率和发热。这也是我选择它的原因之一——可调参数多,能通过设计把效率压榨到极限。
2.3 为什么不用一颗全集成方案
市面上的确存在全集成Source芯片,比如部分内置MOS的单芯片方案,外围极简,打样调试非常快。但这类芯片通常有两个问题:一是功率上限受限,内置MOS的导通电阻和热阻决定了它很难持续输出大电流;二是协议更新需要重新流片,一旦Type-C规范小版本变化,老芯片可能无法通过认证。
两颗芯片的架构看起来成本更高、面积更大,但换来的是极大的灵活性。CH224K负责的输入电压范围从5V到20V都可以,SW3516负责的输出策略可以独立调整,输入和输出解耦之后,固件或硬件改版时只需要动其中一半。做产品不是做一次性DIY,留出解耦的余地非常重要。
3. 核心细节解析与实操要点
3.1 CC引脚识别与物理电阻匹配
Type-C协议里最关键也最容易翻车的部分,是CC引脚的电阻网络。对于Sink设备(比如CH224K所在的输入侧),其CC1/CC2引脚对地必须各接一颗5.1kΩ下拉电阻。没有这两颗电阻,上游适配器会认为没有任何设备接入,根本不输出VBUS电压。
对于Source设备(比如SW3516所在输出侧),需要在CC1/CC2引脚上分别接一颗Rd电阻作为下拉,同时还要通过主机或协议芯片内部实现Rp上拉。这里我吃过一次亏:直接照抄参考设计,发现SW3516输出口接手机时偶尔不识别,用示波器抓CC波形才发现,走线过长导致寄生电容过大,CC信号上升沿变形。后来在CC线上各加了一颗33pF对地电容做滤波,并把走线缩短后问题消失。
注意:CC线的布线宽度不用很宽,但长度一定要尽量短。Type-C信号频率并不高,但不良走线引入的寄生参数会影响USB-IF的电气合规测试,量产前务必留出调试余量。
3.2 PD握手流程:广播、请求、显式确认
PD协议握手可以通俗理解为一次“讨价还价”。适配器(Source)上电后通过CC线广播自己的能力,比如“我可以输出5V/3A、9V/3A、12V/2.5A、20V/1.5A”。CH224K作为Sink收到广播后,根据我们配置的目标电压,发出一个Request报文:“我想要12V”。
适配器收到请求后,如果这个电压档位在它广播的范围内,就会回复一个Accept报文,紧接着将VBUS电压升高到12V,并在稳定后发送PS_RDY报文表示“电压已经到位”。到这一步,一次完整的显式协商才算完成。
我最初以为只要CH224K发出请求就能立刻拿到高压,后来用PD协议分析仪才发现,从Request到PS_RDY之间存在几百毫秒的间隔,这是适配器内部完成电压切换和稳定所必需的。如果后级降压电路跟随速度太快,会在VBUS建立过程中出现欠压复位,因此SW3516的输入侧建议加一个缓启动电容,或者在使能端增加RC延时。
3.3 配置电阻与关键参数计算
CH224K的电压配置全看CFG引脚。以我使用的封装为例,两个配置引脚有四种状态组合,分别对应5V、9V、12V、20V四档常见电压。这里有一个很多人忽略的点:配置的请求电压必须和后续降压电路允许的输入范围匹配。
如果输入侧请求了20V,而SW3516的输入电容耐压只有16V,上电瞬间就会冒烟。所以我在CH224K的CFG配置上选择了12V,并把SW3516的输入电容改为两颗25V耐压的固态电容并联,留出充足的降额空间。
同步Buck部分的电感值计算也不难,核心公式是:
L = (Vin - Vout) × Vout / (fsw × ΔI × Vin)
以输入12V、输出5V/3A、开关频率150kHz、纹波电流取输出电流的30%(即0.9A)为例:
L = (12-5) × 5 / (150000 × 0.9 × 12) ≈ 21.6μH
我实际取了22μH的标准值,接近计算值,工作稳定。如果输出20V,计算值会明显不同,因此选电感时不能只看电流,一定要代入你的输入输出电压组合去算。这也是“选型不是抄原理图”的典型例证。
4. 实操过程与核心环节实现
4.1 整体电路框架与电源流向
这个双芯片充电方案的完整电路可以分成四个部分:Type-C输入接口与CH224K协议协商、前级输入滤波与缓启动、SW3516同步降压与协议输出、Type-C输出接口与CC电阻网络。
电源从输入端进入后,一路直通到SW3516的VIN引脚,另一路通过降压电路给CH224K供电。CH224K协商完成后,VBUS电压升高至目标档位,SW3516继续降压到下游设备请求的电压。整条功率路径是:适配器→输入VBUS→SW3516的Buck转换→输出VBUS→下游设备。
这里有一个很重要的设计选择:CH224K本身不承载功率,它只是信号芯片。输入VBUS的功率通路必须独立走线,不能为了省事从CH224K的引脚上取电。功率线和信号线分开走,是这类设计的铁律。
4.2 CH224K参考电路搭建
CH224K的外围极其简单,几乎是“最小系统”:电源引脚接VDD和去耦电容,CC1/CC2经过ESD保护器件后接入Type-C插座,CFG配置引脚按需要的电压接高/低电平。
我的实际接法如下:
- VDD接5V,对地接1μF陶瓷电容
- CC1和CC2分别通过一颗5.1kΩ电阻下拉到地
- CFG1接高电平、CFG2接低电平,请求9V(具体编码以官方手册为准)
- CH224K的LDO输出接一颗0.1μF电容,为LED指示灯供电
- 所有信号线与功率线之间保持至少0.5mm间距,避免开关噪声耦合
上电后我用万用表量VBUS,确实从5V跳到了9V,但是这个“跳变”不是即时的,中间有约300ms延迟。如果在延迟期间后级就开始工作,可能造成逻辑混乱。因此我在SW3516的输入使能端加了一颗RC延时电路,确保母线电压稳定后再开启降压输出。
4.3 SW3516参考电路与关键器件
SW3516的外围比CH224K复杂不少,核心部件包括输入电容、高边/低边MOS管、输出电感、输出电容、反馈采样电阻和协议配置引脚。
MOS管选择时,我关注两个参数:耐压和导通电阻。输入最高20V,MOS管耐压至少要30V,我用的是一颗耐压40V、导通电阻约8mΩ的国产MOS。导通电阻直接影响效率,同样是3A输出,8mΩ的导通损耗约0.072W,如果换成20mΩ,损耗会涨到0.18W,热量差异在封闭外壳里非常明显。
电感我选了22μH/5A的功率电感,饱和电流要大于最大输出电流加纹波电流的一半。实测满载3A输出时,电感温升约20℃,在可接受范围内。输出电容选了两颗22μF的MLCC并联,等效ESR更低,输出纹波更小。
反馈采样电阻的精度直接决定输出电压精度。我用的电阻精度是1%,实测5V输出偏差在±50mV以内。如果手边只有5%精度的电阻,建议换用1%精度,免得电压漂移引发下游设备保护。
5. 常见问题与排查技巧实录
5.1 通电后完全没有VBUS输出
这是最常遇到的问题,原因通常藏在CC电阻网络上。我用万用表从Type-C插座的CC引脚往前测,发现CH224K的CC1对地电阻不是5.1kΩ,而是接近无穷大。原因是焊盘过孔没有完全连接,冷焊导致虚接。补焊后,适配器立刻输出5V,说明Source侧的检测逻辑在意的是电阻是否存在,而非协议本身。
另外,如果你用的是成品Type-C线缆,线缆内部可能自带E-Marker芯片,这种线缆只允许5V电流通过,直到协议显式请求更高电压。这种情况下,5V桩先出现属于正常现象,不应被视为故障。
5.2 请求电压成功但后级输出异常
如果VBUS已经升到目标电压(比如12V),但SW3516输出端没有电压,问题大概率出在使能逻辑或Buck电路本身。我用示波器测量SW3516的开关节点,发现波形完全没有出现,怀疑芯片进入了保护状态。
逐项排查后发现,输出电感虚焊导致输出电流检测异常,芯片检测到过流就锁死了。重新焊接电感后恢复正常。这里建议在PCB Layout时为电感焊盘留出足够的铜箔面积,既有利于散热,也能减少虚焊概率。
5.3 兼容性问题的快速定位
当设备插入后偶尔不识别,或识别了但不进快充,不要急着怀疑芯片。我遇到过一个案例:手机能正常充电但功率只有5W,用协议分析仪抓包发现,SW3516发出Source Capabilities广播后,手机收到了,但手机回复Request时,SW3516没有正确响应。
反复检查发现,Type-C插座的外壳地(Shield)没有和系统地充分连接,导致共模噪声干扰了CC信号。把外壳地与系统地通过一颗1MΩ电阻并联一颗0.1μF电容连接后,问题彻底消失。高频噪声路径的干扰在快充系统里非常隐蔽,排查时要优先怀疑地环路。
6. 验证方法、效率测试与常见误区
6.1 用协议分析仪看“黑盒”里的对话
做了那么多年电源,我建议每个做Type-C快充的人都准备一个PD协议分析仪。它不需要太贵,关键功能是能捕捉CC线上的电压波形和解码PD报文。没有分析仪时,出了问题只能靠猜;有了它,你能直观看到Source Capabilities、Request、Accept、PS_RDY的完整对话。
我用分析仪确认过CH224K发送的Request报文,发现它不止发一次,而是持续重发直到收到Accept。这个重发机制是PD协议的一部分,设计如此,不是芯片Bug。如果没有分析仪,看到反复发送大概率会被误判为死机。
6.2 效率测试与发热控制
两颗芯片架构的一个潜在缺点是多了中间环节,整体效率会比单芯片方案略低。但实测下来,只要SW3516的MOS选型得当,满载效率可以做到90%以上,在消费级产品里完全够用。
效率测试我习惯用电子负载在不同输出电流下记录输入功率和输出功率,分别计算5V/3A、9V/2A、12V/1.5A三档下的效率。如果发现某一档效率异常低,优先检查该档位下电感是否进入饱和区。很多人误以为只要电感额定电流大于最大输出电流就行,忽略了峰值电流等于输出电流加二分之一纹波电流,选型时要留至少20%余量。
6.3 最容易忽视的认证与安全事项
如果你做的东西只是自己玩,那随意;但如果要做成产品,USB-IF认证和电气安全测试是绕不开的。Type-C PD设备必须过IEC 62368-1的安全测试,包括温升、耐压、漏电流等。这里说几个我在送测时被“打回来”的典型问题。
第一个是输入欠压保护点设置不合理。当适配器功率不足时,CH224K请求12V会导致适配器电压跌落,SW3516进入欠压保护后会频繁重启,这种状态在认证测试中属于不稳定状态,会被判不合规。解决办法是在CH224K和SW3516之间增加一个输入电压检测电路,当母线电压跌落超过一定阈值时,主动降低请求档位。
第二个是Type-C插座的ESD静电防护。USB线上人体的静电很容易通过插座耦合到芯片引脚,我在CC1/CC2和VBUS上都加了TVS管,实测能过±8kV接触放电。做这个改动之前,我用打火机高压测试时直接把一颗SW3516打挂了,损失惨重。
第三个是输出过流保护点需要留余量。SW3516的电流采样电阻决定了过流阈值,我按最大输出电流的1.2倍整定,结果在适配器输出能力偏弱时,实际触发点偏移导致设备端先掉压。后来把采样电阻的温度系数一并纳入计算,用温漂小的合金电阻,问题才解决。这些都是规格书第一页看不到,但量产阶段一定会遇到的细节。
7. 这个方案还能怎么扩展
双芯片方案最大的优势就是灵活性。我目前只做了单C口输出,但其实换一颗带A+C双口协议的Source芯片,就能轻松扩展成1A1C双口充电器。输入侧也可以把CH224K换成功率等级更高的Sink芯片,比如支持28V/5A的PD3.1版本,这样就能覆盖更高功率的PD3.1适配器。
再往上走,还可以引入单片机对CH224K的CFG引脚做动态切换。比如设备需要20V高压时,MCU发起高压请求;不需要时切回5V,能明显降低待机功耗。这部分逻辑不难,但能让“两颗芯片”方案从固定档位升级成可编程电源前端,应用范围一下子宽很多。
另外的一个扩展方向是把SW3516的输出接到无线充电发射端。无线充一般需要稳定的5V/9V/12V输入,SW3516负责和适配器协商并把电压稳定到发射端需要的档位,后面再接无线充主控即可。这种组合测试下来,整机效率虽然不算极致,但开发周期短,出货快,是很多中小方案商的实际选择。
根据我的经验,两颗PD芯片的组合特别适合这类“中间层”电源设备:输入要兼容各种快充头,输出要兼容各种快充终端。与其用昂贵的全集成复杂方案,不如把两端协议拆开,各自用最趁手的器件,反而能做出性价比更高、更稳定的产品。最后一个小技巧:如果你打算照着这个思路做一版自己的板子,第一版务必把CH224K的配置引脚和SW3516的采样电阻都做成可调电阻形式,方便调试时灵活修改。这个细节能帮你省下至少一轮打样迭代的时间。