技術コラム(第7回) RS485

前回、シリアル通信規格の一つ、「RS232C」について記載しました。
ご存知のとおり、シリアル通信の規格には、他にも様々な規格があります。
今回はその中の一つ「RS485」ついて記載したいと思います。

RS485とは

まず、「RS485」を説明する前に、「RS422A」について簡単に説明します。
「RS422A」は、「RS232C」の欠点を改良してできた規格です。
特徴としては、最大伝送速度が10Mbps、最大ケーブル長が1200mあり、1:Nの接続が可能になっています。
RS485はRS422Aに対する上位互換の規格として制定され、別名「EIA-485」とも呼ばれています。

RS485の特徴

ここでは「RS485」の特徴について記載します。
主な特徴として以下が挙げられます。

最大通信速度10Mbps
ケーブル最大長1200m ※1
接続N 対 Nの接続(マルチドロップ接続) ※2
伝送方式平衝型伝送方式 ※1
信号線方式2線式(半二重)、4線式(全二重)
コネクタ規格上の規定なし ※3

※1:差動信号を使用した”平衡型伝送方式”を採用することで、ノイズに強く高速通信を実現可能にしています。
結果として、1200mまでの伝送を可能としています。
※2:規格では、32台接続とされていますが、現在では64、128台まで接続できる装置も出てきています。
※3:一般的に、D-sub25ピン、D-sub9ピンコネクタが使用されています。

D-SubD-Sub25RJ-50名称
1810Common Ground(共有帰線または信号用接地)
239CTS+(送信許可)
328RTS+(送信要求)
4207RxD+(受信データ)
576RxD-(受信データ)
665CTS-(送信許可)
744RTS-(送信要求)
853TxD+(送信データ)
9222TxD-(送信データ)

RS485の通信プロトコル

RS-485 は物理層の通信仕様であるため、通信プロトコルは規定されていません。そのため、プロトコルを独自に規定して運用することになります。

ただし、前述したように、RS-485ではマルチドロップの接続が可能のため、接続された各機器がそれぞれのタイミングで送受信を行ってしまうと、データが衝突し壊れてしまいます。
そのため、常にどれか1つの機器だけが送信を行うようにする必要があります。

この一般的な解決方法としては、通信プロトコルをマスター/スレーブ形式で規定することです。
つまり、マスター機器がスレーブ機器に対してデータ要求を行い、該当する1台のスレーブだけがデータ応答を返すというルールの中で通信することです。

次に、2線式と4線式の違いを考慮する必要があります。
4線式の場合には、送信線と受信線がそれぞれ別になっているため、マスター/スレーブプロトコルであれば特に問題ありません。
しかし、2線式の場合には、送受信線が一つしかないため、今送信中なのか受信中なのかを判断し、切り替える仕組みを考慮する必要があります。

おわりに

今回は、「RS485」について記載しました。組込開発.comでも、RS485の特徴を生かした開発事例がこちらにあります。ぜひご覧になってください。
また、シリアル通信や無線通信といった様々な通信を使用した開発実績もございます。
例えば、
前回ご紹介した「RS232C」を始め、今回ご紹介した「RS485」、シリアル通信の代表的な規格であるUSBの開発実績もあります。
また、無線の分野では、Bluetooth、Zigbeeといった規格を使用した実績があります。
通信を使用した製品やシステム開発をお考えの方は、是非、組込開発.comまでお問い合わせください。

投稿者プロフィール

ソフト担当T
ソフト担当T
メインはソフト担当ですが、筐体設計も担当します。プログラミング言語はPythonやC言語の経験が多いです。また、たいチャレ(詳細は右バーナー参照)にも参加しており、日々、様々なことを学びながら業務に取り組んでいます。