玩轉 AI 機器人的新境界 – Now and Future
|
View Categories

USB 電源供應徹底研究—PART4

閱讀時間: 2 min read

作者:Bird

上一回 【Maker 電子學】USB 電源供應徹底研究—PART3,我們用電池容量與充電電流計算了手機電池的充電速率,我們也說明了 Quick Charge 這樣的充電標準如何利用調高 VBUS 電壓,來提高充電功率。

這一回我們先來說一下 USB 標準組織自己提出來的 USB BC 這個快充標準是如何運作的。

混亂的辨認標準 #

在充電電壓爲 5V 不變的前提下,我們一直強調一個很重要的觀念:「要從充電器抽取多少電流是由裝置決定的。」

因此裝置在開始進入快充模式前,必須透過各式各樣的識別方法,知道充電器有什麼能耐,才能在不讓充電器過勞的狀況下,用大於 USB 原始供電標準 500 mA 以上的電流充電。

(圖片來源:Bird 提供)

我們在第二回的時候說明過,Apple 的系統利用四個分壓電阻,在 D+/D- 接腳上產生不同的電壓,藉以識別連接到手機的是 5 W、10 W,還是 12 W 的充電器,進而對充電器抽取最大的電流。

(圖片來源:Bird 提供)

但這個標準是蘋果自己訂的,別家的手機不見得會理他。

三星就沒有理他,三星的手機有自己一套識別快充的方法。

(圖片來源:Bird 提供)

三星的手機或平板等裝置,在插上充電器後,會檢查 D+/D- 上的電壓。如果兩支腳的電壓都是 1.2 V,手機或平板就會認爲充電器是自己人,可以用最大 5 V/2 A,也就是 10 W 的功率進行快充。

如果仿造 Apple 充電器的識別電路做法,D+/D- 上的電路應該是這樣接:

(圖片來源:Bird 提供)

但因爲三星的識別協定中,D+ 和 D- 上所需要電壓是一樣的,都是 1.2 V,所以實務上也可以這樣接:

(圖片來源:Bird 提供)

把 D+/D- 接在一起,然後共用同一組分壓電阻產生的 1.2 V 電壓。其實這麼做還有其它的好處,稍後我們再說明。

雖然這個世界已經很亂了,但還有更亂的。Sony 的 Xperia 手機也有它自己識別快充的方法,一樣是用 D+/D- 上的電壓。

(圖片來源:Bird 提供)

Sony 也把 D+/D- 上的偵測電壓設定成兩支腳一樣,都是 3.3 V,因此實務上的電路也可以用一組分壓電阻就好:

(圖片來源:Bird 提供)

因此,當 Sony 的手機插上充電器後,它也會去偵測 D+/D- 上的電壓。如果兩者的電壓都是 3.3 V,Sony 手機就當充電器是自己人,可以用最大 2 A 的電流進行快充,如果沒有認到這個電壓,手機就認爲它連接到的是不具備快充能力的標準 USB port,會用最保守的 500 mA 慢慢充。

因此,如果你拿一個 Sony 手機附贈的 5 V/2 A USB 充電器,接到 iPhone 上幫 iPhone 充電,由於 Sony 的充電器在 D+/D- 上產生的電壓是 3.3 V,iPhone 並不認得這個電壓,因此 iPhone 會認爲這個充電器沒有快充的能力,而只會用 500 mA 的電流來充電。

反之,如果你拿 iPhone 的 5 V/2.4 A 充電器去充 Sony 或三星的手機,由於 Apple 的 12 W 充電器識別電壓是 2.7 V,三星跟 Sony 的手機都不認得這個電壓,因此它們也會認爲這個充電器沒有快充的能力,而只會保守地用 500 mA 來充電。

明明就是具有 1 A 甚至 2 A 以上輸出能力的充電器,只是因爲裝置不認得它,就無法使用比較大的電流進行快充,實在是很可惜的事。

在這個混亂的世界中,USB 組織第一次出手想要平定這個亂象,USB BC 充電協定也就就此誕生了。

橫空出世的 USB BC #

USB BC 全名是 Battery Charger,它是 USB 組織推出來讓大家用 USB 來充電、供電的標準,它隨著 USB 2.0 的問世一起發佈。

USB BC 定義了三種 USB port:

  1. SDP:Standard Downstream Port,傳統的、標準的 USB port,只能輸出 500 mA 的電流
  2. DCP:Dedicaed Charging Port,專門用來充電、沒有資料傳輸能力的 USB port,最大供電能力 1.5 A
  3. CDP: Charging Downstream Port,可以傳輸資料也可以用來充電的 USB port,最大供電能力也是 1.5 A

而 USB BC 的識別協定相當有趣,它分成兩個階段。當裝置偵測到 VBUS,也就是插上充電器後,它會先進行所謂的「primary detection」,這個階段主要是用來識別充電器到底是是沒有快充能力的 SDP,還是具有快充能力的 CDP/DCP(這兩個名字搞得大家好亂啊)。

如果在 primary detection 時,裝置偵測到充電器是具有快充能力的 CDP/DCP,那麼它會繼續進行第二階段的 secondary detection,用來分辨充電器到底是純充電用的 DCP,還是具有資料傳輸能力的 DCP。

如果在 primary detection 時,裝置偵測到充電器是不具快充能力的 SDP,那它就不用再繼續問下去了,會乖乖用 500 mA 充電。

(圖片來源:Bird 提供)

USB BC 的裝置進行 primary detection 的方式是這樣:它會往充電器的 D+ 接腳上送一個 0.6 V 的電壓,然後測量 D- 接腳上的電壓,此時如果 D- 上也有 0.6 V 的電壓,那麼 primary detection 就算成功,這個充電器支援 BC。

接下來還會再進行 secondary detection,這時裝置會往充電器的 D- 接腳上送一個 0.6 V 的電壓,然後測量 D+ 接腳上的電壓。此時如果 D+ 上也有 0.6 V 的電壓,那麼 secondary detection 就判定這個 USB 充電器是沒有資料傳輸能力的 DCP,也就是專用充電 port。如果這時 D+ 上沒有測兩道 0.6 V 的電壓,那麼 secondary detection 就判斷這個 USB 充電器是 CDP,除了可以向它抽取最大 1.5 A 的電流之外,也會繼續進行 USB 的 enumeration 等資料傳輸的準備工作。

這個協定看起來有點複雜,但 USB BC 在硬體的設計上卻用了一個簡單粗暴又優雅的方式,讓 DCP 的識別變得非常簡單。

USB BC 定義:只要充電器在 D+/D- 之間用一個 200 ohm以下的阻抗連接,就可以被識別爲 DCP。

(圖片來源:Bird 提供)

而實務上常常是直接將 D+/D- 短路,一樣也符合這個「小於 200 ohm」的規範。

這麼簡單的電路就可以通過上面說明的 primary detection 和 secondary detection 這麼複雜的兩階段偵測?我們來看看它怎麼做到的:

在 primary detection 中,裝置會往充電器的 D+ 接腳上送一個 0.6 V 的電壓,然後測量 D- 接腳上的電壓。如果這個充電器是 DCP,因爲 D+/D- 之間的阻抗很小,所以當裝置往 D+ 送出 0.6 V 電壓時,D- 上必然也量得到對應的電壓,因而可以被識別爲具有快充能力的 BC 充電器;如果這個 port 是傳統的 SDP,它的 D+/D- 之間阻抗非常大,當裝置往 D+ 送出 0.6 V 電壓時,D- 上什麼都量不到,因此就會被識別爲不具快充能力的 SDP。

接著在 secondary detection 中,裝置會往充電器的 D- 接腳上送一個 0.6 V 的電壓,然後測量 D+ 接腳上的電壓。如果這個充電器是 DCP,因爲 D+/D- 之間的阻抗很小,所以當裝置往 D- 送出 0.6V 電壓時,D+ 上必然也量得到對應的電壓,因而充電器就可以被識別爲 DCP;如果充電器是 CDP,它不會回應裝置在 D- 上送出 0.6V 的這個事件,因而就可以被識別爲 CDP。

只要將 D+/D- 短路,這個充電器就可以被識別爲 USB BC 的充電器,是不是簡單粗暴又優雅?

假裝是 BC #

我們剛剛提過,三星和 Sony 的充電器都是用 D+/D- 上的電壓來識別,而且它們都將 D+/D- 兩支腳上的識別電壓設定爲相同的電壓:三星是 1.2V、Sony 是 3.3 V。因爲電壓相同,我們可以只用一組分壓電阻就產生這個電壓給兩支腳用:

(圖片來源:Bird 提供)

上面這個電路,因爲 D+/D- 接在一起,而且分壓電阻的阻抗夠大,因此如果我們把支援 BC 的裝置插到這個充電器上,在裝置對這個充電器進行 primary detection 時,送往 D- 的 0.6 V 偵測電壓會出現在 D+ 上,送往 D+ 的 0.6 V 偵測電壓也會出現在 D- 上,因此不管原來分壓在 D+/D- 上的電壓是多少,它都可以通過 primary detection 和 secondary detection,被當作 BC 的充電器,而被抽取最大 1.5 A 的電流。

小結 #

這一回我們介紹了利用 D+/D- 上的電壓識別快充能力的各種標準,我們也介紹了 USB 組織自己提出來的 USB Battery Charger 標準,以及它所定義的充電器類別和識別方法。

下一回我們要繼續介紹 Quick Charge 陣營的快充標準。

(責任編輯:賴佩萱)

Powered by BetterDocs

Submit a Comment

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *