Controller Area Network
ノード外の導体を接合する非標準(カスタム)ワイヤーハーネス(スプリッター)は、バスの信頼性を低下させ、ケーブルの互換性をなくし、配線ハーネスの互換性を低下させ、コストを増加させる。
完全な物理層仕様(電気的・機械的)がないため、CANバス仕様は物理的な実装の制約と複雑さから解放された。しかし、CANバスの実装は、機械的な非互換性のために相互運用性の問題にさらされていた。相互運用性を向上させるために、自動車メーカーの多くは、伝送路上の寄生容量の要件と組み合わせて許容されるCANトランシーバのセットを記述する仕様を作成している。許容される寄生容量には、ESD保護だけでなく、コンデンサも含まれる(ISO 7637-3に対するESD)。 寄生容量に加えて、12Vと24Vのシステムは、伝送路の最大電圧に関して同じ要件を持っていない。事実、ジャンプスタートイベントの間、小型乗用車の伝送路は24Vまで上昇し、トラックでは36Vまで上昇する可能性がある。新しい解決法が市場に出ており、CANとCAN FD(を参照)に同じ部品を使用できるようになった。
ISO 11898-2:2003の耐ノイズ性は、バスの両端の低値抵抗(120オーム)でバスの差動インピーダンスを低レベルに維持することによって達成される。しかし、休止状態になると、CANなどの低インピーダンスバスは、他の電圧ベースの信号バスより多くの電流および電力を消費する。CANバスシステムでは、一方の信号ラインの電流が他方の信号の反対方向の電流によって正確に平衡される平衡接続により、受信機に対して独立した安定した0 Vの参照を提供する。
同期を維持するのに十分な遷移を保証するために、同じ極性のビットが5つ連続したら逆の極性のビット(スタッフビット)が挿入される。この方法はビットスタッフィングと呼ばれ、CANで使用されるnon-return-to-zero(NRZ)符号で同期をとるために必要である。データフレームに挿入されたスタッフビットは、受信機によって取り除かれる(デスタッフされる)。
フレーム内の全てのフィールドはビットスタッフィングの対象となる。ただし、CRCデリミタ、ACKフィールド、フレーム終了は固定長であり、ビットスタッフィングの対象外である。ビットスタッフィングが使用されるフィールドでは、同じタイプの6つの連続ビット(111111または000000)はエラーと見なされる。アクティブエラーフラグは、エラーを検出したノードによって送信され、6つの連続するドミナントビットを送信することで、他のノードに強制的にビットスタッフィングエラーを起こさせる。
ビットスタッフィングがあるため、上記の表に示すビットの合計よりも、実際のデータフレームが大きくなる可能性がある。
CANの開発は、1983年にドイツのボッシュ社で開始された。このプロトコルは、1986年にデトロイトで開催されたSociety of Automotive Engineers(SAE)の会議で公式に発表された。インテルとフィリップスが製造した最初のCANコントローラチップは、1987年に発売された
ボッシュ社はCAN仕様のバージョンをいくつか発行し、1991年にCAN 2.0を発行した。この仕様には2つの部分がある。パートAは11ビットの識別子を持つ標準フォーマット用であり、パートBは29ビットの識別子を持つ拡張フォーマット用である。11ビットの識別子を使用するCANデバイスはCAN 2.0Aと呼ばれ、29ビットの識別子を使用するCANデバイスはCAN 2.0Bと呼ばれる。これらの規格は、ボッシュ社から他の仕様やホワイトペーパーとともに自由に入手できる。
1993年、国際標準化機構(ISO)はCAN規格ISO 11898を発表した。この規格は後に、データリンク層を規定するISO 11898-1と、高速CAN用のCAN物理層を規定するISO 11898-2の2部に再構成された。後に、低速フォールトトレラントCAN物理層を規定するISO 11898-3が発表された。