USB 2.0と3.0について知っておくべき10のポイント

文:Alan Norton 翻訳校正:石橋啓一郎
2010-01-15 15:46:01
  • このエントリーをはてなブックマークに追加

6.電源

 USBがシリアルプロトコルやパラレルプロトコルに比べて革新的だったのは、仕様に電源が追加されたと言うことだ。USBデバイスを接続すれば、ホストのコンピュータから給電することができる。

 USBデバイスが必要とするを電力を調べるには、前述のようにデバイスマネージャーでユニバーサル シリアル バス コントローラーの項目を展開して、[Generic USB Hub](この例の場合)か[USB Root Hub](図B)を右クリックし、[プロパティ]を選んで、[電力]タブをクリックする(図D)。

デバイスマネジャーの電力タブ
図D

 USB 3.0の仕様では、多くの電力を必要とするデバイスのために、供給される電流が高められている。 表Eに、ポートあたりの最大電流供給能力をまとめた。

最大電流供給能力
表E

 さまざまなデバイスとデバイスの状態に対応するため、USB 3.0では4つの基本的な電源の状態が用意された。USBハブと電源について詳しく知りたければ、Greg Shultz氏の記事「Understand and exploit USB topology in Windows XP」を参照してほしい。

注意:USB 3.0の仕様には、アイドル状態やスリープ状態を含む、電源の状態についてより詳しく記述されている。

7.制約

 この記事ではすでに以下のようないくつかのUSBの制約について議論してきた。

  • 最大データ伝送レート
  • 実際のデータ伝送スループット
  • ケーブル長および合計ケーブル長
  • 電力

 ほかにも、知っておくべき制約がいくつかある。

 おそらくこれが問題になることはないだろうが、1つのコントローラーにつきデバイスの数は127台までとなる。

 USB 2.0のEnhanced Host Controller Interface(EHCI)ホストコントローラーには、帯域の合計が60Mバイト/秒までという制約があり、この帯域が接続されているすべてのHigh-Speed USBデバイスで共有されることになる。たとえば、デジタルビデオカメラと外付けハードディスクという2つのHigh-Speedデバイスを同時に使った場合、後から接続したデバイスは低いデータ転送レートで動作するか、USB Controller Bandwith Exceededエラーが生じる可能性がある。もしシステムに2つのEHCIホストコントローラーがあれば、High-Speedデバイスの1つを別のUSBポートに移すことで、帯域が不足して生じるエラーを回避できるかもしれない。英語版Wikipediaには、2つ以上のEHCIホストコントローラーを持つI/Oコントローラーハブのリストが掲載されている。

 Windows上でそれぞれのUSBデバイスに割り当てられている帯域を知りたい場合はどうすればいいだろうか。このMSDNの記事によれば、Vista以降のWindowsでは、デバイスマネージャーから調べることができる。

 「Windows Vista以降では、ユーザーはデバイスマネージャーでコントローラーのプロパティをチェックすることで、USBコントローラーがどれだけの割り当てているかを調べることができる。それには、該当するコントローラーのプロパティを選択し、[詳細設定]タブを選択する。この表示では、USBハブがトランザクション変換のためにどれだけの帯域を割り当てたかという情報は示されていない。

 デバイスマネージャーのUSBコントローラーが消費した帯域幅を表示する機能は、Windows XPでは適切に動作しない。」

  • 新着記事
  • 特集
  • ブログ