1. USB Type-C与PD协议概述
大家好,我是你们的讲师。今天咱们聊聊USB Type-C和PD协议。说实话,我刚入行那会儿,还在跟Micro USB较劲呢。现在Type-C遍地都是,变化真快。
这一章,我们不讲太深。先把基础打牢。你想想看,一个接口能传数据、能充电、还能当显示器用,这背后到底藏着什么门道?
1.1 USB-C接口的物理特性
先看接口本身。Type-C最直观的特点——正反都能插。这可不是什么小改进。我以前做产品时,客户投诉最多的就是「插反了」。Type-C直接解决了这个痛点。
接口内部有24个引脚。嗯,这里要注意,不是所有引脚都同时工作。具体分布如下:
| 引脚编号 | 信号名称 | 功能说明 |
|---|---|---|
| A1, B1, A12, B12 | GND | 地线,共4根 |
| A4, A9, B4, B9 | VBUS | 电源总线,共4根 |
| A2, A3, B2, B3 | D+, D- | USB 2.0差分数据对 |
| A6, A7, B6, B7 | TX/RX | 高速差分数据对(SuperSpeed) |
| A5, B5 | CC1, CC2 | 配置通道,PD通信专用 |
| A8, B8 | SBU1, SBU2 | 边带使用,如音频、DisplayPort |
看到CC引脚了吗?这是Type-C的灵魂。PD协议全靠它来握手。我有个朋友,做充电器时把CC线接错了,结果设备死活不充电。查了两天才发现。
关键点:CC引脚决定了供电方向、电流能力、以及是否支持PD协议。没有CC,Type-C就是个普通USB口。
1.2 PD协议发展历史
PD协议,全称Power Delivery。说白了,就是让USB口能「商量着充电」。早期USB只有5V/0.5A,充个手机都慢。后来有了BC 1.2,能到1.5A。但还是不够。
2012年,USB-IF推出了PD 1.0。当时支持20V/5A,100W。听起来很厉害对吧?但实际用的人不多。为什么?因为协议太复杂,芯片也贵。
到了2014年,PD 2.0出来了。这次做了大改动:
- 固定电压档位:5V、9V、15V、20V
- 电流最大5A
- 支持双向供电
- 引入Source/Sink角色
我记得2016年做第一个PD项目时,光是选芯片就花了两周。那时候供应商少,资料也少。现在好多了,随便一个MCU都支持PD。
2017年,PD 3.0发布。增加了PPS(可编程电源)。这个功能很实用。你想想看,手机电池快没电时,需要大电流;快充满时,需要小电流。PPS能动态调整电压,效率更高。
个人经验:我建议新手直接学PD 3.0。2.0虽然还在用,但新项目基本都上3.0了。尤其是PPS功能,做快充方案时特别好用。
1.3 PD与普通充电的区别
这个问题,我经常被问到。普通充电,说白了就是「给多少用多少」。充电器输出5V/2A,设备就按这个参数充。没有协商,没有反馈。
PD充电不一样。它像两个人谈判:
- 发现对方:CC引脚检测到设备插入
- 身份确认:谁是Source(供电方),谁是Sink(受电方)
- 能力声明:Source告诉Sink「我能提供这些电压电流」
- 请求协商:Sink说「我要9V/3A」
- 确认执行:Source同意,然后切换电压
整个过程,用CC线上的 BMC 信号传输。速率不高,但可靠性很好。我曾经用示波器抓过PD通信波形,每个数据包都有CRC校验,错不了。
避坑指南:我曾经遇到过一个问题——设备插上后,PD协商成功了,但就是不充电。后来发现是VBUS的MOS管没打开。记住,PD协议只负责「商量」,真正的电源开关还得硬件来控制。
最后说个实际对比。普通充电器,5V/2A,10W。PD充电器,20V/5A,100W。给笔记本充电,普通充电器要充一整天,PD充电器1小时搞定。差距就在这里。
嗯,这一章就到这里。下一章我们深入CC引脚,看看PD协议到底是怎么「握手」的。
公众号:蓝海资料掘金营,微信deep3321