最近、S32K314の低消費電力ウェイクアップ機能をデバッグしていたところ、外部ウェイクアップ方法を使用してもスリープモードから復帰できないことがわかりました。
通常の状況下では、DIは外部刺激に反応するが、休眠状態に入ると全く反応しなくなる。
添付ファイルにコードが含まれています。この問題の原因は何でしょうか?また、どのように解決すればよいでしょうか?
こんにちは、ジュリアン
あなたの提案に従ってみたところ、目が覚めるようになりました。これは、私が本当にスタンバイモードに入ったということでしょうか?
もう一つ質問したいのですが、スタンバイモードに入った後、I/Oポートの状態は以前と同じままなのでしょうか?
もう一つの疑問は、回路設計において、MCUから定期的にデータ供給を受ける必要があるハードウェアウォッチドッグが存在することです。これを低消費電力でどのように実現できるでしょうか?
ありがとう、
Joker_Y
こんにちは、 @Joker_Y さん。
あなたが共有してくれたプロジェクトはかなり大規模なようですね。すべてを確認したわけではありませんが、あなたが対応するウェイクアップソースを有効にしていないのはわかります。以下の行がコメントアウトされています。
Wkpu_Ip_EnableInterrupt(0,Wkpu_Ip_ChannelConfig_PB[0].hwChannel);
また、スタンバイモードに入る前に、Clock_Ip_Init() APIを使用してメインクロックをFIRCに変更してください。
低出力の例を参照できます;クロック設定の変更方法やWKPUチャネルの有効化方法が示されています。
よろしくお願いします、
ジュリアン
こんにちは、 @Joker_Y さん。
1.スタンバイ中かどうかはMC_MEを見て確認できます。MODE_STAT[PREV_MODE]。これは、前回のモードがリセット(任意のリセット)だったか、スタンバイだったかを示します。
また、MCUの現在の消費電力を測定することもできます。典型的なスタンバイ値は、S32K3XXのデータシート第 6 章.7(供給電流)に記載されています。
2. すべてのピンは、スタンバイモード中も、実行モードで最後に設定された状態を保持します。ただし、リセットイベント後はすべてのピンがデフォルト状態に戻されます。パッドキーピングを有効にすると、ピンがウェイクアップから状態を保ち、ユーザーが再度初期化するまで保つことができます。
S32K3XXのリファレンスマニュアル にある 41.12パッドの記録 を参照してください。
3. これはデザインやアプリケーションによると思います。私の意見では、ウォッチドッグが対応している場合にしてスリープに設定するか、RTCやその他のウェイクアップでS32K3を継続的に起動させ、ウォッチドッグをサービスし、低消費電力に戻す方法があります。
よろしくお願いします、
ジュリアン