PD3.0协议中文文档
时间: 2023-09-06 13:08:03 浏览: 204
PD3.0协议是USB Type-C的充电协议之一,用于管理充电器和设备之间的电力传输。下面是PD3.0协议的中文文档。
1. PD3.0协议概述
PD3.0协议是一种基于USB Type-C的充电协议,用于实现更快、更安全、更智能的充电。PD3.0协议支持高达100W的功率传输,可以通过Type-C接口进行双向通信,实现充电器和设备之间的智能交互。
2. PD3.0协议消息格式
PD3.0协议中定义了五种消息类型:Control、Data、Battery Status、Alert和Vendor-defined。每种消息类型都有不同的消息格式,其中Control和Data消息是PD3.0协议中最常用的消息类型。
Control消息格式:
Control消息用于实现PD3.0协议中的命令和响应,其格式如下:
| 字段 | 长度 | 说明 |
| ---- | ---- | ---- |
| SOP | 1 byte | 起始标识 |
| Message Type | 1 byte | 消息类型 |
| Port Data Role | 1 byte | 端口数据角色 |
| Message ID | 1 byte | 消息ID |
| Number of Data Objects | 1 byte | 数据对象数量 |
| Extended Header | 1 byte | 扩展头 |
| Data Object 1 | 变长 | 数据对象1 |
| Data Object 2 | 变长 | 数据对象2 |
| ... | ... | ... |
| Data Object n | 变长 | 数据对象n |
| CRC | 2 bytes | 循环冗余校验码 |
Data消息格式:
Data消息用于实现PD3.0协议中的数据传输,其格式如下:
| 字段 | 长度 | 说明 |
| ---- | ---- | ---- |
| SOP | 1 byte | 起始标识 |
| Message Type | 1 byte | 消息类型 |
| Port Data Role | 1 byte | 端口数据角色 |
| Message ID | 1 byte | 消息ID |
| Number of Data Objects | 1 byte | 数据对象数量 |
| Chunk Number | 1 byte | 分块编号 |
| Data Object Size | 2 bytes | 数据对象大小 |
| Data Object | 变长 | 数据对象 |
| CRC | 2 bytes | 循环冗余校验码 |
3. PD3.0协议命令和响应
PD3.0协议中定义了许多命令和响应,用于实现充电器和设备之间的交互。以下是PD3.0协议中常用的命令和响应:
命令:
| 命令 | 说明 |
| ---- | ---- |
| Discover Identity | 用于获取设备的Identity信息 |
| Discover SVIDs | 用于获取设备支持的SVID列表 |
| Discover Modes | 用于获取设备支持的Mode列表 |
| Negotiate Capabilities | 用于协商设备的充电能力 |
| Get Source Capabilities | 用于获取充电器的充电能力 |
响应:
| 响应 | 说明 |
| ---- | ---- |
| GoodCRC | 表示消息传输正常 |
| NotSupported | 表示命令或响应不被支持 |
| Reject | 表示命令或响应被拒绝 |
| Wait | 表示设备正在处理其他命令 |
| Accept | 表示命令或响应被接受 |
4. PD3.0协议错误处理
PD3.0协议中定义了许多错误码,用于表示在充电过程中可能发生的错误。以下是PD3.0协议中常见的错误码:
| 错误码 | 说明 |
| ---- | ---- |
| ChunkingNotSupported | 表示设备不支持分块传输 |
| InvalidMessage | 表示消息格式错误 |
| InvalidParameter | 表示参数错误 |
| NotEnoughPower | 表示充电器功率不足 |
| CableVoltageTooLow | 表示连接的电缆电压太低 |
| BatteryOverTemperature | 表示设备电池温度过高 |
| VbusOverVoltage | 表示Vbus电压过高 |
5. PD3.0协议实现
PD3.0协议的实现通常需要使用专门的芯片或者软件库,以支持PD3.0协议中的消息交互、命令处理和错误处理等功能。例如,Texas Instruments公司提供了一款名为TPS65987的USB Type-C和PD3.0控制器芯片,可以方便地实现PD3.0协议。
阅读全文