はじめに
こんにちは、ぐぅです。暦の上では春ですがまだまだ寒さに震えています。
今回は UART を使用したシリアル通信についてのお話です。
UART ( Universal Asynchronous Receiver Transmitter )とは…
シリアル信号をパラレル信号に変換したり、その逆でパラレル信号をシリアル信号に変換したりする通信回路のこと。
ここでよく分からない単語が出てきました。
「シリアル信号」と「パラレル信号」、それぞれはいったい何なのか?
これらはシリアル通信、またはパラレル通信でやり取りされる信号(データ)のことです。
と言われてもよく分からないので、シリアル通信とパラレル通信がどう違うのか以下で説明します。
シリアル通信とパラレル通信について
シリアル( Serial :連続的な)通信とは…
文字が縦一列になって順番に運ばれてくるような通信方法です。
正確には、 1 クロックで 1 ビットのデータが送られます。
注:上図の四角形 1 つを 1 ビットと見なす
一方、パラレル( Parallel :同時進行の)通信とは…
文字が横一列になって一気に運ばれてくるような通信方法です。
正確には、 1 クロックで送られるビット数が 2 以上(例: 8 ビット)になります。
( 1 クロックで送受信できるビット数はその環境によります)
注:上図の四角形 1 つを 1 ビットと見なす
こう見ると、シリアル通信よりもパラレル通信の方が一気にたくさんの文字を運ぶ(送受信する)ことができて便利な気がしませんか?
しかし!実は世間ではパラレル通信よりもシリアル中心の方が主流なのです!
なぜでしょう???
その謎を解く鍵は「通信速度の高速化」にあります。
シリアル通信が主流な理由
パラレル通信について考えてみます。
8 ビットのデータを受信するとき、本来ならば上図のように全ビットデータが足並み揃えて受信されます。
しかし、配線が下図のようになっていたらどうなるでしょうか?
配線が曲がっていることによって、配線の長さが変わってしまいます。
この配線長の違いによって微妙~にデータの到達時間が変わってしまい、
以下のように全部のビットが同じタイミングでは受信されなくなってしまいます。
注:上図の四角形 1 つを 1 ビットと見なす
もし通信速度が遅い(= 1 クロックの間隔が広い)場合は、
1 回目のクロックと 2 回目のクロックの間に全データの受信が完了するため問題ありません。
しかし通信速度が速くなる(= 1 クロックの間隔が狭い)と、
1 クロックではデータ全てを送りきることができなくなってしまいます。
シリアル通信を使えば、どんなに通信速度が速くなってもデータは 1 ビットずつ順番に受信されるため、
パラレル通信のような問題は起こらないのです!
このような理由から、通信速度が高速化されている昨今ではパラレル通信よりもシリアル通信の方がメジャーになっているということでした。
まとめ
シリアル通信とパラレル通信の違いは、 1 クロックで送受信できるデータの大きさ(ビット数)である。
通信速度の高速化により、シリアル通信が主流になりつつある。
ぐぅのつぶやき
配線の曲がり方でデータ転送速度に影響が出てしまうなんてビックリだなぁ。
おまけ
パラレル通信をする際にデータの転送速度を等しくする工夫として「等長配線」
というものがあります。
配線の長さを等しくすることで、全データが同じタイミングで送受信されるようにしています。
意外と身近なシリアル通信
代表的な UART として、ナショナルセミコンダクター製の 16550A があります。
また、シリアル通信の規格としては RS232C 等があります。
みなさんも一度は目にしたことがあるはずです!