CANプロトコル
- 車載や医療などで使用されるCANについて記載します
- 超初心者用です
基本
- CAN: controller area network
- 制御系車載ネットワークの業界標準
- Bosch(独)が1986年にSAE(Society of Automotive Engineers)で提案
- 当時のコンセプト
- マルチマスタ・プロトコル
- ロバスト性の高い(堅牢な)アービトレーション(調停)メカニズムを採用
- 高優先度のメッセージは遅延なしでバスに送信
- エラー検出メカニズム搭載
- 故障ノードは自動開放
- アクセス方式
- イベント・ドリブンでEthernetと同じCSMA/CDをベースにしている
- CSMA/CDはコリジョン(衝突)が発生した場合はランダムで待ち時間を設けて再送する
- これだと制御用のCANには向いてないので、これを改良している
- バスが解放(信号がない状態)はどのノードでもメッセージ送信可能なマルチマスタ方式
フレーム
- 4種類のフレームを用意
- データフレーム
- トランスミッタ(送信ノード)からレシーバ(受信ノード)への送信用
- データフレーム間は3ビット以上のリセッシブで分離
- リセッシブはインターフレーム・スペースとも呼ばれる
- リモートフレーム
- データフレームを要求するときに使う
- エラーフレーム
- バスのエラー検出したノードが使う
- オーバロードフレーム
- データフレームの続きで使う
データフレーム
- 7つのフィールドで構成される
- SOF(start of frame)
- アービトレーション
- コントロール
- データ
- CRC
- ACK(アクノレッジ)
- EOF(end of frame)
参考
- 車載ネットワークシステム 徹底解説 佐藤道夫著
end