こんにちは、NXPチームの皆様、
私はS32K118EVB2Q048ボード(回路図SCH-47530 Rev A1)を使用してADCをテストしています。入力電圧が約3.3Vを超えると、誤った測定値が表示されます。
セットアップ:
- MCU:S32K118(48-LQFP)
- IDE:[S32 Design Studio版]
- ドライバ:[RTDバージョン/SDKバージョン/ベアメタル]
- ADCチャネル:[例:PTA7 – ADC0_SE3]
- 解像度:12ビット
- 入力:[外部直流電源/搭載ポテンショメータ]
- ジャンパー:J10 = 2-3(5V)、J107、J15
- 基板電源:[USB / 12V]
問題:
J10を2-3に設定してMCUを5Vで動作させています。
- 入力 4.10 V: 生データ = 4095。5Vの基準電圧であれば、約3358を期待していました。
- 4V~5Vの入力:常に4095(フルスケール)。
- 5Vで計算すると、入力電圧が高くなるにつれて誤差が大きくなります。
質問:
SCH-47530 Rev A1では、J10を2~3に設定するだけでVDDAとADCの基準電圧が5Vになりますか?それとも他に何か変更する必要はありますか(J15、J107、抵抗など)?
このEVBの動作するS32K118 ADCの例を5Vの基準でテストしたものを共有してもらえますか?また、解像度のために異なる異なる計算範囲も教えてもらえますか?
こんにちは
どのRTD/SDKバージョンを使っているか教えてもらえますか?
また、PTA7を使っているのはわかりますが、ADC_POTも言及されていましたね。ADC_POTは接続されていません。なぜならR761はEVBに登録されていないからです:
あなたはJ3.1ヘッダーを介してPTA7を使用しているものと想定します。
J10とJ107の両方が2-3に設定されていることを確認し、VDDを測定して、実際に5Vに設定されていることを確認してください。
RTDパッケージの Adc_Pdb_Ip_example_S32K118 を使い、メインをループに改造して SW 変換を始めるだけです:
while(1)
{
/* Start a software trigger conversion */
Adc_Ip_StartConversion(ADCHWUNIT_0_VS_0_INSTANCE, ADC_IP_INPUTCHAN_EXT2, TRUE);
/* Wait for the notification to be triggered and read the data */
while (notif_triggered != TRUE);
notif_triggered = FALSE;
delay(1000);
}
その後、電源ユニットで0Vから5Vの間で測定し、正しい値が確認できました。
ADC0_SE2 @3.3V:
ADC0_SE2 @5V:
最後に、ADC_SC2[REFSEL]でREFSELが正しく設定されているか確認してください。
よろしくお願いします、
ジュリアン