提示:该文章仅限自己学习记录使用
文章目录
一、VDM是什么?
Vendor_Defined Message 厂家自定义消息,允许两个支持PD的USB设备之间进行交互信息。当连接双方都支持某种模式(音频模式等待),双方可以协商进入另外的工作模式。
在明确电源供应关系后,数据角色也随之确定,SRC默认为DFP,SNK默认为UFP
在VDM信息交互中,一般只能由UFP发起,其他角色进行响应。也就是REQ只能由DFP发送,响应者回应ACK或者NAK
VDM的Structured VDM Header
bit7-6 Command Type:
- 由发起者发送的 00b = REQ
- 接受到并支持所发送的回应 01b = ACK
- 接收到但不支持的回应 10b = NAK
- 忙碌 11b = BUSY
bit4-0 Command:
- 1 = Discover Identity 发现实体,主要是用于检查线缆,USB设备(USB_hub 接口转换器 多功能拓展坞)等
- 2 = Discover SVIDs
- 3 = Discover Modes
- 4 = Enter Mode
- 5 = Exit Mode
- 6 = Attention
- 16…31 = SVID Specific Commands
二、Discover Identity模式
模式发起消息只需要发送一个消息头,一个VDM消息头即可
模式响应消息需要如下结构:
VDM的消息头:
其中Command Type位为01b = ACK
ID Header VDO:
需要注意的地方,bit29-27:Product Type
当为UFP时,最后的VDO是UFP类型的;当为线缆时,最后的VDO是线缆类型的;
Cert Stat VDO
这是由USB协会分配的XID码
Product VDO
制造商应将USB产品ID字段设置为标识产品的唯一值,并应将bcddevice字段设置为与产品发布版本相关的版本号
Product Type VDO
分为线缆类型的VDO和UFP的VDO
其中线缆类型主要是表明线缆的数据传输能力,电源能力等等
UFP类型主要是表现USB超高速信号传输支持,产品信息等
三、Discover SVIDs模式
SVID是USB协议分配给厂商的唯一代码,其中PD SID 0xFF00是分配给本规范的标准ID,用于Discover Identity和Discover SVIDs
Discover SVIDs模式便是从端口得到该端口所拥有的SVID,有了SVID才能找寻该厂商提供的Modes信息,从而进入不同的模式
回复后附带的VDO包含两个SVID
四、Discover Modes模式
主要用于连接端口在指定的SVID下是否有其他非USB的工作模式,比如DP显示模式,语音模式等
五、Enter Mode模式与Exit Mode模式
用于对模式的进入与退出:
退出:
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容