作者:Bird
上一回【Maker 電子學】USB 電源供應徹底研究—PART4,我們介紹了 USB 組織自己提出來的 USB Battery Charger 標準、它所定義的充電器類別和識別方法,以及它和各種利用 D+/D- 線上的電壓來識別充電器能力的方法。
這一回我們要繼續介紹 Quick Charge 陣營的快充標準。
可調電壓 #
我們之前聊的這些利用 D+/D- 上的電壓來辨認充電器輸出電流能力的識別方法,都有一個前提:VBUS 的電壓是 5 V,而我們在第三回時就有說明過,USB type A 連接器每一個隻腳可以流過的電流是有上限的:最早的標準是 1 A、目前大部分通用的零件是 3 A、極少部分的特殊零件可以到 5 A。在 VBUS 爲 5V 的前提下,就算用了最大電流 5 A 的 USB 連接器,充電功率也就最大 25 W 而已,這個功率對手機可能夠了,但對平板、筆電等電池容量更大的裝置卻遠遠不足。
因此以 Qualcomm 爲首的 Quick Charge 陣營就另闢蹊徑:提出了可調 VBUS 電壓的 USB 快充標準。在最大電流不變的前提下,只要提高充電電壓,就可以獲得更大的充電功率。
不過要更動 VBUS 電壓是件非同小可的事,萬一不小心送出過高的電壓給不支援高電壓充電的裝置,是有可能把裝置燒毀的,因此 Quick Charge 對於調整 VBUS 電壓的辨認程序比我們之前提過的,僅利用 D+/D- 上的電阻分壓來辨認要複雜得多。
Quick Charge 2.0 的標準中,定義了幾種不同的充電電壓,也定義了兩種 class:

(圖片來源:Bird 提供)
其實 Class B 就是比 Class A 多一個 20V 的充電標準而已,爲什麼要多分一個 class 呢?因爲在一些電源供應器的安全規範標準如 UL3010 中,20 V 以上是一個門檻。如果你的電源供應器開路電壓小於 20V,取得某些安規認證會稍微容易一點,因此這也是爲什麼有很多筆記型電腦的充電器電壓都是 19.5 V 的原因,它們就是希望在符合某個安規的前提下,盡可能榨出最大的充電功率。
辨識程序 #
Quick Charge 標準中可以支援 5 V 以上充電電壓的充電器叫做 HVDCP(high-voltage dedicated charging port),裝置與充電器都需要支援 Quick Charge 標準,才能完成辨識程序,開始使用較高的電壓充電。
辨識程序的前半部與 USB BC 的標準相容。首先,當裝置插入充電器時,充電器仍然輸出 5 V 的 VBUS,這時會開始 USB BC 的 primary detection 程序:充電器,也就是 HDVCP 會將 D+/D- 短路在一起,然後裝置會在 D+ 上面送出一個 0.6 V 的電壓,並偵測 D- 上的電壓是否超過一個門檻 VDAT_REF(0.25-0.4V),如果有的話,代表這個充電器有支援 USB BC 1.2 的快充協定。

(圖片來源:Bird 提供)
接下來的偵測步驟就與 USB BC 無關,而是 Quick Charge 的 HVDCP 偵測步驟了。首先充電器會將圖中連接 D+/D- 的開關斷開,然後將 RDM_DOWN 接上。充電器將 D- 透過 RDM_DOWN 接地的這個動作是要告知裝置,除了 BC 1.2 DCP 外,我還是一個支援 5 V 以上充電電壓的 HVDCP,裝置知道這件事之後,就可以開始透過接下來的協定,向充電器要求 5 V 以上的電壓。
怎麼要求呢?其實還是透過 D+/D- 上的電壓來完成。接下來 D+/D- 上的電壓組合,就決定了充電器會送出什麼電壓:

(圖片來源:Bird 提供)
藉由四種不同的 D+/D- 電壓組合,裝置可以向充電器要求不同的電壓。在 D+/D- 的狀態確定之後,充電器就會開始調整 VBUS 的輸出,以回應裝置的要求。
充電器不一定支援所有的 HVDCP 電壓,比方說大部分的 Quick Charge 手機充電器都只支援到 9 V,這時後裝置如果跟它要 12 V 怎麼辦呢?它就不會送出 12 V,而裝置偵測到這種現象,就知道這個充電器不支援它目前所要求的電壓,這時裝置會繼續往下一級電壓嘗試要求,直到可以滿足需求爲止。
如果我們把一個支援 USB BC 的裝置插到 HVDCP 充電器上會發生什麼事呢?由於 HVDCP 也支援 BC 的 primary detection,所以 BC 的裝置會認爲這個充電器支援 BC 的大電流充電,並繼續 secondary detection(會由裝置在 D- 上面送出一個 0.6V 的電壓,並檢測 D+ 上的電壓),以辨認是充電專用的 DCP 還是可以傳輸資料兼充電的 CDP。
這時就有兩個很重要的問題:一個是「裝置認爲充電器有什麼能力」,另一個是「充電器認爲裝置要什麼」。當裝置進行 secondary detection 時,因爲充電器在結束 primary detection 之後已經將 D+/D- 斷開,所以裝置在送出 D- 上的電壓時,測量不到 D+ 上有電壓,因而會將充電器當作 CDP 看待,而充電器收到的 D- 上的 0.6 V 電壓時,D+ 應該是在 High-Z 的狀態等待被讀取。查閱上表,發現沒有這個狀態,因此 HVDCP 的辨認就到此爲止,它不會再輸出更高的電壓。
「不相容的裝置插到 HVDCP 上,HVDCP 只能輸出 5 V」這件事非常重要。想像一下,如果一個不支援 Quick Charge 20 V 的裝置插到支援 20 V 的 HVDCP 充電器上,而充電器不小心輸出了 20 V,會發生什麼事?這個電壓很有可能會將裝置燒毀。
小結 #
這一回我們介紹了 Quick Charge 的裝置如何與支援高電壓輸出的 HVDCP 溝通,以取得所需電壓的方式,這些協定牽涉到一些時序和狀態,已經無法用單純的電阻分壓來做到,而需要用到可程式化的電路(通常會用一些充電控制 IC 來處理這些辨認的協定)。
下一回,我們就來看一些這種通訊與辨認的 IC,以及它們如何運作的。
(責任編輯:賴佩萱)