TYPE-C PD供电协议消息格式

news/2024/11/17 17:57:23/文章来源:https://www.cnblogs.com/linhaostudy/p/18550823

TYPE-C PD供电协议消息格式

PD定义了两种消息类型,分别为控制消息(Control Messages)、数据消息(Data Messages )和扩展消息(Extend Messages)。

PD控制消息

控制消息属于短消息类型,用于管理端口与设备之间的消息流或交换不需要额外数据的消息。控制消息的长度为16位长。

控制消息的包结构如下图所示:
控制消息

PD数据消息类型

数据消息的长度为48位到240位,用于控制端口与设备之间进行数据交换。
数据消息分为三种类型:

  • 用于展示供电方的电源能力的数据消息。
  • 用于BIST的设备的数据消息。
  • 厂商自定义的数据消息类型。

PD数据消息类型的结构如下图所示:

PD扩展消息

扩展消息用于在一对端口之间交换信息。扩展消息最多为MaxExtendedMsgLen字节。
扩展消息的类型有:

  • 用于源和电池信息的
  • 用于安全的。
  • 用于固件更新的。
  • 那些是供应商定义的

PD扩展消息的结构如下图所示:

PD消息组成

数据消息和控制消息的数据包组成基本类似。基本都包括:

  • 前导码:32位连续的01序列,不进行4b5b编码,总共64位。

  • SOP包开始:可能是SOP,SOP’或SOP’’.

  • 2字节的信息头:消息包类型

  • CRC校验位:对消息头和消息数据(如果有的话)的CRC校验

  • EOF结束包:5位的4b5b编码。

    除过EOF和SOF是4b5b编码后的长度,其余均为原始长度。

消息头(紧随 SOP 包之后)

消息头包括2字节,总共16位。

名称 说明
15 Extended 此消息是否为扩展类型
14…12 Number of Data Objects 数据个数 后面数据的个数,每个数据是4字节了,对于非扩展包,此字段的值为0~7
11…9 MessageId消息ID 消息ID,每发送一次,增加一次
8 Port Power Role 接口供电角色 对于SOP信息,代表接口的供电角色
8 Cable Plug 线缆或接口 对于SOP’或SOP’’信息,代表此消息是接口发送的还是线缆发送的
7…6 Specification Reversion规范版本 此消息的当前版本
5 Port Data Role 接口通讯功能角色 对于SOP消息代表接口的功能角色
5 Reserved 对于SOP’和SOP’’保留
4…0 MessageType消息类型 消息类型

Number of Data Objects 数据个数

使用3位给示4字节的数据个数,对于控制消息,数据个数为0.对于数据消息,此字节不为0.

消息ID MessageId

消息ID此为计数,当软件复位或硬件复位时,初始化为0.
当接收到GoodCRC消息时,表示成功接收到消息时,消息ID计数器应加1。注意:在BIST期间,发送测试帧时,发送方不会增加MessageID,接收方会忽略MessageID。

Port Power Role

1位端口电源角色字段应指示端口的当前电源角色:

  • 0b Sink耗电方
  • 1b Source,供电方

Specification Revision

  • 00b –Revision 1.0
  • 01b –Revision 2.0
  • 10b - 11b – Reserved, Shall Not be use

Port Data Role

  • 0b UFP
  • 1b DFP

Cable Plug

  • 0 表示消息来自 DFP or UFP
  • 1 表示消息来自电缆插头

Message Type消息类型

如果是控制信息,则有以下:

“Bits4…0” Message Type Sent by “Valid Start ofPacket”
0000 0 Reserved N/A
1 GoodCRC 收到消息的应答 Source, Sink or Cable Plug SOP*
10 GotoMin 供电调节到最小 Source only SOP only
11 Accept 接收对方的请求 Source, Sink or Cable Plug SOP*
100 Reject 拒绝对方的请求 Source or Sink SOP only
101 Ping Source only SOP*
110 PS_RDY 供电已经准备好 Source or Sink SOP only
111 Get_Source_Cap 获取对方的供电能力消息 Source or Sink SOP only
1000 Get_Sink_Cap 获取对方耗电的需求 Source or Sink SOP only
1001 DR_Swap 通信功能角色切换 Source or Sink SOP only
1010 PR_Swap 供电角色切换 Source or Sink SOP only
1011 VCONN_Swap VCONN供电角色切换 Source or Sink SOP only
1100 Wait 回复对方的请求,让结方稍等再进行请求 Source or Sink SOP only
1101 Soft_Reset 软复位 Source or Sink SOP*
1110 Data_Reset 数据复位 Source or Sink SOP only
0 1111 Data_Reset_Complete 数据复位完成 Source or Sink SOP only
1 0000 Not_Supported 不支持对方发送的请求 “Source, Sink orCable Plug” SOP*
1 0001 Get_Source_Cap_Extended 获取对方的供电相关的扩展信息 Sink or DRP SOP only
1 0010 Get_Status 获取对方的状态 Source or Sink SOP*
1 0011 FR_Swap 快速供电角色切换 Sink1 SOP only
1 0100 Get_PPS_Status 获取供电言的额外信息 Sink SOP only
1 0101 Get_Country_Codes 获取本地化信息 Source or Sink SOP only
1 0110 Get_Sink_Cap_Extended Source or DRP SOP only
1 0111 Get_Source_Info Sink or DRP SOP Only
1 1000 Get_Revision “Source, Sink or Cable Plug” SOP Only”
1 1001-1 1111” Reserved N/A 保留

如果是数据消息,则消息类型有:

Bits 4…0 Type Sent by “Valid Start of Packet”
0 0000 Reserved “All values not explicitly definedare Reserved and Shall Not be used.”
0 0001 Source_Capabilities 供电方的供电能力信息 “Source or Dual Role Power” SOP only
0 0010 Request 请求供电 Sink only SOP only
0 0011 BIST 自测 “Tester, Source or Sink” SOP*
0 0100 Sink_Capabilities 耗电方的耗电需求信息 “Sink or Dual-Role Power” SOP only
0 0101 Battery_Status 电池状态 Source or Sink SOP only
0 0110 Alert 警告 Source or Sink SOP only
0 0111 Get_Country_Info 获取要地化信息 Source or Sink SOP only
0 1000 Enter_USB DFP SOP*
0 1001 EPR_Request Sink SOP only
0 1010 EPR_Mode Source or Sink SOP only
0 1011 Source_Info Source SOP only
0 1100 Revision “Source, Sink orCable Plug” SOP*
“0 1101 -01110” Reserved “All values not explicitly definedare Reserved and Shall Not be used.”
0 1111 Vendor_Defined 厂商用自定义信息 “Source, Sink or Cable Plug” SOP*
“1 0000-11111” Reserved “All values not explicitly defined are Reserved and Shall Not beused.”

如果是扩展消息,则消息类型有:

Bits 4…0 Type Sent by “Valid Startof Packet”
0 0000 Reserved “All values not explicitlydefined are Reserved andShall Not be used.”
0 0001 Source_Capabilities_Extended “Source or DualRole Power “ SOP only
0 0010 Status Source or Sink SOP*
0 0011 Get_Battery_Cap Source or Sink SOP only
0 0100 Get_Battery_Status Source or Sink
0 0101 Battery_Capabilities Source or Sink SOP only
0 0110 Get_Manufacturer_Info Source or Sink SOP*
0 0111 Manufacturer_Info “Source, Sink orCable Plug” SOP*
0 1000 Security_Request Source or Sink SOP*
0 1001 Security_Response “Source, Sink orCable Plug” SOP*
0 1010 Firmware_Update_Request Source or Sink SOP*
0 1011 Firmware_Update_Response “Source, Sink orCable Plug” SOP*
0 1100 PPS_Status Source SOP only
0 1101 Country_Info Source or Sink SOP only
0 1110 Country_Codes Source or Sink SOP only
0 1111 Sink_Capabilities_Extended “Sink or DualRole Power” SOP only
1 0000 Extended_Control Source or Sink SOP only
1 0001 EPR_Source_Capabilities “Source or DualRole Power” SOP only
1 0010 EPR_Sink_Capabilities “Sink or DualRole Power” SOP only
“1 0011 -1 1111” Reserved “All values not explicitlydefined are Reserved andShall Not be used.”
1 1110 Vendor_Defined_Extended “Source, Sink orCable Plug” SOP*
1 1111 Reserved “All values not explicitlydefined are Reserved andShall Not be used.”

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/835429.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高级程序语言设计课程第七次作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C/ 这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/2024C/homework/13304 学号:102400127 姓名:王子涵 q1 第一题比较基础 没什么问题 q2 查阅了网上的类似题目才找到思路 q3 没什么问题 q4 没什么…

高级程序语言设计第七次个人作业

2024高级语言程序设计:https://edu.cnblogs.com/campus/fzu/2024C 高级语言程序设计课程第七次个人作业:https://edu.cnblogs.com/campus/fzu/2024C/homework/13304 学号:102400213 姓名:范自亮 1.2. 问题:无从下手,不知道怎么做 解决方案:上网查阅,询问同学3.4.5.6.7. 问…

团队项目4——项目冲刺-7

每日站立式会议昨天已完成的工作: 杨睿:完成住户物业报修页面木萨江:完成住户车位查询页面巴音才次克:对接车位管理接口李佳聪:测试报修相关接口今天计划完成的工作: 杨睿:对接人员管理接口木萨江:处理物业报修模块bug巴音才次克:处理车位查询模块bug李佳聪:测试人员…

第二篇Scrum冲刺博客

1 站立式会议 1.1会议照片1.2 会议内容 昨天已完成的工作: 已明确分配的任务,并进行了环境配置,特别是mysql的配置. 今天计划完成的工作项目模块 需要实现的功能 负责人 预计用时初始化模块 环境搭建 王伊若 4h登录模块 用户注册、登录 黄锐 7h登录模块 数据库连接 江佳哲 4…

20222320 2024-2025-1 《网络与系统攻防技术》实验6实验报告

目录 目录目录1.实验目标2.实验内容3.实验过程3.1 前期渗透3.2 Vsftpd源码包后门漏洞(21端口)3.3 SambaMS-RPC Shell命令注入漏洞(端口139)3.4 Java RMI SERVER命令执行漏洞(1099端口)3.5 PHP CGI参数执行注入漏洞(80端口)4.问题及解决方案5.学习感悟、思考等 1.实验目…

IMPRINT:通过学习身份保持表示进行生成对象合成

IMPRINT:通过学习身份保持表示进行生成对象合成生成对象合成作为合成图像编辑的一种有前景的新途径出现了。然而,对象身份保存的要求带来了重大挑战,限制了大多数现有方法的实际使用。作为回应,介绍了IMPRINT,这是一种基于扩散的生成模型,采用两阶段学习框架进行训练,将…

联邦学习开山之作Communication-Efficient Learning of Deep Networks from Decentralized Data

1 介绍 1.1 背景 越来越多的手机和平板电脑成为许多人的主要计算设备。这些设备上强大的传感器(包括摄像头、麦克风和GPS),加上它们经常被携带的事实,意味着它们可以访问前所未有的大量数据,其中大部分本质上是私人的。根据这些数据学习的模型持有承诺通过支持更智能的应用…

高级语言程序设计课程第7次个人作业

2024高级语言程序设计:https://edu.cnblogs.com/campus/fzu/2024C/ 高级语言程序设计课程第7次个人作业:https://edu.cnblogs.com/campus/fzu/2024C/homework/13304 学号:102400128 姓名:吴俊衡 1: 问题:无2: 问题:刚开始没想出来怎么弄,后面递归不会就用了多个for循环3:…

TYPE-C PD浅谈(四)

TYPE-C PD浅谈(四) 当对接识别完成后,Provider会先在VBUS上提供5V,接着会在CC脚位上送出Source Capability(SRC_CAP),格式如下:内容定义了供电的各种选项,如共有几组电源可选,相对应的电压电流等。 当Consumer接收到SRC_CAP封包后,会针对电源列表的内容,挑选一组电压…

STM32F103开发

本节我们将会对STM32的硬件资源进行介绍,包括如下内容:点亮LED; 检测按键按下和松开事件; 串口; 点亮128*128 TFT_LCD液晶屏;一、点亮LED 1.1 电路原理图 LED电路原理图如下图所示:其中:LED1连接到PA8`引脚,低电平点亮; LED2连接到PD2引脚,低电平点亮;1.2 GPIO引脚…

团队项目Scrum冲刺-day7

一、每天举行站立式会议 站立式会议照片一张昨天已完成的工作成员 任务陈国金 协助代码沙箱Docker实现凌枫 创建题目页面陈卓恒 协助开发创建题目页面谭立业 协助开发创建题目页面廖俊龙 接口测试曾平凡 前端页面测试曾俊涛 代码沙箱Docker实现薛秋昊 协助代码沙箱Docker实现今…

爱码单车队-冲刺日志第四天

会议记录:今天主要是投入一些后端的开发任务,然后开始实现基础的登录绑定用户的功能。