こんにちは、
S32K3 プラットフォーム上の ADC のセルフテスト構成をより明確に理解しようとしています。私は以下の NXP コミュニティの投稿を確認しました。
1.解決済み: ADC セルフテスト - NXP コミュニティ
2.解決済み: ワンショットモードでのADCセルフテスト - NXPコミュニティ
3. Re: ADC 読み取りセルフテスト - NXP コミュニティ
ただし、セルフテストが機能変換とどのように相互作用するか、アルゴリズムがどのように順序付けられるかについては、まだいくつかの疑問が残っています。
___________________________________________________________
私のセットアップ:
- 機能変換は、eMIOS → BCTU → ADC の順に実行されます。
- ADCデータはDMA経由でBCTU FIFOから読み取られます
- すべてのADCはワンショットモードに設定されています
- プロセッシングを簡素化するために、FIFOシーケンスの一貫性を保つ必要がある
投稿から、次のことが分かりました。
- S32K3のセルフテスト変換ではBCTUトリガーはサポートされていません
- セルフテストは関数Adc_Sar_lp_SelfTestを使用してトリガーする必要があります
- この関数は、関数変換が行われていない場合にのみ呼び出されます
- 私は、機能変換がアクティブでない時間にオフセットされたソフトウェア割り込みを生成する別のeMIOSトリガーを作成することでこれを実現する予定です。
- また、Adc_Sar_lp_SelfTestを呼び出すとS+Cアルゴリズム(STCR3[0b11])が実行されることも理解しています。
___________________________________________________________
私の質問:
1. ADC0 に機能変換チャネル A → B → C があるとします。Adc_Sar_lp_SelfTest が呼び出されたとき、セルフテスト シーケンスは具体的にどのように動作しますか?
このパターンに従っていますか(パターン1
A → B → C→ Adc_Sar_lp_SelfTest (Algo_S0、Algo_S1、Algo_S2 を実行)
A → B → C→ Adc_Sar_lp_SelfTest (Algo_C0 を実行)
A → B → C→ Adc_Sar_lp_SelfTest(Algo_C1を実行)
...
A → B → C→ Adc_Sar_lp_SelfTest (Algo_C11 を実行)
A → B → C→ Adc_Sar_lp_SelfTest (Algo_S0、Algo_S1、Algo_S2 を実行)
または、このパターンに従いますか(パターン2 )
A → B → C→ Adc_Sar_lp_SelfTest (Algo_S0、Algo_S1、Algo_S2、Algo_C0、Algo_C1、...、Algo_C11 を実行)
A → B → C→ Adc_Sar_lp_SelfTest (Algo_S0、Algo_S1、Algo_S2、Algo_C0、Algo_C1、...、Algo_C11 を実行)
2.すべてのADCがワンショットモードに設定されているため、Adc_Sar_lp_SelfTestを呼び出すとアルゴリズムSのみが実行されるという理解で正しいでしょうか?これは、アルゴリズムCはワンショットモードでは実行できないことを意味しますか?
当社製品にご興味をお持ちいただき、また当社コミュニティに貢献していただき、ありがとうございます。
あなたの理解は正しいです。
ご質問に関して:
1.S32K3_S32M27x ADC ドライバのユーザー マニュアルによると、 Adc_Sar_Ip_SelfTest()は、ドライバが初期化された後、変換が実行されていない間はいつでもユーザーが明示的に呼び出すことができます。SO、関数はパターン 2 に従います。
2. 正解です。
3. ADC セルフテストを使用するには、呼び出す前にADC Ctu モードを無効にし、呼び出し後に再度設定する必要があります。詳細については、添付の例の ADC セルフテスト ルーチンを参照してください。
4. アーカイブする方法はいろいろありますが、次の点に注意してください。ADCセルフテスト関数は、ドライバが初期化され、進行中の変換がない状態でいつでも呼び出される必要があります。
この情報が役に立つことを願います。
さらに質問がある場合は、新しい投稿の作成にご協力ください。
質問を追加する:
3.機能変換の後にセルフテスト変換をトリガーすると、BCTU FIFO のご注文が何らかの形で乱れますか?機能変換とセルフテスト変換を混在させるときに、FIFO シーケンスの一貫性と予測可能性を維持するために考慮すべき点はありますか?
4. -機能変換がアクティブでない時間にオフセットされたソフトウェア割り込みを生成する別の eMIOS トリガーを作成することでこれを実現する予定です --> これを行うより良い方法はありますか?