総まとめ、活用・トラブル事例から学ぶCAN:車載ネットワーク“CANの仕組み”教えます(5)(3/3 ページ)
最後にこれまでの内容の総まとめとして、CANに関連するキーワードとその特徴について紹介する(なお、詳細については連載各回を参照のこと)。
まずは、「CANの特徴」についてだ。以下に、確実に押さえておきたい重要な特徴、およびキーワードを列挙する。
- ライン型バス構造を採用することにより、配線設計が簡単に行え、後日、ノード追加が必要な場合でも比較的容易に行える。
- マルチマスター方式により、各ノードは均一仕様で設計でき、また通信に関して平等であるといえる。
- CSMA/CAにより、複数ノードからのデータフレームなどが衝突した場合に優先順位の高いものが破壊されずに伝達可能となっている。
- IDを使用したメッセージ・アドレッシングにより、優先順位の明確化や受信ノードが受信を行うかどうかの決定が可能で、複数ノードで同時に受信できる。
- 耐ノイズ性に優れた物理層となっており、外来ノイズの影響を受けにくい。これは二線式差動電圧によって実現されている。
- さまざまなエラー検出機構が実装されており、多種多様な異常が発生しても確実に検出できる。
- エラーカウンタにより、各ノードの状態別制御を行い、ノードがエラーを頻発するとバスオフやエラーフラグのリセッシブ化により通信に影響を与えにくくする。
- 各ノードが協調制御を行う際、同じデータを使用できるため、データの一貫性を保てる。これは異常発生時に全ノードが正常に受信できるまで再送信する仕組みを持っていることによる。
- 最大1Mbpsの通信速度により、車載ネットワークのほとんどの分野で使用可能である。
続いて、「CANプロトコル」について振り返ってみよう。以下に、確実に押さえておきたい重要な特徴、およびキーワードを列挙する。
- CANのデータ送信では、データフレームが主に使用される。このデータフレームはフォーマットの違いにより、標準フォーマット(11ビットID)と拡張フォーマット(29ビットID)に分類される。
- データフレームを要求する仕組みとしてリモートフレームがあるが、現在ではほとんど使用されていない。
- 通信中に異常を検出した場合、エラーフレームを送信することにより、ネットワークに接続されているノードに異常を知らせることができる。
- データフレーム受信中に処理が間に合わないノードはオーバーロードフレームを送信し、次に送信されるデータフレームの送信開始を遅らせることができる。ただし、現在ではマイコンの処理能力向上により、ほとんど使用されていない。
- CSMA/CAの採用により、複数ノードから同時にデータフレームとリモートフレームが送信された場合には通信調停を行うが、そのときの優先順位はIDによって決定される。ID番号が少ない方が優先順位が高い。このIDについてはネットワーク設計時に設定できる。
- ネットワークに接続されたノードはデータフレームが流れてくると、受信内容とCRCを比較し、正常な場合はアクナレッジを送信し、送信ノードに対して正常に通信が行われているかを知らせる。
- エラーフレームを送信したノードは、状況に応じてそれぞれが持つエラーカウンタを加算する。このエラーカウンタの値によってノードの状態が決定され、場合によって送信不可状態になったりする。こうした動作によりネットワーク通信が破たんしないようになっている。
最後に、前回解説した「物理層」についても振り返ってみよう。
- CANコントローラは、CANプロトコルを実現するために必要な電子部品であるが、設置形態、プロトコルバージョン、メッセージマネジメントなどにより分類される。
- プロトコルバージョンは、標準フォーマットと拡張フォーマットの形式により通信時の対応に違いがある。
- メッセージマネジメントは、使用する通信速度の違いにより選択できるようになっている。
- CANは用途に応じてHigh Speed CANとLow Speed CANに分類される。それぞれ用途などによって使い分けされ、最大通信速度と物理層が異なっている。
- High Speed CANは、通信速度が最大1Mbpsとなっており、高速通信が要求されるパワートレイン系に主に使用される。
- Low Speed CANは、通信速度が最大125kbpsで、それほど高速通信が要求されないボディ系で主に使用される。また、片側の通信線が断線した場合でも1本の通信線のみで通信が可能(フォールトトレランス)。
今回は「データ解析」「使用例」「トラブルの例」などCANを採用する際に必要となる知識と、CANプロトコルについての総まとめを行った。さらに深くCANについて知りたいという方は、ISO11898として公開されているCANプロトコル仕様などを参考にするといいだろう。
さて次回は、CAN通信に関する演習問題とその解答・解説を行い、本連載の最終回とする。(次回に続く)
⇒連載バックナンバーはこちら
【 筆者紹介 】
ベクター・ジャパンのトレーニング部 講師としてCAN、LINといったさまざまな通信プロトコルや開発ツールを対象としたトレーニングサービスに従事。受講者のレベルに応じて最適なトレーニングを提供できるように日々業務に取り組んでいる。
Copyright © ITmedia, Inc. All Rights Reserved.