CAN FD(CAN with Flexible Data Rate)とは
CAN FD(CAN with Flexible Data Rate)とは、CAN(Classic CAN)のプロトコル仕様を拡張し、従来のCANよりも通信速度の高速化と送受信データの大容量化に対応可能な通信プロトコルです。
近年、自動車の益々の電装化に伴い、車載制御系通信バスでは、接続ECUの増加によるデータ通信量の増大で、高トラフィックによる帯域不足、複数バス化によるコスト増などが課題になっています。これらの課題解決に、CAN FD通信が期待されています。
CANでは、1フレームのデータ長は最大8byteですが、CAN FDでは最大64byteに拡張しています。また、通信ボーレートもCANでは最大1Mbpsですが、CAN FDではペイロードの1Mbps以上の送信対応が可能になっています。
その他、通信セキュリティの用途でもCAN-FDは期待されています。CANと比較して多くのデータを1フレームで送信することが可能となるため、AUTOSARで規定されているSecOC(Security on board Communication)ベースのメッセージ認証を合わせて使うことが考えられています。
メッセージ認証は、データフレーム内に、暗号鍵を用いて作成したMAC値、データカウンタのFVを載せて送信します。受信側はMAC値とFVを参照して、通信の確からしさを検証できることにより、データの改ざんや成りすましを防止します。そのため、既存のCAN通信バスの置き換えだけでなく、より高度な安全運転支援システム領域のネットワークでのCAN FD通信の利用も検討されています。
CAN FDは、ISO11898-1:2015、ISO11898-2:2016により、従来のCANプロトコル仕様へ加える形でCAN FD仕様が規定されており、データフレームはCANとほぼ同等のフィールド構成となっています。そのため、CAN通信に馴染みがあれば、CAN FD通信の仕様理解もしやすくなっています。
CAN FDの特長
◆CANをベースとしたプロトコル
- 従来のCAN(Classic CAN)と物理層、システム構成がほぼ同等
- コントローラ、トランシーバはCAN FD対応が必要
◆データ部分の転送速度が可変
- 1Mbps以上の設定が可能(Ex:2Mbps,4Mbps,5Mbps,8Mbps等)
- ISO11898-2:2016では5Mbpsまでのタイミング要件を規定
◆データ長
- 最大64Byteまで対応
CAN FDフレームタイプ
CAN FDは、データフレームのみ定義されています。 データフィールドが存在しないリモートフレームは転送速度の切替が必要ないため、CAN FDでは定義されていません。エラーフレーム、オーバーロードフレーム、インターフレームスペースはCANと同じものが使用されます。
CAN FDデータフレーム
CAN FDのデータフレームは標準フォーマット、拡張フォーマット共に、CANと同様にSOF(Start Of Frame)、Aribitration Field、Control Field、Data Field、CRC Field、ACK Field、EOF(End Of Frame)の7つの領域で構成されています。 従来のCAN(Classic CAN)と同様の転送速度部分をアービトレーションフェーズ、転送速度の高速可能な領域をデータフェーズと呼びます。
- 標準フォーマット
- 拡張フォーマット
以下CAN FDデータフレーム(標準フォーマット)の各フィールドの詳細になります。
●SOF(Start Of Frame)
データフレームの開始を通知する領域で、1bitのドミナントです。
- CAN FDフレーム
- CANフレーム
●Arbitration Field(調停フィールド)
フレームの優先順位を判断する領域で、Base ID(Identifier)とRRSビットで構成されます。
- CAN FDフレーム
- CANフレーム
- Base ID(Identifier):標準ID11bit分を設定
- RRS:CAN FDにはリモートフレームがないためCANで使用されていたRTRビットからRRSビットに置き換えられドミナントの固定になります。
●Control Field
IDE、FDF、res、BRS、ESI、DLCで構成されます。
- CAN FDフレーム
- CANフレーム
- IDE:CANと同様に標準フォーマット時はドミナント、拡張フォーマット時はレセシブで表します。
- FDF:CANとCAN FDを区別するビット、CANはドミナント、CAN FDはレセシブで表します。
- res:予約ビット
- BRS:CAN FDで追加されたビットで、データフェーズの高速化の切り替えを行います。このビットがレセシブの時にBRSビットのサンプリングポイントから転送速度を高速化させ、CRCデリミタのサンプリングポイントで全ノードがアービトレーションフェーズに戻ります。
- ESI:CAN FDで追加されたビットで、送信ノードのエラー状態を表します。エラーアクティブの時はドミナント、エラーパッシブの時はレセシブで表します。
- DLC:データ長を表すCAN FDで表せるデータ長は0~8、12、16、20、24、32、48、64byteになります。
データ長コードとCAN/CAN FDのデータ量比較
●Data Field
Data Fieldはデータを格納する領域で、データ長はCANでは0~8byte、CAN FDでは0~8、12、16、20、24、32、48、64byteとなります。
- CAN FDフレーム
- CANフレーム
●CRC Field
フレームの伝送誤りを判断する領域で、Stuff Count、CRC、CRCデリミタで構成されています。 CANと同様にSOFからData Fieldまでの値を演算し、その結果を比較することで伝送誤りを判断します。
- CAN FDフレーム
- CANフレーム
- StuffCount:CAN FDで追加された4bitの領域SOF~DataFieldに含まれるスタッフビットの総数を8で割った余りを3bit長でグレイコード化した値で格納し、4bit目に偶数パリティを格納します。
StuffCount コーディング
- CRC:SOFからDataFieldまでの領域を演算します。CANではスタッフビットは計算に含まれていませんでしたが、CAN FDではスタッフビットも計算に含まれるようになりました。DataFieldが16byteまでが17bit、16byteを超える場合は21bitで格納します。またCRC Fieldでは、固定されたビット位置に固定スタッフビット(Fixed Stuff Bit)が配置されます。スタッフビットの値は、その直前のビットの値と逆の値になります。配置箇所は、CRC領域の先頭と、4ビット間隔の固定スタッフビットになります。
CRC Fieldのビットスタッフィング
- CRCデリミタ:CRC Fieldの終了を表す1bitのレセシブ。CAN FDでは、ノード間の位相のずれを考慮し、受信側では最大2bit時間を許容します。また、データフェーズはCRCデリミタの最初の1bitのサンプリングポイントまで有効で、それ以降は全ノードがアービトレーションフェーズに戻ります。
●ACK Field
正常受信した確認の合図を表す領域で、ACKとACKデリミタで構成されます。
- CAN FDフレーム
- CANフレーム
- ACK:CANではACKは1bit時間でしたが、CAN FDの受信ノードでは、最大2bit時間までを有効なACKと認識可能です。追加の1bit時間は、高速なデータフェーズからアービトレーションフェーズへのクロック切り替えに発生するトランシーバの位相のずれおよび、バスへの伝達遅延の補完に使用されます。
- ACKデリミタ:ACKの終了を表す1bitのレセシブ
●EOF(End Of Frame)
データフレームの終了通知する領域で7bitのレセシブです。
- CAN FDフレーム
- CANフレーム
CANとCAN FDの混在について
ネットワーク上にCAN FD非対応のノードが接続している場合、CAN FDフレーム受信でエラーが発生し通信が成立しなくなるため、ネットワーク上全てのノードがCAN FDに対応している場合のみCANとCAN FDフレームの混在が可能です。
波形で見るCANとCAN FDの違い
◆CAN,CAN FDサンプル波形資料ダウンロード
アービトレーションフィールド、データフィールド(8byte,64byte対比)、データフィールドのハイビットレートによる通信速度変更のサンプル波形をご覧いただけます。
ダウンロードフォームに必要事項を全て記入してください。フォームを送信後すぐにダウンロードが開始します。
サニー技研のCAN FD通信への取り組み
サニー技研では、OEM、サプライヤ向けにCAN FD通信ソフトウェアを開発している他、CAN FD通信の導入・評価のためのCAN FD通信アナライザ、CAN FD通信評価ボードやCioRy CAN FD通信ソフトウェアを当社製品としてご用意しています。