数あるインターフェースの中でもっとも有名ではないかとおもわれるUSBについての解説です。 USB(Universal Serial Bus)は、従来のパソコンの各種インターフェースを統合する目的で開発された、 第2世代型シリアルインターフェースです。 USBによりパソコンの周辺デバイスを接続するために使用していたケーブルが1種類ですむようになり、すっきりとした配線が可能になりました。 また、統一されたインターフェースの採用により、デバイスの新規開発等も容易になりました。又、USBは本格的にプラグ・アンド・プレイを 実現した初めてのインターフェースであり、周辺デバイスの使い勝手の向上にも一役買いました。そんなUSBにもいくつか規格が存在するので 羅列してみました。 USB仕様Rev.1.0 (1996年1月発表)Windows95OSR2より実装 USB仕様Rev.1.1 (1998年9月発表)Windows98より実装 USB仕様Rev.2.0 (2000年4月発表)WindowsXPから順に実装 Rev.1.0とRev.1.1の仕様には大きな差がなく、1.0で確認された問題点を解消するために1.1作られました。 しかし、2.0への変更は大きく、特にハードウェアの凄まじい速さの進化に追いつくため転送速度の点で大きく変更されています。 1.5Mbps(ロースピード)と12MBps(フルスピード)の転送速度を持つ1.1に対して、2.0では新たに480Mbps(ハイスピード) の速度が加えられ更なる高速転送が可能になりました。 |
USBのシステムでは通常パソコンに搭載している1つのホストを司令塔として、ホストとそれに接続したデバイスの間でデーター通信を行います。 ですので、デバイス同士のデーター通信は一度ホストを中継することになります。USBのポート(接続用窓口)を増設するデバイスにHUBがあります。 ホストもHUBの内に含まれ、「ルートハブ」と呼ばれています。 USBの接続形態は「ピラミッド型」となっており、その頂点にルートハブが来る形で最大127台(ホスト除く)のデバイスを接続することが可能です。 USBで仕様する信号はほかの接続インターフェースと異なりとてもシンプルで、1対の差動型双方向データ通信と電源及びグランドの4本で 形成されています。又コネクターにはAタイプとBタイプの2種類がありデバイス同士またはホスト同士の接続ができないようになっています。 |
先ほど書いたようにUSBには電源信号線がとられており、ホストからデバイスに電源を供給できるようになっています。 そのためデバイスは電源を持つ必要がなく(大電量を必要とするものはACアダプターから給電)利便性の向上に貢献しています。 USBデバイスはその消費する電流及び供給形態に応じていくつかに分類されます。 ローパワーデバイス:最大100mA ハイパワーデバイス:最大500mA バスパワーデバイス:USBバスからの給電 セルフバスパワーデバイス:自己電源からの給電 電源の供給には特にハブとデバイスとの接続において注意が必要で、バスパワーのハブにハイパワーのデバイスが接続できないようになっています。 これは、バスパワーのハブではダウンストーリムに対して各ポート最大100mAの電流しか供給できないためです。 |
USBには4つのデータ通信方式が採用されています。 ○コントロール転送 USBシステムにおけるデバイスのID発行や、接続構成情報のやり取りに使用する制御用転送方式。すべてのUSBデバイスが対応している。 ○バルク転送 大量のデータを転送する際に使用する転送方式で、データの転送速度が保証されない代わりにデーターの信頼性が保たれている。 プリンターやスキャナ、モデムなどのデバイスに適した転送方式。 ○アイソクロナス転送 一定時間内に一定のデータを転送する(1MB/秒)場合に使用される転送方式で、データの信頼性を犠牲にして転送速度を保証している。 ○インターラプト転送 一定周期で少量のデータを転送する(62.5KB/秒)場合に仕様される転送方式。マウスやキーボードに使用される。 |
Rev.2.0と1.Xの転送速度の差が大きいため混在環境ではホストのデバイス制御方式が若干変わってきます。USB2.0のハブに 対して1.Xデバイスが接続されると、下記のような作業が行われます。 1:ホストが転送開始の合図である「スタートスプリットパケット」を送信。 2:続けてホストがリクエストとデーターを送信し、USB2.0ハブに一時的に保管。 3:USB2.0ハブがホストに対して受信完了通知を送信。 4:ホストはこれを受信し、スプリット転送が完了したか尋ねる「コンプリートスプリットパケット」を送信。 5:USB2.0ハブはUSB1.xデバイスに対してホストから受け取ったデーターを送信。 6:この送信作業が完了できなかったっ場合は、コンプリートスプリットパケットに対して再送要求を送信。 7:5の作業が完了した場合はUSB1.xデバイスがUSB2.0ハブに対して完了通知を送信。 8:これを受けたUSB2.0ハブはホストのコンプリートスプリットハブに対して完了通知を返答。 以上で一通信単位が完了したことになります。この一連の動作を「スプリットトランザクション」と呼び、これを利用 することで、それぞれのデバイスが適切な大域を確保することが可能になっています。 |
以上の文章は、USBインプリメントフォーラムで公開されている資料に基づき、私なりにまとめてみました。 一部情報は今回の解説には書いていないので、USBインプリメントフォーラムの方をご覧いただければとおもいます。 次回の解説はIEEE1394についてです。では、今回はこの辺で。 |