S32G3 LLCE CAN2CAN 失敗NXP エキスパートの皆さん、こんにちは!
背景:私のプロジェクトでは、LLCEのCAN2CANルーティング機能を使用して、BCAN1からメッセージを受信し、Autosar CAN通信プロトコルスタックをバイパスしてBCAN2にルーティングする必要があります。マニュアルに従ってEBを設定しましたが、テストの結果、メッセージが転送されないことがわかりました。LLCEのファームウェアバージョンはS32G_LLCE_1_0_7です。

デバッグ後、CANドライバは正常に初期化され、ルーティングテーブルも正しく設定され、TXMBも十分であることが確認できました。LLCEピンニングも正常にロードされました。そのため、問題がどこにあるのかわかりません。この問題のトラブルシューティング方法と、何か適切な提案があれば教えていただけますか?
Re: S32G3 LLCE CAN2CAN Failこんにちは
1. どのバージョンの RTD を使用していますか?
2. リファレンス ボードを使用していますか、それともカスタム設計されたボードを使用していますか?
3. デフォルトのCAN2CANサンプルプログラムを試しましたか?それでも問題は発生しましたか?
BR
チェイン
Re: S32G3 LLCE CAN2CAN Failこんにちは、
1.MCAL バージョン RTD_4.4_4.0.2 と独自のデザインボードを使用しています。
2.ご返信ありがとうございます。問題は解決しました。ターゲット コントローラ上のルーティングに使用される TXMB 値を減らすと、問題は解決しました。各 CAN コントローラの最大 TXMB 値は 16 のようです。
3. さらに質問したいのですが、特定の CAN コントローラのルーティング機能を無効にする方法はありますか?関連する機能または EB 構成オプションを提供していただけますか?Re: S32G3 LLCE CAN2CAN Failこんにちは、 @canhe
問題が解決してよかったです。
特定のCANコントローラーのルーティング機能を無効にするという新しい質問ですが、CAN2CAN操作における特定のポートへの転送を停止するという意味ですか?それとも、他の操作ですか?要件を詳しくご説明ください。
BR
チェイン
Re: S32G3 LLCE CAN2CAN Failこんにちは、チェンイン
はい、CAN2CAN 操作で特定のポートの転送を停止したいです。通常、BCAN1 で 0x123 メッセージを受信すると、そのメッセージは直接 BCAN2 にルーティングされて送信されます。ここで (そのようなスイッチがあると仮定)、ルーティングがオフになっている場合、BCAN1 は 0x123 メッセージの転送を停止しますが、BCAN1 は引き続き他のメッセージを正常に受信できます。ルーティング機能をオフにするだけで十分です。Re: S32G3 LLCE CAN2CAN Failこんにちは、 @canhe
ご説明ありがとうございます。
申し訳ありませんが、直接参照できる同様のすぐに使える例はありません。LLCEファームウェアユーザーガイドを参照することをお勧めします。これには、FWの観点から実装されたAPIの詳細な説明があります。たとえば、
LLCE_CAN_CMD_REMOVE_AF_DESTINATION コマンドを LLCE に送信して既存の宛先ルールを削除できます。対応する API をチェックして、特定の要件を最もよく満たすものを確認できます。
BR
チェイン
Re: S32G3 LLCE CAN2CAN Failこんにちは、チェンイン
お返事ありがとうございます。試してみます。
確認が必要な点がもう1点あります。LLCE における HRH の内部選択方法は、まず、インデックスに基づいて通常のフィルター テーブルで検索し、次に、インデックスに基づいて高度なフィルター テーブルで検索する、ということになりますね。
たとえば、BCAN1 に 2 つの HRH を作成しました。HRH1 はどのルーティング オプションにも関連付けられておらず、パケットをフィルタリングしません。生成されたコードは通常のフィルターです。HRH2 はルーティング オプションに関連付けられており、フィルター ID は 0x32 です。生成されたコードは高度なフィルターです。HRH2 のオブジェクト ID は HRH1 のオブジェクト ID よりも小さいです。テストの結果、0x32 パケットを受信すると、常に HRH1 によって処理され、ルーティングに失敗します。Re: S32G3 LLCE CAN2CAN Failこんにちは、チェンイン
はい、現在設定されている 2 つのフィルターには重複するメッセージがあります。
HRH1:
HRH1HRH1HRH1
HRH2:
HRH2HRH2HRH2
メッセージ ID ごとにフィルターを構成するのが最適であることはわかっています。ただし、このプロジェクトはゲートウェイ ECU として機能するため、メッセージが多くなり、多くの HRH を構成する必要があります。これにより、作業が非常に面倒になります。SO、ルーティング メッセージとホスト メッセージ用に 2 つの個別の HRH を確立すれば十分です。ただし、結果から、メッセージは常に、関連するルーティング オプションを持たない HRH によって受信され、処理されることがわかります。
Re: S32G3 LLCE CAN2CAN Failこんにちは、 @canhe
ご返信ありがとうございます。
あなたが言及した状況では、高度な機能が有効になっていないフィルターが最初に一致し、それがテスト結果と一致します。
一般的に、構成においてこのような重複があることは推奨されません。各 ID に固定のフィルタリング ルールを設定することをお勧めします。
BR
チェイン