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
  • Any particular reason you are sampling the channels one by one and not using scan mode? It does look like you are constantly sampling and not having the delay after sampling channel 4, but it is hard to say without seeing any of your code. In general, PPI is great for sampling the SAADC if using scan mode and large buffers, as this will generate less interrupts and leave CPU available for other tasks. But it won't help much on power consumption if you sample channels individually, and if using low power mode, interrupts are needed to uninit SAADC between samples, to limit EasyDMA current.

Reply
  • Any particular reason you are sampling the channels one by one and not using scan mode? It does look like you are constantly sampling and not having the delay after sampling channel 4, but it is hard to say without seeing any of your code. In general, PPI is great for sampling the SAADC if using scan mode and large buffers, as this will generate less interrupts and leave CPU available for other tasks. But it won't help much on power consumption if you sample channels individually, and if using low power mode, interrupts are needed to uninit SAADC between samples, to limit EasyDMA current.

Children
No Data
Related