NI-XNETでCAN FDおよびCANFD+BRSを使用するとエラーまたは不正なフレームが表示される

更新しました Apr 3, 2023

使用製品

ハードウェア

  • NI-9862
  • PXI-8512
  • PXI-8513/2
  • PXI-8512/2
  • PXI-8513
  • PCI-8513/2
  • PCI-8513
  • PCI-8512/2
  • PCI-8512

ドライバ

  • NI-XNET

その他

CANフレキシブルデータレート(CAN FD)およびビットレートスイッチング(BRS)クラスタが実装されているCANネットワークで報告されています。

問題

CANバスにCAN FDとCAN FD+BRSのクラスタがあり、そこにはNI-XNETデバイスが含まれています。他のすべてのデバイスは問題なく動作しているようですが、デフォルトのNI-XNETビットレートタイミング設定ではエラーフレームまたは不正なフレームが見られます。これはなぜ起きているのでしょうか?

解決策

この動作は通常、デバイスのサンプルポイント間の不一致によって発生します。
  • ノード内のデバイス間のビットタイミングが一致するように、 XNET Session:Interface:64bit Baud Rate およびXNET Session:Interface:64bit FD Baud Rate プロパティを使用して変更します。

  • NI-XNET 16.1以降では、特定のサンプルポイントに必要な16進数値のボーレートを安易に設定できるダイアログ構成がございます。これについては本資料後半で詳しく説明します。

追加情報

BRSは、ビットレートが通常のレート(Arbitration IDとヘッダに使用されるレート)からデータビットレートに切り替えられるCANフレーム内のポイントを示します。BRSは、レセシブビットとしてサンプルポイントまで送信します。サンプルポイントにて、データレートは即座に切り替わります。

データビットレートは通常レートよりはるかに高いため、すべてのノードのサンプルポイントが一致することが不可欠です。通常レートのサンプルポイントが他のノードと一致しない場合、送信機のサンプルポイントと受信機のサンプルポイントのずれによりデータビットが早期に送信されたり、データ解釈の誤りの可能性が発生します。

例えば、送信機と受信機は、通常ビットレートの4倍のデータビットレートとして設定されているとします。送信機は、通常レートサンプルポイント60%のフレームをサンプルポイント80%の受信機に送信します。サンプルポイントでは、受信機がまだ信号のサンプリングを待機している間に、送信機はより速いデータビットレートに切り替わります。後に送信機は残りフレームのビットを送信続け、受信機は不定値または不正確な値を読むかもしれません(下記図のA)。残りのデータのサンプルポイントにオフセットが生まれ、エラーが発生します。

CAN in Automation(CiA)は、CAN FDの開発および推奨事項を公開する、国際的なユーザーおよび製造元の団体です。NI-XNETが使用するデフォルトのボーレートのビットタイミング値は、CiAの推奨事項、信頼性テスト、およびプラグテスト参加の結果に基づいて選択されています。デバイス製造元によって、NI-XNETのデフォルトボーレートのビットタイミングとは異なる設定で操作することを選択する場合があります。他のデバイスとのBRSの不一致を回避するには、クラスタ上のすべてのデバイスが同じビットタイミング設定で動作していることを確認するように注意する必要があります。

NI-XNET 16.1以降のバスモニタには、特定のサンプルポイントに必要な16進数の値を安易に設定するための簡単なグラフィカルユーティリティが含まれています。このユーティリティにアクセスするには、 NI-XNETバスモニタを開き、設定→ インタフェースデータベース...に移動してインタフェースとデータベースの設定を開きます。次にボーレートドロップダウンから、 <カスタム>を選択します。下記のようなダイアログが表示され、Sample Pointスライダを使用して、事前に選択したボーレートを維持しながらサンプルポイントを調整できます。適切なサンプルポイントを選択できましたら、16進数のカスタムボーレートをコピーできます。