Type-C PD spec 由五部分组成,翻译自《USB Power Delivery Specification v3.1》
1、PD Overview
2、物理层
3、协议层
4、设备策略层
5、场景讲解
2、物理层
USB PD 物理层由一对通过单条信号线(CC) 进行通信的发送器和接收器组成
所有通信都是半双工的。
发送器:从协议层接收包数据,计算并附加 CRC,对包含 CRC 的分组数据(即有效载荷)进行编码(4b5b),使用 BMC 在 CC 上跨信道传输数据包(前导码、SOP*、payload、CRC 和 EOP)
接收器:恢复时钟并从前导码锁定到数据包,检测 SOP*,解码包含 CRC 的接收数据,检测 EOP 并验证 CRC
-
-
- 如果 CRC 无效,则过滤掉接收到的数据
- 如果 CRC 有效,则将分组数据传送到协议层
-
2.1、符号编码
使用 4b5b 线路编码
- 有序集
-
- 由 4 个 K-code 组成 有效性:至少 3 个 k-code 正确
2.2、位传输顺序
2.3、数据包格式
前导码
- 由 64bit 交替的 “0“ 和 “1” 组成,以 ”0” 开头,以 “1” 结尾
- 用于使接收器锁定到载波上
- 不应进行 4b5b 编码
SOP*:SOP* 无效,则丢弃整个传输数据
有效载荷-从协议层传入
CRC
- CRC 不正确,整个传输数据应该丢弃
- CRC 正确,数据包应该传递到协议层
EOP:可用于提前终止传输数据包,如发送硬复位前
2.4、Hard Reset
如果 PHY 层当前正在发送消息,则应通过发送 EOP 来中断该消息,并丢弃其余的消息
如果 CC 不空闲,请等待它变为空闲
等待 tInterFrameGap
如果 CC 仍然空闲,则发送硬复位信令
禁用信道(即停止发送和接收),重置 PHY 层并通知协议层 PHY 层已重置
当协议层请求时重新启用信道
2.5、Cable Reset
- 只能由 DFP 发送;用于重置电缆插头
2.6、双相标记编码 (BMC) 信令方案
- 在每个位的起始存在一个变换
- 传输 1 时,位中间有一个变换,传输 0 时,则不变换
- 传输速率:270~330 Kbps
- 1Ul: 3.03~3.70us
EOP 最后一位产生下降沿时,发送器应在 CC 上驱动
EOP 最后一位产生上升沿时,发送器应在 CC 上驱动
- 多驱动 1UI 高由平
- 持续 tHoldLowBMC 驱动低电平
- 持续 tEndDriveBMC 驱动低电平,从帧的最后一位的后沿开始测量
- 将 CC 释放到高阻抗
帧间间隔:min 25us
发送器波形有效性
-
- 上升时间不得快于 tRise;下降时间不得快于 tFall
- CC 总线空闲定义
-
- 在 tTransitionWindow 内没检测到有传输,则认为总线空闲
2.7、冲突规避
- 监控传输通道,在 CC 总线空闲时发起新一轮传输
- CC 不空闲时则应丢包,并在 CC 空闲时通知协议层
- 在显性契约期间,由 Source Rp 来控制