Type-C PD spec 由五部分組成,翻譯自《USB?Power?Delivery?Specification?v3.1》
1、PD?Overview
2、物理層
3、協(xié)議層
4、設備策略層
5、場景講解
2、物理層
USB PD 物理層由一對通過單條信號線(CC) 進行通信的發(fā)送器和接收器組成
所有通信都是半雙工的。
發(fā)送器:從協(xié)議層接收包數(shù)據(jù),計算并附加 CRC,對包含 CRC 的分組數(shù)據(jù)(即有效載荷)進行編碼(4b5b),使用 BMC 在 CC 上跨信道傳輸數(shù)據(jù)包(前導碼、SOP*、payload、CRC 和 EOP)
接收器:恢復時鐘并從前導碼鎖定到數(shù)據(jù)包,檢測 SOP*,解碼包含 CRC 的接收數(shù)據(jù),檢測 EOP 并驗證 CRC
-
-
- 如果 CRC 無效,則過濾掉接收到的數(shù)據(jù)
- 如果 CRC 有效,則將分組數(shù)據(jù)傳送到協(xié)議層
-
2.1、符號編碼
使用 4b5b 線路編碼
- 有序集
-
- 由 4 個 K-code 組成? ?有效性:至少 3 個 k-code 正確
2.2、位傳輸順序
2.3、數(shù)據(jù)包格式
前導碼
- 由 64bit 交替的 “0“ 和 “1” 組成,以 ”0” 開頭,以 “1” 結尾
- 用于使接收器鎖定到載波上
- 不應進行 4b5b 編碼
SOP*:SOP* 無效,則丟棄整個傳輸數(shù)據(jù)
有效載荷-從協(xié)議層傳入
CRC
- CRC 不正確,整個傳輸數(shù)據(jù)應該丟棄
- CRC 正確,數(shù)據(jù)包應該傳遞到協(xié)議層
EOP:可用于提前終止傳輸數(shù)據(jù)包,如發(fā)送硬復位前
2.4、Hard Reset
如果 PHY 層當前正在發(fā)送消息,則應通過發(fā)送 EOP 來中斷該消息,并丟棄其余的消息
如果 CC 不空閑,請等待它變?yōu)榭臻e
等待 tInterFrameGap
如果 CC 仍然空閑,則發(fā)送硬復位信令
禁用信道(即停止發(fā)送和接收),重置 PHY 層并通知協(xié)議層 PHY 層已重置
當協(xié)議層請求時重新啟用信道
2.5、Cable Reset
- 只能由 DFP 發(fā)送;用于重置電纜插頭
2.6、雙相標記編碼 (BMC) 信令方案
- 在每個位的起始存在一個變換
- 傳輸 1 時,位中間有一個變換,傳輸 0 時,則不變換
- 傳輸速率:270~330 Kbps
- 1Ul: 3.03~3.70us
EOP 最后一位產(chǎn)生下降沿時,發(fā)送器應在 CC 上驅動
EOP 最后一位產(chǎn)生上升沿時,發(fā)送器應在 CC 上驅動
- 多驅動 1UI 高由平
- 持續(xù) tHoldLowBMC 驅動低電平
- 持續(xù) tEndDriveBMC 驅動低電平,從幀的最后一位的后沿開始測量
- 將 CC 釋放到高阻抗
幀間間隔:min 25us
發(fā)送器波形有效性
-
- 上升時間不得快于 tRise;下降時間不得快于 tFall
- CC 總線空閑定義
-
- 在 tTransitionWindow 內(nèi)沒檢測到有傳輸,則認為總線空閑
2.7、沖突規(guī)避
- 監(jiān)控傳輸通道,在 CC 總線空閑時發(fā)起新一輪傳輸
- CC 不空閑時則應丟包,并在 CC 空閑時通知協(xié)議層
- 在顯性契約期間,由 Source Rp 來控制