三、USB PD物理层
1、定义
物理层(PHY层)定义了USB电源传输的信令技术。本章定义了USB PD设备之间的互操作性所需的PD物理层的电气要求和参数。
2、物理层的功能
USB PD物理层由一对发射机和接收器组成,它们通过单个信号线(CC)进行通信。所有的通信都是半双工的。PHY层实现了避免冲突,以最小化信道上的通信错误。
发射机执行以下功能:从协议层接收分组数据。
- 计算并附加一个CRC。
- 使用4B5B编码包括CRC(即有效载荷)在内的数据包数据。
- 通过CC上的双相标记编码(BMC)传输信包(序言、SOP*、有效载荷、CRC和EOP)。
接收器执行以下功能:
- 恢复时钟并从序言中锁定到数据包上。
- 检测SOP*。
- 解码接收到的数据,包括CRC。
- 检测EOP并验证CRC:
- 如果CRC有效,则将数据包数据传递到协议层。
- 如果CRC无效,请刷新接收到的数据。
3、4B5B编码
应使用4b5b行代码。这将4位数据编码为5位符号以用于传输,并将5位符号解码为4位数据以供接收机消耗。
Example:我要发送的数据为0b1111(二进制),经过4B5B转换,我要发送的数据为0b11101
4、有序集(k-code)
有序集列表:
_Cable Reset _ | RST-1 Sync-1 RST-1 Sync-3 |
---|---|
Hard Reset | RST-1 RST-1 RST-1 RST-2 |
SOP | Sync-1 Sync-1 Sync-1 Sync-2 |
_SOP’ _ | Sync-1 Sync-1 Sync-3 Sync-3 |
_SOP’_Debug _ | Sync-1 RST-2 RST-2 Sync-3 |
SOP’’ | Sync-1 Sync-3 Sync-1 Sync-3 |
_SOP’'Debug | Sync-1 RST-2 Sync-3 Sync-2 |
接收方应搜索所有四个k码。当接收方发现所有四个k码都在正确的位置时,它应将其解释为一个有效的有序集。当接收方发现四个k码中的三个在正确的位置时,它可以将其解释为一个有效的有序集。接收方应确保所有四个k码都有效,以避免检测中的歧义。
5、传输位顺序
本节描述了在传输不同大小的数据时应使用的导线上比特的顺序。
6、包格式
数据包格式应包括前导码、SOP、数据包数据,包括消息头、CRC和EOP。一旦对4b/5b进行编码,整个数据包应通过CC使用BMC进行传输。注意,包中的所有位,包括序言,都是BMC编码的。*
黄色部分:由物理层提供不进行4B5B编码
绿色部分:由物理层提供进行4B5B编码
蓝色部分:由协议层提供进行4B5B编码
传输从一个前置码开始,用于允许接收器锁定到载体上。它后面是一个SOP*(数据包的开始)。数据包以EOP(数据包结束)K码终止。
(1)、前导码
前导码是用来通过呈现“0s”和“1s”的交替序列来实现在接收机中的锁定,所以平均频率是载波频率。与数据包的其他部分不同,前导码不应采用4b/5b编码。前导码应由0和1交替的64位序列组成。序言应以“0”开头,并以“1”结尾。
(2)、SOP*
1)、SOP (start of packet)
具有供电能力的Source或Sink应能够使用SOP检测并与数据包进行通信。如果未检测到有效的SOP,则应丢弃整个传输。
2)、SOP’
VPD应具有 SOP’ 的通信能力。具有 SOP’ 通信能力的VPD和电缆插头只能检测并与从 SOP’ 开始的数据包通信。
3)、SOP’’
VPD不具备SOP’‘的通信能力。具有SOP’‘通信能力的电缆插头,其其他电缆插头应具有SOP’‘通信能力。任何电缆都只能支持SOP’‘的通信。分配了SOP’'通信的电缆插头只能检测并与以SOP开始的数据包进行通信,并应丢弃任何其他数据包。
(3)、有效载荷(数据)
数据包有效载荷从协议层交付,并应使用“4b5b符号编码表”中的十六进制数据编码进行编码。
(4)、CRC
CRC应放在有效载荷之后立即插入
(5)、EOP
数据包标记的末端应为单一的EOP K码,这将标志着CRC的结束。EOP检查完成后,应检查crc残留物。如果CRC不好,则丢弃整个传输,如果传输很好,则将数据包发送至协议层。注意,EOP可用于提前终止数据包,例如,在发送硬重置信令之前
7、CRC
消息头和数据应由32位CRC保护。
- CRC-32可保护数据有效负载的数据完整性。CRC-32的定义如下:
- CRC-32多项式应为= 04C11DB7h。
- CRC-32的初始值应为= FFFFFFFFh。
- CRC-32应计算不包括任何数据包框架符号的所有字节(即,不包括序言、SOP*、EOP)。
- CRC-32的计算应从字节0、第0位开始,并继续计算到数据包的每个字节的第7位。
- CRC-32的其余部分应予以补充。
- CRC-32的残余量应为C704DD7Bh。
注意:CRC的实现与[USB 3.2]中使用的实现相同。
8、硬复位
硬重位信令是一组旨在被PHY层识别的有序字节。硬重置信令排序集定义为:三个RST-1K码和一个RST-2K码
9、线缆复位
电缆复位信号只能由DFP发送。电缆重置命令集用于重置电缆插头,而不需要硬重置端口合作伙伴。电缆复位信号发出后的电缆插头状态应相当于电缆插头的电源循环。
10、双相标记编码(BMC)信令方案
双相标记编码(BMC)是一种用于传输USB电源传输消息的物理层信令方案。此编码假定有一个专用的直流连接,标识为CC线,用于发送PD消息。双相位标记编码是曼彻斯特编码的一个版本(参见[IEC 60958-1])。在BMC中,在每个比特时间(UI)的开始时都有一个转换,当传输一个1时,在UI的中间有一个第二个转换。BMC是有效的直流平衡,(每个1是直流平衡,两个连续的0是DC平衡,不管中间1的数量是多少)。它有有限的视差(限制在1位,所以一个非常低的直流水平)。图5-7“BMC示例”说明了双相位标记编码。此示例显示了在消息开始时的SOP排序集的从前导到Sync-1K码的转换。注意,其他k码可以发生在信号的序言之后,如硬复位和电缆复位。
BMC发送机框图
BMC接收机框图
在发送前导码时,发射机应从发送低电平开始。接收器应容忍第一边缘的损失。发射机可以通过tStartDrive min来改变前导码的开始(参见图5-10“BMC编码的序言开始”)。
发射机应通过边缘(“尾缘”)终止帧的最后位,以确保接收机锁定最后位。如果后缘导致发射机驱动CC低(即帧的最后半UI高),则发射机:
- 应继续降低tHoldLowBMC的CC水平。
- 然后,应继续降低从框架最后一点的后缘测量出的tEndDriveBMC的CC值。
- 然后应将CC释放到高阻抗。
什么意思呢?就是当一帧数据结束时,不管结尾数据是0或是1,只要它的后半个比特时间为高,那它接下来就应该持续拉低CC线tHoldLowBMC的时间,之后在把CC线拉高,也就是一帧数据结尾要补一段低电平时间。
如果后缘导致发射机驱动CC高(即帧的最后半UI低),则发射机:
- 应继续驱动CC高为1 UI。
- 然后降低tHoldLowBMC。
- 然后继续降低从帧最后位的最终边缘测量的tEndDriveBMC的CC。
- 然后应将CC释放到高阻抗。
什么意思呢?就是当一帧数据结束时,不管结尾数据是0或是1,只要它的后半个比特时间为低,那它接下来就应该拉高一个比特时间的高电平,然后持续拉低CC线tHoldLowBMC的时间,之后在把CC线拉高,也就是一帧数据结尾要补一个比特时间的高电平和一段低电平时间。
在USB PD规范中,这段拉低时间范围为1-23us即可