USBインタフェースの仕様にはデバイスへの電源供給能力がある。従来のシリアルまたはパラレルポートから、このように進歩を伴う変化を見せたことによって、PCに手軽に接続可能な装置が一気に増えている。
USB電源の使用方法の1つにバッテリ充電がある。MP3プレーヤやPDAなど多くのポータブル機器は、PCと情報交換を行うため、もしバッテリの充電とデータ交換を1本のケーブルを通して同時に行うことができれば装置の利便性は著しく高まる。USBとバッテリ給電機能を組み合わせると、接続線に「束縛されない」広範な装置群を生み出す。たとえば、取り外し可能なウェブ接続カメラが良い例であり、PCに接続していてもしていなくても動作する。多くの場合、未だに幅をきかせるACアダプタ「壁のこぶ」は必要ないのである。
USBからのバッテリの充電はUSBデバイスからの要求に応じて複雑にも簡単にもなり得る。これによって設計に影響が出てくる範囲は、一般的に語られる「コスト」、「大きさ」、および「重さ」にとどまらない。その他に考慮すべきことは、1) 機器のバッテリが放電してしまっているとき、USBポートにプラグインしたとき、どれくらい速く全機能を動作させることができるか、2) バッテリの充電に許容される時間、3) USBの制限内でのパワー配分、および4) ACアダプタ充電を併用可能とする必要性である。これらに対する問題と解決法は、USBについて電源の観点から議論した後で述べる。
USB電源
PCやノートブックなどホストUSBとなるすべてのホスト装置は、各USBソケットで最低500mA、または5 「単位負荷」を供給することができる。USBの用語では、「1単位負荷」は100mAである。電源内蔵USBハブも5単位負荷を給電することができる。バス給電のUSBは、1単位負荷(100mA)の供給しか保証されていない。USBの仕様に従うと、図1に示すとおり、USBホストまたは電源内蔵ハブから得られる最低電圧はケーブルの装置端で4.5Vであり、他方、USBバス給電のハブでは4.35Vである。リチウム電池を充電する場合は、通常4.2Vを要するため、これらの電圧はほとんど余裕がない。したがって、充電器のドロップアウト電圧が極めて重要となる。
図1. USBの電圧降下(Universal Serial Bus仕様Rev 2.0より)
USBポートにプラグインされるすべての装置はわずか100mAで動作を開始しなければならない。ホストと通信した後、その装置は最大の500mAを使うことが可能であるかを決めることができる。
USB周辺装置は2種類のコネクタのうちいずれかを使う。両方ともPCやUSBホストに使われるソケットよりも小型である。「シリーズB」と小型の「シリーズミニB」コネクタを図2に示す。シリーズBでは、電源はピン1 (+5V)と4 (GND)に、シリーズミニBではピン1 (+5V)と5 (GND)に割り当てられている。
図2. USB周辺装置のこれらのコネクタは、ホストやハブに見られる大型の4端子ソケットとは異なる。電源及びデータ接続用の端子は図の通り。
すべてのUSB装置は、接続されると、ホストに対して自身を認識してもらう必要がある。これを「エニュメレーション」と呼ぶ。このルールには実際上例外があり、この記事の終わりに述べてある。認識のプロセスにおいて、ホストはUSB装置の電源のニーズを判断し、装置が負荷電流を100mA (max)から500mA (max)に増加するにあたりOKを与えるか、否定するかのいずれかを行う。
シンプルなUSB/ACアダプタによる充電
非常に簡単な装置では、使用可能なUSB電源を判別し最適化するのに必要なソフトウエアオーバヘッドが必要ではない場合がある。装置の負荷電流が100mA (USBの用語で「1単位負荷」)に制限されているのであれば、あらゆるUSBホスト、電源内蔵ハブ、またはバス電源ハブにおいても装置に電源供給が可能である。そのような設計に対して、非常に基本的な充電器とレギュレータの構成を図3に示す。
図3. USBから100mA、及びACアダプタから350mAを供給する簡単な充電器では充電器に「エニュメレーション」は必要ではない。それはUSBの充電電流が「1単位負荷」(100mA)を越えないからである。この図では、3.3Vのシステム負荷は常にバッテリから給電される。
この回路では、装置がUSBに接続されるか、またはACアダプタにプラグインされるとバッテリを充電する。同時に、システム負荷が常にバッテリに接続され(この場合シンプルなリニアレギュレータ(U2)を通して)、200mAまでの電源を供給することができる。もし、システムが連続的にその電流量を引き、USBから100mAでバッテリを充電すると、バッテリは放電し続ける。それは負荷電流が充電電流よりも大きいからである。多くの小型システムでは、ピーク負荷は全体の動作時間のほんのわずかな間にのみ起こるため、平均負荷電流が充電電流よりも小さいのであれば、バッテリは充電される。ACアダプタを接続すると、充電器(U1)の最大電流が350mAまで増加する。USBとACアダプタが同時に接続されると、ACアダプタは自動的に優先される。
USBの仕様によって要求される(充電器全般について当てはまると考えたほうが賢明であるが) U1の1つの特性は、電流はバッテリまたは他の電源入力から電源入力へ逆流することが許されないということである。従来の充電器では、これは入力ダイオードによって保証することができたが、USBの最低電圧(4.35V)と要求されるリチウム電池の電圧(4.2V)の電圧差が小さいため、ショットキダイオードさえ使うことができない。この理由によって、逆電流はU1のIC内で阻止される。
図3の回路は、いくつかの充電USB装置には不適切となるような制限がある。一番わかりやすい制限は、比較的充電電流が小さいことであり、もしリチウム電池の容量が数百mAHを超える場合は、充電に長時間を要するということを意味する。2つ目の制限は、負荷(リニアレギュレータの入力)が常にバッテリに接続されているために起こる。この場合、バッテリが過放電しているとシステムはプラグインして即座に動作することができないことがある。それはバッテリがシステムの動作に必要な十分な電圧に達するまでに遅延が生じるからである。
負荷のスイッチング及び他の改良点
高度なシステムでは、充電器内またはその周辺で多数の機能強化が要求されることが多くある。たとえば、電源(USBまたはACアダプタ)の電流能力に合わせた充電電流の選択、電源がプラグインされたときの負荷への給電、及び過電圧保護などがある。図4に示す回路は、充電用ICの電圧検出器で駆動される外付けのMOSFETを使うことによって、これらの機能のいくつかが追加されている。
図4. 外部から電源が印加されたとき、SOT-23型のMOSFETが過電圧保護及びバッテリの遮断などの有用な機能を実現する。アクティブな電源が、バッテリの充電を止めることなくシステムを直接駆動する。
MOSFETのQ1とQ2、及びダイオードのD1とD2は、バッテリをバイパスしてアクティブな(USBまたはACアダプタ)電源を直接負荷に接続する。ある電源入力が有効である場合、そのモニタ出力(UOK\またはDCOK\)はローとなり、適当なMOSFETをオンにする。両方の入力が有効である場合は、DC入力が優先される。両方の入力が同時にアクティブとなることはU1が防ぐ。D1とD2のダイオードは「システム負荷」の電源経路を通して両方の電源間で逆電流が流れるのを防ぐ。一方、充電器には充電経路(BATTの位置)を通して流れる逆電流を防ぐ回路が内蔵されている。
MOSFETのQ2は同様に18VまでのACアダプタの過電圧保護を行う。(直流の)低/過電圧モニタによって、ACアダプタの電圧が4V~6.25Vの場合のみ充電が行われる。
最後のMOSFETであるQ3は、外部に有効な電源がない場合にバッテリを負荷に接続する。USBまたはDC電源が接続されると、パワーオン(PON)出力が直ちにQ3をオフにしてバッテリを負荷から遮断する。このため、バッテリが過放電したり、損傷している場合でも、外部電源を印加すると、システムをすぐに動作させることができる。
USBが接続されると、USB装置はホストと通信して負荷電流を増やすかどうかを決定する。負荷は1単位負荷で動作を開始し、ホストが許可すれば5単位負荷まで増加する。この5対1の電流範囲は(USB用に設計されていない)従来型の充電器では問題となる可能性がある。問題は、従来型の充電器の電流精度は、大電流に対しては十分であるが、通常は小電流の設定の場合に電流検出回路にオフセットが存在するため影響がある。この結果、(1単位負荷に対して)低レンジの充電電流が100mAの制限を決して超えることがないことを保証するために、それを低く設定しなければならず、役に立たなくなる可能性がある。たとえば、500mAで10%の精度であるとすると、出力は500mAを超えないように450mAに設定しなければならない。それだけであれば許容できるが、低レンジでの電流が100mAを超えないようにするためには、標準電流は50mAに設定するしかなく、この場合の最小値は0mAとなる可能性がある。これでは明らかに許容できない。USBによる充電が両方のレンジにおいて有効であるためには、USBの制限を超えない範囲で、できるだけ大きな標準充電電流を流すことができるような十分な精度が必要となる。
設計によっては、システム電源の要求ゆえに、USBの500mA以内の能力で負荷への給電とバッテリの充電を別々に行うのは実際的ではないことがある。しかし、ACアダプタから給電すれば問題はない。図5の接続図は図4を単純化したサブセットであるが、非常に高い費用対効果でこれを実現する。USB電源は負荷に直接給電していないものの、充電とシステム動作はUSB電源で行われる。しかし、システムはバッテリに接続されたままである。制限は図3と同じである。USBが接続されたときにバッテリが過放電していると、システムが動作可能となるまでに遅延が生じる可能性がある。しかし、DC電源が接続されると、図5は、バッテリの状態に関係なく、待たずに図4と同様の動作をする。それはQ2がオフとなり、D1を通してシステムの負荷をバッテリからDC入力に切り替えるからである。
ニッケル水素電池の充電
リチウムイオン電池は大部分のポータブル情報機器に最高の性能を提供するが、ニッケル水素(NiMH)電池は最小コストで設計可能な選択肢である。負荷の要求がそれほど厳しくない場合にコストを低く抑えるには、1個のNiMH電池を使うのが良い方法となる。このためには、DC-DCコンバータを使って、標準1.3Vの電池電圧を、機器が使うことができる値(標準的には3.3V)に昇圧する必要がある。どのようなバッテリ駆動機器にも、かならず何らかのレギュレータが必要となるため、DC-DCコンバータは追加しなければならないものではなく、実際には異なるタイプのレギュレータであるというだけのことである。
図6の接続図は、NiMH電池を充電し、システム負荷をUSB入力とバッテリの間で外部FETを使わないで切り替えるという独特の方法を用いている。「充電器」は実際にはステップダウン型DC-DCコンバータ(U1)であり、電流制限機能を備えて動作する。この充電器はバッテリを300~400mAの電流で充電する。それは精度の高い電流源ではないが、その目的に対しては十分な電流制御を行い、短絡された電池にさえ電流制御を維持することができる。より一般的なリニア方式に対してDC-DCによる充電方式が持つ大きな利点は、制限のあるUSB電源を有効に使うことができる点である。1個のNiMH電池を400mAで充電するとき、回路はUSB入力から150mAしか取り込まない。このため、充電しながら、システムは350mAを使うことができる。
図6. シンプルなNiMH充電/電源構成で、複雑なMOSFETスイッチアレイなしで電源をUSBに自動切替え
バッテリからUSBへの負荷の自動切替えは、昇圧コンバータの出力を使ってダイオードでUSB電源をOR (D1)接続することによって行われる。USBを切り離したとき、昇圧コンバータは出力に3.3Vを発生する。USBを接続すると、D1はDC-DC昇圧コンバータ(U2)出力をおよそ4.7Vまで引き上げる。U2の出力がこのような方法で引き上げられると、それは自動的にオフとなり、バッテリからは1µA以下の電流しか引き出さない。USBが接続されるときに、出力が3.3Vから4.7V出力にシフトすることが許容できない場合、リニアレギュレータをD1と直列に挿入することができる。
この回路の限界は充電の終わりの制御をシステムに依存することである。U1は電流源としてのみ動作し、そのままずっと放置しておくと電池は過充電される。R1とR2は安全限界としてU1の最大出力電圧を2Vに設定する。「充電イネーブル(Charge Enable)」入力は、システムが充電を止める手段、及び必要ならばエニュメレーションの前にUSBの負荷電流を減らす方法として機能する。それは充電器の入力電流150mAは1単位負荷を超えているからである。
親の教えにない現実世界の苦労
どのような標準規格も、実際に行われていることが印刷された仕様からどれほどかけ離れているか、または仕様の中で規定されていない部分がどのようにして実態を現し始めるかを見るのは面白い。USBは、最もよく吟味された、信頼性の高い、有用な規格であることは間違いないが、現実世界の影響を受けなかったわけではない。目立つものではないものの、電源設計に影響を及ぼす可能性があるUSBの特性として以下のものが挙げられている。
- USBポートは電流を制限しない。USBの仕様には、USBポートが供給しなければならない電流値の詳細を規定しているが、供給しても良い電流値の制限はさまざまである。電流の上限は5Aを超えてはならないことになっているが、賢い設計者はそれに頼ってはいけない。いずれにせよ、出力電流を500mAまたはその近傍に制限するのに決してUSBポートを当てにすることはできない。事実、ポートからの出力電流は数アンペアを超えることが多くある。それは、PCのようなマルチポートシステムは、システム内のすべてのポートに対してわずか1個の保護装置しか持たないことが多いからである。保護装置はすべてのポートの合計電力を超える値に設定される。したがって、4ポートを持つシステムは他のポートに負荷が接続されていなければ、1つのポートから2Aを超える電流を供給することができる。さらに、PCの中には10~20%の精度を持つICを使った保護回路を使っているものがある一方で、もっと精度が低いポリヒューズ(自己リセット可能なヒューズ)を使っているものもある。その場合は負荷が定格の100%を超えるまでトリップ(trip)されない。
- USBポートはめったに(決して)電源をオフしない。USBの仕様はこの点に関して仕様を定めていないが、エニュメレーションに失敗した場合、または他のソフトウェアやファームウェアの問題として、USB電源は切断されることがあると考えられている。実際には、USBホストは短絡のような電気的な障害以外にはUSB電源をシャットオフすることはない。これには例外があるかもしれないが、少なくとも私はそれを見たことがない。ノートブックやマザーボードのメーカーは障害保護に対してコストをかけたがらないし、高性能な電源スイッチングについては言うまでもない。したがって、USB周辺装置とホストとの間でどのような対話が行われようとも、5V (500mAまたは100mA、場合によっては2A以上もあるかもしれない)は利用可能である。このことは、USB電源による読書灯、コーヒのマグカップウォーマー、及び通信手段を持っていない他の同様な製品が市場に現れてきていることがそれを裏づけている。それらの製品は「規格に準拠」してはいないが、機能はしている。
{{modalTitle}}
{{modalDescription}}
{{dropdownTitle}}
- {{defaultSelectedText}} {{#each projectNames}}
- {{name}} {{/each}} {{#if newProjectText}}
-
{{newProjectText}}
{{/if}}
{{newProjectTitle}}
{{projectNameErrorText}}