第3章 CC线的作用与常见故障
做PD调试这几年,我最大的感触就是——CC线出问题,比你想象中多得多。很多工程师一上来就啃协议栈、调电压电流参数,结果板子死活不握手,最后发现只是CC线上一个小电阻虚焊。嗯,今天咱们就把CC线摊开讲透。
3.1 CC线在PD协商中的角色
先问个问题:一根USB-C线里那么多引脚,凭什么PD协商非得靠CC1和CC2?
说白了,CC(Configuration Channel)线就是PD的通信神经。它干三件事:
- 检测连接 —— 通过Rp/Rd电阻,Source端能判断有没有设备插入,是DFP还是UFP。
- 协商功率 —— 所有PD消息(Source Capabilities、Request、Accept等)都在CC线上走BMC编码。
- 识别线缆 —— 如果是emarkered线缆,CC线上还藏着eMarker的通信。
我做过一个项目,客户说“明明插了充电器,手机就是快充不了”。拿示波器一量,CC1电平只有0.6V,正常应该是1.7V左右。查了半天才发现Type-C母座里进了灰尘,把CC1对地漏电了。你看,一个小小的电平异常,就能让整个PD协商停摆。
| 状态 | CC线电压(典型值) | 含义 |
|---|---|---|
| 未连接 | ≈ 0V | 无设备插入,CC浮空 |
| 连接但未协商 | 1.7V ~ 2.4V(取决于Rp/Rd) | 检测到UFP,等待PD通信 |
| PD通信活跃 | 0V ~ 3.3V 跳变 | BMC编码信号在CC线上传输 |
个人习惯:不管项目多紧,我拿到新板子第一件事就是拿示波器看CC1/CC2静态电平。这一步能筛掉90%的物理层问题。
3.2 CC1/CC2电平异常
电平异常是最常见的故障,没有之一。
为什么?因为CC线的电平由Source端的Rp和UFP端的Rd共同决定。只要其中一个电阻焊接不良、阻值漂移、或者PCB走线被拉歪,电平马上跑偏。
举个例子,有一次我排查一个快充不正常的问题。Source端输出5V/3A一直不升级到9V。量CC1,发现电压只有1.2V。按照公式,Rp/Rd分压应该是1.7V左右,1.2V明显偏低。拆掉Rd电阻测量,阻值从5.1kΩ变成了3.8kΩ。换了个电阻,问题解决。
常见的电平异常场景:
- Rp上拉电源不稳:有的Source端用3.3V LDO给Rp供电,LDO纹波大时CC电平会抖动,导致误判。
- Rd对地开路:UFP端漏焊Rd电阻,CC线等效阻抗变大,电平会异常升高到接近3.3V。
- CC线对地电容过大:PCB走线太长或者加了不必要的滤波电容(超过100pF),BMC信号边沿变缓,电平判决出错。
我曾经吃过一个亏:在一款多口充电器上,为了提升ESD性能,给CC1加了一个470pF电容到地。结果Type-C插上后CC电平一直不稳定。去掉电容后正常。后来查规范才知道,CC线上总电容不能超过100pF。
3.3 开路故障
开路分两种:单根开路和双根开路。
单根开路时另一根还能工作,很多设备会通过CC1/CC2的自动翻转机制切换到正常的线路上。但问题在于——不是所有设备都支持翻转失败后的重试。我遇到过一款平板,CC1开路后它就不停地在CC1和CC2之间切换,永远进不了协商。
双根开路就简单了:Source端检测不到Rd,认为自己没插线,直接不工作。
常见原因:
- 焊盘脱落 —— 机械应力或者焊接温度过高导致Type-C接口PCB焊盘翘起。
- 线缆断芯 —— 尤其是廉价的USB-C线,CC线特别细,弯折几次就断了。
- 连接器接触不良 —— 公头母座多次插拔后弹片变形。
怎么快速判断?拿万用表量一下Source端CC引脚到地的电阻。正常应该是5.1kΩ(Rd)并联Rp,大约1.5kΩ~2kΩ左右。如果量出来是几十kΩ甚至无穷大,那铁定开路了。
我建议:量产时在CC线上串一个10Ω小电阻,既不影响信号,又能在贴片后方便测试焊点。这也是很多大厂的标准做法。
3.4 短路故障
短路比开路更隐蔽。我排过最久的一次bug,整整花了两天。
CC线短路通常有几种:
- CC1对CC2短路 —— 板子或者线缆工艺问题,两根线焊在一起。这种情况下Source端看到的是两个Rd并联,电平略低,但不会低到判为异常。不过BMC信号因为差分接收(虽然CC是单端,但PHY会参考另一根的电平)会乱掉。
- CC对地短路 —— 电平直接拉低到0V附近,Source认为没有连接。
- CC对VBUS短路 —— 这个最危险。如果CC线直接连到了5V、9V甚至20V的VBUS上,Source的CC PHY很可能当场烧掉。我见过一个案例,Type-C母座内部pin歪了,CC1碰到了VBUS pin,一插充电器芯片就冒烟。
| 短路类型 | CC电平 | 可能后果 |
|---|---|---|
| CC1 ↔ CC2 | 略低于正常(1.3V~1.6V) | 通信混乱,偶尔能协商但会掉 |
| CC → GND | 接近0V | Source认为未插线 |
| CC → VBUS | 接近VBUS电压(5V~20V) | 烧坏CC PHY,甚至损坏Source端 |
我曾经见过最离谱的事:一家代工厂把CC1和CC2的走线在PCB内层画反了,但外层的Type-C封装是正着的。结果插上线后,Source的CC1实际上连到了UFP的CC2。有些设备能靠自动翻转撑过去,但不少设备直接黑屏不充电。
3.5 线缆衰减
现在市面上很多USB-C线看着样子差不多,里面差别可大了。
我测过一种劣质线,1米长,CC线的直流电阻居然有15Ω。正常来说,一根1米的USB 3.2线缆,CC线电阻不应该超过5Ω。这种高阻抗线缆会带来两个问题:
- 分压误差 —— Source端的Rp经过线缆内阻再接到UFP的Rd,实际分压比变了,CC电平可能偏离规范范围。
- 信号完整性 —— BMC通信的频率大概在300kHz~600kHz之间,线缆阻抗过高会导致信号边沿变缓,Source端误码率上升,重试次数增加,最后协商超时。
怎么排查线缆衰减问题?
我的方法很简单:拿一条已知好用的短粗线(比如原装0.3米线),插上设备如果能正常PD,再换被测线。如果被测线不行,就用示波器挂在Source端CC线上看波形。坏线的BMC信号通常上升沿超过1μs,而规范要求边沿时间小于0.5μs。肉眼一看就知道。
避坑指南:采购USB-C线时别忘了跟供应商要CC线电阻的实测报告。有些线标称支持100W PD,实际CC线用28AWG(太细),长线衰减大到无法修正。我后来定了一家要求CC线必须≥26AWG,再也没出过问题。
好了,这一章的内容就这么多。CC线的问题说复杂也复杂,说简单也简单——记住三个排查抓手:静态电平、直流电阻、BMC波形。下次遇到PD协商失败,别急着翻协议书,先拿万用表量一下CC线,八成问题就浮出水面了。