大躍進! 高速充電邁向新世代-USB PD3.1
過去各種行動裝置如筆電、手機等因品牌及所設計使用的晶片商不同,會採用不同的充電介面,導致市面上許多隨行動裝置所附贈的充電器無法跨品牌相容,進而造成裝置淘汰後的浪費與環保問題
又因手持式裝置功能應用的多元化高速竄起,導致耗電相對提高不少,電池容量也相對提高以因應更多不同的使用場景,目前市場上常見的BC1.2 (Battery Charging 1.2)與QC3 (Quick Charge 3) 已無法滿足使用者,因此USB開發者論壇USB-IF (USB Implementers Forum),全力推廣高速充電的架構 USB PD ( USB Power Delivery),透過USB Type-C介面做高速充電,同時加入資料傳輸功能,涵蓋範圍從手機行動裝置、筆電外接儲存周邊、AIO (All In One) 顯示器,讓所有充電,資料傳輸使用一條Type-C cable來完成。
自USB-IF 於2012年7月5日起發佈了PD1.0 (Power Delivery 1.0) 架構,當時驚艷市場,但因溝通嚴謹度不足的問題,導致有燒毀Host / Source Side (主機端/供電端) 或Device / Sink Side (裝置端/受電端) 的情況發生,於是USB-IF著手制定相關更嚴謹的規範,於2014年8月11日公佈PD2.0規範與2015年12月11日公佈PD3.0規範。
最新於2021年6月2日USB-IF協會發佈更新的USB PD3.1快充標準規範,充電功率從原本的100W提升至240W,可以支援最大48V / 5A的電壓 / 電流功率輸出,此一新的規範引發業界廣泛關注討論。
Power Delivery技術簡介
A. Type-C Source / Sink對接定義
可以依據供電端與受電端來區分角色,基本上可分為下列三種如表一及圖一說明。
如表一所示,為Type-C訊號連接示意圖,左側為Source供電端,右側為Sink受電端,當Source與Sink對接後,動作說明如下所述。
- Source Side
由於Source端會有Rp電阻,Device端則有Rd電阻,當Device接上之後於 CC pin 上Rp與Rd就會有分壓產生,就表示已接上Sink device,如此Source端可依據分壓內容去提供5V以及相關的電流。
- Sink Side
反之,因為Sink端有Rd電阻存在,當與Source 連接上後,CC pin Rp與Rd電阻上將會產生相關分壓,Source 端就會提供5V與相關的電流,當下即可知道已連接到Source端。
B. Source Capabilities
- USB PD 1.0
USB IF當時定義並沒有強制制定相關產品應用的供電規範,如下表二這是當時最常用的充電需求,供電能力可以達到Max 20V / 5A (100W)。
- USB PD 2.0
PD1.0 發佈大約2年後,USB IF 又發佈USB PD 2.0規格,此回修改則是參考USB PD1.0規格做延伸,針對產品設計上,供電端與受電端有做更嚴謹更明確的規範,以避免因不可預期的因素造成供電端或受電端產品受損。
範例:以PDP Rating (Power Deliver Power ) 60W < 85W<100W這階為例,參考表三可以即可得知,此產品可提供5V / 3A、9V / 3A、15V / 3A 、20V / 4.25A組合的供電能力。另外如果以最大可支援40W為例,參考表三可以即可得知,此產品可提供5V / 3A、9V / 3A、15V / 2.6A 組合的供電能力,以此類推。
- USB PD 3.0
於2015年USB IF 以USB PD2.0 做為基礎,新增加選配功能PPS(Programmable Power Supply ),這是PDO以每一階層為20mV/step為調整電壓,電壓範圍擴展Min 3.3 V至Max 21 V,如此可以提升充電效率並保護受電端的電池壽命。
範例:以PDP Rating (Power Deliver Power ) 60W < 85W<100W這階為例為例,若產品欲支援PPS (Optional),則需包含如下:Fixed PDO (Power Data Object):5V/3A、9V/3A、15V/3A、20V/4.25A。APDO:3.3V ~ 11V (9V Prog)/3A、3.3~16V (15V Prog)/3A、3.3~21V (20V Prog)/4.04A請參考表四。
- USB PD 3.1
於2021年USB IF除了原本USB PD 3.0定義的SPR PDO (Standard Power Range PDO),以及SPR APDO外,新增定義EPR (Extend Power Range)以及AVS (Adjustable Voltage Supply)。
1. EPR
關於EPR相較於SPR則多定義了3階電壓選項包含28V、36V以及48V,而EPR的規範中的Fixed PDO相似於原本SPR PDO (固定電壓模式),而AVS APDO與原本SPR APDO也頗為相似,但還是有差異,說明如下:
- Fixed PDO:
主要是固定電壓輸出
SPR PDO = 5V / 9V / 15V / 20V ;
ERP Fixed PDO = 28V / 36V / 48V (請參考表五) 。
- AVS PDO (Adjustable Voltage Supply) PDO:
主要是強調非固定電壓則是用Rating 方式來呈現,
SPR APDO = 3.3V~6V,3.3V ~10V,3.3V ~16V,3.3V ~21V。
ERP AVS APDO = 15V ~28V,15V~36V,15V ~48V。
產品設計規格以最大可支援150W為例:
ERP Fixed PDO = 20V/5A,28V/5A , 36V/4.16A
ERP AVS(Adjustable Voltage Supply Range) 輸出電壓則會落到15~36V Range 之中。
註:AVS類似PPS功能,差異是AVS是以100 mV為單位步階調整輸出電壓(PPS則是20mV)。
C. Power Delivery controller Function Block Diagram
Power Delivery Controller架構如圖二所示,其主要功能區塊如下:
- Device Policy Manager
此區塊功能主要是負責監控裝置使用之狀況,以及USB Type-C Control控制Source/Sink Detection功能的部分。
- Policy Engine
主要Device Policy Manager對應每一個Type C Port的實際狀態,讓Policy Manager可以隨時立即整合與更新裝置狀態並重新調配資源給每一個Type C Port。另外並且可依據當下情況判斷其內容發送與回應收到的PD訊息,並通知Protocol Layer建構相關封包的訊息。
- Protocol Layer
此層功能主要可分為2個功能說明如下:
1.傳送訊息:從Policy Engine接收所有建構訊息, 然後將所有建構訊息傳遞給下一 個階層PHYLayer,同時並確認Source side or Sink side是否有發送 GoodCRC protocol,來辨識訊息是否有正確送出,當下如果沒有收到 GoodCRC protocol 則視為訊息傳遞失敗,將起動重新發送機制 (Protocol Retry)。
2.接收訊息:從下一階層反向接收PHY Layer所傳遞過來的訊息,同時解讀傳遞過 來的訊息並將此訊息傳遞給上一階層Policy Engine,與此同時會建構 GoodCRC protocol 讓PHY Layer 回傳給對方, 讓對方知道訊息已正 確接收且並得到解讀。
當下裝置雙方的Protocol Layer則必需各自計數對方是否在規範的時間內有正確的回應(Timer check)。倘若上述的程序與內容有任何錯誤,雙方Protocol Layer都有權利與機制可發起Reset的要求,重新再做一次訊息的傳遞溝通與判讀。
- PHY Layer
此階層接收到從Protocol Layer所傳遞過來的訊息後再利用4b5b的編碼方式 將完整封包所需求的SOP*、CRC、EOP以及Preamble組成一組完整的封包訊息,然後再透過CC PIN將封包訊息傳送給對方。反之當收到訊息時,PHY Layer要先驗證所收到的訊息CRC,如果正確就會將訊息向上傳遞給上一階層的Protocol Layer。 ,訊息完整傳遞流程參考圖三及圖四。
註 : 4B/5B編碼是Ethernet編碼型別之一,就是用5bit的二進位制數來表示4bit二進位制數。
- USB PD3.1 EPR Source Capabilities
在封包部分於PD 3.1 Spec中新增了EPR_Source_Capabilities支援EPR供電規格,都會增加在此訊息中,在封包Data Object的前7組填入的是SPR PDO資訊,如果內容若SPR PDO資訊不足7組,則寫入0補滿。(內容需要與Source_Capabilities一樣),從第8組就是EPR PDO內容,最多可以填到第13組,順序是由Fixed PDO電壓由低到高,最後接著一組AVS APDO。請參考圖五
- ERP mode Handshake process:
當進入EPR模式之前,Source/Sink雙方則需要先建立Explicit PD Contract,屆時雙方分別在Source Capabilities與Request訊息中各自宣告自己是否有支援EPR模式,作為後續若要進EPR模式的參考依據。關於進入EPR模式需要的溝通與檢視過程,流程如下:
1. Enter ERP Mode:
- Sink side :
會發送EPR_Mode訊息,封包中的Data Object中設定為Enter,表示 該device有support ERP mode,目前將要進EPR溝通模式。
- Source side :
會檢查雙方都有支援EPR模式後,當下需判斷source side power solution是否有能力支援EPR Mode供電。 如果可以,則會傳遞EnterAcknowledged的EPR_Mode訊息, 表示Source目前狀態允許進EPR溝通模式。(反之則會回到SPR Mode)
若以上確認都沒問題,接著Source會傳送封包中的Data Object設定為Enter Succeeded的EPR_Mode訊息給Sink,此時成功進入EPR模式並進入下一階段步驟。請參考表六
2. PD Negotiate in EPR Mode:
接下來進入ERP mode溝通後,Source會傳遞EPR_Source_Capabilities,宣告EPR模式供電能力。Sink則會依據需求填入相關PDO訊息並發送EPR_Request回傳送給Source。當Source確認可滿足要求後會回傳Accept,之後則會確認Source and Sink時間同步與供電狀態後,就會發送PS_RDY完成結束此回的溝通。
在EPR模式中Source會持續監測CC狀態,如果CC狀態閒置過久Source即會發起Hard Reset(Retry機制),當下將會導致EPR溝通模式中斷,因此Sink每隔一段時間要傳送EPR_KeepAlive訊息以維持一直處於EPR模式中,當Source收到此訊息會回應 GoodCRC與EPR_KeepAlive_Ack,並且重置計時器。(如果中斷情況則會回到SPR Mode)
3. Exit ERP Mode:
最後在複雜的應用環境中Source/Sink可能因為某些因素,導致任何一方想要回到 SPR模式,這個時候必須先將VBUS電壓下降到20V以下狀態,如此可以避免讓Source/Sink 受損,如此對雙方裝置來說較為安全,其操作方式有兩種如下:
- Sink發送EPR_Request,並在封包內容中設定只要求SPR PDO,亦即不包含 EPR PDO。
- Source發送EPR_Source_Capabilities重新溝通,封包中宣告不包含EPR PDO。
上述兩個動作擇一完成後,電壓就會下降到20V或以下,此時雙方Source/Sink任一方都可發起EPR_Mode並將封包中Data Object中設定為Exit,表示要離開EPR模式,當任何一方發出這個訊息後,Source需在tFirstSourceCap參數時間內送Source Capabilities,以重新建立PD Contract,並回到SPR模式。溝通模式請參考圖六
總結
USB PD3.1相較於以往USB PD3.0定義較多的限制,包含EPR模式允許使用的電壓選擇與以往不同,少了選擇性支援的彈性空間,並且產品必須導入EPR模式的運作方式等等,為的是在擴充功能的同時,更嚴謹的審視安全性並且提升產品間的相容性,因此未來將要導入的產品,於產品規格需要更謹慎評估與應用這項功能。依據產品 應用設計規劃USB PD相關產品,如圖七有完整的產品線支援以及搭配的Power solutions選擇,可做為設計參考。
參考文獻
[1]USB Power Delivery , USB Enabling Connections, https://www.usb.org/document-library/usb-power-delivery
[2]USB Type-C® Cable and Connector Specification Revision 2.1, USB Enabling Connections, https://usb.org/document-library/usb-type-cr-cable-and-connector-specification-revision-21
[3]技術文章, GRL, https://graniteriverlabs.com.tw/presentation-publications/
[4]Genesys PD controller related Products