1. ホーム
  2. 製品・技術情報
  3. KVASER CANプロトコルとは?(CANプロトコルチュートリアル)

製品・技術情報

KVASER CANプロトコルとは?(CANプロトコルチュートリアル)

  • 2022.02.22
PART 9:CAN FDと上位層プロトコル
CAN FD

2011年、Boschは、CANの新しいイテレーションである"CAN FD"の開発を開始しました。"FD"は、"flexible data rate"の略です。2011年以降、CAN FDは、次世代のCANとして採用され、SAE仕様会議で改良やチップおよびツールメーカによる実行が続けられています。

Controller Area Network(CAN)およびFlexible Data-Rate(CAN FD)

Boschが開発したCAN FD(CAN with Flexible Data-Rate)は、ISO 11898-1で規定されているオリジナルのCANプロトコルを拡張したものでautomotive networks(自動車ネットワーク)における帯域幅要件の増加に対応しています。CAN FDは、Infineon、NXP、Daimler、GMなどの、この新しい規格の背後にある半導体企業およびエンドユーザからのサポートを受けています。

CAN FD準拠製品の検索:ハードウェア | ソフトウェア

CAN FD : 概要

標準的なCANネットワークは、スピードが1MBit/sに制限され、最大ペイロードは、フレームあたり8バイトです。CAN FDは、CAN物理層を変更することなく、より長いデータフィールド(フレームあたり最大64バイト)を可能にすることで、実効データレートを向上させます。また、CAN FDは、通常のCANバス調停を維持し、調停プロセスの終了時にのみ短いビット時間に切り替え、またレシーバがacknowledgeビットを送信する前のCRCデリミタで長いビット時間に戻すことでビットレートを向上させます。CANで可能な3~8倍の現実的な帯域幅利得は、フラッシングアプリケーションに特に有効です。

CAN FDシステムおよびサブシステムを構築する場合、最大ビットレートを実現するためには物理層の品質に大きく依存するため、より高いビットレートであるほど物理層についてより多くの情報を知る必要があります。また、CAN FDメッセージは、共通のTime Quantaとサンプリングポイントの位置が分かっていることを要求します。これらの理由からCAN FDシステムでは、より高度なトラブルシューティングツールが必要になります。

Kvaser とCAN FD

Kvaserは、早期にCAN FDを開始し、それ以来、CAN FDコントローラロジックに追加機能を実装してきました。これを使用してCANビットを構成して既存のCANバスレイアウトのビットタイミング設定を最適化し、特定のハーネスでのCAN FD実装の最大ビットレートを特定する方法に関する情報を提供できます。

革新的でコスト効率に優れたCANソリューションのリーディングプロバイダとなることを使命とするKvaserは、CAN FD規格のサポートに全力で取り組み、マイクロコントローラと新規格のコンフォーマンステストソリューションが利用可能になり次第、CAN FDに準拠したインターフェースとデータロガーをリリースすることを目指しています。

Kvaser社のCAN FD実装は、 Bosch spec test に合格しました。このテストでは、バス上で大量のエラーフレームやその他の問題が発生することなくCANFDを実行できることを確認します。
Kvaserは、IPのテストと検証に緊密に協力してきたMicrochip Technology, Inc.が、自動車および産業用アプリケーションのための将来のコントローラ製品にKvaserのCANおよびCAN FD IPを統合することを発表しました。

上位層プロトコル

CAN規格は、ハードウェア("物理層":いくつかあります)と基本的なレベルの通信("データリンク層")を定義しています。CANプロトコル自体は、共有の通信媒体を使用してA点からB点までスモールパケットのデータを転送する方法を指定しているだけです。フロー制御、8バイトのメッセージに収まらないほど大きなデータの転送、ノードアドレス、通信の確立などについてのトピックについては何も書かれていません。

システム内の通信を管理するためには、上位層プロトコル(HLP)が必要です。HLPの用語には、OSIモデルとその7層から派生しています。上位層プロトコルは、一般的に次のようなものを規定しています:

  • 起動時の挙動(Start-up behaviour)
  • システム内の異なるノード間でメッセージ識別子を配布する方法
  • データフレームの内容を翻訳する方法
  • システム内のステータスレポート
上位層プロトコル(HLP)のタイプ

CAN busの上位層プロトコルは、数多く(数十種類)があります。最も一般的なものを以下に示します。
さらに、主要なHLPの違いについて説明している以下の記事を読むことをお勧めします。

※ リンク先は全てKvaser英語サイトになります。

上その他の関連プロトコルと規格

CANと密接に関係のあるプロトコルや規格はいくつかありますが、しかし、これらは上位層プロトコルではありません。
それらのうちのいくつかについては紹介します。

※ リンク先は全てKvaser英語サイトになります。

その他のリソース

広く使われているHLPには以下のものがあります:※ リンク先は全てKvaser英語サイトになります。

  • J1939: この仕様は、車の通信および診断に関するベストプラクティスを記述しています。
  • CANopen: CANopenは、オートメーションで使用される組み込みシステムのための通信プロトコルとデバイスプロファイルの仕様です。
  • NMEA 2000: NMEA 2000(NMEA2kまたはN2Kと略されることもあります)は、船舶やボート内の海洋センサや表示装置を接続するために使用されるplug-and-playの通信規格です。