Controller Area Network
CAN標準フレームとの違いは、r0ビットがFDFビットに変更され、その直後にres、BRS、ESIビットが追加されている。また、高ビットレート化やデータ長変更に伴う信頼性確保のため、CRCフィールドの直前にスタッフカウントが追加され、CRCの長さが変更されている。
CAN FD標準フレームフォーマットは以下の通りである。
ISO 11898シリーズは、自動車内で使用する分散リアルタイム制御や多重化をサポートするCANと呼ばれるシリアル通信技術の物理層・データリンク層(OSI参照モデルの第1層・第2層)を規定している。
いくつかのCAN物理層およびその他の標準がある。
ISO 11898-1:2015は、CANのデータリンク層(DLL)と物理的な信号伝達を規定している。この文書は、ISO/IEC 7498-1で確立されているOSI参照モデルに従って、階層の面でCANの一般的なアーキテクチャを記述し、デジタル情報の交換を設定するための特性モジュールは、論理リンク制御(LLC)副層および媒体アクセス制御(MAC)副層の詳細な仕様を有するCAN DLLを実装する。
ISO 11898-2:2003は、高速(1 Mbit/sまでの伝送速度)の(ISO 8802-3に準拠した)媒体アクセスユニット(MAU)といくつかの媒体依存インタフェース(MDI)機能を規定している。すなわち、CANの物理層を構成する。ISO 11898-2は、2線式の平衡信号方式を使用している。これは、自動車のパワートレインアプリケーションおよび産業用制御ネットワークで最も使用される物理層である。
ISO 11898-3:2006は、40 kBit/s以上125 kBit/s以下の伝送速度でCANを装備した自動車の電子制御ユニット間のデジタル情報の交換を設定するための、低速でフォールトトレラントな媒体依存インタフェースを規定している。
ISO 11898-4:2004は、CAN(TTCAN)における時間トリガー通信を規定している。
肯定応答(ACK)スロットは、有効なCANフレームの受信を確認するために使用される。エラーを検出することなくフレームを受信した各ノードは、ACKスロット内でドミナントビットを送信する。従って、送信機のリセッシブレベルを無効にする。送信機がACKスロット内のリセッシブレベルを検出すると、受信機が有効なフレームを発見しなかったことがわかる。受信ノードは、有効なフレームを受信しなかったことを示すためにリセッシブを送信することができるが、有効なフレームを受信した別のノードは、これをドミナントに置き換えることができる。送信ノードは、メッセージがCANネットワーク上の全てのノードによって受信されたかどうかを知ることができない。
CANデータ伝送では、競合解消に無損失ビット単位アービトレーション方式が採用されている。この方式では、CANネットワーク上の全てのビットを同時にサンプリングするために、CANネットワーク上の全てのノードを同期させる必要がある。これがCAN同期と呼ばれる理由である。ただし、「同期」という用語は、データが非同期フォーマットによってクロック信号なしで伝送されるため、不正確である。
CAN仕様では、「ドミナント」(優性)ビットと「リセッシブ」(劣性)ビットという用語が使用されている。これは、ドミナントが論理0(トランスミッタによって能動的に駆動される)、リセッシブが論理1(抵抗によって受動的に戻される)であるためである。アイドル状態はリセッシブレベル(論理1)で表される。1つのノードがドミナントビットを送信し、別のノードがリセッシブビットを送信した場合、衝突が起こり、ドミナントビットの方が「勝つ」。 これは、より高い優先順位のメッセージに遅延がないことを意味し、より低い優先順位のメッセージを送信するノードは、ドミナントメッセージの終了後のビットクロック後に自動的に再送信しようと試みる。これにより、CANはリアルタイムの優先順位付けされた通信システムとして非常に適している。
論理0と論理1の正確な電圧は使用する物理層に依存するが、CANの基本原理では、各ノードが送信ノード自体を含むCANネットワーク上の全てのデータを受信する必要がある。
↑ ISO11783 a Standardized Tractor – Implement Interface
↑ Understanding Microchip’s CAN Module Bit Timing
↑ “ISO7637-3 diodes protection for CAN bus”. 2017年8月1日閲覧。
↑ “CAN bus ESD protection”. 2017年8月1日閲覧。
↑ “CAN BUS MESSAGE FRAMES – Overload Frame, Interframe Space”. 2017年8月1日閲覧。
↑ “Controller Area Network (CAN)”. Vector Group. 2013年9月25日閲覧。
↑ “ISO 11898-1:2015 - Road vehicles -- Controller area network (CAN) -- Part 1: Data link layer and physical signalling”. ISO. 2017年8月1日閲覧。
↑ “We Drove a Car While It Was Being Hacked”. motherboard.vice.com. 2017年8月1日閲覧。
↑ 日本放送協会. “鍵はかけていたのに... なぜ盗まれた?”. NHKニュース. 2021年11月6日閲覧。
↑ 「ランクル、2日間で9台盗難...「キャンインベーダー」で解錠か」『読売新聞オンライン』、2021年11月11日。2021年11月11日閲覧。
↑ License Conditions CAN Protocol and CAN FD Protocol
CANバス(ISO 11898-1:2003)は、元々、物理層の抽象的な要件のみを持つリンク層プロトコルを指定していた。例えば、ドミナント状態とリセッシブ状態を使用してビットレベルでマルチアクセスの媒体を使用すると宣言した。物理層の電気的側面(電圧、電流、導体の数)は、現在広く受け入れられているISO 11898-2:2003に規定されている。しかし、物理層の機械的な側面(コネクタのタイプと数、色、ラベル、ピン配列)はまだ形式的に特定されていない。結果として、自動車用ECUは通常、さまざまな種類のケーブルを備えたカスタムコネクタを備えており、そのうち2つはCANバスラインである。それにもかかわらず、機械的実装のためのいくつかの事実上の標準が出現しており、最も一般的なものは、以下のピン配置を有する9ピンDサブタイプのオスコネクタである。
ピン2: CAN-Low (CAN−)
ピン3: GND (Ground)
ピン7: CAN-High (CAN+)
ピン9: CAN V+ (Power)
この事実上の機械的規格は、オスとメスの両方の9ピンDサブコネクタをノード内で並列に相互に電気的に配線したノードで実施することができる。バス電源はノードのオスコネクタに供給され、バスはノードのメスコネクタから電力を引き出す。これは、電源がメスコネクタで終端されるという電気工学的取り決めに従っている。この規格の採用により、2つのバスワイヤセットを各ノードの1つのDコネクタに接続するカスタムスプリッタを製作する必要がなくなる。