Type-C
Type-C 的核心工作原理:一个多阶段的电路过程
-
闲置状态电路 (等待连接):
- 供电方 (如充电器、笔记本): 其内部的 Type-C 控制器芯片会通过一个上拉电阻 (Rp) 将 CC1 和 CC2 引脚的电压拉高 (例如拉到 5V)。同时,通往 VBUS 电源线的功率开关 (通常是 MOSFET) 处于关闭状态,不输出电力
- 受电方 (如手机、显示器): 其控制器芯片通过一个下拉电阻 (Rd) 将自己的 CC 引脚接地
- 电路状态: 供电方的 CC 引脚是高电位,受电方的 CC 引脚是零电位,VBUS 上没有电压
-
“握手”电路的动作 (建立连接):
- 形成分压电路: 线缆将供电方的 Rp 和受电方的 Rd 连接在了一起,瞬间构成了一个经典的分压电路
- 电压变化: 这导致供电方 CC 引脚的电压不再是 5V,而是被 Rd 下拉到一个特定的电压值。这个电压值由 Rp 和 Rd 的阻值比例决定
-
侦测与响应电路 :
供电方的控制器芯片一直在“监视”着 CC 引脚的电压
- 芯片内部的比较器或 ADC (模数转换器) 检测到了电压下降
- 确认连接: 电压下降意味着有设备插入
- 判断方向: 是 CC1 还是 CC2 的电压下降了?这决定了线缆的插入方向,控制器会据此配置高速数据通道
- 识别对方能力: 根据电压被拉低的具体数值,可以初步判断对方的默认需电能力
- 开启电源: 在确认连接后,控制器会立即打开 VBUS 的功率开关 (MOSFET),输出 5V 的初始电压,让对方设备开始工作
电路状态: 控制器芯片根据一个模拟电压值,做出了第一个数字逻辑判断,并执行了第一个动作——开启电源
- 芯片内部的比较器或 ADC (模数转换器) 检测到了电压下降
-
进阶通讯电路:
- 一旦 5V 电源建立,CC 线的角色就变了。它从一个简单的直流电平检测线,变成了一条半双工的数字通讯总线
- PD 协议通讯: 此时,USB Power Delivery (PD) 协议开始登场。双方的控制器芯片会开始在 CC 线上发送和接收经过BMC (Biphase Mark Code) 编码的数字信号包
- 协商: 它们通过这些数据包进行“对话”,协商是否需要提升电压(例如升到 20V 快充),或者是否需要切换到替代模式 (Alternate Mode) 来传输视频信号
PD协议
物理层原理:信号是如何发送的?
- 通信媒介: 所有的PD“对话”都只在 Type-C 的 CC 线上进行
- 编码方式: BMC (Biphase Mark Code - 双相标志编码)
- PD协议的物理层核心。BMC是一种自同步的编码方式,意味着它不需要额外的时钟信号线来同步收发双方,时钟信息本身就“嵌入”在了数据流中
- 每个数据位的传输时间都是固定的(一个“位周期”)
- 在每个位周期的开始,电平都会发生一次跳变
- 如果要传输逻辑“1”,则在位周期的中间会再额外增加一次跳变
- 如果要传输逻辑“0”,则在位周期的中间没有额外跳变
- PD协议的物理层核心。BMC是一种自同步的编码方式,意味着它不需要额外的时钟信号线来同步收发双方,时钟信息本身就“嵌入”在了数据流中
协议层原理:沟通的“语言”是什么?
有PD通信都以**数据包(Packet/Message)**的形式进行
一个标准的PD数据包结构就像一封结构严谨的电子邮件:
- 前同步码 (Preamble): 一串交替的0和1,用于让接收方的“耳朵”锁定信号,准备接收数据
- 包起始码 (SOP - Start of Packet): 一个特殊的标识,宣告“正文开始”。PD定义了不同的SOP类型(如SOP, SOP', SOP''),用于区分是与设备对话,还是与线缆中集成的e-Marker芯片对话
- 消息头 (Header): 包含了这条消息的关键信息,比如:这条消息包含几个数据对象?消息的类型是什么(是“宣告能力”?还是“发起请求”?)
- 数据对象 (Data Objects): 这是消息的核心内容,PDO (电源能力数据)** 或 RDO (电源请求数据)。如果一条消息只是简单的
Accept或Reject,则可能没有数据对象** - CRC校验码 (Cyclic Redundancy Check): 一个32位的校验码。发送方根据消息内容计算出一个值;接收方用同样的方法计算,如果结果不一致,说明数据在传输中损坏,这条消息作废。这保证了通信的准确性
- 包结束码 (EOP - End of Packet): 标志着这条消息的结束
策略层原理:设备如何“思考”?
由设备内部的控制器芯片中的策略引擎(Policy Engine)来执行。它本质上是一个复杂的有限状态机(Finite State Machine)
- 设备初始处于
PE_SRC_Startup(供电方启动)状态 - 当检测到CC线连接后,状态机转换到
PE_SRC_Send_Caps(发送能力)状态,并发出包含PDO的数据包 - 发送完毕后,转换到
PE_SRC_Ready(就绪)状态,等待对方的请求 - 当收到一个
Request请求数据包(这是一个外部事件),状态机根据请求内容,转换到PE_SRC_Transition_Supply(电源转换)状态,调整VBUS电压 - 电压调整稳定后,发送
PS_Ready消息,并最终回到PE_SRC_Ready状态