Network Users' Group ``wheel'' / Dai ISHIJIMA's Page /
ハードウェア / USBポートは電源ではない
| はじめに | 仕様書 | マナー | バスパワー | 電圧 | 参考情報 |

初版: 2010-01-22
最終更新日: 2016-08-08


USBポートは電源ではありません

あなたの作ったロジック回路はUSBバスパワーで動かないかも
パソコンをテーブルタップやACアダプタ代わりにするのはおすすめできません

●はじめに

みなさんの身のまわり、というか、パソコンのまわりには、 USBポートを電源にして動くものはありますか? 夏なら扇風機だったり、冬なら膝かけだったりするかもしれませんね。 あるいは、携帯電話の充電ケーブル(通信ケーブルではないもの)なんかも あるかもしれません。

ちょっとした小物に電源が必要…というときに、 電池だと交換が必要ですし、ACアダプタはちょっと大げさ。 確かにそうです。

このような小物の電源として、 (少なくとも最近の)パソコンには必ずといっていいほどついている USBポートを使うことがよくあります。 でも、これって本当に大丈夫でしょうか?

「USBポート(現在のUSB2.0ポート)は1ポートあたり500mAまでの電流 (電力で2.5Wまで)がとれる5V電源」と よく言われていますが、これは本当でしょうか? また、それを前提として作られている商品がありますが、 本当にそれを信じても大丈夫でしょうか?

このページでは、USBの仕様書をベースに、以上のことについて考えてみました。 なお、特に断りのない限り、 本ページでは2010年時点で公開されているUSB 2.0の規格・仕様をベースに考えます。

注1: 2015年時点では、本ページの内容が古くなったことは否定できません。 USBインターフェイスで電力を供給する規格も整いつつあります (USB Battery Charging Compliance Plan, USB Power Delivery Specification, など) 。 しかし、これら新しい規格においても、 電源を供給する側とされる側で相互確認(あるいは接続先の識別) を行ってから 電力供給を行うことが前提となっています※。 パソコンのUSBコネクタを「単なる電源供給端子」と安易に想定するのは やはり避けておくのが無難でしょう。

※参考情報 USBバッテリ充電(BC)仕様1.2の概要とアダプタエミュレータの重要な役割
…USB2.0の規格上、データ転送がなかったらスタンバイモードになるので、 確保できる電流は2.5mAにまで下がる場合もありうる、といった記述もあります。

注2: あなたが使っているパソコンのUSBコネクタが、 たとえばスマホやタブレットの電源供給に使えるかどうかは、 取扱説明書などで確認してください。 また、USBコネクタを出力端子として持つACアダプタが、 あなたが使っているスマホなどに対応しているかどうかは、 そのACアダプタの仕様書や取説で確認してください。


●USBの仕様書

USB 2.0の仕様書は、USBの本家http://www.usb.org/) からダウンロードできます。 DevelopersDocuments→ USB 2.0 Specification とたどると、 ドキュメント一式をzip圧縮したものusb_20_122909-2.zip) をダウンロードできます。 このファイルを解凍したら出てくる「usb_20.pdf」がUSB 2.0の仕様書 (Universal Serial Bus Specification, Revision 2.0, April 27, 2000) です。 650ページにもおよぶ、ぶ厚い仕様書ですが、 これに目をとおしておくことは有用かと思います。 USBポートを利用する(もちろん電源としてしか利用しなくても)機器を 開発する場合は当然、読んでおく・内容を理解しておくべきでしょう。

仕様書の新しい版

上に書いた仕様書ですが、版が改まりました(2013-07-15追記)。 ときどき修正があるようです。


●USBポートから電流を取り出す際のマナー

USB 2.0の仕様書のp.245の「9.2.5.1 Power Budgeting」には 以下のような記述があります (注: Universal Serial Bus Specification, Revision 2.0, April 27, 2000 より) 。
USB bus power is a limited resource. During device enumaration, a host evaluates a device's power requirements. If the power requirements of a particular configuration exceed the power available to the device, Host software shall not select the configuration.

USB device shall limit the power they consume from VBUS to one unit load or less until configured. Suspended devices, whether configured or not, shall limit their bus power consumption as defined in Chapter 7. Depending on the power capabilities of the port to which the device attached, a USB device may be able to draw up to five unit loads from VBUS after configuration.

ここにもあるように、 言うまでもなく、USBバスパワー、 すなわちUSBポートから取り出せる電流は「限られた資源」です。 「USBポートにぶら下がるデバイスは、 設定が終わるまで(until configured) その電流消費を100mA(one unit load)か それ以下(or less)に制限すべき(shall limit)」だそうです。 また、「USBデバイスが500mAまで(up to five unit loads)消費できるのは、 そのデバイスの設定が終わってから(after configuration)」とあります。

USBデバイスをバスに接続すると、 ホストとデバイスの間でネゴシエーションが行われ、 そのあとそのデバイスが使えるようになります。 荒っぽくいうと、この「デバイスが使えるようになった」状態が 上の「after configuration」に相当します。

ネゴシエーション(USBデバイスの状態遷移)についての 正確な情報は、仕様書の「Chapter 9 USB device framework」(pp.239〜) をご覧ください。

要するに、USBポートから500mAの電流を取り出せるのは、 そのUSBデバイスがホストとネゴシエーションに成功した後であって、 それまでは「消費電流は100mA以下であるべき」ということになります。 とすると、 「USBポートを電源としてしか利用しない装置」 言い換えると 「USBデバイスとしてホスト(パソコン)とネゴシエーションしない装置」 は、USBポートを500mAの電源として利用すべきでない、 ということにならないでしょうか。

というわけで、USBデバイスとして動作せず(ネゴシエーションを行わず) 電源供給のみを目的としてUSBポートを使う装置は 100mAまでしか電流を食ってはいけないのが「よい子のお約束」となります。

より厳しい話をすると、そもそも 「USBデバイスとして動作しない(ネゴシエーションをしない) 電源供給のみを目的としてUSBポートを使う装置」を USBポートにぶら下げても大丈夫なのか、という疑問があります。

なぜかというと、USBデバイスは、ネゴシエーションの段階で、 ホスト(パソコン)に自身の消費電流を自己申告することになっています。 そして、ホストは、その自己申告に基づいて、 USBポートへ供給する電流が超過しないかどうかをチェックしている (しているかもしれない・することになっている) からです。 ネゴシエーションをしない装置では、そのようなチェックが働きません。

もっともここに書いた話は「仕様書」での「お約束」であって、 実際のパソコンではそんな堅苦しい制限はないの「かも」しれません。 ですが、「仕様書」の「お約束」を守っていない装置を パソコンのUSBポートにつなぐことを「わたしはおすすめしません」。 もし、USBポートを電源として使いたかったら、 ACアダプタを使う「セルフパワーハブ」を利用するのがいいでしょう。 それもACアダプタの定格が「500mA×ポート数」を上回っているものを。

USBポートを安易に 「汎用電源ポート」、 「第二のコンセント」、 「5V汎用電源」と 称する向きもあるようですが、 「仕様書」に書かれている「よい子のお約束」を理解しておくことは 大切でしょう。 「ヘタすると高価なパソコンを壊す可能性も(ひょっとしたら)あるかもしれない」 という現実を知った上で、「自己責任で」使うのは当然 利用者の個人の自由です。 でも壊れても後の祭。誰も保証してくれないですよ。

苦情を聞いてくれるところや、故障原因をしらべてくれる第三者機関は あるかもしれませんが、壊れてからでは意味ないですしね。


●そのデバイス本当にバスパワーで動く?

ポータブルハードディスクなど、 「バスパワーで動作」と謳っている製品があります。 本当に大丈夫なんでしょうか。

ハードディスクやDVD/CDドライブのように、 大電流を要求しそうなUSBデバイスは、 その中身のドライブの消費電力を確認しておいたほうがいいかもしれません。 2.5インチハードディスクの場合、 仕様が5V±5%、起動時4W(800mA)なんてのもありますから、 こういうのは「バスパワーでもOk」と書かれていても、 別売りのACアダプタを使うのが安心だと思われます。

最近のポータブルハードディスクには、 ACアダプタ用の電源端子を装備していないものもあるようです。 まさに「USBバスパワーから『しか』」給電しないというものですが、 中身のハードディスクはよほどの省エネなんでしょうね。 その中身の型番を教えて欲しいものです。


●ブースターケーブル

「1ポート500mAまでだから、2ポート使えば1Aまでとれるよね」ということで、 一つのデバイス(Bコネクタ)に二つのAコネクタがついているケーブルがあります。 これも本当に意味あるの? という気がしないでもありません。 という疑問が残ります。 もし、保護回路の入っていないもので、 二つのUSBポートのVBUSの電位が違っている場合は(あまりないでしょうけれど) 回路をショートしていることになるので、どうかなぁ…という感じです。

また、コンデンサでも使っているのかもしれませんが、 一つのAコネクタで「電気を蓄えるブツ」がぶらさがっているケーブルがあります。 中身がどんな回路か不明ですが、 安定時は500mA以下で、たまに瞬間的に電流を要求するようなデバイスには 有効かもしれません。 でも、「電気を蓄えるブツ」をUSBの電源にぶら下げても大丈夫なんでしょうか。


●USBポートの電圧

USBポートの電圧は5V (あるいは5V±5%)と言われていますが、 仕様書にはどのように書いてあるでしょうか。 「Chapter 7 Electrical」(pp.115〜)の 「7.2.2 Voltage Drop Budget」(p.175)には、
とあります。 ということで、5V(±5%)とは言われていても、 仕様上は4.4V〜5.25Vです。

なお、この電圧はホスト側(パソコンやハブのAコネクタ側)の電圧なので、 デバイス側の電圧はもう少し下がる可能性があります。 これについても仕様書にはもう少し詳しい説明があります。

今どき74LS TTLでロジックを組むことも少ないでしょうが、 74LSシリーズの推奨動作電圧は4.75V〜5.25Vなので、 ヘタをすると「動かなくても仕様上文句は言えない」ということになります。


参考情報


連絡先などはこちらをご覧ください
Copyright (C) 2010 by Dai ISHIJIMA