2. USB Type-C 接口与CC引脚:物理层电气特性、CC逻辑功能
咱们做电源协商,总得有个说话的通道吧?
这个通道就是CC引脚——CC1和CC2。
Type-C接口这24个引脚里,真正参与供电协商的核心引脚,就这俩。
我当年刚接触这个协议的时候,觉得那么多引脚,肯定个个都很复杂。
后来发现,你想把电压谈明白,先盯死CC就行了。
2.1 接口功能绍介
USB Type-C接口,不只是正反插那么简单。
它有四个关键功能:
- 供电 (Power):VBUS、GND,承载从5V到48V的高压。
- 信号 (Signal):高速数据线,DP/DM、SBU、CC。
- 配置通道 (CC):供电协商的物理层,也是本节核心。
- 辅助信号 (SBU):用于音频或DisplayPort Alt Mode。
说白了,CC引脚就是整个协商过程的“信使”。
没有它,Source和Sink之间就是聋子对话。
核心观点:CC引脚同时承担了连接检测、角色定义和供电协商三个任务。你想搞定PD,就先搞定CC。
2.2 CC引脚物理层电气特性
物理层不讲虚的,我们直接看参数。
下面这张表,建议你截个图存下来——我调试时经常翻它。
| 参数 | 最小值 | 典型值 | 最大值 | 单位 |
|---|---|---|---|---|
| CC引脚电压(Source端) | 1.15 | 1.65 | 2.05 | V |
| 上拉电阻 Rp | 4.0 | 5.1 | 6.0 | kΩ |
| 下拉电阻 Rd | 4.35 | 5.1 | 5.85 | kΩ |
| Ra(用于E-Marker) | 800 | 1000 | 1200 | Ω |
| 传输速率(用于PD协商) | 270 | 300 | 330 | kbps |
关于电流能力判断:Source端通过不同的Rp值,向Sink宣告自己能提供多大电流。标准有三种:
- 标准电流 (Default USB):对应Rp = 56 kΩ(5 V/900 mA)。
- 1.5 A:对应Rp = 22 kΩ。
- 3.0 A:对应Rp = 10 kΩ。
我建议你画个电路图放在手边——Source的CC上拉,Sink的CC下拉,中间就是协商电压。测量CC引脚电压,你就知道对方在说啥。
2.3 CC逻辑功能详解
CC引脚在逻辑层,主要干三件事:
2.3.1 连接检测与正反插识别
当一个Type-C插座没有插入设备时,CC1和CC2引脚保持高阻状态。插入设备后,你只需要检测哪一侧的CC引脚电压从高阻变成了被拉低——这侧就是通道。另一侧保持高阻,说明是反插。
举个例子:
假设你插入了线缆,检测到CC1电压降到某个值,CC2还悬空。
嗯,当前方向是信号从CC1通过。
这个机制我用示波器抓过,非常可靠。
2.3.2 角色定义
设备和线缆通过CC引脚完成角色识别:
- Source (供电方):CC引脚上接Rp(上拉电阻)。
- Sink (受电方):CC引脚上接Rd(下拉电阻)。
- DRP (双角色端口):CC引脚可在Rp和Rd之间切换,具体看协议。
你可能会问:为什么一定要用上拉/下拉来区分角色?
我当年也觉得这样不够灵活,后来想通了——这样设计可以实现真正的即插即用。设备一接通,双方立刻就知道对方是供电方还是受电方,不需要额外的握手。
2.3.3 供电能力协商(基础阶段)
一旦角色确认,Source端就通过CC引脚开始广播自己的功率能力。
Sink端收到广播后,可以选择合适的供电配置进行请求。
具体过程是这样的:
- 广播功率能力:Source在CC上发送一系列数据包,包含支持的电压和电流组合。
- 请求配置:Sink解析后,向Source发送请求数据包,指定想要的电压电流。
- 接受/拒绝:Source确认请求是否可接受。接受则发送确认数据包,拒绝则发送拒绝包。
- 完成:双方切换到新的供电状态。
个人经验:最开始我调试PD协商时,总遇到Source和Sink无法完成配置的情况。后来发现是CC引脚的上拉电阻选错了。3.0 A电流用10 kΩ,用错成22 kΩ,设备就只认到1.5 A。检查CC引脚电压是个好习惯——我看示波器时,只要CC引脚电压跳变不完整,基本就是电阻或者接地问题。
2.4 VBUS与CC的配合关系
很多人会忽略这一点:CC和VBUS是联动的。
在PD协商过程中,需要保证:
- 协商前:VBUS保持在5V。
- 协商中:VBUS短暂不变,等待新配置。
- 协商后:Source调整VBUS电压到请求值。
我建议你在设计电路时,给CC和VBUS加上独立的去耦电容和ESD保护。这两个引脚直接暴露在插拔端,静电损坏很常见。
避坑指南:我曾经在一款快充电源中,因为CC引脚的走线过长,导致寄生电容过大,影响了300 kbps的通信质量。如果你发现设备总是连接后断开,先查查CC引脚的PCB走线。
2.5 CC引脚的职责总结
虽然名字简单,但CC引脚的逻辑很丰富:
- 完成物理层的连接确认。
- 定义谁是供电方、谁是受电方。
- 擦肩而过的数据,都在CC上完成。
- 最终影响VBUS调节。
说白了,你把这根引脚搞清楚,PD协商的基础就稳了。
接下来你就可以放心让Source和Sink在CC上讨论供电配置了。
最后再提醒一句:物理层是最容易出Bug的地方。电压、电阻、线长、走线——每一样都可能在关键时刻捣乱。扎实掌握CC引脚,后面很多问题都迎刃而解。
(本章完)