TYPE-C PD供電協議訊息格式

yooooooo發表於2024-11-17

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.”

相關文章