CAN(コントローラエリアネットワーク)

CAN(コントローラエリアネットワーク)は、1980年代初期に車載アプリケーション向けに開発されたシリアルバスシステムです。CANプロトコルは国際標準(ISO 11898-1)で、7レイヤーISO/OSI参照モデルのデータリンク層を構成しています。現在では50を超える半導体メーカーがCANに対応したハードウェアを提供しています。CANでは、2種類のコミュニケーションサービスが利用できます。1つはメッセージの送信(データフレーム送信)で、もう1つはメッセージの要求(リモート送信要求: remote transmission request, RTR)です。

また、CANプロトコルでは、エラーフレームが送信された場合の不完全メッセージの自動再送信が規定されています。エラーフレームは送信側ノードまたは受信側ノードのいずれからも送信される可能性があります。CANプロトコルでは、障害の封じ込めではなく、高度な障害検出メカニズムが規定されています。

CANデータリンク層の機能

  • マルチマスター機能: バスがアイドル状態の場合に任意のCANノードがメッセージを送信できます。
  • ブロードキャスト通信: 送信されるすべてのメッセージがすべてのノードで受信されます。 このメッセージを受信するかどうかは、各受信ノードで決定されます。これにより、システム内のすべてのノードで同じ情報を使用する場合のデータの整合性が確保されます。
  • 高度なエラー検出メカニズムと不完全メッセージの再送信: これにより、ネットワーク全体のデータの整合性が確保されます。
  • 自動バスアービトレーション: 2つ以上のCANノードが同時にメッセージ送信を要求した場合、優先度の最も高いメッセージが直ちにバスアクセスを得ることができます。