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

[nRF52] Best practise for ultra low power SAADC 4 channel conversion

What is the best practise for multichannel SAADC conversion in ultra low power devices? For example I have to measured 4 channel in interval 250ms. Below what I try:

  1. I'm set RTC for interupt 250ms. In RTC handler I initialized SAADC channel 0 and start conversion. In SAADC end of conversion handler i uintialized SAADC, get result from channel 0 and initialized for channel 1 and start conversion. Same for channels 3 and 4 but in channel 4 I'm not start new conversion but Im set RTC for 333ms Handler. I try it and I get strange result.

If I have only one channel I've get current consuption: image description

avarage current is around 10uA ( it's ok for my aplication ). but if I enabled conversion for 4 channel, one by one ( as I descripted above ) I've got something like that: image description

Current is 2 times higher! I don't know why density of the current spikes is in that level.

Mayby I should use PPI? i read this topic: devzone.nordicsemi.com/.../

or maybe different method?

Parents Reply
  • Hello Jorgen,

    Let me elaborate a little, the code you provided me meets the specs i need but I am trying to not init and un-init the SAADC every time I have to take a sample.

    I believe that once the channels are configured the Easy-DMA never goes to sleep even in low power mode giving a much larger current average than I would like. I wanted to use the non blocking call to store like 1000 values at a stretch with the SAADC connected to the RTC TICK via PPI but the higher current read makes that impossible.

    I could not find anything related to this in the errata, could you please tell me if there is any way of doing that?

Children
No Data
Related