2185654_ja-JP

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

2185654_ja-JP

2185654_ja-JP

S32K3 SAR ADC の ADC 変換完了を適切に確認する方法

こんにちは。私は ADC_Sar_Ip ライブラリを使用して S32K3 シリーズ マイクロコントローラ上の SAR ADC に取り組んでおり、AUTOSAR ベースではないコードを使用しています。特定の ADC チャネルから値を読み取りたいのですが、これまでに記述したコードスニペットは次のとおりです。

uint16_t ADC_Get_Value(uint32 adc_Instance_u32,uint32 channel_Idx_u32) {
uint16_t データ;

Adc_Sar_Ip_StartConversion(adc_Instance_u32、ADC_SAR_IP_CONV_CHAIN_NORMAL);
Adc_Sar_Ip_GetStatusFlags(adc_Instance_u32) != 35 の場合;
データ = Adc_Sar_Ip_GetConvData(adc_Instance_u32、channel_Idx_u32);

データを返します。
}

NXP SAR ADC IP ドライバが変換を開始するための API (Adc_Sar_Ip_StartConversion) を提供していることに気付きましたが、変換の終了を確認するための API は特に見つかりませんでした。

実験的に、変換が完了すると Adc_Sar_Ip_GetStatusFlags によって返されるステータス フラグが 32 に達することが確認された。SO、while ループでこの値を使用しました。この方法は私にとってはうまく機能しますが、これが変換の完了を検出するための正しい方法または推奨される方法であるかどうかはわかりません。

私の質問は次のとおりです:

  1. S32K3 SAR ADC ドライバには、変換の終了をチェックするための公式 API がありますか?

  2. 値が 32 になるまで Adc_Sar_Ip_GetStatusFlags をポーリングするとなぜ機能するのでしょうか?この動作は保証されていますか、それとも現在のドライバのバージョンに依存しますか?

  3. API がない場合、ADC 変換の完了を処理するための推奨される方法は何ですか (ステータス フラグのポーリング、割り込みの使用、遅延の追加など)。

Re: How to Properly Check ADC Conversion Completion on S32K3 SAR ADC

当社製品にご興味をお持ちいただき、また当社コミュニティに貢献していただき、ありがとうございます。

あなたのアプローチは正しいようです。

しかし、BCTU トリガー スキームは、ADC のデフォルトかつ推奨されるハードウェア トリガー 方法です。

次のコミュニティ投稿を参照できるとのことです:

S32M27x/S32K3 – eMIOS/BTCU/ADC/DMA – [RTD600] -> https://community.nxp.com/t5/S32M-Knowledge-Base/S32M27x-S32K3-eMIOS-BTCU-ADC-DMA-RTD600/ta-p/215554...

このような例では、GPIO4 は BCTU ウォーターマーク通知で切り替えられます。これは、FIFO 内のアクティブなエントリの数がウォーターマーク レベルを超えるたびに発生し、データの読み取りが可能になります。

別の方法としては、Bctu_Ip ドライバの「最後の変換通知のリスト」を使用するか、BCTU を使用していない場合は、変換の終了通知を使用できます。しかし、このモードの例はありません。

この情報が役に立つことを願います。

Tags (1)
No ratings
Version history
Last update:
‎11-21-2025 05:40 PM
Updated by: