問題の説明:
PDB0 による ADC0 サンプリングは FTM2 によってトリガーされ、PDB1 による ADC1 サンプリングは FTM3 によってトリガーされます。
FTM2とFTM3のPWM周波数は10kHzに設定されています。FTMモジュールは80MHzでクロックされ、対称アップダウンカウントモードに設定されています。
ADC0 には 4 つのチャネルがあり、ADC1 には 5 つのチャネルがあり、トリガーはバックツーバック モードで実装されています。
ADC ハードウェア平均化が無効になっている場合、サンプリングは正常に機能しますが、4 サンプル ハードウェア平均化が有効になっている場合は異常になります。
ADC0 クロックは、短いサンプリング時間で 40 MHz に設定されており、PDB のトリガーには影響しません。さらに、FTM トリガーは ADC 割り込みでは無効になり、PDB 割り込みでは再度有効になります。
さらに、ADC 割り込みベースのデータ取得は、デバッグ中にブレークポイントが設定されている場合は機能しますが、連続操作では実行されません。
PDB1 と PDB0 の取得間の競合が根本的な原因でしょうか?
私の質問は次のとおりです。
FTM2 と FTM3 は両方とも 10 kHz に設定されており、それぞれ PDB0 と PDB1 をトリガーするために使用されます。ADC 完了割り込みに競合がある場合、PDB でシーケンス エラーが発生する可能性がありますか?
ADC ハードウェア平均化を使用する場合、PDB トリガー モードに関して何か注意事項はありますか?
デバッグ中にブレークポイントを設定すると ADC 割り込みを入力して取得データを取得できるのに、フルスピード動作中に ADC 割り込みを入力できないのはなぜですか?このCASE、デバッグはどのように行うべきでしょうか?
デバッグ中、ADC の 4 サンプル ハードウェア平均化の構成は基本的に 1000 PDB CNT サイクル以内に完了 CAN ため、8000 PDB CNT サイクル以内に完了するはずです。