1. 株式会社PALTEK
  2. TECHブログ
  3. 技術情報
  4. RS-232Cからの進化:ノイズに強く長距離対応の「RS-422・RS-485」

TECHブログ

RS-232Cからの進化:ノイズに強く長距離対応の「RS-422・RS-485」

RS-232Cからの進化:ノイズに強く長距離対応の「RS-422・RS-485」

皆さん、こんにちは。

前回のブログ では「RS-232C」について解説を行いました。構造がシンプル・安価で実装が簡単なこともあり広く普及していましたが、システムが大規模化し扱うデータ量も増大するにつれ、「通信距離が短い」「通信速度が遅い」「ノイズに弱い」という弱点が顕著になってきました。これらの課題を解決するために登場したのが「RS-422」と「RS-485」です。

現代ではUSBやPCIといった新たな通信規格も登場するなか、産業機器や制御システムの世界では、これらのシリアル通信規格が今なお重要な役割を果たしています。
ノイズに強く、長距離通信が可能で、複数機器間の通信をサポートするこれらの規格は、多くの現場で不可欠な存在です。
本ブログでは、「RS-232C」の弱点を克服し、より高度なシステム構築を可能にした「RS-422」と「RS-485」について解説します。

1. RS-422

まず、RS-232C改良版としてRS-422が登場しました。正式規格名称はTIA-422です。

平衡伝送通信(差動信号)の採用

RS-232Cでは不平衡伝送(シングルエンド、Unbalanced)方式を採用していました。
RS-422では平衡伝送(差動、Balanced(Differential))を採用してノイズ耐性や伝送距離を改善しています。

不平衡伝送
(シングルエンド/Unbalanced)

不平衡伝送(シングルエンド/Unbalanced)の波形図。5VとGNDの電圧レベルで10011010の2進パターンを表現。

不平衡伝送は、いわゆる一般的な信号線の電圧のHigh/Lowで1/0を表現する方法です。

この方式は、シンプルでコストも安いのですが、ノイズにあまり強くなく、また大きく電圧を変化させる必要があるためにあまり通信速度を上げられない、という欠点があります。電圧を小さくするとさらにノイズに弱くなってしまいます。大きな電圧で長い距離を通信しようとすると送信側デバイスにはドライブ能力(=大電力)が要求されます。

<ノイズ(赤)が乗った時の挙動>
GNDにノイズが乗ると
不平衡伝送におけるノイズ影響図。GNDにノイズ(赤線)が乗ると、信号レベルが上昇し、論理1(High)が論理0(Low)に誤判定される様子を示している
1→0に化けてしまう
データ線にノイズが乗ると
不平衡伝送におけるデータ線ノイズ影響図。データ線にノイズ(赤線)が乗ると、信号レベルが下降し、論理0(Low)が論理1(High)に誤判定される現象を説明している
0→1に化けてしまう

平衡伝送
(差動/Balanced(Differential))

平衡伝送(差動/Balanced)の波形図。D+とD-の2本の信号線を使用し電位差で10011010の2進パターンを表現。

平衡伝送は、データ信号線を+(Positive)と-(Negative)の2本を用意し、この2本の大小で1/0を表現する方式です。GND参照ではなくD+/D-の大小が判別できれば良いため、信号振幅も2Vまで下げられます(RS-232Cは5V必要)。

対GNDではなく、D+/D-間の関係なのでノイズに強くなっており、また長距離の伝送にも向いています。
さらに、この方式では同相ノイズの影響を受けにくく、外部からの電磁干渉にも強いという特徴があります。

<ノイズ(赤)が乗った時の挙動>
GNDにノイズが乗っても
平衡伝送(差動)のノイズ耐性図。GNDにノイズ(赤線)が乗っても、D+/D-間の大小関係は不変のため信号が正確に伝送される。
D+/-の大小関係は不変
データ線にノイズが乗っても
平衡伝送(差動)のデータ線ノイズ耐性図。データ線にノイズ(赤線)が乗っても、D+/D-の大小関係は不変のため信号が安定している。
D+/-の大小関係は不変

※D+/D-の片方だけは不可

長距離で減衰しても
平衡伝送(差動)の長距離通信図。長距離で減衰しても、D+/D-の大小関係は不変のため信号の整合性が保たれる。
D+/-の大小関係は不変

通信速度と伝送距離の向上

RS-232Cは標準速度115.2kbpsです。一部独自改良を加えた1Mbpsや10Mbpsといった製品も出ましたがあまり一般的ではなく、またそれ以上の高速化は望めません。

RS-422は標準で10Mbps(12m)をサポートします。また最大伝送距離はRS-232Cの15mに対し1.2kmです。(ただし通信距離と通信速度はトレードオフ)

RS-422における信号速度と伝送距離の関係を示したグラフ
表1. RS-422におけるデータ転送速度とケーブル長の関係

(出典 : Wikipedia

通信仕様

電気的規定

RS-422では送信側差動信号(TXD+、TXD-)、受信側差動信号(RXD+、RXD-)、GND(SG)の3つの信号線(本数としては5本)で通信を行います。差動信号線各電圧は2V~6V、Common Mode電圧(Offset電圧:TXD+とTXD-の中間電圧)は-3V~+3Vまで取ることが可能です。

また、受信端からデータの反射を防ぐためTerminationを挿入します。

物理的規定

RS-422は実は電気的な規定のみを定めており、ピンの機能については決められていません。またコネクタ形状も規定していません。

これら物理的仕様はEIA-530(DB-25ピンコネクタ)、EIA-449(DC-37コネクタ)、Apple社Mini-DIN8コネクタ(かつてのMacintoshシリーズで採用)といった別の規格で規定されており、実際の機器では物理的仕様とRS-422の電気的仕様を合わせて組み込みます。

通信プロトコル

通信プロトコルは基本的にRS-232C準拠で使用されます(調歩同期方式:スタートビット、8ビットデータ、パリティビット、ストップビット)。※1

RS-232Cと同様、0/1の信号を流すだけで通信データ内容には関与せず何らかの演算も行いません。RS-232Cの上位規格のためRS-232Cとの変換機器も市販されています。

※1
上述の通り、RS-422自体はかなり緩やかな規定なので、独自のプロトコルや機能を実装することも可能ですが、あまり標準から逸脱すると他の市場機器との互換性がなくなります。

1 : N通信(マルチドロップ)

RS-232Cでは通信は1 : 1でしたが、RS-422は1 : 1通信だけでなく1 : 10までの通信が可能です。ただし、1 : N通信時にデータを送信できるのは1ノードのMasterのみで、Slaveノードは受信のみです。

R :
Receiver
G :
Generator
(Driverと同義)
GND線は省略
RS-422の1:1通信(4線式)における送信機と受信機の接続図
1 : 1通信
(4線式)
RS-422の1:N通信(4線式)図。Slave側で送信出来るのは1ノードのみを示す
1 : N通信
(4線式、Slave側で送信出来るのは1ノードのみ)

その他

実際のデバイスは後述のRS-485とRS-422を同時にサポートするものが多く、純粋なRS-422デバイスというものは少ないようです。

R :
Receiver
G :
Generator
(Driverと同義)
GND線は省略
RS-422の1:N通信(2線式)図。片方向のみの通信を示す
1 : N通信
(2線式、片方向のみの通信)
1:N通信×2(4線式)図。双方向通信はあくまで1:1のみであることを示す
1 : N通信×2
(4線式、双方向通信はあくまで1 : 1のみ)

2. RS-485

RS-232Cの1 : 1通信に対しRS-422で1 : Nの通信が実現できましたが、これをさらに進めてN : Nの通信を可能にしたのがRS-485です。半二重もしくは全二重通信で32 : 32の通信まで可能です。

RS-485自体は電気的な仕様の規定です。RS-232C、RS-422と同様、各ノード間のデータ通信プロトコルは上位のアプリケーションが実装することになります。また、コネクタも規定されていません。
差動信号使用、10Mbps(12m)(最大伝送距離:1.2km)、調歩同期方式プロトコルといった点はRS-422と共通です。

RS-485信号名とRS-232Cとの比較表
表2. RS-485信号名(RS-232Cとの比較)

(出典 : Wikipedia

RS-485ピン番号例と他通信規格との比較表
表3. RS-485ピン番号例(他通信との比較)

(出典 : Wikipedia

2線式(半二重通信/Half-Duplex)と
4線式(全二重通信/Full-Duplex)

RS-485には、1組の差動信号線を送信/受信ごとに切り替える2線式と、送信線/受信線が個別に存在する4線式(差動信号線×2)があります。2線式には配線がシンプル、4線式なら送受信を同時に行えるという特徴があります。
(半二重通信、全二重通信については 前回のRS-232Cの記事も参照ください)

2線式(半二重通信/Half-Duplex)

R :
Receiver
G :
Generator
(D : Driverと同義)
GND線は省略
RS-485の2線式(半二重通信)接続図
デバイス実装例
MaxLinear社MxL83122デバイスの2線式(半二重)RS-485実装回路図
MaxLinear社 MxL83122

4線式(全二重通信/Full-Duplex)

R :
Receiver
G :
Generator
(D : Driverと同義)
GND線は省略
RS-485の4線式(全二重通信)接続図
デバイス実装例
MaxLinear社XR33156デバイスの4線式(全二重)RS-485実装回路図
MaxLinear社 XR33156

通信組み合わせとトポロジーの制限

RS-485はN : Nのマルチドロップ通信ですが、完全なマルチマスターを考慮してはいません。つまり、任意の接続機器間同士でのnon-blocking(組み合わせ制限なし)な通信は行えません。

4線式では前節の図の通りSlave機器からの送信の接続線はMaster機器の受信に対してのみです。Slave機器間でデータのやりとりが必要であれば、Master機器をいったん経由する必要があります。

2線式なら任意の機器間で通信できそうですが、2つの機器が同時に通信を始めようとした場合のArbitration(調停)機能がハード的に組み込まれていないため、ソフトウェアでバスの状況を監視したりする必要があります。これを行おうとするとかなり開発工数がかかることになるので、結局はMaster-Slave方式にするのが一般的です。

また、接続トポロジーは、バス型(一本のバスに各機器がぶら下がる形)かDaisy-chain(機器間で順次リレーしていく形)が一般的です。
リング型、スター型、ツリー型では反射やインピーダンス整合が合わずにエラーが頻発する可能性が高くなります。

おわりに

いかがでしたでしょうか。

RS-422とRS-485は、RS-232Cの弱点を克服しつつ、そのシンプルさを維持した優れた通信規格です。差動信号の採用によるノイズ耐性の向上、最大1.2kmという長距離通信、そして複数機器間の通信を可能にする柔軟性は、IP通信のイーサネットやUSBが一般的になった現代でも、特に産業用途において広く採用されております。

新たなシステムを設計する際には、通信要件を見極め、RS-232C、RS-422、RS-485といったシリアル通信の採用も視野に入れてみてください。シンプルで堅牢、そして長い実績を持つこれらの技術は、適切な場面で大きな力を発揮すると思います。

最後までご覧いただきありがとうございます。

関連ブログ