下面為他們所制定的message格式。
每段message都會有16bits的header用來表示message的類別,如果是data message
,後面會有0~7個Data Objects,而control message被包含在16bits的header裡。
這16bits header的格式如下
Number of Data Objects:它讓接受端知道header後面會有幾個data objects。MessageID:讓接受端知道,目前是第幾段message,在一開機時,應該為0。
Port Role:表示目前發出message的是0(Sink) or 1(Source)。
Specification Revision:表示發送端支援00(PD reversion 1.0) or
01(PD reversion 2.0)。
Message Type:message分為control與data兩種,而data meesage會在header後面
跟隨data object。而conrol message沒有data object。
Control Message:當Number of data objects為0,表示這段message為Control
message。Control message用來做兩端的溝通。

Data message:用來傳送資料。

有下面四種種類的data object
■ Power Data Object (PDO) :
Source端用來送出自已的供電能力,另外當Source端送出PDO,但Sink端發出Reject message來表示Source的供電能力不符合Sink端的需求,Source端可以要求Sink送出
PDO來表示Sink端需要的電力為何。
當Source端發送PDO後,例如是12/1.5A,Sink端可以發送RDO來表示自已只需要0.5A。

■ BIST Data Object (BDO) :
用來做physical layter test,算是debug mode。
■ Vendor Defined Data Object (VDO) :
用來傳VDM,可以知道另一端的Product ID、Cable ID。在確認ID後,如果device支援alternate mode,在Type-C port可以用MUX開關,讓原本的USB訊號,改傳PCIE、DisplayPort訊號。如果device為audio裝置,可以從USB訊號PIN傳類比的耳
機訊號。這是一個讓USB port延伸更多功能的方式。
Reference
1. Universal Serial Bus Power Delivery Specification_Revision 2 .0, V0. 90


























