NXPのエキスパートの皆様、こんにちは。
私たちのプロジェクトにおけるLLCE CAN 機能に異常がありました。時折、送信は正常なのにECUから報告された特定のCANメッセージの受信に問題が起きました。デバッグの結果、CAN割り込みは通常通りトリガーできることが判明しましたが、u32Word0の読み取りはCan_SharedMemoryから0x18008から0x1800fに変わり、異常な値でした。計算されたu32MbMessageIdは0でした。これによりメッセージが失われました。
RxMbDescIdxには値があり、変化していました。また、word1は0になることもありましたが、これも変化していました。この状況は断続的に起こり、影響を受けたCANラインもランダムでした。
この状況の分析にご協力ください。デバッグ用のスクリーンショットを以下に添付します。次のデバッグ手順はどのように進めればよいでしょうか?あるいは、どのような解決策がありますか?
LLCEのバージョンは1.0.10です。
。 LLCE_Abnormal.png
こんにちは、 canhe
お問い合わせいただきありがとうございます。
もう少し詳しく教えていただけますか?
1. あなたはどのバージョンのRTDを使用していますか?
2. 自分でボードやソフトウェアを使っていますか?
BR
ジョーイ
こんにちは、 canhe
承知いたしました。ご質問の優先順位を上げさせていただきます!
1. 受け取ったCANフレームは外部デバイスから来たものか、それともCANoeデバイスからのものか教えていただけますか?受信はCANフレームですか、それともCANFDフレームですか?
2. 設定されたボーレートは何ですか?どのポートを使用していますか?
3.フレームは内部コアで処理されますか、それともCAN2CAN経由でルーティングされますか?
BR
ジョーイ
NXPのエキスパートの皆様、こんにちは。
情報同期:異常な状況では、Can_Llce_GetControllerModeを通じてコントローラーの状態を「スタート」と読み取り、Can_43_LLCE_SetControllerModeインターフェースを通じて「停止>開始」の切り替えを実行します。異常なCANは回復可能です。word0の値から判断すると、LLCEの内部DTEカーネルが共有メモリにデータを転送する際にエラーが発生したようです。
現在、異常発生確率は依然として約20 %-30%とかなり高い。当チームは関連する秘密保持契約書に署名済みです。この問題の処理を優先していただけますか?
こんにちは、ジョーイ
お返事ありがとうございます。この問題は、デバッグコードを追加する前に発生していました。具体的な原因を確認するために、デバッグコードを追加しました。デバッグコードは、特定の状態を読み取るだけです。共有メモリの値が異常なようです。パッチが提供されました。
こんにちは、
Can_Llce_ProcessRxMbに何らかの変更を加えたようですね。変更前に何か問題はありましたか?修正されたコードを教えてもらえますか?
Joey_z_0-1785135823536.png
BR
ジョーイ
こんにちは、ジョーイ
1.バスの乗車率は40%から50%の間で、それほど高いとは言えない。
2. BCAN_RXFIFO_OVERRUNは異常な状況下で発生していますが、正常動作時にもこの通知を確認しています。
3. 現在、LLCEにはルーティング機能は有効になっていません。ホストにデータを転送するだけです。使用されるフレームのほとんどはCAN FDであり、少数のCANフレームも存在します。
こんにちは、 canhe
情報提供ありがとうございます。
問題に直面したシナリオ 1.In、CANバスのバス負荷はどれくらいでしたか?バスの乗車人数は多すぎますか?
2.フレーム損失が発生した場合、通知にはエラーが表示されますか?エラーメッセージが表示された場合は、私にお知らせください。
Joey_z_0-1785211817403.png
3. エラーはいつ発生しますか?ルーティング処理中ですか、それともフレームがホストに送信されるときですか?使われているのはCANフレームですか、それともCAN FDフレームですか?
BR
ジョーイ
こんにちは、 canhe
1.バス負荷を軽減するテストを行い、問題のあるフレームの頻度が減少するかどうかを観察します。
2.また、画像に示されているパラメータの数値を増やしてみてください。
Joey_z_0-1785313583389.png
BR
ジョーイ
こんにちは、ジョーイ
お返事ありがとうございます。負荷率を下げて、再度テストを実施します。2つ目の点として挙げられたMBサイズについてですが、20から300に増やしてみましたが、それでも異常が見られました。
さらに、LLCEには共有メモリの処理に関する内部ロジックがあるかどうかご存知ですか?「word0」フィールドに異常値が発生するのはどのような状況下でしょうか?例えば、「word1」の値が「word0」に書き込まれる場合。
こんにちは、ジョーイ
1.受信したCANフレームは外部ECUから送信されました。現在、この異常はCANOE装置を用いたシミュレーションにより、試験台上で再現されている。実際には、どちらの状況でも異常事態が発生している。受信メッセージの大部分はCANFDフレームであり、少数はCANフレームです。
2. アービトレーションセグメントのボーレートは500k、データセグメントは2M、サンプリングレートは80%に設定されます。コントローラはBCAN1-BACN5を使用しています。
3. フレームは内部コアによって処理されます。
こんにちは、 canhe
詳細な情報を提供していただきありがとうございます。
皆さんは受信フレーム操作にBCAN1-BACN5を使用していますか?
私はあなたと同じバージョンのLLCEと設定を使用して1つのポートで受信テストを行いましたが、あなたと同様のエラーは発生しませんでした。
Joey_z_0-1785405650366.png
BR
ジョーイ
こんにちは、ジョーイ
主にBCAN1〜BCAN3を使ってほとんどのアプリケーションメッセージフレームを受け取ります。BCAN4は現在、データの送受信に対応していません。BCAN5は内部バスにコネクテッドされ、少数のメッセージを送信します。
こんにちは、ジョーイ
助けてくれてありがとう。この事件は完了しました。追跡番号は00997151です。
こんにちは、 canhe
下記のリンクからケースを作成してください。
この問題については、関連するCASE情報を記入してください。ソフトウェアチームやLLCEの専門家に内部チャネルを通じて連絡するお手伝いをいたします。
BR
ジョーイ
こんにちは、 canhe
以前のテストによると。
CANバスロードを減らして単一のCANチャネルを使うことには問題が起きませんか?
BR
ジョーイ
こんにちは、ジョーイ
現地のサポートや中国のオンラインサポートのために、現地のFAE(フィールドアプリケーションエンジニア)に連絡するのが都合が良いかお伺いしてもよろしいでしょうか?これは問題をより迅速に解決するのに役立つと思います。