---
title: USB 電源供應徹底研究—PART1
description: "**作者：Bird** USB 介面自 1996 年問世以來，已經將近 30 個…"
url: "https://makerpro.cc/docs/usb-power-part1/"
updated: "2025-04-17"
category: USB電源
---

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

**作者：Bird**

USB 介面自 1996 年問世以來，已經將近 30 個年頭。除了傳輸速度從一開始的 1.5 MBps low-speed 標準演進到當前最新的 USB4 40 Gbps 外，USB 介面也對充電、供電的世界帶來革命性的影響。

2007 年 Micro-USB 連接器問世後，第一代 iPhone 也在同年發表，隨即開啟了智慧型手機的新時代，Micro-USB 也成爲各式移動裝置上，最被廣泛使用的供電連接器標準，而 USB 規格的電源供應器，不管是插插座的豆腐頭，以及各式行動電源，更是成爲 maker 在設計專案時的最佳選擇。

接下來這一系列的文章，我想帶大家一同來徹底研究一下 USB 供電的世界。

不過在開始之前，我們先來說點歷史故事。

### **Before USB**

USB 當初是設計來取代個人電腦上的各式低速連接界面，如連接滑鼠和數據機（modem）的 RS-232C，連接鍵盤的 PS/2 鍵盤界面，和連接印表機的 Centronics 介面等。在 USB 尚未問世之前，每種界面有各自的標準，從訊號格式、連接器，到供電能力等，各不相同。

這裡面最妙的規格就是供電能力，因爲不是所有的介面一開始設計時都有考慮供電。

早期的 PC 在還沒進入 Windows 時代時，並不需要使用滑鼠操作，因此在 PS/2 介面出現之前，滑鼠都是連接到 RS-232C 介面，而 RS-232C 界面並沒有設計電源接腳給裝置使用，它是一個純粹用來通訊的界面。

 ![](https://makerpro.cc/wp-content/uploads/2023/06/1-5.jpg)

（圖片來源： Bird 提供）

但以前使用 RS-232C 介面的滑鼠時，並不需要另外插電源，也沒看到滑鼠需要裝電池。那麼滑鼠的電從哪裡來呢？

**偷電偷來的**。

RS-232C 所定義的訊號準位是這樣：+5 V ~ +15 V 代表邏輯 0，-5 V ~ -15 V 代表邏輯 1，這個電壓經過一些妥善的處理，可以拿來當小小的電源使用。除了用來傳輸資料的 TXD、RXD 接腳外，RS-232C 還有一對用來做 flow control 的接腳 RTS/CTS，以及用來偵測裝置是否接上的接腳 DSR/DTR。

電腦端「輸出」訊號的接腳，如 RTS、DTR，其實就是像 GPIO 的輸出接腳，如果不用來做 flow control 或裝置偵測，我們只要把它們強制設爲邏輯 0，它們就會維持在 +5 V ~ +15 V 的電壓，這個電壓經過濾波、穩壓之後，就可以拿來當電源。

 ![](https://makerpro.cc/wp-content/uploads/2023/06/2-3.jpg)

（圖片來源： Bird 提供）

上面是一個典型的從 RS-232C 介面取電的電路。這裡要特別注意的是，由於 RS-232C 介面定義的電壓範圍很寬，從 +5 V 到 +15 V 都算是符合規定的，因此偶爾會遇到一些裝置真的就只做到下限，邏輯 0 的時候只輸出 5 V，但因爲使用 linear regulator 時需要一些電壓差，因此你沒辦法從 5 V 的輸入穩壓出 5 V 的輸出。

依照電腦端所使用的 RS-232C介面晶片不同，上面這個電路所能供應的電流也不同，但一般來說，RS-232C 的每隻輸出接腳可以有 3-4 mA 的輸出能力，因此 RTS 跟 DTR 兩隻腳加起來，讓我們偷個 6-8 mA 是沒什麼問題的（這個電流要驅動滑鼠綽綽有餘，這就是爲什麼傳統的 RS-232C 滑鼠不需要另外供電的原因）。

類似的例子也在 HDMI 連接線上可以看到。

HDMI 介面的定義中並沒有給裝置使用的電源接腳，但現在可以買到一些 HDMI 訊號增強器或是 HDMI 聲音訊號分離器，一樣不用另外接電源，插在 HDMI 上就可以使用。這是因爲 HDMI 的界面中有一隻叫 +5 V 的接腳，是由 source 端提供，用來對 sink 端的一顆儲存 EDID 資訊的記憶體供電用的。

EDID 是 sink 端用來告訴 source 端它的顯示能力，像是支援哪些解析度、格式，有沒有支援聲音等。HDMI 的規格中，source 端要能提供 50 mA 的電流來驅動 sink 端的 EDID 記憶體，但實際上這顆記憶體只是個小小的 I2C EEPROM，根本吃不了這麼多電，剩下的就可以偷來用啦。

事實上 HDMI 組織後來也意識到在界面中供電的重要性，因此從 HDMI 2.1 開始就有一個新的規格叫做「HDMI Cable Power」，它可以提供 5 V 300 mA 的電源給連接在 HDMI 上的裝置使用。

### **USB 的遠見**

USB 介面的設計，從一開始就有供電的設計。最早的 USB 1.1 界面只定義了四隻接腳：

 ![](https://makerpro.cc/wp-content/uploads/2023/06/3-3.jpg)

（圖片來源： Bird 提供）

D+/D- 是一對差分（differential）的雙向資料傳輸界面，而剩下的兩隻腳就是用來供電的。

USB 1.1 對供電的定義很簡單：5V +/- 5%。至於電流呢，大部分的人都知道最早期的 USB 供電電流是 500 mA，但其實這個 500 mA 還有一些小小的限制：在裝置剛插入 USB host 或 hub 時，最大只能拿 100 mA，必須要完成 USB 裝置的列舉（enumeration）之後，才能按照列舉時，descriptor 中所要求的電流，向 host 或是 hub 取電，最大不能超過 500 mA。

Descriptor 是 USB 裝置在向 host 回報身份時的一個資料結構，它裡面有個欄位用來告訴 host，自己需要吃多少電。因爲 USB 匯流排是一整串像粽子一樣的裝置們，透過 hub 串起來，這整串裝置的供電模式可能會很複雜，比方說光是 hub 就有分成可以額外供電的或是靠上游吃電的兩種，這時對於下游裝置的供電能力也會不同，因此 USB host 需要藉由 enumeration 這個過程，來計算、評估整串下游裝置對電源的需求，以確保不會有人拿取超過容許範圍的電流，拖垮其它裝置。

如果你隨便將一個沒有連接 USB 裝置的 USB 接頭插入電腦的 USB 介面，因爲它沒有對 USB host 做 enumeration 的能力，在這樣的狀況下你是沒辦法從電腦的 USB介面拿到 500 mA 的電流的。如果硬要拿，就會出現類似「USB 連接埠發生電源爆衝」這樣的錯誤訊息。

 ![](https://makerpro.cc/wp-content/uploads/2023/06/4-3.jpg)

（圖片來源： Bird 提供）

### **小結**

即時是最原始的 USB 1.1 規格，要從 USB host 拿到 5 V/500 mA 的電源也不是那麼簡單，且隨著時代的進步，500 mA 的電流早已不敷使用，因此在後來的 USB 規格改版中，不斷加入更多的供電規格與識別方法。

除了 USB 組織外，各家手機供應商或是晶片供應商，也紛紛在 USB 連接器的規格上，推出各種自己的供電標準。

接下來的文章，我們會繼續探討這些供電規格的技術細節，以及如何善用它們。

（責任編輯：賴佩萱）
