こんにちは、NXPチームの皆様、
カスタムボード上でi.MX8MPを使い、Linux BSP LF-6.12.20を使用しています。複数のGPIOピンがウェイクアップソースとして設定されている。
問題点:EMC過渡試験(ESD)中に、これらのGPIOライン上の短いノイズパルスによって、サスペンド状態だったシステムが誤って起動してしまう。
ソフトウェアデバウンスではこの問題は解決できないことがすでに確認されています。ウェイクアップの決定はCPUが一時停止中にハードウェアによって行われ、GPIO割り込みハンドラ(GPIOキーのデバウンスを含む)はシステムが再開した後にのみ実行されるため、ソフトウェア自体がウェイクアップを防ぐことはできません。
Linuxドライバー(LF-6.12.20)やi.MX8MPのリファレンスマニュアルも確認しましたが、GPIOウェイクアップパス用のハードウェアフィルターは見つかりませんでした。この理解が正しいかどうか確認してください。
質問:
1. i.MX8MPには、ウェイクアップピン上の非常に短いパルスを無視するためのハードウェアオプション(GPIO、GPC、またはATF経由で設定可能)はありますか?(例えば、グリッチフィルタや最小パルス幅設定など)これにはレベルトリガーモードも含まれます。レベルを一定時間保持する必要があるのか、それとも瞬間的なパルスでもウェイクアップがトリガーされるのか?
2. そのようなハードウェアオプションが存在しない場合、NXPはこの種の誤起動に対してどのような解決策を推奨していますか?GPIOウェイクアップ入力のESD保護に関するアプリケーションノートがあれば教えていただけると助かります。
3. Cortex-M7がウェイクアップ信号をチェック・フィルタリングし、A53がサスペンド状態のままにするNXPのリファレンスデザインはありますか?
プラットフォーム:i.MX8MPカスタムボード、BSP:LF-6.12.20
よろしくお願いいたします。
こんにちは、 @Leo_dev
お元気でお過ごしのことと思います。
Q1.
あなたの理解は正しいです。i.MX8MPのGPIO/GPCウェイクアップパスには、ハードウェアグリッチフィルタ、最小パルス幅設定、デバウンスレジスタがありません。
Q2.
オンチップの解決策がないため、推奨される設計はPADにフィルターを追加することです。
Q3.
はい、この種のアーキテクチャに関する主要なNXPリファレンスである「i.MX 8M Low Power Design By M Core Running In System Suspend」AN13400 を参照してください。
よろしくお願いいたします。
サラス。