こんにちは、NXPサポートの皆さん、
私はS32 Design StudioとRTDドライバーを使ってS32K312 MCUを扱っており、シングルチャネルの通常変換におけるSAR ADCの実際の変換タイミングを理解しようとしています。
私の設定は以下の通りです。
MCU:S32K312
コアクロック:120MHz
ADC機能クロック:120MHz
ADCモード:通常変換
チャネル数:1
プリサンプリング:無効
サンプリング時間:33 ADCクロックサイクル
計算に使用した変換時間:48 ADCクロックサイクル
ハードウェア平均化:このテストでは無効になっています
チェーン終了通知/割り込みが有効
該当するコードは以下のとおりです。
int main(void) {
Clock_Ip_Init(&Clock_Ip_aClockConfig[0]);
IntCtrl_Ip_Init(&IntCtrlConfig_0);
IntCtrl_Ip_EnableIrq(ADC0_IRQn);
Siul2_Port_Ip_Init( NUM_OF_CONFIGURED_PINS_PortContainer_0_BOARD_InitPeripherals, g_pin_mux_InitConfigArr_PortContainer_0_BOARD_InitPeripherals );
volatile Adc_Sar_Ip_StatusType status = ADC_SAR_IP_STATUS_ERROR;
status = Adc_Sar_Ip_Init(0, &AdcHwUnit_0);
ステータス = Adc_Sar_Ip_DoCalibration(0);
Adc_Sar_Ip_EnableNotifications( 0, ADC_SAR_IP_NOTIF_FLAG_NORMAL_ENDCHAIN );
Siul2_Dio_Ip_TogglePins(PTA_L_HALF, 1U < 1U);
Adc_Sar_Ip_StartConversion( 0, ADC_SAR_IP_CONV_CHAIN_NORMAL );
while(1)
{ __asm__ ("nop");
}
}
void Adc_EndOfNormalChain_Callback(void)
{
Siul2_Dio_Ip_TogglePins(PTA_L_HALF, 1U < 1U);
}
ロジックアナライザを使用して、2つのGPIO遷移間の時間を測定します。
ADCのタイミングのみに基づいて計算したところ、約700ナノ秒という値が得られました。
しかし、測定されたGPIOパルス幅は約4μsである。
以下の点について理解を深めたいです。
プリサンプリングとハードウェア平均化が無効になっている場合、単一の正規変換を行うための正しい式は何ですか?
Adc_Sar_Ip_DoCalibration()によって実行される ADC キャリブレーションは、後続のすべての ADC 変換のタイミングに影響しますか、それとも初期化時にのみキャリブレーション値を計算/保存しますか?
ゲイン補正、オフセット補正、内部コンデンサの充電、セトルタイム、または内部ADCプロセッシングは変換ごとに追加のサイクルを加えるのでしょうか?
通常の変換モードでの1チャネルのS32K312 SAR ADCの正確な変換時間公式は何ですか?
測定された時間間隔は:
Adc_Sar_Ip_StartConversion()
およびAdc_EndOfNormalChain_Callback()
RTDソフトウェアのオーバーヘッド、割り込みレイテンシ、ISR処理、またはコールバックオーバーヘッドを含むべきか?
RTDや割り込みのオーバーヘッドを除き、ADCハードウェア変換時間のみを測定する推奨される方法はありますか?
可能であれば、この構成で期待されるADCタイミング(クロックサイクル単位)を教えてもらえますか?
私の主な目的は、約4μsの測定値が主にADCのハードウェアタイミングによるものか、RTD/割り込み/ソフトウェアのオーバーヘッドによるものかを明らかにすることです。
このADC変換に関するご協力は大歓迎です!
ありがとう。
こんにちは、
ADC変換時間の方程式はS32K3リファレンスマニュアル60.3.18節に直接記載されています「変換時間」あなたの設定(シングルチャネル、プリサンプリング無効、ハードウェア平均無効)では、その式と設定されたADCクロックを使って変換時間を計算できます。
補足事項:
1. Adc_Sar_Ip_DoCalibration() は、後続の変換のタイミングに影響を与えません。キャリブレーションは初期化時に実行され、そのキャリブレーション値はADCハードウェアによって使用されます。
2. 測定された約4µsは、ADC変換時間だけではありません。測定範囲:
したがって、測定されたパルス幅にはADCのハードウェア時間とソフトウェアのオーバーヘッドの両方が含まれます。これは、RM式のみから計算される変換時間よりも明らかに長くなると予想される。
3. ADCハードウェア変換時間をより正確に測定するために、以下に推奨します
したがって、提供された情報に基づくと、~4μsの測定値はADC変換自体よりもソフトウェア/割り込み経路全体に支配されている可能性が高いです。
BR、ペトル