Controller Area Network
ボッシュ社はこの技術に関する特許を保有している。CAN互換マイクロプロセッサの製造元はボッシュ社にライセンス料を支払っており、通常、それはチップの価格として顧客に転嫁される。カスタムASICやCAN互換モジュールを搭載したFPGAを使用している製品の製造業者は、CANプロトコルライセンス料を支払う必要がある。
CANは、ノードとも呼ばれる電子制御ユニット(ECU)を接続するためのマルチマスタシリアルバス規格である。通信するには、CANネットワーク上に2つ以上のノードが必要となる。ノードの複雑さは、単純なI/Oデバイスから、CANインターフェースとソフトウェアを備えた組み込みコンピュータまでさまざまである。ノードは、標準的なコンピュータがUSBやイーサネットポートを介してCANネットワーク上のデバイスに通信することを可能にするゲートウェイであっても良い。
全てのノードは、2線式バスを介して互いに接続されている。通信線は、公称120 Ωのツイストペアケーブルである。信号は、2本の通信線の電圧の差動によって送信される(平衡接続)。双方の線にいくらかの電圧が加わっても電圧の差には大きな変化がないので、ノイズに強いという性質がある。また低速CANの場合、仮に通信線2本の内の1本が途切れた場合でも、耐ノイズ性は下がるが通信は可能である。
ISO 11898-2は高速CANとも呼ばれ、両端が120 Ωの抵抗で終端されたリニアバスを使用する。
ドミナント(dominant, 0)を送信するときには、CANハイワイヤを5 Vの方に、ローワイヤを0 Vの方に駆動し、リセッシブ(recessive, 1)を送信するときはどちらの通信線も駆動しない。ドミナントの差動電圧は公称2 Vである。終端抵抗は2本の通信線を受動的に0 Vの公称差動電圧に戻す。ドミナントのコモンモード電圧はコモンの1.
ベストプラクティスでは、自動車内部のノイズの多いRF環境でRF放射を最小限に抑え、干渉感受性を低減するために、CANバスの平衡接続信号をシールドケーブルのツイストペアケーブルで伝送することが決定されている。
ISO 11898-2は、ノード間の高い電圧結合を維持するために、バスに沿って0 Vレールを走らせることにより、送信機と受信機の間のコモンモード電圧に対する耐性を提供する。また、上述の事実上の機械的構成では、各トランシーバノードに電力を分配するための電源レールが設けられている。この設計は、全てのトランシーバに共通の電源を提供する。バスによって印加される実際の電圧およびそれに適用されるノードは、アプリケーション固有であり、正式には指定されていない。一般的な実際のノード設計は、各ノードに、ノードホストから光学的に絶縁されたトランシーバを提供し、バスによって提供されるユニバーサル電源レールからのトランシーバに対して5 Vの線形に調整された電源電圧を導出する。これにより、通常、多くのノードタイプ間の相互運用を可能にするのに十分な電源レールの動作マージンが可能になる。このようなネットワーク上の電源電圧の標準値は7〜30 Vである。しかし、正式な規格がないということは、システム設計者が電源レールの互換性の責を負うことを意味する。
ISO 11898-2には、バスの両端に抵抗終端を備えたマルチドロップシングルエンド平衡接続構成で形成された電気的実装が記載されている。
これは、ホストプロセッサによって(通常は割り込みをトリガするCANコントローラによって)フェッチされる。 送信: ホストプロセッサは送信メッセージをCANコントローラに送信し、CANコントローラはバスが空いているときにシリアルにビットを送信する。
トランシーバー(ISO 11898-2/3 媒体アクセスユニット(MAU)規格で定義される) 受信: ワイヤーハーネスから受け取った差動電圧を、CANコントローラが使用するデジタル信号に変換する。通常、CANコントローラを保護する保護回路を備えている。 送信: CANコントローラから送られたデジタル信号を差動電圧に変換し、ワイヤーハーネスに流す。
各ノードはメッセージを送受信できるが、複数のノードが同時に送信することはできない。 メッセージまたはフレームは、主に、メッセージの優先度を表すID(識別子)と最大8バイトのデータセクションで構成される。CRC、確認応答スロット(ACK)その他のオーバーヘッドもメッセージの一部である。改良されたCAN FDでは、データセクションの長さをフレームあたり最大64バイトまで拡張している。このメッセージは、NRZ(non-return-to-zero)フォーマットを使用してシリアルにバスに送信され、すべてのノードによって受信される。
CANネットワークに接続されるデバイスは、センサ、アクチュエータ、その他の制御デバイスである。これらのデバイスは、ホストプロセッサ、CANコントローラ、CANトランシーバを介してバスに接続されている。