快充协议基础:USB PD协议详解、PPS协议、QC协议、华为SCP/FCP协议、协议选择策略

做GaN快充这些年,我最大的感触就是——协议这东西,比变压器设计还让人头疼。你想想看,一个充电器要跟手机、笔记本、游戏机打交道,每个设备说的“方言”还不一样。今天咱们就把这些协议掰开揉碎了讲清楚。

一、USB PD协议:快充界的“普通话”

USB PD(Power Delivery)是目前最主流的快充协议。它通过CC(Configuration Channel)线进行通信,说白了就是充电器和设备之间用这根线“聊天”,商量到底用多少电压、多少电流。

核心要点:USB PD 3.0支持最高100W(20V/5A),PD 3.1更是干到了240W(48V/5A)。

PD协议的消息结构很有意思。它用的是“头+数据体+校验”的格式,我刚开始看协议文档时觉得挺复杂,后来发现其实就是个简单的问答机制。

// PD协议消息结构示例
// 控制消息:GoodCRC(确认收到)
// 数据消息:Request(请求电压电流)

// 实际抓包看到的PD通信流程:
// 1. Source Capabilities (充电器告诉设备:我能提供5V/3A, 9V/3A, 15V/3A, 20V/3A)
// 2. Request (设备说:我要9V/3A)
// 3. Accept (充电器说:好的)
// 4. PS_RDY (充电器说:电压已经调整好了)

这里有个坑,我踩过。PD协议里有个“Sink Path”的概念,就是设备端也要有相应的接收能力。有一次我设计的充电器输出20V,结果客户反馈说笔记本不充电。查了半天,发现是笔记本端的PD控制器版本太老,不支持20V的Request。嗯,兼容性测试一定要做全。

二、PPS协议:可编程电源的“精细活”

PPS(Programmable Power Supply)是USB PD 3.0的一个扩展。它允许充电器以20mV为步进调整电压,说白了就是能更精细地匹配电池的充电曲线。

我的经验:PPS协议特别适合手机直充。传统方案是先升压再降压,效率损失大。PPS可以直接输出电池需要的电压,效率能提高3-5%。

PPS的工作模式是这样的:设备告诉充电器“我现在需要4.4V/3A”,充电器就输出4.4V。过一会儿设备说“我需要4.6V/3A”,充电器就调到4.6V。这种动态调整能力,让充电过程更接近理想曲线。

我曾经在一个项目中,用PPS给某品牌手机充电,发现手机总是请求一个很奇怪的电压值。后来查了手机端的充电策略,才知道它是在做“阻抗补偿”——通过调整电压来抵消线缆上的压降。这个细节,很多工程师容易忽略。

三、QC协议:高通的“老江湖”

QC(Quick Charge)是高通推出的快充协议。目前主流是QC 3.0和QC 4+。QC 3.0通过D+/D-线进行通信,用不同的电压组合来“告诉”充电器需要多少电压。

QC版本 通信方式 最大功率 电压范围
QC 2.0 D+/D-固定电压 18W 5V/9V/12V
QC 3.0 D+/D-连续调压 18W 3.6V-20V(200mV步进)
QC 4+ 兼容USB PD 27W+ 与PD相同

QC 3.0的调压方式很有意思。它通过D+和D-上的电压组合来编码。比如D+ 0.6V、D- 0.6V代表5V,D+ 3.3V、D- 0.6V代表9V。我刚开始做QC兼容时,用示波器抓D+/D-的波形,发现有些手机端的时序不太标准,导致充电器误判。后来我加了个“时序容错”的算法,问题就解决了。

注意:QC 4+已经兼容USB PD协议,所以新设计的充电器建议优先支持PD,再向下兼容QC 3.0。

四、华为SCP/FCP协议:国产的“独门绝技”

华为的快充协议分两种:FCP(Fast Charge Protocol)和SCP(Super Charge Protocol)。FCP是早期版本,SCP是后来的高压低流方案。

FCP协议通过D+/D-通信,类似QC但编码方式不同。它支持9V/2A(18W)的输出。SCP则更激进,它用“电荷泵”技术,通过4.5V/5A或10V/4A实现40W甚至更高的功率。

我记得有一次做华为手机的兼容测试,发现SCP协议有个“握手”的时序要求很严格。充电器必须在500ms内响应设备的请求,否则设备会认为充电器不支持SCP,退回到普通5V充电。这个时间窗口,很多国产充电器都踩过坑。

// SCP协议握手流程(简化版)
// 1. 设备检测到充电器插入
// 2. 设备在D+上发送特定脉冲序列
// 3. 充电器必须在500ms内回复确认
// 4. 设备发送电压电流请求
// 5. 充电器调整输出并回复OK

// 注意:SCP的脉冲序列有严格的占空比要求
// 我见过有些充电器因为MCU中断响应不及时,导致握手失败

五、协议选择策略:怎么选才不踩坑

做GaN快充,协议选择是个技术活。我总结了几条原则:

  • 优先支持USB PD 3.0 + PPS:这是未来的主流,兼容性最好。笔记本、新款手机、游戏机都支持。
  • 向下兼容QC 3.0:高通芯片的手机市场占有率大,QC 3.0还是有很多存量设备。
  • 根据目标市场决定是否支持华为协议:如果主要做国内市场,SCP/FCP是必须的。海外市场可以酌情考虑。
  • 注意协议优先级:当多个协议同时存在时,要设定好优先级。我一般用PD > PPS > QC > SCP > FCP的顺序。

避坑指南:我曾经在一个项目中,把QC和PD的检测逻辑写反了。结果插上QC手机,充电器先检测PD,没响应才切到QC,导致握手时间过长。后来我把检测顺序改成“先检测PD,同时检测QC”,并行处理,问题就解决了。

还有一个容易被忽略的点:协议切换时的电压过冲。当充电器从5V切换到9V时,如果控制不好,输出电压会瞬间冲到10V以上。我建议在协议切换时,先断开输出,等电压稳定后再重新开启。这个“先断后开”的策略,能有效保护设备。

快充协议选择策略流程图 GaN充电器 检测CC线(USB PD)和D+/D-(QC/华为) 支持PD? USB PD 3.0 + PPS QC 3.0? QC 3.0 华为SCP? SCP/FCP 默认5V/2A 图例 支持该协议 不支持,继续检测 默认输出

最后说一句,协议选择没有绝对的对错。关键是要根据你的目标市场、目标设备、成本预算来权衡。我个人习惯是“PD打底,QC保底,华为看市场”。这样既保证了兼容性,又不会增加太多成本。

总结:快充协议的核心是“沟通”。充电器和设备之间通过CC线或D+/D-线“聊天”,商量出最合适的电压电流。作为工程师,我们要做的就是让这个“聊天”过程顺畅、安全、高效。


公众号:蓝海资料掘金营,微信deep3321