RS-485 とキャンバス
RS-485とCANバスはどちらも産業用および車載用アプリケーションで使用される差動マルチドロップシリアルプロトコルですが、プロトコル層が根本的に異なります。RS-485は物理層のみの標準であり、アドレッシングやアービトレーションは組み込まれていません。CAN にはハードウェアアービトレーション、エラー検出、完全なメッセージプロトコルが追加されていますが、その代償は複雑さが増します。
485
RS-485は、最大32ノード、1200 mケーブル、10 Mbpsのデータレート(速度×距離の製品限定)をサポートする差動電気規格です。これは物理層のみを定義し、データプロトコル (Modbus、DMX など) は個別に定義されています。
Advantages
- シンプルなハードウェア — 差動ドライバ/レシーバICのみ
- 高速:短距離で最大10 Mbps
- ロングレンジ:100キロビット/秒で1200メートル
- あらゆるソフトウェアプロトコル (モドバス、プロフィバス、DMX512) に対応
Disadvantages
- ハードウェアの調停は不要 — 衝突はソフトウェアで管理する必要がある
- デフォルトでは半二重 — 方向制御 (DE/REピン) が必要
- エラー検出や確認機能が組み込まれていない
- 一般的なマスター/スレーブトポロジ — 複雑なマルチマスターにはより高いプロトコル層が必要
When to use
RS-485は、産業用センサーネットワーク (Modbus RTU)、照明制御 (DMX512)、ビルディングオートメーション、および低コストで長距離シリアルを必要とするあらゆるアプリケーションに使用できます。
CANバス (コントローラーエリアネットワーク)
CANは、ハードウェア・メッセージ・アービトレーション、巡回冗長検査(CRC)、および自動エラー・シグナリングを備えた差動マルチマスター・バスです。もともとは車載用に開発されましたが、現在では産業オートメーションや医療機器の標準となっています。
Advantages
- ハードウェアアービトレーション — 複数のノードが衝突することなく同時に送信
- CRCエラー検出と自動再送信機能を内蔵
- マルチマスター — どのノードでもメッセージを開始できます
- 障害制限 — 障害ノードは自動的にバスオフ状態になる
Disadvantages
- 最大速度は 1 Mbps (従来の CAN)、CAN FD は 8 Mbps まで拡張可能
- RS-485 よりも航続距離が短い (1 Mbps で 40 m、100 kbps で 500 m)
- より複雑なハードウェア — CANコントローラが必要 (通常はMCU内)
- フレームオーバーヘッドは RS-485 よりも高い
When to use
CANバスは、自動車ネットワーク(OBD-II、ボディコントロール)、産業オートメーション(CANopen、DeviceNet)、ロボティクス、および堅牢なエラー処理を必要とするマルチマスターネットワークに使用できます。
Key Differences
- ▸RS-485は物理層のみ。CANにはアービトレーションとエラー処理を備えたフルプロトコルが含まれています
- ▸CANにはハードウェアマルチマスターアービトレーション(CSMA/CDのような)があり、RS-485にはソフトウェアのマスター/スレーブ制御が必要
- ▸RS-485: 最大 10 Mbps、1200 m、CAN: 最大 1 Mbps、速度にもよりますが 40 ~ 500 m
- ▸CANにはCRCとエラー制限が組み込まれている。RS-485にはアプリケーション層のエラー処理が必要
- ▸RS-485はより柔軟性が高く(プロトコルに依存しない)、CANはより堅牢です(ハードウェアエラー処理)
Summary
固定マスター/スレーブトポロジーによるシンプルで長距離の高速シリアル通信が必要な場合は、RS-485を使用してください。Modbusが最も一般的な選択肢です。CANは、車載ECU、産業用PLC、医療機器など、堅牢なマルチマスター操作、ハードウェアエラー検出、フォールトトレランスが必要な場合に使用します。
Frequently Asked Questions
RS-485はCANバスに取って代わることができますか?
RS-485はアプリケーション層でCANのようなプロトコルを実行できますが、ハードウェアアービトレーションやエラー制限がありません。車載アプリケーションでは CAN が必須です (ISO 11898)。シンプルな産業用センサーネットワークの場合、Modbus 搭載の RS-485 は CANopen よりもシンプルで安価であることが多いです。
CAN FD とは何ですか?
CAN FD(フレキシブルデータレート)は、従来のCANを8 Mbpsのデータレートと64バイトのフレーム(従来のCANでは8バイト)に拡張します。従来の CAN アービトレーションフェーズ (最大 1 Mbps) との下位互換性を維持します。最新の自動車 ECU や産業オートメーションで使用されています。
RS-485はいくつのノードをサポートできますか?
標準RS-485トランシーバ(1/8ユニット負荷、12kΩ入力インピーダンス)は、最大256ノードをサポートします。当初の仕様では 32 ノード (それぞれ 1 ユニット負荷) をサポートします。実際には、ネットワークの長さ、ボーレート、終端抵抗によって実際のノード数が制限されます。
CANバスには終端抵抗が必要ですか?
はい。CAN バスでは、バスの両端に 120 Ω の終端抵抗が必要です (合計 60 Ω の差動)。終端はツイストペア CAN ケーブルの 120 Ω の特性インピーダンスと一致します。終端処理されていないバスは、特にボーレートが高い場合に反射やビットエラーの原因となります。