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

verify low power mode on 51422

Hi,

How Can I verify if my CPU has entered Low Power mode??

I have power manage function running in the main loop , but when I put breakpoint on sd_app_evt_wait() or after same function, TASKS_LOWPWR stays to 0x00000000 and DCDCEN also stays to 0x0000001.. moreover, my HFCLKSTAT also shows hfclk is running .

As per NRF51 Reference manual, It says it disables dc-dc when entering to Low power mode and also turn off the hfclk...

So, how can I make sure that my CPU has entered Low Power mode ?? If not what is causing it to not allowing Low power mode... I made sure that all the pero

Thank you.

  • Hi

    DCDC: The way it actually works on nRF51 is that you enable the DCDC manually , but in fact the DCDC is only enabled on radio activity. For activity on other peripherals, the DCDC is not enabled. This is automatically managed by hardware. As soon as you manually enable the DCDC, the DCDC register is set, but what that actually means is that the DCDC is managed by hardware, periodically enabling the DCDC on radio activity.

    TASKS_LOWPWR: What sd_app_evt_wait() actually does is to disable the CPU. I think if you put breakpoint on sd_app_evt_wait(), then the sleep command has not been executed yet and the CPU is still active. If you put a breakpoint on the command after sd_app_evt_wait(), the device is already awake again. Also, when you are in debug mode, the high frequency 16MHz clock is always active, which also adds ~1mA to the current consumption of the device.

    You can see if the device is in low power mode by measuring the current consumption. Some more info on this is in the nRF51 current consumption guide.

Related