2155198_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2155198_ja-JP

2155198_ja-JP

S32K312 I2Cスレーブのフラッシュ操作中の障害(RTD 5.0.0)

NXPの専門家の皆さん、こんにちは。

私のプロジェクトでは、S32K312 を I2C スレーブとして使用し、I2C マスター (FT4222) に接続します。

このプロジェクトでは、Mem43_Infls (Flash W/R) と I2c スレーブのみが使用され、マスターからの I2C メッセージの一部がフラッシュ消去と書き込みのサブプロセスをトリガーします。

私のテストでは、マスターからメッセージを受信した後、I2C スレーブがローを維持する可能性が高いことがわかりました。I2C スレーブを再初期化することによってのみ CAN 回復できます。

acnhyxgxl1_0-1755688037984.pngacnhyxgxl1_0-1755688037984.png


下の画像は LA 測定です。波形は正常です。SO、おそらく回路の問題ではないと思います。

acnhyxgxl1_0-1755685730847.png

私は2つの実験を行いました。ここにいくつかの手がかりがあります

実験1. `SchM_Mem_43_INFLS.c` 内のすべての ` OsIf_SuspendAllInterrupts` と ` OsIf_ResumeAllInterrupts` をコメントアウトしました。

故障率は劇的に減少し、I2C スレーブの誤動作を引き起こす可能性は約 1/500 になりました。さらに、フラッシュは割り込み停止なしでも正常に動作CANことがわかりました。

実験2Flash API をスタブ化し、フラッシュ ドライバを操作するのではなく、常に E_OK を返すようにしました。

この方法では、I2C スレーブが故障することはありません (もちろん Flash には機能がありません)。


SO私の質問は、この I2C スレーブ障害の問題を解決するために使用すべき設定や調整はありますか?また、割り込み保護なしでフラッシュを安全にCAN操作できますか?


コードの一部と LA レコードは添付ファイルにあります。I2Cスレーブに関するコードをアップロードすることはできません。


ハードウェアのセットアップ:

S32K312EVB-Q172

FT4222(I2Cマスター)、ボーレート:900KHZ-1000KHZ

ソフトウェアのセットアップ:

リリース: 5.0.0HF01

S32V用S32 SDKRe: S32K312 I2C Slave Failure During Flash Operation(RTD 5.0.0)

こんにちは@acnhyxgxl1さん

RTD のインストール ディレクトリにある RTD_MEM_43_INFLS_UM.pdf を参照してください。

danielmartynek_0-1756189418778.pngdanielmartynek_0-1756189418778.png

SYNC モードでは、ドライバはフラッシュ操作が完了するまで I2Cバス をブロックします。


BR、ダニエル


Re: S32K312 I2C Slave Failure During Flash Operation(RTD 5.0.0)

元の設定では非同期モードを使用していましたが、同期モードでもタスクを実行 CAN。

Mem43_Infls で同期 / 非同期モードの両方を試しましたが、非同期モードのみがフラッシュにデータを正しく書き込むCANようです。

同期モードでは、`Mem_43_INFLS_Write` は `E_OK` を返しますが、フラッシュの内容は変更されませんでした (S32DS メモリ インターフェース経由で監視)。


同期モードでもこの I2C の問題を解決できませんでした。I2C コマンドがフラッシュ消去をトリガーするたびに、I2C スレーブは低く保持されます。


添付ファイルは、私の mex ファイルとフラッシュ HAL ソース コードです。たぶん、あなたは私に何か手がかりを与えてCAN。

Re: S32K312 I2C Slave Failure During Flash Operation(RTD 5.0.0)

こんにちは@acnhyxgxl1さん

この関数は、AsyncMode == FALSE の場合にのみ呼び出されるようです。

danielmartynek_0-1755846251043.pngdanielmartynek_0-1755846251043.png

INFLS ドライバをどのように構成しましたか?

danielmartynek_1-1755846312547.pngdanielmartynek_1-1755846312547.png


よろしくお願いいたします。

ダニエル

Re: S32K312 I2C Slave Failure During Flash Operation(RTD 5.0.0)

フラッシュが ` Mem_43_INFLS_IPW_Erase` で ` C40_Ip_AccessCode ( Mem_43_INFLS_pConfigPtr -> MemAcCallBackPtr );` をプロセッシングしているときに、I2C スレーブが読み取りフレームを待機すると、I2C スレーブ障害が発生することがわかりました。

この問題を解決するための対策はありますか?

acnhyxgxl1_0-1755828201782.pngacnhyxgxl1_0-1755828201782.png

acnhyxgxl1_1-1755828451905.pngacnhyxgxl1_1-1755828451905.png



Tags (1)
No ratings
Version history
Last update:
‎11-20-2025 02:36 PM
Updated by: