USBについて #1

株式会社リュディアです。前から整理したかった USB についてまとめてみます。

皆さんも日常的に使っていると思います。PCやスマートフォンの充電、PCと周辺機器の接続など。ただバージョンや形状がいろいろあって何が何だかわからない、というのが正直なところではないでしょうか。私も今回まとめるにあたって認識がぼんやりしているところを再度調べなおしました。一緒に理解する、という程度のつもりで読んでもらえばありがたいです。

まず USB についてです。登場は 1996年ですから既に 15年くらいになるんですね。Universal Serial Bus の略です。シリアル通信とは元々は1本の接続でデータ通信を行うことです。反対はパラレル通信で複数の通信のための接続を使ってデータ通信を行うことです。25年くらい前には PC とプリンタの接続はパラレル通信を使っていました。パラレル通信の方が複数の接続を使うのでたくさんデータを送れそうです。なぜシリアル通信になってきたのでしょうか。

例えば PC からプリンタにデータを送る場合をイメージしてください。パラレル通信の場合は PC からプリンタに複数の接続を使ってデータを送ります。このとき複数の接続で送られるデータはプリンタに同時到着する必要があります。この規則が満たされないとプリンタ側は受け取るべきデータがいつ到着したかわからないですよね?

しかし実際にはパラレル通信でデータを送る場合には、このデータの到着時刻のばらつきを保証することが難しくなってきました。ちょうど Intel の Pentium が発売された時期でクロック周波数が 100MHz を超えだしたあたりです。クロック周波数が 100MHz というのは、どんな感じなのでしょうか?以下の図をみてください。

クロックサイクルの説明

1クロックサイクル以内のずれで到着してほしいと思っても、10ナノ秒の範囲と言われると難しいことがわかりますよね。そこで一本の線で超高速に送ればよいのではないか、という発想の転換を行い提案されたのが USB に代表されるシリアル通信技術です。例えば 32本のパラレルデータ通信をしていた環境を1本のシリアル通信に置き換えるには 32倍の速度でデータを送る必要があります。それでも1本のシリアル通信でデータを送っている限りはデータの到着時刻のずれを気にする必要がなくなります。

USB だけではなく、今はシリアル通信が主流になっています。皆さんのおうちで TV や PCのモニタを接続する際に使っている HDMI や DisplayPort も高速シリアル通信を使っています。厳密には今は高速シリアル通信を複数並べて使っているので高速シリアル通信をパラレルに使う、という雰囲気になっています。

今回は高速シリアル通信の必要性についてまとめました。今回は到着時刻のずれ、いわゆるデータスキューと言われる現象だけに言及しましたが、厳密にはクロストークなど他の問題を解決することも兼ねています。次回から USB の規格内容についてまとめていきます。

では、ごきげんよう。



この記事が気に入ったらサポートをしてみませんか?