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

App timer high current consumption

I have a need for an interrupt to go off at a 4khz rate. For this, I am using a repeated App Timer (running off the 32k crystal).

Prior to adding this extra timer, we used to have a power consumption of about 60ua. If I enable the timer to run at 4khz (and do nothing at all within the interrupt handler), power consumption goes up significantly - ~1.3ma. Is there any obvious reason why this happens?

I am setting up the app timers in the same way as the other 5 timers used in the project (which work with the low 60ua current consumption). With a couple of mods (to toggle a pin within the interrupt routine), we have checked on an oscilloscope, and the interrupt appears to be serviced very quickly.

I am currently using Softdevice v3.0.0, NRF52832, SDK version 12.2.

Parents
  • The other app timers are comparatively slow:

    • 1 triggers every second
    • another every 30 seconds
    • another the moment before the RTC overflows
    • then there are 2 single shot timers which are only used during the start of the program.

    My main loop consists of a while loop which puts the device back into power manage unless I have set a flag which then requires it to step out of the while loop and do some additional work (this typically happens every 0.3 seconds currently). There will be some calculations occurring within the timer interrupt routine, so unfortunately PPI isn't a viable option.

    We have checked the data sheet and the wake up time from idle advertised in the data sheet suggests this should be doable at low power - however I suspect the data sheet is for the raw device, not when the soft device is running as well.

Reply
  • The other app timers are comparatively slow:

    • 1 triggers every second
    • another every 30 seconds
    • another the moment before the RTC overflows
    • then there are 2 single shot timers which are only used during the start of the program.

    My main loop consists of a while loop which puts the device back into power manage unless I have set a flag which then requires it to step out of the while loop and do some additional work (this typically happens every 0.3 seconds currently). There will be some calculations occurring within the timer interrupt routine, so unfortunately PPI isn't a viable option.

    We have checked the data sheet and the wake up time from idle advertised in the data sheet suggests this should be doable at low power - however I suspect the data sheet is for the raw device, not when the soft device is running as well.

Children
No Data
Related