USBハブ
接続できるUSB機器数を増やす機械
概説
USBハブとして一般的に知られているものには口が4ポートのものがある。
ポート4つが横に長く並んだものや、2×2に四角くまとめられたもの。また、USBハブ本体のサイドだけでなく、上面にポートが付いたもの。自由な向きからさせるように、USBハブ本体からUSBケーブルが何本かに分かれて伸びた先に、それぞれポートがあるものもある。また、ポートが16つと多く備えられたものなどもあり、各社から形状やデザインにこだわった様々なものが出されている。大きさは手の平に乗る程度のものがほとんどで、持ち運びに便利である。
一般的に、パソコン本体にあるUSBポートは2,3個程だが、外付けHDD、プリンタ、マウス、キーボードからWEBカメラ、卓上扇風機などUSB対応機器の増えた今日では、これら周辺機器を使うにはUSBハブが有効である。上に挙げた例のほかにも、ディスプレイの背面に3個口程のポートが付いている例もある。
技術解説
USBハブの仕様は、USB本体の規格の一部 (USB 2.0 Specification , Chapter 11) として規定されている。
USBハブはUSBの規格上ホストコントローラとデバイスの間に入って動作する重要な役割を持つ。
主な役割として以下のものがある
●デバイスの接続検出
●デバイスの通信速度検出
●デバイスへの電源供給とその管理
●信号の分配
●通信速度変換(USB 2.0)
USBハブは自身が持つ下流のポートに対して電源(VBUS)の供給をON/OFFできるものがある。このON/OFFはホスト側から指令することができる。USBハブがこの機能を持つかどうかをホストに通知するプロトコルも仕様で定められている。現実には、この機能を持つと報告するものの外部の電気回路が省かれているためONになったままという仕様違反のハブが数多く見られる。
USBハブが持てる下流のポート数はUSB仕様上は255個である。現実のUSBハブの実装では7個が上限となっている。4個以下のものが極めて多い。
実際の実装で下流ポートが4個である理由はバスパワード動作時のVBUSの仕様に由来しているものと思われる。バスパワード動作時は上流から最大500mA取り出せるが、下流ポート1個につき少なくとも100mA供給する能力が必要とされるためこれを4個つけると計400mAとなり、ハブ自身が使う電力をあわせると4個が最大となる。したがって5個以上の下流ポートをもつハブは必ずセルフパワードでなければならない。
実装で下流ポートが7個が上限になっている理由は、USBハブとホストの間でやり取りされるデータの長さに由来しているものと思われる。このデータの中には下流ポート1個につき1ビットの可変長データがあり、7個までは1バイトで収まるものの8個以上では2バイト以上になってしまう。正しく実装されていない、すなわちこのデータが1バイトしかないと決め打ちされているハブドライバの存在の可能性を恐れて現実の必要性も考慮し実装されなかったものと思われる。
USB2.0において導入されたHigh Speed転送のためUSB2.0規格ではUSBハブは、速度変換機能を持っている。これは上流はHigh Speedで接続している場合で、下流ポートにFull SpeedあるいはLow Speedで通信しているデバイスがある場合に、Full/Low Speed通信はUSBハブ内でいったんバッファリングを行い、改めてHigh Speedで送信する機能である。この変換を実行する部分をTT (Transaction Translator) と呼んでいる。このTTがハブ全体で1つだけ︵ある時点で1つのポートだけがバッファリングできる︶というハブと、複数あるハブと2種類がある。前者はSingle TT,後者はMultiple TTと呼ばれる。この2つはハブからホストに通知されるディスクリプタで区別することができる。
USBハブはそれ自体が一つのUSBデバイスであり、USBアドレスを持つ︵これは、イーサネットのハブがネットワーク上のノードとみなされないことと対照的である︶。
したがってハブについてもドライバが必要であるが、USBに対応したシステムでは、ほとんどの場合、ハブのドライバを備えており、利用者が意識する必要はない。
USBホストコントローラは、ルートハブ (root hub) と呼ばれるハブ相当の回路を内蔵し、通常複数︵UHCIでは通常2個︶のポートを取り出せるようになっている。
コンパウンドデバイス
USBデバイスの中には、ハブを内蔵したものがある。このようなデバイスをコンパウンドデバイス (compound device) と呼ぶ。
コンパウンドデバイスでは、デバイス部分は内部的にハブの下に接続される形になっている。
例として、2ポートのハブを内蔵したUSBキーボードの場合、内部的には、3ポートのハブと、そのうち1つのポートに接続されたキーボードの組み合わせとなっている。
なお、一つのデバイスで複数の機能をもつもの︵ポインティングデバイス内蔵のキーボードなど︶をコンポジットデバイス (composite device) というが、これはハブとは無関係であるため、コンパウンドデバイスではない。
コンポジットデバイスは、複合デバイスとも呼ばれる。