- 著者: ジョニー・リウ(ダウウェイ・ビークル社CEO)
- 公開日: 2026年6月30日
- 学術論文の引用と謝辞: 本稿は、李全堂氏(新エネルギー車技術研究所上級エンジニア)が2026年6月12日に発表した技術的な知見とデータに基づいている。
- 読書時間: 8分
Table of Contents
要約
CANバス(Controller Area Network)は、電子制御ユニット(ECU)同士が中央コンピュータを介さずに通信できる共有ワイヤ通信システムです。差動信号方式を用いてノイズを除去し、メッセージIDの優先順位付けによってデータ衝突をスムーズに解決します。また、ハードウェアエラー追跡機能を内蔵しており、故障したノードを自動的にシャットダウンすることで、システム全体の安全性を確保します。
1. CANバスとは何ですか?
現代の自動車や産業用ロボットには、どれだけのセンサーやコントローラーが搭載されているか考えてみてください。もしすべてのセンサーがそれぞれのコンピューターに接続するために専用の配線が必要だとしたら、車両には何百キロもの銅線が詰め込まれることになるでしょう。
ここでCANバスが登場します。1980年代にボッシュによって開発されたCANは、煩雑なポイントツーポイント配線を共有型の「情報ハイウェイ」に置き換えるものです。
この単一ネットワーク上では、エンジン制御ユニット(ECU)、ABS、インストルメントクラスター、バッテリー管理システム(BMS)などのデバイスがすべて同じ配線を通してデータパケットを送受信します。これにより、配線が簡素化され、コストが削減され、システム全体の重量も軽減されます。
2. CANバスの主な特徴
いくつかの重要な設計上の特徴により、CANは過酷なリアルタイム環境において最適な選択肢となっている。
A. マルチマスター構成(中央ホストなし)
CANネットワークでは、すべてのノードが平等です。他のデバイスに通信のタイミングを指示するマスターコンピュータは存在しません。回線が空いていれば、どのノードでもデータの送信を開始できます。いずれかのノードが故障しても、ネットワークの残りの部分は滞りなく動作し続けます。
B. メッセージIDアドレッシング(宛先よりもコンテンツが優先される)
イーサネットやIPネットワークとは異なり、CANはデバイスアドレスを使用しません。代わりに、すべてのメッセージに固有のタグを付けます。 メッセージID それはデータそのものを説明するものです。
すべてのノードがメッセージを受信します。各ノードはハードウェアフィルタを使用して、メッセージを読み取るか無視するかを判断します。つまり、1回の送信でシステムの複数の部分を同時に更新できるということです。
| メッセージID | データコンテンツ | 実用例 |
| 0x100 | エンジン回転数 | リアルタイムのRPMをダッシュボードとトランスミッションに送信します |
| 0x101 | 車速 | 速度データをHUD、ABS、パワーステアリングに送信します。 |
| 0x200 | バッテリー電圧 | BMSはパック電圧をメインモーターコントローラーに送信する |
| 0x300 | 温度 | 温度測定値をバッテリー冷却ファンとHVACに送信します |
C. 衝突のない(非破壊的な)仲裁
複数のノードが同時に通信しようとする場合、CANはメッセージIDを使用して、データ損失なしに誰が最初に通信を開始するかを決定します。
CANロジックでは:
- 0はドミナントビットです (強い)。
- 1は劣性ビットです (弱い)。
ノードはデータをビット単位で送信しながら、回線を監視します。ノードが1(弱い)を送信しているにもかかわらず、回線上で0(強い)を読み取った場合、より優先度の高いメッセージが送信されていることがわかります。ノードは直ちに送信を停止し、受信モードに切り替わります。ID番号の小さいメッセージが常に優先され、遅延や破損なく送信されます。
仲裁の例:
| ノード | 身元確認を試みた | 優先度レベル | 結果 |
| ノードC | 0x080 | 最高 | 勝利。メッセージ全体を遅延なく送信します。 |
| ノードA | 0x100 | 中くらい | 途中で引き返すが、後でまた試みる |
| ノードB | 0x200 | 最低 | 早めに引き下がるが、後で再び試みる。 |
D. 真のリアルタイム速度
安全システム(ブレーキやバッテリーモニターなど)に最小のID番号を割り当てることで、エンジニアはネットワークへの即時アクセスを保証できます。このため、CANは迅速な対応が求められる制御ループに最適です。
E. 優れたノイズ耐性(差動信号伝送)
自動車や工場の床は電気ノイズで満ち溢れています。CANは2本のワイヤーを使用することでこれを処理します。 CAN_H(高) そして CAN_L(低)。
受信機は2本のワイヤ間の電圧差を測定します。
電磁ノイズがケーブルに当たると、両方の電線の電圧が均等に変化します。受信機は2本の電線の電圧差のみを検出するため、ノイズは完全に打ち消されます。
F. ハードウェアレベルのエラーチェック
CANには、以下のような検証ルーチンが組み込まれています。
- チェックサム(CRC)
- ビットモニタリング
- 書式チェック
- 自動ACKシグナリング
ノードが物理的な問題に遭遇した場合、そのノードは自身のエラーを追跡し、バスの他の部分に支障をきたす前に、その問題を回避します。
3. 物理層:電圧と抵抗器
データの円滑な流れを維持するためには、物理的な配線が特定の基準を満たしている必要がある。
電圧レベル:優性 vs. 劣性
配線上の物理状態は、バイナリデータに直接対応します。
| 論理状態 | ビット値 | CAN_H電圧 | CAN_L電圧 | 差動電圧(Vdiff) |
| 劣性 | 1 | |||
| 支配的な | 0 |
の 終端抵抗器
配置する必要があります 抵抗器 本線の両端に位置する。
- なぜ? 電気信号は高速で伝わる。断線した電線の端に到達すると、反響音のように跳ね返り、次の信号を歪ませる。
- 解決策: の
抵抗器はツイストペア線の物理的特性に適合し、信号エネルギーを吸収して回線をクリアに保つ。
- 注記: これらの抵抗器はネットワークの両端にのみ設置してください。個々の分岐ノードには絶対に設置しないでください。抵抗器が多すぎると、過剰な電流が流れてしまいます。
4. エラーチェックと自己隔離
CANの高い信頼性は、不具合やノードの故障への対処方法に由来する。
CANがエラーを検出する5つの方法
- CRCエラー: 受信側はメッセージのチェックサムを再計算します。送信された値と一致しない場合、エラーとしてフラグを立てます。
- ビットエラー: 送信側は通信しながら回線を読み取ります。送信側が優性ビットを送信し、読み取り側が劣性ビットを読み取った場合(またはその逆の場合)、通信を停止します。
- スタッフィングエラー: クロックの同期を保つため、CANでは5ビット連続して同じビットが並んだ後に、反対のビットを挿入します。ノードが6ビット連続して同じビットを検出した場合、エラーを報告します。
- フォームエラー: 固定形式のフィールド(区切り文字など)は、必ず劣性でなければなりません。優性で表示される場合は、フォームエラーです。
- ACKエラー: 受信側は、受信確認のためにACKスロットを優先的にプルする必要があります。プルしない場合、送信側はACKエラーを報告します。
自主隔離州
各ノードには、送信エラーカウンタ(TEC)と受信エラーカウンタ(REC)という2つの内部カウンタがあります。これらの数値に基づいて、ノードは次の3つの状態のいずれかで動作します。
- エラーアクティブ(通常): ノードは正常に通信します。エラーを検出すると、アクティブエラーフラグ(6ビットのドミナントビット)を送信して、すべてのノードに不正なフレームを破棄するように強制します。
- エラーパッシブ(制限付き): エラーが蓄積すると、ノードはこの状態になります。通信は可能ですが、パッシブエラーフラグ(6ビットのリセッシブフラグ)しか送信できず、正常なノードの通信を妨害することはできません。
- バスオフ(孤立): ノードの障害が継続する場合(TECが255を超える場合)、コントローラはノードを物理的な配線から完全に切り離し、物理的に損傷したチップがシステムの残りの部分をブロックしないようにします。
5. クラシックCANの長所と短所
良い点
- 非常に柔軟性が高い: 全体の設定を変更することなく、ノードの追加や削除が簡単に行えます。
- 納期保証: 優先順位に基づいた設計により、安全システムは高速かつ予測可能な動作を維持できる。
- 厳しい: 内蔵のノイズ耐性機能と自動ノード遮断機能により、システムが保護されます。
- 安い: シンプルで軽量な2本のワイヤーを使用します。
悪い点
- 小型ペイロード: クラシックCANは、 8バイト フレームあたりのデータ量。
- 制限速度: 最高速度は 1Mbps長距離になると低下する。
- 交通渋滞: 負荷が高い場合、優先度の低いメッセージは後回しにされます。
- レイアウトに敏感: 適切なケーブル終端処理と整然とした配線が必要です。
6. CANバスはどこで使用されていますか?
- 自動車: パワートレイン部品、安全システム、先進運転支援システム(ADAS)、および車体電子機器を連携させる。
- 電気自動車(EV): バッテリー管理システム(BMS)をモーターコントローラーおよび充電ポートに接続します。
- 工場とロボット: モーター、センサー、アームアクチュエーターを制御します。
- 重機: 建設用トラック、トラクター、船舶などのシステムを制御する。
7.次のステップ:CAN FD(フレキシブルデータレート)
現代の車両やスマートファクトリーではより多くのデータが要求されるため、従来のCANは限界に達しつつあります。それに対応するため、エンジニアは CAN FD。
主な改善点
- 詳細情報: ペイロードは8バイトから 64バイト フレームごとに、梱包コストを削減します。
- 2段階の速度: 衝突を避けるために、調停中は標準速度(最大 1 Mbps)を使用しますが、高速(多くの場合)に切り替わります。 5Mbps 実際のデータペイロードを送信するには、(またはそれ以上)の文字数を使用します。
クラシックCANフレーム:
┌─────────────────┬───────────────────┬──────────────┐
│ アービトレーション 1M │ データ (8 バイト) │ CRC / ACK │ <– すべて 1 Mbps
└─────────────────┴───────────────────┴──────────────┘
CAN FDフレーム:
┌─────────────────┬───────────────────────────────────────────────────┬────────────────┐
│ アービトレーション 1M │ データ (最大 64 バイト) @ 5 Mbps │ CRC / ACK │
└─────────────────┴─────────────────────────────────────────────────┴──────────────┘
▲──────────────────────────────────────────────▲
高速ペイロードフェーズ
CAN FDの典型的な用途
- EV用バッテリーパック: 数千個のバッテリーセルから高密度センサーの読み取り値をストリーミングするのに役立ちます。
- ECUアップデート: 製造時または保守時のファームウェア書き込み速度を向上させます。
- ADAS: 高速レーダー、ライダー、カメラセンサーアレイの座標を調整する。
8. 結論
CANバスが依然として主流の標準規格であるのには理由があります。シンプルな共有配線設計に、高度な優先順位ルール、ノイズキャンセリング、自動安全遮断機能を組み合わせることで、安価で信頼性の高いリアルタイム通信を実現しているのです。
従来のCANは基本的なタスクを依然として完璧に処理する一方、CAN FDは高速な要求に対応するために進化しており、このプロトコルファミリーが今後も存続していくことを示している。
よくある質問(FAQ)
Q1:CANバスに終端抵抗が必要なのはなぜですか?
簡潔な回答: 電気信号のエコーを吸収し、データの破損を防ぐため。
詳細はこちら: なしで バスの両端に抵抗器があると、信号はケーブルの端に到達すると反射してワイヤを下り、ノイズが発生して入力データが破損します。
Q2:優性遺伝子と劣性遺伝子の違いは何ですか?
簡潔な回答: 配線上では、優性ビット(0)が劣性ビット(1)を上書きします。
詳細はこちら: 優勢ビットは、 線を横切ると、劣性ビットは両方の線が浮いているアイドル状態です
. 2つのノードが同時に異なるビットを送信した場合、優先されるビット(0)が優先されます。
Q3:CANはデータ衝突をどのように解決しますか?
簡潔な回答: 優先順位に基づくID比較によって。
詳細はこちら: ノードはメッセージIDを送信しながらバスを監視します。ノードが劣性ビットを送信したにもかかわらず優性ビットを読み取った場合、より優先度の高いノード(ID番号が小さいノード)が送信していることを認識し、送信を停止します。
Q4:従来のCANノードとCAN FDノードは同じ物理ワイヤを共有できますか?
簡潔な回答: いいえ、橋を通さずに同じ回線で話すことはできません。
詳細はこちら: 従来のCANコントローラがCAN FDフレームの高速データフェーズを受信すると、それをフォーマットエラーとして読み取り、エラーフラグを送信します。これにより、ネットワーク全体が中断またはクラッシュする可能性があります。




