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端收到广播后,可以选择合适的供电配置进行请求。

具体过程是这样的:

  1. 广播功率能力:Source在CC上发送一系列数据包,包含支持的电压和电流组合。
  2. 请求配置:Sink解析后,向Source发送请求数据包,指定想要的电压电流。
  3. 接受/拒绝:Source确认请求是否可接受。接受则发送确认数据包,拒绝则发送拒绝包。
  4. 完成:双方切换到新的供电状态。

个人经验:最开始我调试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引脚,后面很多问题都迎刃而解。

(本章完)