COMPARE / 選定と使い分け

CANとCAN FDの違い

CAN FDは従来のCANを拡張した方式で、1フレームのデータ長が8バイトから最大64バイトになり、アービトレーション後にビットレートを切り替えられます。既存ネットワークへの追加では、各ノードのコントローラとトランシーバの対応条件を確認してください。

はじめての方へ

CAN の基礎

CAN は、自動車の中の多くの制御装置(ECU)が、2 本の線を共有して情報をやり取りするための通信方式です。いまでは産業機器やロボットでも使われています。

1 組の線にみんながつながる

CAN では、すべての装置が同じ 2 本の線(バス)につながり、送りたい装置がメッセージを流します。メッセージには宛先ではなく、中身の種類を表す番号(ID)が付いていて、受け取る側が必要なものだけを拾います。

同時に送ったときのルール

2 つの装置が同時に送り始めると、ID の番号が小さい(優先度が高い)ほうがそのまま送り続け、もう一方は送るのをやめて、あとで送り直します。メッセージを壊さずに、優先度の高い情報を先に通せるのが CAN の特徴です。

CAN FD ができた理由

従来の CAN は、1 回に送れるデータが 8 バイトまで、速さも最大 1 Mbit/s でした。車の中でやり取りするデータが増えたため、1 回に最大 64 バイトを送れ、データの部分だけ速く送れるように広げたのが CAN FD です。

雑音に強いつくり

2 本の線(CAN_H と CAN_L)の電圧の差で 0 と 1 を表す差動方式なので、自動車のような雑音の多い環境でも通信しやすくなっています。

このページに出てくる言葉

ECU
自動車のエンジンやブレーキなどを制御するコンピュータ。
バス
複数の装置が共有する通信の線。
ID(識別子)
メッセージの種類と優先度を表す番号。小さいほど優先。
Mbit/s
1 秒間に送れるビット数(100 万ビット単位)。

あわせて読む: シリアル・バスの早見表

VISUAL GUIDE / 構造と流れを比べる

データの長さと、ビットレートを切り替える区間を比べられます。

フレームの流れ(幅は時間を表しません)

  1. 識別・調停
    公称レート
  2. 制御 → データ → CRC
  3. ACK・終端
    公称レート

データ部の容量:1マス=1 byte

Classical CAN:最大8 byte

CAN FD: byte(最大64 byte)

BRSは任意です。切り替えはBRSビット内で行い、CRC delimiterで公称レートへ戻ります。フレーム図は詳細ビット配置・スタッフビット・送信時間を省略しています。既存ノードやトランシーバの対応可否は別に確認してください。

参考資料・更新情報 (1件)

確認日: 2026-11-01

FOCUS / 気になる違いから読む

最大データ長

A / CAN

0〜8バイト

B / CAN FD

最大64バイト。DLCの8〜15に8/12/16/20/24/32/48/64バイトが割り当てられる

ビットレート

A / CAN

最大1 Mbit/s

B / CAN FD

調停フェーズとデータフェーズで異なるビットレートを使用できる。データフェーズの上限はコントローラ・トランシーバ・バス構成で決まり、8 Mbit/sは一部製品の対応例

ビットレート切替

A / CAN

なし

B / CAN FD

BRSビットでデータフェーズのビットレートを切り替える。速度比を一律に8倍とはしない

CRC

A / CAN

15ビット

B / CAN FD

データ長16バイト以下は17ビット、17バイト以上は21ビット

リモートフレーム

A / CAN

あり

B / CAN FD

なし(RTRがRRSに置き換わる)

識別子

A / CAN

標準11ビット、拡張29ビット

B / CAN FD

標準11ビット、拡張29ビット

距離との関係

A / CAN

40 m未満で最大1 Mbit/s。125 kbit/sでは500 mまで

B / CAN FD

高速化するほど寄生容量の許容が厳しくなる

共存

A / CAN

従来のコントローラはCAN FDフレームをエラーとして扱い、通信を妨げる場合がある

B / CAN FD

すべてのノードのFDフレーム対応を確認する。Classical CANフレームだけで運用する場合と、FDフレームを流す場合を区別する

A / こんなときに検討

CAN

  • 送るデータが1フレーム8バイト以内に収まる場合
  • 既存のCANネットワークや機器と合わせて運用する場合
  • 1 Mbit/s以下のビットレートで足りる場合
B / こんなときに検討

CAN FD

  • 1フレームで8バイトを超えるデータを送りたい場合
  • データ部のビットレートを上げて、同じ量をより短い時間で送りたい場合
  • より強いCRC(17/21ビット)でエラー検出を重視する場合

観点ごとの違い

観点CANCAN FD
最大データ長0〜8バイト最大64バイト。DLCの8〜15に8/12/16/20/24/32/48/64バイトが割り当てられる
ビットレート最大1 Mbit/s調停フェーズとデータフェーズで異なるビットレートを使用できる。データフェーズの上限はコントローラ・トランシーバ・バス構成で決まり、8 Mbit/sは一部製品の対応例
ビットレート切替なしBRSビットでデータフェーズのビットレートを切り替える。速度比を一律に8倍とはしない
CRC15ビットデータ長16バイト以下は17ビット、17バイト以上は21ビット
リモートフレームありなし(RTRがRRSに置き換わる)
識別子標準11ビット、拡張29ビット標準11ビット、拡張29ビット
距離との関係40 m未満で最大1 Mbit/s。125 kbit/sでは500 mまで高速化するほど寄生容量の許容が厳しくなる
共存従来のコントローラはCAN FDフレームをエラーとして扱い、通信を妨げる場合があるすべてのノードのFDフレーム対応を確認する。Classical CANフレームだけで運用する場合と、FDフレームを流す場合を区別する

置き換え・調達で確認すること

  • CAN FD通信を行うには、使用するコントローラとトランシーバのCAN FD対応状況を仕様書で確認する
  • 使用するデータレート、バス長、終端・スタブ、コントローラとトランシーバの組合せを指定する。トランシーバ単体のFD対応だけで既存ノードとの共存を判断しない
  • リモートフレームを使っている既存設計は、CAN FDフレームでは使えない点を確認する

関連する比較

参考資料・更新情報 (3件)

一般的な傾向をまとめたものです。個々の製品の値はデータシートで確認してください。誤りはこちらからお知らせください。