NI-VCOM Toolkitを使用して CAN アプリケーションのカスタム チェックサムを定義する

更新しました Jun 14, 2024

環境

ソフトウェア

  • Vehicle Communication Toolkit

ドライバ

  • NI-XNET

NI-XNET カスタム チェックサムと比較して、Vehicle Communication Toolkit には、CAN チャンネルではなく単一フレームにチェックサム アルゴリズムを追加できるという利点があります。さらに、NI-VCOM は多くの一般的なチェックサム アルゴリズムを定義しており、ユーザーは RBSConfig アプリケーションで その中の1 つを選択するだけで済みます。ユーザーのアルゴリズムが特殊でチェックサム アルゴリズムのリストに見つからない場合は、特定のチェックサム アルゴリズムを定義する方法があります。
この資料では、カスタムのチェックサムアルゴリズムを実装する方法を確認します。

1. NI Linux Real-Time Documentation and Tutorials の資料を元にコンパイル ツールチェーンをセットアップします。
2. チェックサム (CRC) アルゴリズムを含むCコード ファイル ' NIXNETCustomInterfaceCAN.cpp ' を準備します。次のスクリーンショットは、チェックサム アルゴリズムの例です。チェックサム信号はバイト 7 で、チェックサム アルゴリズムはチェックサム = U8 (バイト 0 + バイト 1 + バイト 2 + バイト 3 + バイト 4 + バイト 5 + バイト 6) としています。
キャプチャ--.JPG
if 条件文で、"nxFrame->Identifier == 0x128"は、フレーム 0x128 のみがこのチェックサム アルゴリズムを追加することを意味します。 "nxFrame->Payload [7] != 2" は、チェックサム信号の値が 2 に等しい場合、定義されたアルゴリズムを適用しないことを意味します。これはチェックサムのフォールトを挿入する方法です。
"nxFrame->Identifier == 0x128"の条件がなければ、特定のチェックサム アルゴリズムがすべての送信フレームに追加されます。
キャプチャ-1.JPG
フレームにチェックサムフォールトを挿入したくない場合は、"nxFrame->Payload [7] != 2"の条件を削除します。
3. NIXNETCustomInterfaceCAN.cpplibNIXNETCustomInterfaceCAN.soファイルにコンパイルします。
キャプチャ-4.JPG
so ファイルはフォルダ " ......\build\bin\ " にあります。
キャプチャ-2.JPG
4. WebDAV を使用して  .so ファイルをターゲットにコピーします。そしてRBS configuratorを以下のスクリーンショットのように構成します。
キャプチャ.JPG