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

DMA power usage and start from sleep time question

Hi all,

I've just started moving to the nrf52840 platform from another ble module. I'm taking samples from a bunch of sensors at about 20 hz, since this is a battery powered device, power is very important to us.. Immediately I got the ppi/dma up and running hoping I could get things to run headlessly like a chicken :) ... now I come to find that the dma uses a whopping 1.2mA of power.. :/  I'm not really sure where that comes from.. the ram doesen't use that much... seems crazy, I'm pretty sure somethings broken there since the whole point of dma is to save power no?

Anyways, unfortunately 1.2ma is not acceptable for our application, so I'm looking at just interrupting and booting the cpu on the lfxo every sample to accomplish the same thing.. What I'm wondering is what the boot time is for the cpu?? I can't find it in the datasheet anywhere, does anyone have any idea if this would be better or worse than the dma??

thx -cc

Parents
  • Hi,

    I'm pretty sure somethings broken

    Yes, definitely something is broken.. we can guess what exactly, but with source code it would be much faster :) 1.2mA looks like always-on HFCLK due to some peripheral is working all the time (DCDC is not enabled, right?)

    the whole point of dma is to save power no?

    The whole point of dma is to offload byte-copying task from cpu, so it won't wake up and go through ISR just to write one byte. Yes, it shorten the peaks but shouldn't change current in sleep mode.

    I can't find it in the datasheet anywhere, does anyone have any idea if this would be better or worse than the dma??

    I think, even an irq-driven solution is better (wake-up by interrupt is faster than full booting)

  • Thanks for the reply, sorry I just got back to this..

    So I guess I'm wondering if you've gotten the dma to use less than 1.2ma while on? If you roam around the forums you can find lots of people having the same issue...

    Luckily a coworker of mine found this low power saadc example-which conveniently isn't in the sdk, which boots up on the rtc, takes one sample then goes to bed, the dma is only on during the one sample I guess. so that's good.. I think this will be much better..


Reply
  • Thanks for the reply, sorry I just got back to this..

    So I guess I'm wondering if you've gotten the dma to use less than 1.2ma while on? If you roam around the forums you can find lots of people having the same issue...

    Luckily a coworker of mine found this low power saadc example-which conveniently isn't in the sdk, which boots up on the rtc, takes one sample then goes to bed, the dma is only on during the one sample I guess. so that's good.. I think this will be much better..


Children
No Data
Related