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

oscillation at the embed analog front end circuits of SAADC in nRF52832

Hello,

I found the strange phenomena on nRF52832.

By using the SAADC, I have some noise on ADC Data only at a certain temperature range.

Temperature range is depend on individual IC.

I might be the circuit oscillation at analog front end of SAADC, I think.

(internal reference voltage or op amp etc,)

I tried to switch DCDC on/off, but there's no difference on phenomena.

Anyone can resolve it?

I attach the files of real data and measurement condition.

Best regards,

Kiyoshi Iwai

3426.SAADC_noise_devzone.zip

Parents
  • Hello,

    The common issue in this case is that you have not considered the clock source for the HFCLK. The accuracy of the ADC rely on the accuracy of the HFCLK.

    Typically when waking up the CPU the internal RC oscillator will be used, while for accurate measurements the external crystal oscillator should be started. The problem in his case may be that the ADC measurements are sometimes done using internal RC oscillator, and sometimes when using external crystal oscillator. For instance the softdevice may start the external crystal oscillator when using the radio. So before doing ADC measurements make sure to:

    sd_clock_hfclk_request(); // Start HFCLK
    while(!sd_clock_hfclk_is_running(); // Wait for crystal oscillator is running or use a 1.5ms delay
    // Do ADC measurements
    sd_clock_hfclk_release() // Stop HFCLK to save power until next measurement

     

     

Reply
  • Hello,

    The common issue in this case is that you have not considered the clock source for the HFCLK. The accuracy of the ADC rely on the accuracy of the HFCLK.

    Typically when waking up the CPU the internal RC oscillator will be used, while for accurate measurements the external crystal oscillator should be started. The problem in his case may be that the ADC measurements are sometimes done using internal RC oscillator, and sometimes when using external crystal oscillator. For instance the softdevice may start the external crystal oscillator when using the radio. So before doing ADC measurements make sure to:

    sd_clock_hfclk_request(); // Start HFCLK
    while(!sd_clock_hfclk_is_running(); // Wait for crystal oscillator is running or use a 1.5ms delay
    // Do ADC measurements
    sd_clock_hfclk_release() // Stop HFCLK to save power until next measurement

     

     

Children
No Data
Related