
皆さんこんにちは!メカ旦那です。
通信ケーブルでよく聞く「RS485」。
差動通信でノイズに強い特長があり、工場やビルなど信頼性が求められる場所で利用されている規格です。
奥が深いですが、イラストを用いてわかりやすく解説します!
通信仕様
第1層(物理層)
通信には多数の規格(ルール)があり、組み合わせる事で1つの送受信が成立しています。電気に関する事、データ伝送に関する事、ユーザーが使うアプリに関する事など、その「機能」に着目して規格を分類する手法をOSI参照モデルと言います。

それぞれの層は完全に独立しているわけではなく、例えば下位層の規格利用を前提に、上位層の仕様が設計されていたりする事も多いです。
RS485は第1層(物理層)の規格になります。電気的な事を規定しています。
特徴
物理層を含む規格は多数ありますが、特徴で分類するとこんな感じです。

RS485は
- デジタル
- シリアル
- 非同期
- 差動
- 半二重(2線式)もしくは全二重(4線式)
の通信です。
よくわかりませんね、、、一つずつ解説します!
アナログ / デジタル

アナログは連続的な値を取りますが、デジタルは0と1の2値を用います。例えば電話やラジオはアナログですが、PC、マイコンだとデジタル通信が主流になります。RS485はデジタルです。
パラレル / シリアル

デジタルは0と1を多数のbitで送受信します。パラレルは複数の信号線でまとめて通信するのに対し、シリアルは1本の信号線を用いて通信します。例としてパラレルはプリンター、シリアルはマウスやキーボードで利用されています。
一見、パラレル通信の方が一度に多くのデータを送信でき効率的に思えますが、配線が長くなると、各信号の時間ズレが発生し、上手く送受信できないことがあります。シリアルはその時間ズレが無い上に配線数が少なく済むため、最近の高速通信ではシリアルが主流になっています。RS485もシリアル通信です。
クロック同期 / 非同期

デバイス間で送受信する際、いつ送るのか、いつ受け取るのか、といったタイミング(クロック)を両者で認識する必要があります。クロックが共有されている状態はクロック同期と呼ばれています。対して共有はされていませんが、各々独自のクロックを持って通信することを非同期(調歩同期)と言います。イメージは、クロック同期が同じ壁掛け時計を見ながら通信、非同期はそれぞれの腕時計を見ながら通信、ですかね。
同期通信はクロックが共有されているため、送受信にズレが生じないです。一方、非同期はクロック専用の信号線が不要なため配線数を少なくできるのが特長です。RS485は非同期通信になります。
シングルエンド / 差動

デジタル通信なので、何を0とするのか、1とするのかの基準があります。信号電圧がある基準電圧より低い状態を0、高い状態を1とする方式をシングルエンド(不平衡) と言います。対して、信号が2つあり、電圧の差分から0,1を判別する方式を差動(平衡、ディファレンシャル)と言います。
シングルエンドは信号線が1本で済むメリットがありますが、ノイズが入った時に0を1(もしくはその逆)と誤認識してしまう恐れがあります。対して差動信号は信号線は2本いるものの、電圧差を見ている関係上、ノイズによる影響が少ないメリットがあります。RS485は差動になります。
全二重 / 半二重

データを送受信する際、2本の伝送路で別々に行う方式を全二重通信(フルデュプレックス)と呼びます。対して、1本でまとめて行う方式を半二重通信(ハーフデュプレックス)と言います。全二重は送受信を同時に行うことができるのに対し、半二重は同時に行えません。ただし信号線が1本で済むのがメリットです。
RS485は後述の通り配線が2種類ありますが、2線式だと半二重、4線式だと全二重になります。
配線
ポイント
続いて実際の配線についてです。
ポイントは
- 2線式と4線式がある
- 信号端子はA、Bの2種類ある
- 終端抵抗が必要
- ツイストペアケーブルを使用する
- GNDを合わせる
です!
2線式、4線式


RS485には2線式と4線式、2種類の配線があります。その名の通り、ノード同士を2本の電線で結ぶ方式を2線式、4本で結ぶ方式を4線式と言います。
特徴として、2線式は半二重通信のため同時送受信ができません。一方4線式は全二重通信のため同時送受信が可能です。
| 項目 | 2線式 | 4線式 |
|---|---|---|
| バスの配線数 | 2 | 4 |
| 伝送路 | 半二重 | 全二重 |
| 同時送受信 | ✕ | 〇 |
| 送受信方向切り替え | 必要 (バスでのデータ衝突を防ぐため) | 不要 |
| マルチドロップ(多対多) 接続 | 容易 | 難しい |
| 用途 | FA、ビル設備など | 金融端末、医療機器など |
どちらも一長一短ありますが、省配線、低コスト、マルチドロップが容易、の点から2線式が広く使われています。
ちなみに後で説明する電気仕様(信号端子A/B、終端抵抗)については両者とも同じになります。
信号端子A、B
信号端子はA、Bの2種類を使います。A、Bの電圧(Va、Vb)は以下を満たす必要があります。


なるほど、差動信号だから電圧差が重要なんですね~

その通りです!
ちなみに電圧差は規定しているものの、電圧値そのものに条件はありません。これはRS485が「工場やビルなど様々な環境で使えるように」を前提に設計されており、電圧値は各メーカーで自由に決めれるようにしているためです。
一方、同じ差動信号のCANは電圧差以外に、電圧値そのものにも規格を定めています。これはメイン用途を自動車向けにしており、「1本のバスに様々なメーカーの機器が繋がっても、故障が起きないように」を前提に設計されており、仮に各機器で信号電圧値が異なると一部のトランシーバが故障し、車の事故に繋がるリスクがあるためです。
終端抵抗
配線図にもありましたが、バス両端に抵抗120Ω×2個を並列に接続する必要があります。これは終端抵抗(ターミネータ)と呼ばれています。
終端抵抗の役割は信号反射を防ぐことです。
例えば2つのノードでの送受信時、終端抵抗が無いと配線とレシーバーのインピーダンス差により反射が生じて元の電圧波形がおかしくなり、受信側の誤検知に繋がります。一方、終端抵抗のインピーダンスは配線とほぼ同じの為、電流はほぼ抵抗に流れ、レシーバーに流れる電流が小さくなり、反射を防ぐ事ができます。

ツイストペアケーブル
信号線A、Bはツイストペアケーブル(2本の電線をより合わせたもの)にした方が良いです。
RS485は差動信号の為ノイズには強いのですが、信号線が離れていると、一方は強くノイズが出て、もう一方は出ない事があります。そうすると、受信側で意図しない電圧差を検知してしまい誤動作に繋がります。ツイストペアにする事で信号線間の配線距離が近いため、同じようにノイズが表れ、結果電圧差への影響が少なくなります。

GNDを合わせる
どのシリアル通信もそうですが、信号電圧によって0、1が決まります。ここで各ノードでGND電位が合ってないと、例えば送信側から出力した電圧が、受信側では意図せず高くなってしまい認識できないという現象が発生します。その為配線図の通りGND間は繋げるようにしてください。
トランシーバ
内部回路
もっとRS485を詳しく理解したい方向けに、入出力の仕組みについて解説します。
RS485機能を持つPC/マイコンには、基板上にトランシーバが実装されています(無い場合は類似する回路が組み込まれています)。
以後、この「MAX3485ED」を例に、一般的な仕様について解説します。
通信の流れは、
- CPUからUARTで出力した信号を、トランシーバでRS485に変換し、外部へ出力する
- 外部からの入力はその逆
です。
UARTって何?という方はぜひこちらもご覧ください!
配線のイメージはこちらです。

一般的なピンの役割はこちらです。
わかりやすいように、各ピンに入力する値によって出力がどう変わるかを送信方向別に整理してみました。
■送信時 CPU → (DE,DI)トランシーバ(A,B) → 外部機器
| DE | DI(UART Tx) | A (RS485) | B (RS485) | |
|---|---|---|---|---|
| 0 | 0 もしくは 1 | → | Hi-Z | Hi-Z |
| 1 | 0 | → | 0 | 1 |
| 1 | 1 | → | 1 | 0 |
■受信時 外部機器 →(A,B)トランシーバ(/RE, RO) → CPU
| A (RS485) | B (RS485) | A-B | /RE | RO (UART Rx) | |
|---|---|---|---|---|---|
| Hi-Z | Hi-Z | Hi-Z | 0 | → | 1 |
| 0 | 1 | <= -0.2 V | 0 | → | 0 |
| 1 | 0 | >= +0.2 V | 0 | → | 1 |
| – | – | – | 1 | → | Hi-Z |
このように、送信方向をDE, /REで制御し、それに合わせてDI, ROで入出力を行っています。
ちなみに、DE, /REを両方とも有効にした時、DEが優先され、/REは無効となります。
変換器

最近のPCやマイコンってRS485ポート見ないですよね~

そうなんですよね~
最近は他の通信方式から変換できる変換器が容易に入手できる事もあり、元からポートが付いていないPCがほとんどです。特にUARTとUSBの変換器はAmazonで簡単に購入できます。
A/B端子にRS485を、もう片方の端子にUART,USBを繋ぐことで変換できます。
ちなみに、USB変換器は内部で USB ⇔ UART ⇔ RS485 というUARTを介した変換になっています。
RS485を利用する上位規格
前述の通りRS485は第1層(物理層)の規格になりますが、様々な上位プロトコルがRS485を利用しています。代表例について解説します。

RS232C、422、485の違い

なんか色々調べてたらRS232Cとか422とかも出てきました。違いがよくわからないです。。。

紛らわしいですよね… 違いを表にまとめてみました!
| 項目 | RS232C | RS422 | RS485 |
|---|---|---|---|
| 全二重/半二重 | 全二重 | 全二重 | 2線式:半二重 4線式:全二重 |
| シングルエンド/差動 | シングルエンド | 差動 | 差動 |
| 信号端子 | TXD、RXD RTS、CTS DTR、DSR RI、DCD | TxD+ (T+, Y)、 TxD- (T-, Z)、 RxD+ (R+, A)、 RxD- (R-, B)、 | A、B |
| 終端抵抗 | 不要 | 必要 終端(受信側)1か所 | 必要 2線式:両端2か所 4線式:両端4か所 |
| 接続 | 1対1 | マルチドロップ 1対N(N=1~10) | マルチドロップ N対M (N,M=1~32) |
| 最大通信距離 | 15 m | 1200 m | 1200 m |
| 通信速度 | ~ 115 kbps | ~ 10 Mbps | ~ 10 Mbps |
| ノイズ耐性 | 弱い | 強い | 強い |
| 用途 | FA機器 モデム 昔のプリンタ など | FA機器 ビル管理 など | FA機器 ビル管理 パワコン など |
歴史的には RS232C → RS422 → RS485と進化してきた経緯もあり、現在はRS485が最も高性能な規格になっています。
まとめ
RS485の特徴をまとめるとこちらです。
RS485は最近のPC/マイコンでは見かけなくなりましたが、差動でノイズに強い特長もあり、多くの業界で使用されているので、今回の解説が参考になれば幸いです!
また他のシリアル通信についても解説しているのでぜひご覧ください!








コメント