第2章:Type-C物理层:连接器、引脚定义与电气特性
好,咱们开始聊Type-C的物理层。说实话,很多工程师一上来就扎进PD协议里,结果硬件上连个CC引脚都测不对,折腾半天才发现是物理层出了问题。我个人习惯,做任何协议栈之前,先把物理层的底裤扒干净。这一章,咱们就聚焦在连接器、引脚和电气特性上。
2.1 连接器的那些事儿
Type-C连接器,你看着它小巧,其实内部结构相当复杂。它支持正反插,这背后是两套完全对称的引脚。嗯,这里要注意,不是简单的把引脚复制一份就完事了,它涉及到信号路由和阻抗匹配的重新设计。
我见过不少新手,画PCB时直接把Type-C座子的两排引脚当成一样的来处理,结果高速信号眼图一塌糊涂。为什么?因为正反插时,信号路径的寄生参数其实有细微差别。
2.1.1 引脚定义速查
先看这张表,我建议你把它打印出来贴在工位上。每次画原理图前扫一眼,能省不少事。
| 引脚编号 | 信号名称 | 功能描述 | 我踩过的坑 |
|---|---|---|---|
| A1, B1, A12, B12 | GND | 地 | 回流路径要短,否则EMI超标 |
| A4, A9, B4, B9 | VBUS | 总线电源(5V~20V) | 记得加过流保护,我烧过一块开发板 |
| A2, A3, B2, B3 | D+, D- | USB 2.0差分对 | 正反插时D+/D-会交换,软件要处理 |
| A6, A7, B6, B7 | TX1+, TX1- / RX2+, RX2- | SuperSpeed发送/接收 | 差分阻抗必须控制在90Ω±15% |
| A5, B5 | CC1, CC2 | 配置通道(核心!) | 这是PD通信的命根子,别接错 |
| A8, B8 | SBU1, SBU2 | 边带使用(音频/调试) | 不常用,但别悬空,容易引入噪声 |
2.2 CC引脚:物理层的指挥官
CC引脚,全称Configuration Channel。说白了,它就是Type-C的大脑。我刚开始做PD项目时,总觉得CC就是个简单的检测脚,结果调试时发现设备死活不握手。后来用示波器一抓,发现CC线上的电压波形完全不对。
为什么会这样?因为CC引脚的工作模式比你想象的要复杂。它有三种角色:
- Source(供电方):在CC上拉一个电阻Rp到VBUS
- Sink(受电方):在CC下拉一个电阻Rd到GND
- DRP(双角色):交替切换Rp和Rd,谁先检测到对方就定角色
我记得有一次,客户说他们的充电宝插上手机没反应。我查了半天,发现他们把Rp电阻值选错了。Type-C规范里,Rp的值决定了Source能提供的电流能力:
| Rp电阻值 | 对应电流能力 | 典型应用场景 |
|---|---|---|
| 10kΩ | 默认USB(500mA/900mA) | 普通数据线 |
| 22kΩ | 1.5A | 快充线 |
| 56kΩ | 3A | 大功率充电 |
2.3 电气特性:信号完整性的底线
Type-C的电气特性,说白了就是告诉你怎么布线才能让信号不跑偏。我见过太多工程师,原理图画得漂漂亮亮,一打样回来高速信号就过不了眼图测试。
2.3.1 关键参数
- VBUS电压范围:5V~20V,步进100mV。注意,不是所有设备都支持20V,别一上来就怼高压。
- 最大电流:5A(需要e-mark线缆)。普通线缆只能到3A。
- 差分阻抗:SuperSpeed信号对必须控制在90Ω±15%。你想想看,如果阻抗不匹配,信号反射会吃掉你的眼图裕量。
- 共模电压:TX/RX的共模电压在0V~2.0V之间,别超出这个范围。
2.3.2 布线建议
我个人习惯,画Type-C的PCB时,会遵循这几条铁律:
- 差分对等长:TX和RX的差分对内长度差不超过5mil。我见过有人差到50mil,结果10Gbps信号直接废了。
- CC引脚走线要短:CC是模拟信号,走线长了容易耦合噪声。我一般控制在20mm以内。
- VBUS加粗:至少40mil线宽,走大电流时还要加开窗。我曾经用20mil线宽走3A,结果铜箔直接冒烟。
- 地平面完整:Type-C座子下方不要铺地铜,否则寄生电容会吃掉高速信号的高频分量。
2.4 检测与配置流程
当两个Type-C设备怼在一起时,物理层会经历一个标准的检测流程。我把它总结成三步:
- 连接检测:Source通过CC引脚检测Rd的下拉。如果CC电压在0.25V~2.45V之间,说明有Sink插入。
- 方向识别:通过CC1和CC2哪个引脚有电压,判断正反插。嗯,这里要注意,软件要同时监控两个CC引脚。
- 电流能力宣告:Source通过Rp的值告诉Sink自己能给多少电流。Sink读取CC电压,就知道该拉多少负载。
我曾经调试过一个项目,设备插入后CC电压只有0.1V。查了半天,发现是Sink端的Rd电阻焊错了,用了10kΩ而不是5.1kΩ。规范里Rd必须是5.1kΩ±1%,别搞错。
2.5 实战:用示波器抓CC波形
最后,分享一个我常用的调试方法。当你怀疑物理层有问题时,别急着看协议,先拿示波器抓CC引脚:
// 示波器设置建议
通道1: CC1引脚 (DC耦合, 1V/div)
通道2: CC2引脚 (DC耦合, 1V/div)
触发: 上升沿, 电平设为1V
时基: 100ms/div
// 正常波形应该看到
// 1. 空闲时CC电压为0V
// 2. 插入瞬间,电压跳变到0.4V~1.6V之间(取决于Rp/Rd分压)
// 3. 如果支持PD,后续会看到BMC编码的方波信号
如果抓到的电压不在合理范围内,先检查电阻。如果波形有毛刺,检查布线。如果完全没有波形...嗯,那可能是座子虚焊了。我遇到过两次,都是工厂回流焊温度没控制好。
好了,物理层就聊这么多。下一章咱们进入PD协议的核心——数据包结构和通信流程。记住,物理层是地基,地基不稳,上层协议再漂亮也是白搭。