RS-485の終端抵抗とバイアス抵抗の違いとは?120Ωの位置・計算方法・通信エラー対策
初回掲載日:
最終更新日:
結論から言うと、RS-485の終端抵抗は信号反射を抑えるために伝送路の端へ置き、バイアス抵抗は誰も送信していないアイドル時に受信信号を不定にしないために使います。目的が違うため、終端抵抗を付けたからバイアス抵抗も不要、あるいはすべての機器に同じ抵抗を追加すればよい、とは限りません。
この記事では、半二重の2線式RS-485バスを中心に、120Ωの位置、バス型とスター型の違い、フェイルセーフ・バイアスの考え方、計算例、通信エラーの確認順を整理します。A/B端子の名称や内蔵終端・内蔵フェイルセーフは製品によって異なるため、実機では必ず機器マニュアルを優先してください。
RS-485とModbus RTUの関係
RS-485は差動信号を使う物理層の規格です。複数ノードを同じ信号線へ接続でき、半二重なら1組のツイストペアを交互に使って通信します。一方、Modbus RTUはアドレス、ファンクションコード、CRCなどを定める通信プロトコルです。Modbus RTUをRS-485上で使う構成は一般的ですが、両者は同じものではありません。
A線・B線の極性表記は、メーカーや製品の端子名で混乱することがあります。A/Bという文字だけで電位の向きを断定せず、対象トランシーバ、PLC、変換器の仕様書と配線図を確認してください。
終端抵抗とバイアス抵抗の違い
| 項目 | 終端抵抗 | バイアス抵抗(フェイルセーフ) |
|---|---|---|
| 主目的 | 伝送線路とのインピーダンスを合わせ、反射を抑える | アイドル時の差動電圧を作り、受信出力を既知状態にする |
| 代表的な接続 | A-B間に並列接続 | 一方をVCC、もう一方をGNDへ接続するプルアップ・プルダウン |
| 位置 | 半二重バスの物理的な両端 | 通常はネットワークの1か所。内蔵機能があれば追加不要な場合もある |
| 代表値 | 120Ωは代表例。ケーブルの特性インピーダンスに合わせる | 電源、終端、受信器負荷、しきい値で決まり、固定値ではない |
| 設定ミスの例 | 反射、波形劣化、増設時の通信不安定 | アイドル時の誤受信、CRCエラー、ランダムな通信開始 |
終端抵抗はなぜ120Ωで、どこに置くのか
信号の立ち上がりが伝送線路を伝わると、ケーブル端でインピーダンスが合わない場合に反射が発生します。反射が次のビットと重なると、受信器が論理レベルを誤判定する原因になります。終端抵抗はケーブルの特性インピーダンスに近い抵抗をA-B間へ接続し、反射を小さくする部品です。
120ΩはRS-485でよく使われる公称値ですが、すべてのケーブルで絶対の固定値ではありません。TIはツイストペアの差動モード特性インピーダンスが一般に100~150Ω程度になり得ること、120Ωを標準的な終端値として扱うことを説明しています。通信速度、ケーブル長、立ち上がり時間、製品仕様を合わせて判断してください。
- 半二重のバス型では、原則としてケーブルの最遠端2か所だけを終端する。
- 中間ノードの終端は、設定スイッチやジャンパーを含めてOFFにする。
- スター配線や長いスタブは反射を増やしやすいので、バス型を基本にする。
- 全二重では信号対が分かれるため、送信側・受信側ごとの終端位置を製品資料で確認する。
終端抵抗を増やすと負荷も増えます。120Ωを2本使うと、直流的には120Ωと120Ωの並列で60Ωになります。終端の数を増やせば安定する、とは考えないでください。
バイアス抵抗とフェイルセーフ
RS-485の送信器がすべてハイインピーダンスになるアイドル状態では、差動電圧が0V付近になり、受信器の論理状態が規格上不定になることがあります。フェイルセーフ・バイアスは、A側をVCCへ、B側をGNDへ抵抗で引っ張り、アイドル時に一定方向の差動電圧を作る考え方です。
受信器の入力しきい値は製品仕様を確認してください。EIA-485の一般的な説明では、+200mV以上をHigh、-200mV以下をLowとし、その間が不定領域になります。最近のトランシーバには、オープン・ショート・アイドル状態で受信出力を定義する内蔵フェイルセーフ機能を持つ製品もあります。その場合、外付け抵抗を追加すると過剰な負荷や想定外のバイアスになることがあります。
バイアス抵抗の計算例
次の式は、受信器負荷などを単純化した説明用モデルです。
Vdiff = Vcc × Rload ÷ (Rpullup + Rload + Rpulldown)
例として、Vcc=5V、両端の120Ω終端を合成したRload=60Ω、Rpullup=Rpulldown=680Ωとすると、
Vdiff = 5 × 60 ÷ (680 + 60 + 680)
= 300 ÷ 1420
≒ 0.211V(211mV)
となります。200mVをわずかに超えていますが、これだけで安全とは判定できません。電源の最低値、抵抗公差、受信器の入力負荷、温度、ノイズマージン、他ノードの負荷を含めて、最悪条件で確認する必要があります。TIの計算例でも、終端の並列合成抵抗と最低電源電圧を使ってフェイルセーフ抵抗を検討しています。
なお、バイアス抵抗は通常ネットワークの1か所に設けます。複数機器がそれぞれ内蔵している場合に外付け回路を重ねると、バス負荷が増え、ドライバの電圧や通信マージンを損なう可能性があります。
通信エラーが起きたときの確認順
- 電源と通信設定:電源電圧、ボーレート、データ長、パリティ、ストップビット、局番を確認します。
- A/B極性:端子名を仕様書で照合し、機器間で同じ極性になっているか確認します。
- 配線構成:バス型か、長いスタブやスター分岐がないか、ツイストペアかを確認します。
- 終端:物理的な両端にだけ終端があるか、中間機器の内蔵終端がONになっていないかを確認します。
- バイアス:内蔵フェイルセーフ・外付けバイアスの有無を確認し、複数箇所で重複していないか調べます。
- 速度・長さ・ノイズ:通信速度を上げたときだけ失敗するなら、配線長、反射、スタブ、動力線やインバータからのノイズを確認します。
- 測定:通電状態の配線変更は避け、設備の停止・電源遮断・放電確認など安全手順を守ってから、差動電圧やアイドル時の状態を測定します。
| 症状 | 候補 | 優先確認 |
|---|---|---|
| まったく通信しない | A/B逆接、電源、通信設定、プロトコル設定 | 仕様書と設定を一つずつ照合 |
| 増設すると不安定 | 終端の重複、ノード負荷、スター配線 | 終端位置と総負荷を確認 |
| アイドル時に誤受信 | バイアス不足、内蔵フェイルセーフの不一致 | 受信器仕様とアイドル差動電圧を確認 |
| 高速時だけCRCエラー | 反射、長いスタブ、ノイズ、接地・絶縁 | 速度・配線長・トポロジーを見直す |
終端抵抗・バイアス抵抗の選び方
次の順番で判断すると、抵抗を足し過ぎるトラブルを避けやすくなります。
- まずトランシーバとケーブルの特性インピーダンス、通信速度、配線長を確認する。
- 半二重バスなら物理的な両端の終端だけを有効にし、中間の終端を無効にする。
- 受信器にtrue fail-safeなどの内蔵機能があるか、全ノードの仕様書を確認する。
- 外付けバイアスが必要なら、最悪条件のVdiffとドライバ負荷を計算する。
- Modbus RTUの通信エラーでも、プロトコル設定と物理層の問題を分けて切り分ける。
よくある質問
RS-485の終端抵抗は必ず120Ωですか?
120Ωは代表値です。ケーブルの特性インピーダンスに合わせるのが原則で、製品マニュアルが指定する値を優先します。
終端抵抗はすべての機器に付けますか?
通常の半二重バスでは、伝送路の物理的な両端に置きます。中間ノードを含むすべての機器に付けるものではありません。
バイアス抵抗は必ず必要ですか?
必ずではありません。トランシーバや機器にフェイルセーフ機能や内蔵バイアスがある場合があります。外付け抵抗を追加する前に仕様書を確認してください。
A線とB線を逆にするとどうなりますか?
通信できなくなる可能性があります。ただしA/Bの呼び方はメーカーで異なるため、端子名だけで判断せず、対象機器の配線図と信号極性を確認します。
Modbus RTUなら終端抵抗は不要ですか?
不要とは限りません。Modbus RTUはプロトコル、終端はRS-485物理層の設計事項です。配線長、速度、ケーブル、機器仕様から判断します。
まとめ
終端抵抗は反射を抑えるために伝送路の両端へ置き、バイアス抵抗はアイドル時の受信状態を安定させるために使います。120Ωと外付けバイアス抵抗は便利な代表例ですが、ケーブル、通信速度、終端の数、トランシーバの入力しきい値、内蔵フェイルセーフ機能によって設計結果が変わります。
通信不良時は、抵抗を追加する前に、電源・設定・A/B極性・バス型配線・終端位置・内蔵機能・ノイズの順に確認してください。配線変更や測定は設備の安全手順に従い、最終的には使用機器のマニュアルと回路仕様で判断します。