1. Type-C 接口概述与物理层特性

1.1 从 USB 到 Type-C:一次质的飞跃

做硬件的朋友都知道,USB 接口的形态一直在变。从最早的 Type-A、Type-B,到后来的 Mini、Micro,我每次换方案都头疼——线缆方向不对就插不进去。Type-C 出来的时候,我第一反应是:「终于可以盲插了!」

但别因为它长得像一根两头对称的扁口就小看它。Type-C 不只是物理形态的升级。它背后的 CC(Configuration Channel)逻辑、供电能力扩展、以及备选模式(Alternate Mode)的支持,才是真正让我觉得「这玩意儿值得学」的原因。说白了,Type-C 是一个集数据、电源、视频、音频于一体的通用连接器。你想想看,一根线解决所有问题,这在以前想都不敢想。

1.2 引脚定义与关键信号

Type-C 连接器有 24 个引脚,上下对称各 12 个。嗯,这里要注意:对称不是简单的复制,有些信号是复用的。我总结了一个常用引脚表,你调试时肯定用得到:

引脚(A/B 侧) 信号名 说明
A1, B1, A12, B12 GND 地
A4, B4, A9, B9 VBUS 总线电源(5V~20V)
A2, B2 CC1, CC2 配置通道,用于检测方向、协商功率
A5, B5 CC1, CC2(从属) 实际上只有一根 CC 有效,另一根作 VCONN
A6, B6 D+, D- USB 2.0 差分对
A7, B7 D-, D+ 交叉连接,保证正反插都通
A8, B8 SBU1, SBU2 边带使用(如音频、DisplayPort)
我调试时最常量的就是 A5 和 B5 的 CC 引脚电压。如果你看到 CC1 和 CC2 同时有 0.4V 左右,大概率是线缆坏了或者焊接短路。

1.3 CC 通道:身份验证与方向检测

CC 通道是整个 Type-C 协议的「大脑」。它干了两件事:

  1. 检测插入方向:因为正反插对称,CC1 和 CC2 中只有一个会被下拉。我当年第一次做 Type-C 项目时,以为只要把 VBUS 和 D+/D- 连通就行,结果插上去没反应——原来 CC 没处理好。
  2. 确定角色:通过 CC 线上的上拉/下拉电阻,识别谁是供电方(DFP,类似 Host)、谁是受电方(UFP,类似 Device),或者双方都能供电/受电(DRP)。

为什么会这样?因为 Type-C 标准规定:DFP 端在 CC 线上拉一个 Rp 电阻到 3.3V,UFP 端下拉一个 Rd 电阻到 GND。当两者连接时,CC 电压就会落在某个区间。我一般用下表来速查:

CC 电压范围 角色 电流能力
0.0V - 0.25V 未连接 / 开路 无
0.25V - 0.66V UFP 连接(Rd 下拉) 默认 500mA(USB 2.0)
0.66V - 1.23V DFP 连接(Rp 上拉) 1.5A 或 3A(需进一步协商)
1.23V - 1.65V DRP 模式(双向) 待协商
注意:CC 电压测量必须在带载下进行!我曾经用万用表直接量开路电压,结果被 3.3V 上拉拉到 2.8V,误判成 3A 模式,差点烧了器件。加一个 5.1kΩ 的测试负载再量才准。

下面这张图能帮你理清从插入到角色确定的完整流程:

Type-C 连接检测与角色确定流程 未连接(Idle) USB 插入检测 CC1 / CC2 电压采样 > 0.66V → DFP < 0.66V → UFP 角色确定,开始 PD 协商

图中左侧分支对应 DFP 端(供电方),右侧分支对应 UFP 端(受电方)。实际产品里,DRP 设备会在这两个角色之间周期性切换,直到匹配到对方。

1.4 物理层电气特性

Type-C 的物理层不只是「几根线通就没问题」。我整理了几个容易踩坑的地方:

  • VBUS 电容:每端口对地电容应小于 10μF,否则插拔时产生的浪涌可能触发过流保护。
  • 信号速率:USB 2.0 差分对 (D+/D-) 必须维持 90Ω ±15% 的差分阻抗,而高速信号(如 USB 3.x 的 SSTX/SSRX)需要 100Ω 差分阻抗。我见过不少电路板直接用 USB 2.0 的走线规则去画 USB 3.0,结果眼图全灭。
  • CC 线上的 ESD:CC 引脚是 CMOS 输入,极其脆弱。我建议至少加一颗 0.1μF 电容对地,再加一个 TVS 管到 5.5V。
实测经验:用示波器量 CC 电压时,探头地线尽量短,不要在 CC 线上并太多负载(比如多用表内阻 10MΩ 可能影响判据)。最好用差分探头,或者单端探头加弹簧地针。

1.5 避坑指南

讲几个我亲历的教训:

  • CC 上拉/下拉电阻精度:标准要求 Rp 为 4.7kΩ~10kΩ(对应不同电流能力),Rd 为 5.1kΩ ±1%。我有一批板子用了 ±5% 的电阻,结果量产时部分 CC 电压落在边界,导致上电异常。从那以后我全改成 1% 电阻。
  • E-Marker 线缆的识别:有些 Type-C 线缆内部有 E-Marker 芯片,需要先通过 CC 通信读取它的能力。如果忽略这一步,系统只给 3A 电流,而线缆实际能到 5A,充电速度就慢一半。
  • VBUS 开关顺序:正确流程是:先建立 CC 连接,再导通 VBUS。我曾经把 VBUS 的 MOSFET 提前打开,结果 CC 还没完成角色识别,VBUS 就灌到受电端,触发了过压保护——整个设备直接关机。

嗯,这一章就到这。你只需要记住:Type-C 的物理层核心就是 CC 通道。把 CC 上的电阻、电压、时序搞明白,后面的 PD 协议就顺理成章了。