パート: MPC5746C(Power Architecture Z4、SDK:NXP MPC57xxプラットフォームSDK)
周囲温度115℃での恒温槽試験中、当社のMPC5746Cベースのボードは起動時に完全に反応しなくなり、UARTコンソール出力が全くなくなります。この現象は、その温度での起動試行のたびに発生します。冷却後、部品は完全に回復するようです。室温で再フラッシュ/再起動すると、永続的な損傷なく正常な動作に戻ります。
興味深いことに、基板が115°Cの状態でもPEMicro JTAGデバッグプローブを使ってフラッシュを再プログラム することは可能です 。これは、温度でバージョンストリングをフラッシングし、冷却後に新しいバージョンを読み返すことで確認済みです。したがって、デバッグプローブのフラッシュ経路は115°Cで動作します。アプリケーションのブートパスだけがハング/悪い状態になります。
マニュアルにはMCUが最大125°Cまで持続できると書かれています。
問題の根本原因と解決方法を教えていただけませんか。
こんにちは、
マニュアルにはMCUが最大125°Cまで持続できると書かれています。
はい、それは問題ありません。
問題の根本原因と解決方法を教えていただけませんか。
これはカスタムボードであり、冷却後に問題が解消されることから、私は次のことを疑っています。
1. 時計の起動に関する問題(最も可能性が高い)
115℃の場合:
デバッグロジックは独自のインフラストラクチャを利用し、アプリケーションがmain(に到達する)に依存しないため、デバッガーは部品にアクセスできます。
FXOSCステータスビット
CMUクロックモニタの障害
FIRCのみのブート実験
FIRCから完全に実行し、外部水晶発振器を一時的に無効にする
JTAGのプログラミングが115°Cで動作し続けていることは、コアインフラストラクチャがまだ生きており、故障がフラッシュアレイ自体ではなくアプリケーションのブートパスの非常に早い段階で起きていることを示す最も強い手がかりです
よろしくお願いいたします。
ピーター
@petervlna さん、貴重なご意見ありがとうございます。
これを受けて、同僚の@mnargundと私はさらに調査を進め、MPC5746Cを115℃で正常に起動させることに成功しました。以下に、調査結果の概要を示します。
根本原因: 事前初期化時にシステムをFIRC、FXOSC、PLLを起動するように設定し、その後システムクロックをFIRCからPLLに切り替えました。続いて、DRUN モードへのモード遷移をトリガーしました(システムはデフォルトで既に DRUN モードでしたが、マニュアルに記載されているように、新しい設定を有効にするには同じモードへの遷移が必要です)。そして、MC_ME_GS.MTRANS をポーリングして遷移が完了するのを待ちました。
しかし、MC_ME_GS.MTRANSがクリアされた後でも、コードはIVOR1例外でエラーを起こしました。これは、実行が続行された時点で遷移が完全に安定していなかったことを示している可能性があります。高温(115℃)では、室温よりも遷移に時間がかかるようで、次の命令が実行されたときにシステムが不安定な状態になる。
回避策の適用例: MC_ME_GSの後に明示的なソフトウェア遅延を挿入しました。MTRANSのポーリングを行い、その後の初期化を進めます。500ミリ秒の遅延を設けると、115℃の環境下でも起動は安定して成功する。100ミリ秒の遅延もテストしましたが、私たちの環境では問題なく動作しました。
初期化のこの段階で安全に挿入できる最大推奨ソフトウェア遅延はありますか?
125℃までの全動作温度範囲において、動作前にクロックの安定性を確実に確保するための推奨手順はありますか?