こんにちは、 Here it says it supportsここにはサポートすると書いてあります
And here it says only for CAN FDここにはCAN FDのみと書いてありますが、私は現在S32K312を使用しており、FlexCAN Enhanced RX FIFOのサポートについていくつか説明が欲しいです。
私の理解では、S32K312 FlexCANモジュールはレガシーRX FIFOをサポートしています。しかし、リファレンスマニュアルを確認したところ、Classical CANが拡張RX FIFOをサポートしていることを示すセクションがある一方で、拡張RX FIFOはサポートされていないことを示唆するセクションもあることがわかりました。
S32K312に搭載されているFlexCANモジュールは、拡張RX FIFO機能をサポートしているかどうか、ご説明いただけますでしょうか?サポートされている場合、従来のCANフレームを使用する際に適用される特定の制限事項や条件はありますか?
ご説明や関連ドキュメントへの参照などございましたら、大変ありがたく存じます。
よろしくお願いします。
こんにちは、
Q: MCR[FDEN]ビットが無効になっている場合(FlexCANがクラシックCANモードで動作している場合)、コントローラはクラシックCANメッセージを受信するための拡張RX FIFOをサポートできますか?
A: はい、FDEN=0の場合でも拡張RXFIFOを有効にすることができ、FlexCANは設定されたフィルタリング基準に応じて、通常のMBまたはこの拡張RXFIFOのいずれかに、従来のCANメッセージのみを受け入れます。
Q: この構成で拡張RX FIFOがサポートされている場合、その使用方法を示すリファレンスアプリケーション、サンプルプロジェクト、またはドキュメントはありますか?
A: 下記の例を参照してください。この例ではFlexCANをFDEN=1に設定していますが、必要に応じて、ペイロードとビットタイミングの変更と併せて、設定ツールで簡単に無効にすることができます。
https://community.nxp.com/t5/S32K-Knowledge-Base/Example-S32K344-FlexCAN-Ip-TX-RX-EnhanceRXFIFO-test...
Q: 拡張RX FIFOはMEX設定ツールから直接設定できますか、それともアプリケーションコードで手動で設定する必要がありますか?
A: 設定ツールには設定オプションがほとんどありません
- 拡張RXFIFOの有効化/無効化
- 標準フィルタ要素と拡張フィルタ要素の数
- 透かし設定
フィルタテーブルはコード内で設定する必要があります。上記のデモを参照してください。
BR、ペトル
こんにちは、ピーターさん。
ご回答ありがとうございます。同じ件に関して、いくつか追加の質問があります。
こんにちは、
表493には、FlexCANモジュールでCAN FD機能(MCR[FDEN])が有効になっている場合、従来のRXFIFOを有効にして使用することはできないと記載されています。従来のRXFIFOは各FlexCANインスタンスで利用可能ですが、CAN FDメッセージは受け付けられず、従来のCANメッセージのみを受け付けます。そのため、両方に対応できる拡張RXFIFOが導入されました。
PetrS_1-1781524408183.png
一般的に、各FlexCANインスタンスはCAN FDをサポートしています。インスタンスによって、利用可能なMB数と拡張されたRXFIFOサポートが異なります。
PetrS_0-1781523991167.png
RXFIFOとCAN FDの両方のオプションを有効にするには、RXFIFO拡張が必要です。RXFIFO拡張では、最大20個のメッセージ(従来のCANとCAN FDの両方)を保存できます。ただし、ほとんどのS32K3デバイスでは、単一のモジュール(FlexCAN 0)でのみ利用可能です。
詳細については、第73.3.8章を参照してください。拡張RX FIFOおよび73.3.9デバイスRMのレガシーRX FIFO。
BR、ペトル