1. PD协议概述:USB PD 协议发展史、PD 3.0 vs PD 3.1 关键差异、PD 在快充生态中的核心地位
大家好,欢迎来到这门实战课。我是你们的老朋友,一个在嵌入式电源领域摸爬滚打了十几年的工程师。
咱们第一节课,先不急着写代码、调寄存器。我想先聊聊USB PD这个协议本身。你可能会问:“PD协议都出来这么多年了,还有啥好讲的?” 嗯,说实话,我当年刚接触PD时也这么想。结果呢?第一次调试PD 3.0的SRC(Source,供电端)策略时,就因为没搞懂协议版本差异,差点把客户的样机给烧了。从那以后,我养成了一个习惯:不管多熟的协议,每次动手前,先把版本差异和核心逻辑捋一遍。
所以,这节课我们就来好好捋一捋PD协议的前世今生,以及它为什么能成为快充生态的“话事人”。
1.1 USB PD 协议发展史:从5V到240W的进化之路
USB PD的全称是USB Power Delivery。说白了,它就是一套通过USB Type-C线缆,让设备之间协商供电功率的“语言”。
我记得最早做USB充电时,大家用的都是BC 1.2(Battery Charging 1.2),最大也就7.5W(5V/1.5A)。那时候给手机充电,一充就是两三个小时。后来高通搞了个QC 2.0,把电压拉到9V、12V,功率上去了,但问题是——不通用。你拿QC的充电器充iPhone,它还是老老实实跑5V。
这时候,USB-IF(USB Implementers Forum,USB标准化组织)站出来了。他们想:与其各家搞各家的私有协议,不如我们搞一个统一的、能协商电压和电流的标准。于是,USB PD 1.0在2012年诞生了。
- PD 1.0(2012年):基于USB Type-A和Type-B接口,最大功率100W(20V/5A)。但说实话,这版协议太复杂,而且必须用专用的PD芯片,市场反响一般。我那时候还在做消费电子,几乎没见哪个产品真正用了PD 1.0。
- PD 2.0(2014年):这是真正意义上的转折点。它和USB Type-C接口深度绑定。Type-C的CC(Configuration Channel,配置通道)引脚,正好用来做PD通信。PD 2.0定义了明确的电源角色(Source/Sink/DRP)和策略,最大功率还是100W。从这版开始,PD协议才算真正落地。
- PD 3.0(2015年):在2.0基础上做了大量优化。比如增加了PPS(Programmable Power Supply,可编程电源)功能。PPS允许电压以20mV为步进进行微调。这有什么用?你想想看,手机电池在快充满时,需要更精确的电压来避免过充。PPS就是干这个的。PD 3.0还引入了快速角色交换(Fast Role Swap),让设备在切换供电方向时不会掉电。
- PD 3.1(2021年):这是目前最新的主流版本。它最大的亮点是引入了扩展功率范围(EPR,Extended Power Range),把最大功率从100W直接干到了240W(48V/5A)。这意味着什么?意味着你的笔记本、显示器、甚至一些电动工具,都可以通过一根Type-C线缆供电了。
核心观点:PD协议的发展史,本质上就是一部“功率不断攀升、控制越来越精细”的历史。从最初的7.5W到现在的240W,每一次版本迭代,都伴随着新的应用场景和新的挑战。
1.2 PD 3.0 vs PD 3.1 关键差异:不止是功率翻倍
很多朋友觉得PD 3.1就是PD 3.0的“功率增强版”。其实没那么简单。我去年帮客户调试一个240W的EPR电源适配器,就踩了不少坑。这里我把几个关键差异列出来,你感受一下。
| 对比项 | PD 3.0 | PD 3.1 |
|---|---|---|
| 最大功率 | 100W (20V/5A) | 240W (48V/5A) |
| 电压范围 | 5V, 9V, 15V, 20V (固定PDO) | 新增 28V, 36V, 48V (EPR PDO) |
| 线缆要求 | 标准Type-C线缆 (3A/5A) | 需要EPR标记的线缆 (支持48V/5A) |
| 通信协议 | 基于BMC (双相标记编码) | 兼容BMC,但EPR协商需要额外的“EPR Mode”进入流程 |
| PPS功能 | 支持,电压步进20mV | 支持,且EPR模式下PPS电压范围更宽 |
| 安全机制 | 基本的过压/过流保护 | 新增EPR特有的“Sink端过压保护”和“线缆电流能力检测” |
你看,PD 3.1不仅仅是把电压从20V提高到48V那么简单。它引入了一整套新的安全机制和协商流程。
举个例子:在PD 3.0时代,Source端输出20V时,Sink端(受电端)只要确认自己能承受20V就行。但在PD 3.1的EPR模式下,Source端必须先发送一个“EPR Mode Enter”消息,Sink端确认后,双方才能切换到48V的高压轨道。如果Sink端不支持EPR,Source端就只能老老实实待在20V。
避坑指南:我曾经在调试一个EPR电源时,发现Sink端(一台笔记本)总是无法进入48V模式。查了半天,发现是线缆的问题——那根线虽然标称支持5A,但并没有EPR标记,所以Source端拒绝进入EPR模式。记住:EPR模式下,线缆必须带有专门的EPR电子标记芯片(eMarker),否则协议栈会直接拒绝高压输出。
1.3 PD 在快充生态中的核心地位:为什么是它?
现在市面上快充协议五花八门:高通的QC、联发科的PE、OPPO的VOOC、华为的SCP、vivo的FlashCharge……为什么偏偏USB PD能成为“正统”?
我个人觉得,原因有三点:
- 开放性:PD是USB-IF制定的国际标准,任何厂商都可以免费使用。不像QC、VOOC这些私有协议,需要授权费或者专用芯片。说白了,PD是“公版”,其他是“私版”。
- 双向性:PD协议支持Source和Sink的角色互换。你的手机既可以当Sink(被充电),也可以当Source(给耳机充电)。这在私有协议里几乎看不到。
- 可扩展性:从100W到240W,PD协议通过版本迭代,不断覆盖新的应用场景。现在连电动自行车、电动工具都开始用PD供电了。你想想看,一个协议能同时管手机、笔记本、显示器、甚至电钻,这生态位谁能撼动?
注意:虽然PD是标准协议,但很多手机厂商在支持PD的同时,还会保留自己的私有快充协议。比如某品牌手机,用自家充电器能跑120W,但用PD充电器只能跑18W。这是因为私有协议在PD基础上做了“魔改”,比如通过D+/D-引脚进行额外协商。所以,不要以为支持PD就一定能跑满功率,实际项目中一定要确认双方的协议兼容性。
好了,这节课的内容就到这里。我们回顾一下:PD协议从1.0发展到3.1,功率从100W提升到240W,控制精度越来越高。PD 3.1相比3.0,最大的变化是引入了EPR模式,同时带来了更严格的安全要求和线缆要求。而PD之所以能成为快充生态的核心,靠的是它的开放性、双向性和可扩展性。
下一节课,我们会深入PD协议栈的底层,聊聊那些你必须要懂的“PD消息”和“状态机”。嗯,到时候我会分享一个我当年调试PD 3.0时遇到的“死锁”案例,保证让你印象深刻。
我们下节课见。