CAN計測用語集
自動車をはじめ産業機械やFA(ファクトリーオートメーション)、鉄道や船舶など幅広い分野で活用されているシリアル通信プロトコル「CAN」を利用するうえで覚えておきたい用語について、わかりやすくご説明します。
CAN信号
CAN信号とは、1つのフレームの中に含まれる個別のデータを指し、「チャンネル」とも呼ばれます。標準フォーマットのデータフィールドは最大8バイトなので、1つのデータフレームに最大64チャンネルのCAN信号が含まれます。
CANバス通信
CANでは通信線のことを「バス」、ECU(Electronic Control Unit)などの制御装置を「ノード」と呼び、ノードからバスを通じて別のノードにデータを送信していることから「CANバス通信」と呼ばれます。また、バスへデータを送信することを「バスアクセス」とも言います。複数のノードを接続してネットワークを実現する方式には、「スター型」「ライン型」「リング型」などがありますが、CANはライン型の方式を採用。単純にノードを接続すればネットワークが構築できるので、シンプルに設計できることが特長です。
通信速度
1秒間に何ビットのデータを送信できるかを示す速度で、単位は「bps(Bit Per Second)」で表します。たとえば、1秒間に2ビットのデータを送信できれば2bpsになり、この数字が大きいほど大容量のデータを短時間で送信することが可能です。CANでは1回に送信できるデータ量は8バイト、最大通信速度は1Mbps(低速CANの場合は125Kbps)となっています。
同期
CAN通信を行うノード内部には、それぞれにプログラムのシステムクロック(処理時間)を決定する「水晶発振子」が入っています。しかし、電源を入れたタイミングや気温などの要因によってそれぞれのノードのシステムクロックに時間差が発生するケースも。CANでは1ビットの長さが変化してしまうと正常な通信ができなくなります。これを防ぐために、それぞれのノードで発生したシステムクロックのズレを補正する同期が重要です。
アービトレーションID
データフレームで、「SOF」の後に入るIDのことを「アービトレーションID」と呼びます。データフレームのIDは、標準フォーマットの場合は11ビット、拡張フォーマットの場合は11ビット+18ビットで29ビットとなります。このIDによってメッセージを識別し、優先順位を決定します。
通信調停
CANが採用している「CSMA/CA」という通信方式では、バス使用中には他ノードからデータ送信できないようになっています。しかし、実際には同時に複数のノードからデータが送信されてしまうケースもあります。その優先順位を決める作業が「通信調停」です。通信調停では、IDの値が小さい方を優先します。また、同じIDのデータフレームとリモートフレームが同時に送信された場合、IDのみで判別できないためRTRで判別し、データフレームを優先します。
マイクロコントローラ/CANプロトコルコントローラ/CANトランシーバ
CAN通信を物理的に行うためのハードウェアで、マイクロコントローラ(マイコン)はCANトランシーバを介してバスに接続されます。CAN送受信データなどの処理を行うノードに該当するマイクロコントローラには、CANプロトコルのビットスタッフィングや通信調停、CRCチェックなどを行う「CANプロトコルコントローラ」が組み込まれます。