91 人が閲覧(直近 30 日) プロトコル

CAN通信とは?CANバスの仕組み・アービトレーションとCAN FDの違いを実装目線で解説

CAN通信とは?CANバスの仕組み・アービトレーションとCAN FDの違いを実装目線で解説

CAN通信は、1本の対より線に複数の制御装置をぶら下げ、IDの小さいメッセージから先に流すバス型のネットワークです。1986年にBoschが発表した仕様が土台で、いまも自動車のパワートレインから産業機械、医療機器まで同じ考え方で動いています。この記事では、ISO 11898が定めるフレーム構造とアービトレーションの挙動、ビットレートとバス長の制約、エラーカウンタとバスオフの扱い、CAN FDとCAN XLで何が変わったのか、車載Ethernetとどこで線を引くのかを実装目線で整理します。採用を見送るべき条件も、代案とセットで示しました。

まとめ|CAN通信を選ぶ条件と車載Ethernetへ移す境界線

先に結論を置きます。CANが効くのは、数バイトから数十バイトの制御信号を、10ミリ秒から100ミリ秒の周期で多数のノードへ配りたい場合です。差動2線に全ノードをぶら下げるだけで済み、専用線を引く構成より線数とコネクタ数が減ります。優先度はIDで決まるので、混雑時でもブレーキ系のような締切のあるフレームが遅れません。

向かないのは、カメラ映像や地図データのような大容量転送、そしてノード間の認証を要する通信。Classical CANのデータ部は8バイト、CAN FDでも64バイトまでで、署名やタイムスタンプを載せると実データの取り分がすぐ枯渇します。ここは車載Ethernetの領分になります。

世代選択の目安も置きます。ボディ系やセンサー集約なら現行のCAN FDで足り、Classical CANを残す理由は既存ECUとの互換だけ。CAN XLは2026年時点でトランシーバの入手性に差があるため、量産時期から逆算して部品表を先に固めてください。

CAN通信の定義とISO 11898が定める物理層・データリンク層の範囲

専用配線をバス型へ置き換えたときに減る線数とノード側の2段構成

CANはController Area Networkの略で、制御装置どうしを1組の対より線で結ぶシリアル通信です。線は2本、CAN HighとCAN Lowと呼びます。この2本の電位差でビットを表すため、両線に同じノイズが乗っても差分が変わらず、モータやインバータの近くでも信号が崩れにくい。差動伝送を選んだ狙いがここにあります。

ノード側は、通信制御を担うCANコントローラと、論理レベルを差動電圧へ変換するCANトランシーバの2段構成です。宛先を指定する仕組みは持たず、送信されたフレームは全ノードが受け取り、各ノードがIDでフィルタして必要なものだけ拾います。この放送型のため、受信側を1台増やしても送信側の変更が要りません。

ISO 11898-1と11898-2の分担とOSI参照モデル上の担当層

規格は用途別に分かれています。データリンク層と物理コーディング副層はISO 11898-1:2024、高速伝送用のトランシーバはISO 11898-2:2024、低電力・フォールトトレラント版はISO 11898-3:2006が担当します。2024年版の11898-1では、データリンク層がLLCとMACの副層に整理され、後述するCAN XLのフレーム形式が取り込まれました。

層で言えば、CANが面倒を見るのはOSI参照モデルの7階層のうち第1層と第2層だけです。第3層以上、つまりノードのアドレス設計や8バイトを超えるデータの分割は規格の外側にあり、SAE J1939やCANopen、診断通信のISO 15765-2といった上位プロトコルが埋めています。大きなデータを送れないのではなく、分割は上位の仕事という切り分けです。

CANフレームの構造とビット単位アービトレーションによる優先制御

標準フォーマット11ビットIDと拡張フォーマット29ビットIDの使い分け

データフレームは、SOF・アービトレーションフィールド・コントロールフィールド・データフィールド・CRC・ACK・EOFの順に並びます。中心はアービトレーションフィールドのIDです。標準フォーマットは11ビットで2048個、拡張フォーマットは29ビットで約5億3600万個のIDを表せます。

乗用車のパワートレインやボディ系は11ビットで足ります。IDが優先度そのものになるため、数が少ないほうが割り当てを管理しやすい。29ビットが要るのは、SAE J1939を使う大型車や建設機械のように、送信元アドレスとパラメータ群番号をID内に埋め込む体系を採る場合です。J1939は250 kbit/sを基本とし、J1939-14で500 kbit/sを規定しています。IDの幅は途中で変えにくいので、車種展開を見込んで初期に決めてください。

ドミナントとレセシブで衝突を壊さずに勝者を決める非破壊調停の手順

CANのバスは、論理0が優先されるワイヤードAND構造です。0を送るノードが1台でもあればバス全体が0になり、この状態をドミナント、1をレセシブと呼びます。

複数ノードが同時に送信を始めると、各ノードは自分が出したビットとバス上の実際のビットを1ビットずつ比べます。レセシブを出したのにドミナントが観測されたら、そのノードは即座に送信をやめて受信側に回る。IDの上位ビットから順にこれを繰り返すため、数値の小さいIDが必ず勝ちます。衝突でフレームを壊して再送するのではなく、負けた側が黙るだけなので、勝ったフレームは1回で送り切れる。この非破壊調停が、バスが混んでも最優先メッセージの遅延を抑えます。

バス負荷率から逆算する周期メッセージへのID優先度の割り当て手順

実装で詰まるのは調停の理屈ではなく、IDをどう配るかです。手順を固定しておくと後戻りが減ります。

  1. 周期と締切の短いメッセージから順に並べ、締切が短いものへ小さいIDを与える
  2. 各メッセージのビット長(スタッフビットを含めた最悪値)と周期からバス占有率を積み上げる
  3. 合計が定常で30〜40パーセント、瞬間的なピークでも60パーセントを超えないところで打ち止める
  4. 将来追加ぶんとしてID空間を2割ほど空けたまま量産へ渡す

負荷率の上限を低めに置くのは、低優先度フレームの待ち時間が負荷とともに急に伸びるためです。送信周期を作るのはマイコン側のタスクなので、周期のゆらぎを含めた見積りにはリアルタイムOSのスケジューリング特性もあわせて確認しておくと、実機で締切を割る事故を減らせます。

ビットレートとバス長・終端抵抗120オームで決まる物理層の制約

CiA 301が示す通信速度別のバス長上限と120オーム終端の位置

速度と距離は引き換えです。アービトレーションでは、送出したビットが最遠ノードへ届いて返ってくるまでを1ビット時間の内側に収める必要があり、これが上限を決めます。CiA 301はビットタイミングの対象を10 kbit/sから1000 kbit/sとし、バス長の目安を1 Mbit/sで40メートル、500 kbit/sで130メートル、125 kbit/sで530メートルとしています。

終端抵抗は120オームを、バスの両端に1本ずつ。中間ノードには付けません。3本入れたり片側だけにしたりすると反射でビットが乱れ、負荷が高いときだけエラーが増えるという再現しにくい不具合になります。分岐(スタブ)も短く保つのが原則で、通信が不安定な現場ではまずバス両端間の抵抗値を測り、およそ60オームであることを確かめるのが早い。

サンプルポイントとビットタイミング設定で起きる相互接続の失敗

ビットレートが同じでも通信できない組み合わせがあります。原因の多くはサンプルポイントの不一致です。CANは1ビットを複数の時間量子に分け、どの位置で値を読むかを設定します。この位置が機器間でずれると、伝搬遅延を吸収しきれずエラーフレームが出る。

実務では、500 kbit/s以上ならサンプルポイントを80パーセント前後、それ以下では75〜87.5パーセントの範囲に揃える運用が多く見られます。CANopen機器を混在させるならCiA 301の推奨値に合わせるのが確実。データシートに「87.5%」とだけ書かれていても、同期ジャンプ幅まで一致していないと発振器の誤差を吸収できません。ボーレートだけ合わせて済ませないでください。

エラー検出の5方式とTEC・RECで進むバスオフまでの状態遷移

エラーアクティブからエラーパッシブへ移る128というしきい値

CANは5種類の誤り検出を同時に走らせます。送出ビットとバス上のビットを比べるビットモニタ、同じ極性が5個続いたら反転ビットを挟むビットスタッフィングの違反検出、フレーム全体のCRC、固定ビット位置の形式チェックであるフォームエラー、受信側が応答を返さないACKエラーの5つです。1つでも検出したノードはエラーフレームを流し、送信元は同じフレームを自動で再送します。

問題は、壊れたノードが再送を繰り返してバスを占有しないための仕組みのほうです。各ノードは送信エラーカウンタ(TEC)と受信エラーカウンタ(REC)を持ち、エラーを起こすと増え、成功すると減ります。TECまたはRECが128以上になるとエラーパッシブへ移り、アクティブエラーフラグを出せなくなる。さらにTECが255を超えるとバスオフとなり、バスから切り離されます。

バスオフからの自動復帰を許すか止めるかを分ける安全側の実装判断

バスオフからの復帰条件は規格で決まっています。11個連続のレセシブビットを128回検出すると、TECとRECが0に戻りエラーアクティブへ帰る。多くのコントローラはこの自動復帰をハードウェアで持っていますが、有効にするかはアプリケーション側の判断です。

ここは言い切ります。安全関連系では自動復帰をそのまま使わないでください。断線やトランシーバ故障でバスオフに至った場合、自動復帰は復帰と切断を往復し、上位からは「たまに通信が戻る」状態に見えます。故障箇所の特定もフェイルセーフの発動も遅れる。実装としては、バスオフ発生を診断コードに記録し、規定回数を超えたらソフトウェアで復帰を止めて縮退動作へ落とす形が扱いやすい。産業機器の非安全系でノイズからの復旧が主目的なら、自動復帰を有効にして回数だけ記録する構成で足ります。

CAN FDとCAN XLの世代差とISO 11898-1:2024が統合した仕様範囲

データ長8バイト・64バイト・2048バイトで変わる三世代の比較

CANは3世代あります。従来型のCAN CC(Classical CAN)、データ部を広げたCAN FD、そして2024年版のISO 11898-1に取り込まれたCAN XLです。

項目 CAN CC CAN FD CAN XL
データ部の最大長 8バイト 64バイト 2048バイト
IDと優先度 11/29ビットID 11/29ビットID 11ビット優先度ID
データ部の速度 最大1 Mbit/s 2または5 Mbit/s 20 Mbit/s以上
規定する規格 ISO 11898-1 ISO 11898-1 ISO 11898-1:2024
主な適用先 既存ECUの互換維持 現行の新規設計 ゾーン間の中容量

CAN FDは、調停区間を従来速度のまま保ち、データ区間だけ速度を上げる二段構えです。調停の仕組みを変えずに実効スループットを稼ぐ設計のため、既存のID体系をそのまま持ち込めます。CAN XLはさらに踏み込み、11ビットの優先度IDとは別に32ビットのアクセプタンスフィールドを設けて、優先度と宛先識別の役割を分離しました。

同一バスで三つの形式を混在させるときのトランシーバ選定の条件

混在の可否はノード側の対応で決まります。CAN XL対応ノードはISO 11898-1:2024が定める3形式すべてを送受信できますが、Classical CAN専用のコントローラはCAN FDフレームを見ると形式エラーを出し、エラーフレームでバスを乱します。既存バスへCAN FD機器を1台足す改修が失敗するのは、たいていこれが原因です。

トランシーバ側にも条件があります。CAN FDで5 Mbit/sを狙うなら、リンギングを抑えるSIC(Signal Improvement Capability)対応品が前提。CAN XLのFASTモードで20 Mbit/s級を出すには、CAN SIC XLトランシーバが要ります。速度はコントローラの設定だけでは出ず、トランシーバとトポロジーの両方で決まる。部品表を確定させてから通信速度を約束してください。

車載Ethernetとの棲み分けとゾーン構成でCANが残り続ける条件

10BASE-T1Sが狙う領域とCANを置き換えきれない制御用途の線引き

車載Ethernetでよく比較されるのは10BASE-T1Sです。IEEE 802.3cg(2019年承認・2020年2月発行)が定め、1対の線で10 Mbit/s半二重、8ノード以上・バス長25メートルまでを多ドロップで結びます。任意機能のPLCAを使えば衝突なしの巡回送信ができ、遅延の上限も見積もれる。CANと同じ「1本の線に複数ノード」を、10倍以上の帯域で実現する規格です。

それでもCANが消えないのは、対応部品の価格と実績の差が大きいためです。10BASE-T1Sは25メートル・8ノードが基準で、CANの125 kbit/sで530メートルという到達距離とは前提が違う。既存ECUの検証資産、機能安全の認証実績、サプライヤの供給体制もCAN側に厚く積まれています。センサー1個の数十円差が、台数を掛けると効いてきます。

ゾーン構成で末端をCANのまま残す判断とゲートウェイが負う責務

ゾーンアーキテクチャでは、車両を領域ごとに区切ってゾーンコントローラを置き、その間を高速Ethernetで結びます。末端のセンサーやアクチュエータは、CANやLINのまま残すのが現実的な構成です。全部をEthernet化すると、末端まで大量のPHYとスイッチが要り、消費電力と原価が跳ね上がります。末端をどの方式で残すかの振り分けは、車載ネットワークの5方式比較と選定基準で速度・費用・担当領域から整理しています。

この構成でゾーンコントローラが背負うのは、単なるプロトコル変換ではありません。周期の異なるCANフレームの集約、欠落の検出と代替値の生成、そして通信経路の分離です。中央側の高性能ECUにはQNXのようなマイクロカーネル型RTOSを置き、パーティション分離で制御系と情報系を分ける設計が採られます。境界の引き方で、後年のソフトウェア更新の自由度が変わります。

FA・産業機器でのCANopen採用範囲とModbus・産業用Ethernetとの選定

CANopenの機器プロファイルとDeviceNetが担う範囲の違い

CANは自動車だけの規格ではありません。産業側では、CANの第1層と第2層の上に応用層を載せた2系統が使われています。CiA 301を軸とするCANopenと、CIPをCANへ載せたDeviceNetです。

CANopenの特徴は、オブジェクトディクショナリと機器プロファイルにあります。I/OモジュールはCiA 401、サーボや駆動機器はCiA 402というように機器種別ごとにパラメータ番号が標準化され、ベンダが違っても同じインデックスで同じ意味の設定へ届く。DeviceNetは北米系の装置に多く、125・250・500 kbit/sの3速度でCIPのオブジェクトモデルを持ち込みます。上位PLCとの接続前提が異なるため、既存設備がどちらの系統かで選択はほぼ決まります。

産業用Ethernetと比べてCAN系を選ぶ設備条件と更新の判断

新設の生産ラインで制御ネットワークを一から選ぶなら、CAN系は第一候補になりません。PROFINETやEtherCAT、CC-Link IEといった産業用Ethernetの規格体系と選定軸のほうが帯域も診断機能も上で、上位システムとの接続も素直です。

CAN系が残るのは、装置単体に閉じた機器間配線、ケーブル本数を削りたい可動部、電源とデータを同じハーネスで引き回す移動機械です。120オーム2線という単純さが効く領域。上位のPLCへ値を渡す部分はModbusのレジスタ体系へ変換するゲートウェイで受けるのが定番で、CAN系のまま上位まで貫く構成は選ばれにくい。既存設備の更新では、装置内はCANopen、装置間を産業用Ethernetへ寄せる二層構成が扱いやすくなります。

受託開発でCAN通信を見送る判断基準とセキュリティ設計の前提

認証を持たない仕様が生む脅威とSecOCで補える範囲とその限界

CANのフレームには送信元を証明する情報がありません。IDは優先度と内容の識別子でしかなく、バスへ物理的に接続できた機器は、任意のIDで正規と区別のつかないフレームを流せます。診断コネクタや外部通信モジュール経由で侵入されたときに、制御フレームの偽装を止める仕組みが仕様の中に無いということです。

対策の主流は、AUTOSARのSecOCのようにメッセージ認証コードとフレッシュネス値を載せる方式です。AUTOSARの2つのプラットフォームの違いはAdaptive AUTOSARとClassic Platformの対照にまとめました。ただしClassical CANの8バイトでは、MACを切り詰めても実データの取り分が残りません。SecOCを使うなら実質的にCAN FDが前提。工程面ではISO/SAE 21434がサイバーセキュリティのエンジニアリングを定め、国連協定規則のUN R155がマネジメントシステムの認証を型式指定の条件に組み込みました。鍵配布と更新の運用まで設計に含めないと、暗号方式だけ決めても製品として通りません。

CANを採用しない三つの条件と代替方式へ振り替える際の費用の目安

受託開発の相談で、次の3条件のいずれかに当たればCANは見送ります。1つ目は1回の転送が64バイトを超えるデータが主役の場合。分割再構成を上位で書くくらいなら、車載Ethernetか無線側へ寄せたほうが総コストは下がります。2つ目はノード数が実質2〜3台の場合。この規模ではバスの利点が出ず、SPIやUARTで足ります。3つ目は接続先がすでにIP網で、機器側もLinuxが動く場合。CANを挟むのは変換工程を増やすだけです。

収集した車両データを業務側で使うなら、通信方式の話はテレマティクスと運行管理の連携の設計と地続きです。当社では、車載・産業機器のセンサーデータをクラウドへ集約する構成をAI/IoTソリューションとして請けており、CAN側のフレーム設計とゲートウェイ、クラウド側のデータ基盤をまとめて設計できます。既存バスへのノード追加のように仕様が固まった改修と、ID体系から起こす新規設計とでは工数が一桁変わる。どちらの性質かを切り分けてからの見積りになります。

よくある質問

CAN通信の設計と現場対応でよく寄せられる質問をまとめました。

CAN通信とは簡単に言うとどのようなものですか?

1本の対より線に複数の制御装置をつないで、短いメッセージを全員に配るネットワークです。宛先は指定せず、各メッセージに付いたIDを見て、必要な装置だけが受け取ります。同時に送ろうとしたときはIDの数値が小さいほうが優先され、負けた側は自動で待つ。配線を減らしながら、締切のある制御信号を確実に流せる点が採用理由になっています。

CAN通信の速度はどれくらいですか?

従来型のClassical CANで最大1 Mbit/sです。CAN FDではデータ区間だけ速度を上げられ、ISO 11898-2:2024が2 Mbit/sと5 Mbit/sのパラメータ組を規定しています。CAN SIC XLトランシーバを使うCAN XLでは、FASTモードで20 Mbit/s以上に届く。実際に出せる速度はバス長とノード数にも左右されるため、カタログ値をそのまま前提にはできません。

CANバスの終端抵抗はなぜ120オームなのですか?

ケーブルの特性インピーダンスに合わせて信号の反射を打ち消すためです。対より線の特性インピーダンスが約120オームで、バスの両端に同じ値の抵抗を置くと、端まで届いた信号が跳ね返らずに吸収されます。片側だけ、あるいは中間ノードにも付けると波形が崩れ、高速時や高負荷時だけエラーが出る症状になる。両端間で測っておよそ60オームなら、2本が正しく入っている状態です。

CAN FDとCANの違いは何ですか?

大きな違いは2点です。データ部の最大長が8バイトから64バイトへ広がったこと、そして調停後のデータ区間だけビットレートを上げられること。調停の仕組みとID体系は従来のままなので、既存の設計を持ち込めます。Classical CAN専用のコントローラはCAN FDフレームをエラーとして扱うため、同じバスに混在させる改修では全ノードの対応可否を先に確認してください。

CAN通信は自動車以外でも使われていますか?

使われています。産業機械や建設機械ではCiA 301を軸とするCANopenが、北米系の装置ではCIPを載せたDeviceNetが定着しており、機器プロファイルで駆動機器やI/Oモジュールのパラメータが標準化された状態。医療機器や鉄道車両の補機、エレベータの制御でも採用例があります。装置内部の機器間配線を減らしたい場面では、いまも第一候補に挙がる方式です。

関連記事

お気に入りに入れた記事の一覧

この記事は以下の記事からリンクされています

資料請求

今日のトレンド記事 直近 24 時間で、いつもより多く読まれている記事

  1. 2026.10.06 テックブログ 大和証券の不正アクセスと約11万人分の口座番号:問い合わせ管理の委託先に残さない設計
  2. 2026.10.06 テックブログ 焼肉きんぐの不正アクセスと1,078万件の会員情報|全件規模の流出を防ぐAPIとログの点検
  3. 2024.06.11 コラム 個人情報漏えい件数の推移をグラフで解説|最新データと過去最多(約1.9万件)
  4. 2026.10.05 テックブログ WSL Containersとは?wslcの使い方とDocker Desktopとの使い分け【WSL 3.0.1時点】
  5. 2026.10.05 テックブログ 東京メトロ(メトポ)の不正アクセスと約5.9万件のメールアドレス|配信停止リストを残さない設計

RELATED POSTS 関連記事

目次