こんにちは、NXPチームの皆様:
テスト用ハードウェア:s32g274
ソフトウェアバージョン: bsp38
can 設定: ip link set llcecan(0~3) type can \
ビットレート 500000
サンプルポイント 0.8
dbitrate 2000000 \
dsample-point 0.7 \
fd オン
テストケース:
1: ベクトルv1640 can1はs32gのcan0~can3に接続でき、can2はs32gのllce_can0~llce_can3に接続できます。
2:vector1640はCANデータを送信し、s32gはCANデータを受信します。
3:送信されたデータフレームと受信されたデータフレームが一致しているかどうかを確認します。
試験結果:
1: データフレームは llce_can0~llce_can3 では失われますが、can0~can3 では失われません。
参考画像は以下のとおりです。
図1:v1640 can1が合計1,823,705フレームを送信し、図2ではs32g274 can0~can3がフレーム損失なしで1,823,705フレームを受信したことがわかります。
v1640 can2 によって送信されたフレームの総数は 1,845,947 であり、s32g274 llce_can0~llce_can3 によって受信された対応するフレーム数は約 1,845,887 であることが観察できます。60フレームが失われています。
CPU負荷が比較的高い場合、フレーム落ちの状況は悪化する。CPU負荷を軽減するために、LLCE_CAN_MAX_RX_MBの値を増やすことは可能でしょうか?同時に、フレーム損失の問題をどのように解決すればよいでしょうか?最適化すべき項目はありますか?
こんにちは、 @ZHANGBOWEN
ご返信ありがとうございます。
この問題をさらに調査するために、まずローカルのRDB2で再現してみたいと思います。
以下の点についてご説明いただけますでしょうか?
1. テストではどのバージョンのLLCE FWを使用していますか?
2. 他のバージョンのBSPでテストしたことはありますか?そうだとすれば、結果は同じでしょうか?
3. フレーム損失は、前述のように8つのCANチャネルを介してベンチマークを実行した場合にのみ発生する可能性はありますか?LLCE CANインターフェースのみを対象とした圧力テストを実施されたことはありますか?問題を再現できるような、簡略化されたテスト環境は存在しましたか?
4. このテストのテスト負荷はどれくらいですか?フレーム損失が発生した場合のスループット値はどれくらいですか?テスト中の平均CPU負荷はどれくらいですか?
BR
チェイン
こんにちは、
ご返信ありがとうございます。
LLCE_CAN_MAX_RX_MBを64と128に変更した後も、CPU負荷は低下しなかったか、低下しても目立たなかったため、確認が困難でした。そして、llcecanのフレーム損失現象は依然として存在する。
こんにちは、 @ZHANGBOWEN
投稿ありがとうございます。
共有された説明から判断すると、システム負荷が高いときにフレーム落ちが発生するようです。
LLCE_CAN_MAX_RX_MBの値を変更してみることをお勧めします。
BR
チェイン