---
title: USB 電源供應徹底研究—PART8
description: "**作者：Bird** 上一篇文章[【Maker 電子學】USB 電源供應徹底研…"
url: "https://makerpro.cc/docs/usb-power-part8/"
updated: "2025-04-17"
category: USB電源
---

# USB 電源供應徹底研究—PART8

**作者：Bird**

上一篇文章[【Maker 電子學】USB 電源供應徹底研究—PART7](https://makerpro.cc/2023/10/usb-power-part7/)，我們初步介紹了隨著 USB 3.1 推出的 USB type C 連接器，以及 USB PD 在 type C 連接器上的新設計。

舊的 USB 標準使用連接器的形式來區分 host 與 device，因此 type A 在 host 端，一定是供電的角色，而 type B 在 device 端，一定是受電的角色，但 USB type C 則將供電的角色與資料傳輸的角色分開了，host 不再一定是供電端，device 也不再一定是受電端。

在 USB type C 的定義中，電源的角色有可以供電的 source、永遠吃電的 sink，以及可以供電也可以吃電的 DRP（dual role port）。

當 DRP 連接到 source 時，它就會從 source 拿電；當 DRP 連接到 sink 時，它就會送電給 sink，自動判斷，沒什麼太大的問題。

### **充電鬧雙胞**

但是當 DRP 連接到 DRP 時，會發生什麼事呢？

隨著 iPhone 15 的上市，蘋果也將 iPhone 的充電連接器從 Lightning 換成了 USB type C，世界上突然多了一大堆 USB type C 的裝置，也造成一些有趣的現象。

比方說，有人用 USB type C 的行動電源，透過 USB type C 對 type C 的連接線想要給 iPhone 15 充電，結果 iPhone 15 反而透過 USB type C 對行動電源充電，手機的電越充越少。

這就是典型的 DRP 連接到 DRP 可能會發生的事。一般來說，如果行動電源上有 USB type C 的連接器，它就很有可能是 DRP。當 DRP 連接到一個 source，比方說 USB type C 的充電器，它就會變成 sink，向充電器取電，來對行動電源充電，而當它連接到另一個 sink 時，比方說用 type C 充電的手電筒，它就會變成 souce，向手電筒輸出電源來對手機充電。

但像 iPhone 15 或是其它手機這麼複雜的裝置，它上面的 USB type C 不太可能只用來充電，而多半有類似 USB OTG 這種可以連接其它 USB 裝置的功能。當它用來連接裝置時，自己就會變成 host，而會對外供電，這時候這個 USB type C 就會是 source 的角色，因此 iPhone 15 上的 USB type C 是個 DRP。

當 DRP 連接到 DRP 時，由於兩邊都有供電能力也都有受電能力，它們會隨機決定 source 和 sink 的角色。如果在這個吵架的過程中，iPhone 15 最後決定它是 source，而行動電源決定它自己是 sink，這時 iPhone 15 就會向行動電源輸出電力，消耗 iPhone 15 自己的電池來幫行動電源充電。

其實這種問題早在 Android 手機開始使用 USB type C 連接器時就發生了。有些行動電源上面會有兩個 type C 的連接器，其中一個永遠是 source，用來供電，而另一個永遠是 sink，用來給行動電源充電，只要根據需要選擇對應的 USB type C port，就不會有充電方向反過來的問題，但也因此要多做一個 USB type C 的連接器。

我們上一回說明了 USB type C 利用 CC 接腳來辨別電纜插入的正反向，以及利用連接在 CC 接腳上的 Rp、Rd 電阻來辨認供電、受電的角色，但除此之外，USB PD 還有很多更複雜的通訊協定，可以用來在 USB type C 連接器上傳輸高達 100W（USB PD 3.0）甚至 240W（USB PD 3.1）的電源功率。我們就繼續來看看，USB PD 是怎麼在 type C 連接器上做到這麼大的供電功率。

### **更高的電壓、更大的電流**

其實要增加充電功率沒有別的方法，要嘛加高電壓，要嘛加大電流，或是兩者都做。USB PD 從 2.0 版開始改用 type C 連接器，並定義了相當複雜的電壓和電流組合：

 ![](https://makerpro.cc/wp-content/uploads/2023/10/1-1.png)

（圖片來源：Bird 提供）

這張圖看起來有點複雜，但其實蠻好理解的。USB PD 2.0 定義了四種輸出電壓：5 V、9 V、15 V、20 V，其中 5 V、9 V、15 V 的最大輸出電流都是 3 A，而 20 V 的最大輸出電流則是 5 A。20 V * 5 A = 100 W，這就是 USB PD 3.0 的最大輸出功率。這個功率不要說充手機了，充大部分的筆電都綽綽有餘。

那麼符合 USB PD 2.0 的充電器都需要能提供這麼多種電壓嗎？不用，它的規範是以最大輸出功率來區分的。如果一個 USB PD 2.0 的充電器支援最大 15 W 的輸出功率，它就只需要支援 5 V 的輸出電壓，因爲 5 V * 3 A = 15 W；如果一個充電器支援最大 27 W 的充電功率，它就需要支援 5 V 和 9 V 的輸出電壓；而如果一個充電器支援最大 45 W 的充電功率，它就需要支援 5 V、9 V、15 V 三種電壓，但不用支援 20 V，只有功率大於 45 W 的充電器才需要支援全部四種電壓。

而不同電壓輸出時的最小電流也有規範。從上圖可以看得出來，20 V 輸出的最小電流是 2.25 A，這時的充電功率是 20 V * 2.25 A = 45 W，如果裝置所需要的充電功率低於 45 W，它就不能要求充電器用 20 V 輸出，而必須將電壓往下調一個檔位，用 15 V 輸出來充電。

同樣的，9 V 這個檔位的最小輸出電流是 1.67 A，這時的充電功率是 9 V * 1.67 A = 15 W，如果裝置所需要的充電功率低於 15 W，它就不能用 9 V 這個電壓來充電，而必須透過 PD 協定通知充電器將電壓降到 5 V 那一檔來充電。

這樣設計的好處是，不會有同樣的功率對應到不同充電電壓的組合。每一檔電壓的最小充電電流所達到的功率，剛好是下一檔電壓的最大充電電流所達到的功率，因此只要知道功率，就可以確定 USB PD 2.0 的充電器用哪一檔電壓輸出。

USB PD 3.0 比 2.0 多了 PPS 可程式化的輸出電壓，可以讓受電端透過 PD 的協定微調輸出端的電壓，讓電壓不再限制在 5 V、9 V、15 V、20 V 四個檔位，同時也海納百川地相容了包括 QC 4.0 在內的各家快協定。

至於 USB PD 3.1，則是增加了 28 V、36 V 和 48 V 三檔更高的電壓，這三檔電壓的最大輸出電流都是 5 A，因此最大的充電功率就來到了 48 V * 5 A = 240 W。這個供電功率已經是傳統的 AC-DC adapter 很少可以達到的功率了。

### **通訊協定**

進入 PD 2.0 的時代之後，簡單地用電阻分壓、判斷電壓這種方式，已經沒辦法滿足這麼複雜的供電協定所需，因此 PD 設計了一套相當複雜的通訊協定，將資料利用 4 b/5 b 的 channel coding 編碼後，成爲大概 300 Kbps 左右的資料流，利用 CC 線路來傳送。

PD message 是一個雙向的通訊協定，它可以讓 sink 詢問 source 具有什麼樣的供電能力，而在 source 回答之後，sink 再決定要向 source 要求什麼樣的電源輸出。由於這個通訊的結果涉及輸出電壓的設定和轉換，如果出錯的話有可能會對受電裝置造成傷害，因此 USB PD 的通訊協定設計得極爲嚴謹且複雜，錯誤檢查與確認機制也非常完整。

這個協定已經沒辦法用簡單的離散邏輯電路來處理。一般來說，要進行 PD message 的通訊，如果不是使用 MCU，就會使用專用的 PD 控制 IC。下一回，應該也是 USB 供電徹底研究的最終回，我們會簡單來看一下，要如何使用專用的 USB PD 控制 IC 來向 USB PD 的充電器取電。

（責任編輯：賴佩萱）
