This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

NRF51822 ADC

Dear,all

SDK:8.1.0 s110

  1. VDD use 2.6--3.6V,use VDD bandgap: (ADC_CONFIG_REFSEL_SupplyOneThirdPrescaling << ADC_CONFIG_REFSEL_Pos)
    ADC_CONFIG_INPSEL_AnalogInputOneThirdPrescaling << ADC_CONFIG_INPSEL_Pos , when adc measurement the voltage of 1.8V, the NRF_ADC->RESULT is 510;

  2. VDD use 1.7-2.5V,use VDD bandgap: (ADC_CONFIG_REFSEL_SupplyOneHalfPrescaling<< ADC_CONFIG_REFSEL_Pos) ADC_CONFIG_INPSEL_AnalogInputOneThirdPrescaling << ADC_CONFIG_INPSEL_Pos , when adc measurement the voltage of 1.8V, the NRF_ADC->RESULT is 336;

  3. VDD use 1.7-2.5V,use VDD bandgap: (ADC_CONFIG_REFSEL_SupplyOneThirdPrescaling << ADC_CONFIG_REFSEL_Pos)
    ADC_CONFIG_INPSEL_AnalogInputOneThirdPrescaling << ADC_CONFIG_INPSEL_Pos
    , when adc measurement the voltage of 1.8V, the NRF_ADC->RESULT is 506;

QS1: why VDD use 1.7-2.5V,the NRF_ADC->RESULT is very inaccurate.But the bandgap use (ADC_CONFIG_REFSEL_SupplyOneThirdPrescaling << ADC_CONFIG_REFSEL_Pos)
ADC_CONFIG_INPSEL_AnalogInputOneThirdPrescaling << ADC_CONFIG_INPSEL_Pos , the NRF_ADC->RESULT is right. (QS2: the PS said it can not allow use ADC_CONFIG_REFSEL_SupplyOneThirdPrescaling when VDD is in 1.7-2.5V,it is ture????)

Related