How to achieve stable unfiltered ADC readings on nRF54L15 ?

I'm struggling to obtain stable ADC readings on the nRF54L15, and I'd appreciate any suggestions. I have the ADC configured with gain = 1, internal reference, 10 bit resolution, and I've tried both the default acquisition time (ie 0) and a longer acquisition time of 5us. I'm using the nRF54L15 DK board, and I've powered the nRF54L15 both from the onboard PMIC, and also from an external 3V battery (to eliminate the possibility of PMIC noise affecting the ADC readings). I'm applying a highly stable low impedance 819.2 mV DC signal to input ADIN4 (P1.11) in a temperature-stable environment of 20 degrees C. I collect ADC samples for an hour and then plot them. The plots look like this:

Yes I'm aware I can filter these, but the starting point is to obtain clean data before filtering. We would prefer not to filter at all, because filtering takes time, and in our application we need to detect and capture transient events which filtering would mask out.

Is the above raw ADC sampling considered normal for this part? 

Any suggestions on how to improve this performance (without filtering)?

Thanks.

Parents
  • I have only experience with the NRF52810 and can see the ADC in the nRF54L15 is improved. I've done a lot of work with the ADC so can tell you what I think to get the best.

    1. use LDO not DCDC mode
    2. collect the measurements using a large EasyDMA buffer linked through PPI to a timer, as big as the ram can manage for your sampling requirements. 
    3. ensure the CPU is in standby
    4. Try one if the ADC pins in the other x4 row. Some pins are more prone to noise than others.
    5. default acquisition time can't be 0. 5us is as fast at it gets on the 810 but what happens at 10us, any improvement?
    6. oversampling with easydma is possible, if you can suffer the lower sampling rate.
    7. you may be at the limits of what a relatively noisy SoC can do, time for external ADC chip? 





Reply
  • I have only experience with the NRF52810 and can see the ADC in the nRF54L15 is improved. I've done a lot of work with the ADC so can tell you what I think to get the best.

    1. use LDO not DCDC mode
    2. collect the measurements using a large EasyDMA buffer linked through PPI to a timer, as big as the ram can manage for your sampling requirements. 
    3. ensure the CPU is in standby
    4. Try one if the ADC pins in the other x4 row. Some pins are more prone to noise than others.
    5. default acquisition time can't be 0. 5us is as fast at it gets on the 810 but what happens at 10us, any improvement?
    6. oversampling with easydma is possible, if you can suffer the lower sampling rate.
    7. you may be at the limits of what a relatively noisy SoC can do, time for external ADC chip? 





Children
No Data
Related