USB Power Delivery (PD) 协议中的 Vendor Defined Message (VDM) 是一种允许设备制造商突破标准协议限制的自定义通信机制。它通过 USB-C 的 CC (Configuration Channel) 引脚传输,实现厂商专属功能(如私有快充、设备模式切换等)。
VDM 的本质与作用
- 在 USB PD 协议框架内开辟的 “私有通信通道”,用于传输非标准指令。
- 目的:解决标准协议无法覆盖的厂商专属需求(如快充握手、设备身份认证)。
VDM的Structured VDM Header
由发起者发送的 00b = REQ
接受到并支持所发送的回应 01b = ACK
接收到但不支持的回应 10b = NAK
忙碌 11b = BUSY
Command:
1 = Discover Identity
发现实体,主要是用于检查线缆,USB设备(USB_hub 接口转换器 多功能拓展坞)等
从图中看到应答packet包含 如下主要内容
VDM header 主要是ack
ID Header 需要注意的地方,Product Type
当为UFP时,最后的VDO是UFP类型的;当为线缆时,最后的VDO是线缆类型的;
2 = Discover SVIDs
SVID是USB协议分配给厂商的唯一代码,其中PD SID 0xFF00是分配给本规范的标准ID,用于Discover Identity和Discover SVIDs
Discover SVIDs模式便是从端口得到该端口所拥有的SVID,有了SVID才能找寻该厂商提供的Modes信息,从而进入不同的模式
回复后附带的VDO包含两个SVID
3 = Discover Modes
连接端口在指定的SVID下是否有其他非USB的工作模式,比如DP显示模式,语音模式等
4 = Enter Mode
模式的进入
5 = Exit Mode
模式的退出