実装や試験で役立つ物理層から見るCANの仕組み:車載ネットワーク“CANの仕組み”教えます(4)(1/3 ページ)
今回は「物理層」に注目し、CANの通信線の仕組みを解説。CANバスに信号を送信する際に考慮すべきポイントとは?
前回までの内容で「CAN(Controller Area Network)プロトコル」について詳しく解説してきたが、今回は「物理層」部分に注目して、CANにおける通信線の仕組みを紹介する。
これまでの制御解説と異なり、ハードウェア関連の解説が主になるが、ここでの内容をきちんと把握しておけば、実際にCANの実装や試験などを行う際に必ず役に立つはずだ。
CANバスへの接続
まずは、各ノード(CANコントローラ)がどのようにCANバス(通信線)へ接続されるのか見てみよう。
以下に、High Speed CANにおけるCANバスへの接続例を示す(図1)。
- マイクロコントローラ(マイコン)
送信データ/受信データの処理を行う。ほかにノードの処理も行っている。 - CANプロトコルコントローラ
CANプロトコルの機能を実現する(ビットスタッフィング、通信調停、エラーハンドリング、CRCチェックなど)。フィルタを搭載している。 - CANトランシーバ
バス送信電圧の発生、調整、動作電流の確保、配線の保護を行う。 - 終端抵抗
反射電圧の抑制、バスレベルの調整用途で使用される。
図1のようにCANコントローラは、CANトランシーバを介して、CANバスと接続される。High Speed CAN/Low Speed CANなど物理層での規格の差異はCANトランシーバにより吸収される。これは、どのような物理層であってもCANコントローラは影響を受けず、CANプロトコルの仕組みが共通で使用できることを意味する。
CANコントローラの分類
続いて、CANコントローラの分類について紹介する。以下は、CANコントローラの分類を示したものだ(図2)。
設置形態による違い
「マイコンに外付け(スタンドアロン)」と「マイコンに内蔵」の2つのパターンがあるが、現在ではほとんどがマイコンに内蔵(搭載)されている。
プロトコルバージョンによる違い
CANプロトコルには「標準フォーマット(2.0A)」と「拡張フォーマット(2.0B)」の2つの規格がある。この2つの大きな違いはメッセージIDの長さである。
メッセージマネジメントによる違い
メッセージの送受信に関する取り扱い方式の違いにより、「Basic CAN」と「Full CAN」とに分類される。
設置形態による違い
各半導体メーカーより、CANコントローラ機能を持たないマイコン向けのCANコントローラ単体製品やCANコントローラ機能を内蔵したマイコンなど、さまざまな製品が販売され、ユーザーの用途に応じたものが選択可能となっている。現在、販売されている車載用マイコンのほとんどの製品がCANコントローラ機能を内蔵しているため、CANの採用においてコストアップなどの影響は少ない。
プロトコルバージョンによる違い
次に、CANのプロトコルバージョンによる違いを見てみよう(図3)。
すべてのプロトコルバージョンで標準フォーマット(2.0A)の送受信が可能である。拡張フォーマット(2.0B)については、プロトコルバージョン2.0Aでは送受信不可で、受信時にエラーフレームを送信してしまう。このため、拡張フォーマットが流れるCANバスにプロトコルバージョン2.0Aのノードが混在すると正常な通信であってもプロトコルバージョン2.0Aのノードからのエラーフレームで妨害されてしまう。
プロトコルバージョン2.0B パッシブでは拡張フォーマットを送受信不可という点はプロトコルバージョン2.0Aと同じだが、受信時に拡張フォーマットのものを無視するため、エラーフレームを送信しない。プロトコルバージョン2.0B アクティブでは拡張フォーマットの送受信が可能である。
以上により、拡張フォーマットを使用するCANネットワークを構成する場合、各ノードのCANコントローラはプロトコルバージョン2.0Bアクティブのみで構成する必要がある。拡張フォーマットと標準フォーマット双方を扱う場合においては、拡張フォーマットを扱わないノードはプロトコルバージョン2.0B パッシブ、拡張フォーマットを扱うノードはプロトコルバージョン2.0B アクティブを使用すれば通信に問題が発生することはない。
Copyright © ITmedia, Inc. All Rights Reserved.