【基礎から学ぶ通信方式】 シリアル通信を利用した通信規格⑥ ~RS-232とRS-422とRS-485ついて~

IT
スポンサーリンク
スポンサーリンク
スポンサーリンク

LANWi-FiBluetooth…私たちは日常的に様々な通信を当たり前のように利用しています。
とりあえず説明書に書かれている通りに設定をするだけで、簡単にインターネットに接続できたり、ワイヤレスイヤホンとスマートフォンを接続できたりと便利ですよね?
ただ、そういう通信方式があることはわかっていますが、その概要まではよくわかっていないのではないでしょうか?
ということで、様々な通信方式について調べてまとめてみたものが本記事となっています。
ちなみに、私の専攻分野は電気なので、素人が理解できるまで調べてまとめた内容となっており、初心者でも比較的わかりやすくまとめてあるとは思います。

今回は、「RS-232とRS-422とRS-485」についての説明です。

1.初めに

シリアル通信の方式というと、SPI通信・I2C通信・UART通信のような種類が存在します。
データの入出力ラインの本数が異なったり、クロック信号があったり無かったりなどの差はあれど、何れもシリアル通信の一種となります。

これらとは別に、シリアル通信を利用した通信規格がいくつか存在します。
例を出すと、Ethernetなんかが有名ですね。

今回は、そんな通信規格の1つであるRS-232・RS-422・RS-485について解説していきます。

2.RS-232/RS-422/RS-485の命名則について

各々の説明に入る前に、RS-232/RS-422/RS-485の命名則から説明しておきます。

RS-232/RS-422/RS-485は、EIA[Electronic Industries Association(米国電子工業会)]で規定された通信規格です。
EIAの規格としての正式名称・元々の番号がEIA-RS-232という表示なので、それを略してRS-232と呼んでいるわけです。

RS-232/RS-422/RS-485の後ろにはA・B・C・Dなどのアルファベットが付いていることがあります。
これはバージョン情報を表しています。
RS-232CやRS-422Aという具合になっているので、アルファベットがAに近いほどバージョンは古いと覚えておきましょう。

ちなみに、RSは[Recommended Standard]の略称です。

3.RS-232/RS-422/RS-485の説明

では、RS-232/RS-422/RS-485の説明に移ります。

RS-232/RS-422/RS-485の簡単な説明は以下の通りです。

3-1.RS-232とは?

RS-232とは、一昔前のPCには標準的に搭載されていた、最も広く使われていたシリアル通信規格です。

通信の動作モードはシングルエンドになっています。

接続するコネクタ形状が規定されていて、D-Subの9ピンもしくは25ピンを使用します。

RS-232の中でもRS-232Cの使用率・知名度が高いので、RS-232という規格自体をRS-232Cと混同している方がたまにいますが、最初に述べたように後ろのアルファベットはバージョンを表しているだけです。

また、RS-232DやRS-232Eを使用していたとしても、一般的にはRS-232Cと呼んでいるケースが多いので、あまり気にしない方が良いかと思います。

RS-232は長距離通信には向いておらず、通信は1:1でしかできません

3-2.RS-422とは?

RS-422とは、RS-232の伝送距離・伝送速度の改良をしてできた通信規格です。

通信の動作モードを差動信号にすることで、これらの性能向上を図っています。

接続するコネクタ形状は規定されていませんが、RS-232同様にD-subの9ピンもしくは25ピンを使用していることが多いです。

通信は1:Nの接続が可能です

3-3.RS-485とは?

RS-485とは、RS-422の接続台数を改良してできた通信規格です。
1:Nの通信だったところが、N:Nの通信が可能になっています。
なので、単純にRS-422の上位互換がRS-485と言えます

同一データライン上に複数の装置を接続できるようになっています。
1本のケーブルで全ての機器を接続するマルチドロップ形式というヤツです。

接続するコネクタ形状は規定されていませんが、RS-232同様にD-subの9ピンもしくは25ピンを使用していることが多いです。

RS-232⇒RS-422⇒RS-485と機能が進化していったわけですが、互換性は無いので注意は必要です。

最近のPCはどんどん薄くなっているからか、D-subを使用するRS-232/RS-422/RS-485用のポートが搭載されていることは減っています。
USB・HDMIなんかの小型のポートが普及してきましたからね。

ただ、PCと接続する相手側の制御機器・計測機器などはRS-232/RS-422/RS-485になっていることは未だにあります。
というより、よくあります。

昔からずっと安定して動作しているので、わざわざ変更しないでそのまま使用しているのです。

ちなみに、ピン配列や信号の種類などはRS-232/RS-422/RS-485で共通というわけではありません。
なので、実際に使用する機器がRS-232/RS-422/RS-485のどれに対応しているか、何ピンのD-subを使用しているのかなど、説明書をよく確認するようにしましょう。
同じD-subの9ピンでもピン配列が違っていることって普通にあるんですよ。

4.RS-232/RS-422/RS-485の特徴の比較

RS-232/RS-422/RS-485の特徴を比較すると、以下の表のようになります。

RS-232RS-422RS-485
動作モードシングルエンド(不平衡型)ディファレンシャル(平衡型)ディファレンシャル(平衡型)
接続可能台数1ドライバ1レシーバ1ドライバ10レシーバ32ドライバ32レシーバ
最大伝送距離
(最大ケーブル長)
15m1200m1200m
最大伝送速度20kbps10Mbps10Mbps
表1

5.伝送方法のイメージ

次は、伝送方法のイメージについてです。

RS232に関しては単純です。
信号線とGNDを繋いで、信号データがGNDより大きい電圧か小さい電圧かでHighレベル/Lowレベルを判断するだけです。

問題はRS422とRS485です。

RS422とRS485は、4線式2線式の接続方式が存在します。
4線式がいわゆる全二重方式(送信用と受信用の伝送路をそれぞれ用意し、送受信を同時に可能な方式)で、2線式が半二重方式(1つの伝送路を用意して、送信と受信を切り替えながら通信をする方式)です。

接続イメージは以下の通りです。

図1:4線式/全二重方式
図2:2線式/半二重方式

機器ごとにデータ送信ピン(TXD+とTXD-)とデータ受信ピン(RXD+とRXD-)を持っているので、2本1組で機器同士を接続するのが基本です。
差動信号なので、+側の信号を反転させたものが-側の信号になります。

また、実際はツイスト線になっていることに加え、GNDも繋いで共通化してあります。

4線式は各機器のデータの入口と出口をそのまま利用するので、機器Aのデータ出口(TXD+/TXD-)と機器Bのデータ入口(RXD+/RXD-)、機器Aのデータ入口(RXD+/RXD-)と機器Bのデータ出口(TXD+/TXD-)を相互に接続しています。
だから送受信が同時に可能です。

それに対して2線式は、TXD+とRXD+、TXD-とRXD-のラインを短絡させています。
その為、機器Aを送信/機器Bを受信として使用する場合と、機器Aを受信/機器Bを送信として使用する場合の経路が存在します。

図3

その為、送受信を同時に行おうとすると信号がぶつかってしまうので、片側交互通信しかできません。

基本の伝送方法のイメージは上記の通りです。

ただ、RS-232とRS-485は接続可能台数が1ドライバ1レシーバではありませんでしたよね?
ということで、接続台数を増やすことが可能です。

図4 全二重で接続台数を増やした時の配線例

これより接続台数が増やす場合も、同様にぶら下げていくだけです。
これがマルチドロップ形式のイメージです。

ちなみに、実際の配線では信号の反射を抑えるために終端抵抗というものを入れる必要があります。

通常、終端されていないケーブル(末端が途切れた状態)に高速な信号を流すと、信号が反射してきます。
反射が起こると、送信されてきた信号と反射波が合成され、波形が乱れるのです。

普通の波を想像してもらえばイメージがしやすくなります。
波が防波堤にぶつかると、ぶつかった波が跳ね返ってきますよね?
これと同様に、ケーブルの行先が突然途切れたら、信号波が跳ね返ってしまうのです。

ですが、防波堤が無ければ波はそのまま進んでいき、乱れることはありませんよね?
その役割を果たすために終端抵抗を入れます。

RS485の場合、端末の最終位置・一番遠い場所に終端抵抗を入れます
マルチドロップで接続している途中の端末には終端抵抗は入れません。
名称通り、“終端”になる位置にのみ終端抵抗を入れます。

図5

終端抵抗の抵抗値は接続ケーブルの特性インピーダンスに合わせる必要があります。
100Ωか120Ωになっていることが多いです。

6.UARTとの違い

シリアル通信の種類の1つにUART通信というものがありますが、RS-232/RS-422/RS-485と説明が似通っています。
UARTの通信ラインの名称もTXD/RXDですからね。

UARTとRS-232/RS-422/RS-485の関係は、簡単に述べると以下の通りです。

UARTの信号をRS-232/RS-422/RS-485という通信規格を用いて通信している。

要するに、UART通信を行うための方式の一つがRS-232/RS-422/RS-485になっていることがあるというだけです。

以上、「RS-232とRS-422とRS-485」についての説明でした。