USBケーブルはなぜいろいろな装置に使えるのか?
ディスプレイやキーボード、プリンタなどとパソコンとの接続にはUSBケーブルが多く使用されています。 以前は、パソコンの各機器にはそれぞれ別の、しかも太い線で大きなコネクタが付いたケーブルが使われていました。例えば、ディスプレイにはD-sub15ピンというRS-232C (Recommended Standard 232 version C)、マウスやキーボードにはPS/2(IBM Personal System/2で採用されたもの)、プリンタにはパラレルポート、外付けハードディスクにはSCSI (Small Computer System Interface:スカジーと発音)といったケーブルでした。これらは、今はあまり使われていない*のでレガシー(遺産)インターフェースと言われています。
図1 D-sub15ピン(ミニ) |
図2 PS/2キーボードコネクタ |
図3 パラレルポート(出典:Wiki「Puerto paralelo」) |
図4 SCSIセントロニクスハーフ50ピン |
現在は、USBケーブルを使うことでパソコンとの接続が楽になりました。殆どの機器とはUSBケーブルで接続することができ、最大127台までのUSB機器を同時に使用できる、家電のようにパソコンや機器が動いていても自由にケーブルを着脱できる(なかには停止する手順の警告を表示する機器もあります)など、とてもユーザーフレンドリーになりました。
図5 USBケーブル
USB(Universal Serial Bus)規格は1996年にUSB1.0として発表され、1998年にはUSB1.1がWindows 98とMac OS 8.1への正式サポートになり拡がり始めました。この時の通信速度は最大12Mbpsでしたが、その後はUSB2.0で480Mbps、USB3.0で5Gbpsに達するなど速度の向上がなされました。
ところで、なぜ同じUSBケーブルでいろいろな装置が接続できるのか。これについて説明したいと思います。
パソコンを使用する際、画面を見ながらキーボードとマウスを使って内容を修正する、別のファイルの印刷を行う、バックグラウンドで音楽を流す、などを同時に行うことがあります。これらの作業をするには、ディスプレイやキーボード、マウス、プリンタ、スピーカーとパソコンとのデータのやりとりを同時に行っているはずです。USBケーブルはハブという分岐機器でケーブル数の増やす(タコ足配線のようなもの)こともできるので、USBケーブルにはどのケーブルでも同じ信号が流れていることになります。各機器へ、あるいは、各機器からのデータを1機器ずつ順番に送るのではなく同じ時間に送るためには、各機器のデータを短い時間で分割し、その分割データを正しい行き先に送る方法が必要になります。
USBケーブルに流れるこのデータについて、もう少し詳しい説明をします。
USBケーブルに流れる実際のデータは、「フレーム」と呼ばれる単位で通信されています。このフレームは1ミリ秒周期(ハイスピードと言われるモードでは125マイクロ秒周期)で送られ、すべてのデータがこのフレームの中に入っています。一つのフレームは、下図のように、「SOF(Start of Frame)」と複数の「トランザクション」から成り立っています。SOFは新規フレームの開始を示します。
トランザクション(処理単位)には、①どのUSB機器のデータか、読み込みか書き込みか(トークンパケット)、②データ(データパケット)、③データが正しく受信されたか(ハンドシェークパケット)、などの情報が入っています。
この信号が各USB機器に到達すると、自分のところに来た信号であることを識別して、データを取り込み(書き込み)、最後にきちんとデータが取得されたことの信号を送ることになります。
図6 USBケーブルの中の信号"
ところで、なぜUSBケーブルの線数はたったの4本で済むのでしょうか。
4本のうち2本は電源(+5V)とグランドの線で、残りの2本は信号線です。USBの信号はNRZI(Non Return to Zero Inversion:非ゼロ復帰反転)方式というもので、情報として'0'を送るときに両信号線の電圧を反対にさせ,また'1'を送るときにそのままの電圧を保持します。両信号線が共に低い電圧レベルであれば、リセット状態になります。その他にも信号線の電圧レベルでいろいろな工夫がなされています。
いずれにしても'0'と'1'との信号を送ることになりますが、レガシーインターフェースでは、信号を送る量が多いときには数本から数10本の線に分けてパラレルで信号を送らざるを得ませんでした。通信技術の進歩により高い周波数で送れることができるようになったことがUSB誕生の基と思われます。
図5のUSBケーブルはパソコンなどに接続するタイプAですが、他にタイプBやタイプCもあります。また、スマホやデジカメなど小型の機器には種々のミニやマイクロのUSBがあり、似てはいるが異なったものも沢山あります。今後、統一されていくことを期待しております。