Granite River Labs, GRL
陳世豪 Ryan Chen
在USB PD協定中,重置是對協定或其他錯誤情況觸發時的必要回應方式,USB Power Delivery規範中也定義了四種類型的重置,此篇文章將分別介紹各種重置被觸發的原因、特點、觸發條件以及觸發後對待測物與測試的影響,並且也會透過軟體中實際測試的畫面截圖讓大家更清楚整個重置流程與Vbus電壓電流的回應。
• Soft Reset 軟重置,是對協議層的重置
• Data Reset 資料重置,是對資料匯流排和電纜的重置
• Hard Reset 硬重置,是對電源和協議的重置
• Cable Reset 電纜重置(SOP’/SOP’’),是對電纜插頭的重置
當協定通信以某種方式出錯時,Soft_Reset消息將用於對協定層進行軟重置,來糾正通信時協定層出現的錯誤。協定錯誤通常是指在AMS(注釋1)中出現任何非預期的消息。值得注意的是,軟重置的觸發條件需要考慮以下兩種情況:
軟重置的特點
軟重置對USB Power Delivery的影響
如下圖所示的軟重置交互過程中,在Rp聲明狀態為SinkTxOK時,軟重置的發起方為Sink/UFP,此時UFP將其MessageID置0(同時重置其RetryCounter),接收方DFP在回復Accept消息的同時也會將消息欄位中MessageID置0,在完成軟重置後,SPR(標準功率範圍)模式下,Source/DFP會重新廣播Source_Cap,並與Sink/UFP建立明確的電源協議。可以看出在整個軟重置過程中,Vbus的電壓及電流並未發生改變。
圖1: SPR模式下Soft Reset交互流程
埠發出資料重置消息,重置其資料匯流排連接,並退出與其連接埠和電纜插頭中的所有備用模式。對於彼此連接的兩個埠之間,資料重置可以由任意一方發起。
資料重置對USB Power Delivery的影響
資料重置流程概述
若Data_Reset消息的發起者在tSenderResponse(24~30ms)內沒有收到Accept消息,發起者將進入ErrorRecovery(錯誤恢復)(注釋5)狀態。
圖4: DFP作為Vconn Source發起Data Reset交互流程(來源:USB Power Delivery Specification Revision 3.1, Version 1.3)
圖5: UFP作為Vconn Source發起Data Reset交互流程(來源:USB Power Delivery Specification Revision 3.1, Version 1.3)
硬重置觸發後要求發送方與接收方的電源狀態返回到預設狀態。除此之外,埠合作夥伴各自的協議層也應該按照軟重置方式進行重置。這允許連接的設備處於可以重新建立USB PD通信的狀態。請注意,在硬重置過程中,Vbus 降至 vSafe0V,Sink也不會將此視為斷開連接,因為這是預期行為。
硬重置不會改變此時已經聲明的Rp/Rd狀態。若硬重置之前完成了Data Role Swap(資料角色轉換),那麼硬重置將要求連接的埠還原回初始的資料角色,即DFP對應Source,UFP對應Sink。當支援Vconn的情況下,硬重置應使初始聲明為Source的埠提供Vconn,而作為Sink的埠則關閉Vconn。
硬重置將使得埠合作夥伴和電纜插頭退出EPR(擴展的功率範圍)模式和所有備用模式,通過下圖來說明Vbus,Vconn回應硬重置信號的狀態變化:
圖6: Vbus 和 Vconn回應Hard Reset過程中的變化狀態(來源:USB Power Delivery Specification Revision 3.1, Version 1.3)
硬重置流程概述
在下圖中,可以看到待測設備(DUT)發起硬重置後的電源變化:電源協商中,Sink收到Source發出的Source_Cap後,Source未收到Sink發送出的Request消息時,Source會觸發硬重置機制進行錯誤恢復。
圖7: 在PD Merged測試中觸發硬重置機制的測項日誌(來源:USB Power Delivery Specification Revision 3.1, Version 1.3)
電纜重置只退出電纜插頭中的所有備用模式。
電纜重置信號的發送方和接收方都應重置各自的協議層,DFP 必須在電纜重置之前提供Vconn,若Vconn已關閉,則DFP應在發出電纜重置信號之前打開Vconn。若發生Vconn交換並且Vconn供電方為UFP,那麼DFP應執行Vconn交換,以便在發送電纜重置信號之前提供Vconn。需要注意的是,只有DFP可以發出電纜重置信號,且 DFP應僅在明確的電源協議交互中發出電纜重置信號。
在下圖中,測試儀器GRL-USB-PD-C2,發起電纜重置信號後,Cable回復的Discover ID ACK消息中,MessageID已置0,即協議層MessageIDCounter已重置,同時也可以看到在Cable Reset過程中電源沒有變化。
圖 8: Emarker Cable在PD測試中響應Cable Reset測試日誌(來源:USB Power Delivery Specification Revision 3.1, Version 1.3)
以上簡單介紹了四種重置的行為,大家可以透過文章中的介紹更清楚如何應對測試中發生的錯誤狀況,進而幫助產品設計與後續改善。GRL擁有豐富的USB與USB Power Delivery測試經驗,除了此篇文章外,亦有關於USB Type-C PD角色與歷代規格整理等文章,欲詳細了解請閱讀「USB Type-C Power Delivery 的角色交換功能」、「Power Delivery 的源起與規格」。若有任何不清楚或想深入了解的部分,歡迎與我們聯絡。
注釋
注釋1:AMS(Atomic Message Sequence)原子消息序列,一個固定的消息序列。
注釋2:PE_SNK_Ready State/PE_SRC_Ready State,該狀態下PD Sink/PD Source處於穩定的電源運行狀態,且沒有任何正在進行的消息協商。
注釋3:SinkTxOk/SinkTxNG,碰撞避免,PD3.0中Source可以調整Rp阻值宣稱是否允許Sink主動發起AMS;若Rp值為3A@5V,那麼允許Sink初始化AMS;若Rp值為1.5A@5V,Sink不允許主動發起AMS。
圖9: PD3.0中定義了CC上通信時避免碰撞的Rp值(來源:USB Power Delivery Specification Revision 3.1, Version 1.3)
注釋4:tDataReset時間判定範圍,DFP應該再tDataReset時間內完成資料重置,而對於該計時器的截至時間點判定有以下兩種情況:
注釋5:ErrorRecovery(錯誤恢復)狀態,埠執行斷開並重新連接。當USBType-C埠出現無法通過硬重置恢復錯誤時,將進入ErrorRecovery(錯誤恢復)狀態。
注釋6:tSrcRecover,Source回應硬重置的恢復時間。
參考文獻
作者
GRL 上海測試工程師 陳世豪 Ryan Chen
畢業於中國民航大學電腦專業,負責USB-IF Power Delivery、Qualcomm Quick Charge認證測試及電源測試解決方案技術支持。
本文件中規格特性及其說明若有修改恕不另行通知。
發佈日期 2022/05/12 AN-220512-TW