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
  • It could, but I think you should be able to manage this yourself:

    • Copy pca10056 directory from default saadc peripheral example in SDK 15 into the project dir I uploaded.
    • Copy config directory from pca10040/blank directory into pca10056/blank directory (overwrite existing sdk_config.h file).
    • Add the three missing source files to the makefile:
      • $(SDK_ROOT)/integration/nrfx/legacy/nrf_drv_clock.c \
      • $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_clock.c \
      • $(SDK_ROOT)/modules/nrfx/drivers/src/nrfx_rtc.c \
Children
No Data
Related