歩き遍路 平成19年春(J1) 記録の準備

USBの基礎
   USB機器の接続と通信の概要


 USBを始めた頃、右の絵を見て何を説明しているのか分かりませんでした。
 何やら、今まで使ってきたRS−232Cの様な一対一のインタフェースと違うなと考えさせられました。
 ここでは、今まで調べてきたことを私なりに整理しながら記録していきます。



●パソコンとUSB周辺機器の物理的な接続

 パソコンと周辺機器を接続する場合、今までは左下の様なパソコンからスター状の接続でした。
 この接続では、接続する周辺機器の数だけのケーブルがパソコンに集まるのでパソコンの裏側はケーブルだらけです。
 パソコンからは一本のケーブルを出し、ケーブルの途中で分岐する八岐大蛇の様なケーブル等いろいろ知恵比べが有りましたがパソコンの裏は堅いケーブルだらけは解消されませんでした。


  


 USBは、右上の様なパソコンと周辺機器を一本の細くて柔軟なケーブルで芋づる方式で接続します。
 このUSBの一本の細くて柔軟なケーブルは、次の技術を集大成してケーブルの削減を果たしました。
 ・半導体の高速化と高集積度により、高速通信が可能に成った
 ・インターネットで使われているパッケット通信の採用
 ・パソコンの高速化とOSの発展
 
 ケーブルの構成を右に示します。
 たった4芯しか有りません。そのうち2芯は電源用で信号は2芯だけです
 この2芯で高速通信しているのです。



●USBの論理的な接続

 パソコンを使用者やアプリケーションソフトを作るプログラマには周辺機器はどの様に見えるのでしょうか。芋づるみ見えるのでしょうか。
 又、右の絵が出てきます。この絵の様にアプリケーションソフトと周辺機器が一対一で接続されてるように見えます。
 これは、OSと周辺機器のコントローラがパッケット通信を使って芋づる方式を一対一接続方式に変換しているのです。





●芋づる的な物理構成で、一対一の論理構成を実現するには

  USB通信のパケットの流れとパケットの時間関係を下に図に示します。
 USB通信のパケットの流れの図は、1台のパソコンがホストになってHUBを経由して複数の子機(デバイス)とシリアルでパケット通信している様子を示しています。子機は、プリンタとスキャナとUSBキーボードです。親機のパソコンから、SOFパケット、K/Bパケット、PrmパケットとScanパケットが出力するので、各子機は自分宛の一個以上のパケットを取り込んでいます。
 パケットの時間関係の図は、1mSを一区切りとしたフレームにパケットを詰め合わせて通信している様子を示しています。1mSのフレームは、先頭にSOFパケットを置きパケットが続いています。データが複数のパケットで構成される場合、複数のフレームが使われることが有ります。
 ここで注意する点は、親と子の通信は1mSを単位としていることです。これは、パソコンの応答が1mSを単位になることです。実際の応答は数十mSになるのでモータ等を精密に制御が難しいのです。

 子機から親機にデータを渡す場合、親機からの読み出し指令パケットを子機が受信したら速やかに子機のデータを同じUSBケーブルを使って親機に送ります。






●4つの転送形態と実効転送速度(予想)

 下図に、4つの転送形態と実効転送速度(参考)を示します。
 実効転送速度は、エンドポイントの容量や転送パケットのバイト数やデバイスドライバによって変化します。例えばFTDI社のFT245では、D2xxxドライバの場合1MB/s、VCPドライバの場合300kB/sとDataSheetに書かれています。




ホームへ戻る