System_off example has increased power consumption when using k_sleep iso system_off

I run the system_off example without the system actually going off, by removing all the calls to start the system_off worker. Instead of going to off, I let the system enter sleep mode (k_sleep()).

I enabled wake up on nfc.

After a reset, the system enters sleep (4-5uA sleep current). After waking the system by nfc, the sleep current sometimes becomes 200uA, sometimes stays at 4uA. See picture below.

It seems to be related to the state of the nfc peripheral as this is the only peripheral used.

Any idea how to prevent the system going to sleep with a 200uA sleep current?

Parents
  • Hi

    Sorry about the late reply here, but I've been waiting for a reply internally with some more input. So, what is likely happening here is that the NFC library has a dependency on the nrf_clock and the HF clock is what isn't shut down correctly when you put the device in system on mode like this instead of system off mode. The biggest difference between the sleep functions seems to be the way the delayable work is handled and that you need to add some way to do that when going into k_sleep to be able to go into sleep with the HF clock disabled. This also explains why you don't always see this issue, but likely only when there is some delayable work being put off which will keep the HF clock running.

    Best regards,

    Simon

Reply
  • Hi

    Sorry about the late reply here, but I've been waiting for a reply internally with some more input. So, what is likely happening here is that the NFC library has a dependency on the nrf_clock and the HF clock is what isn't shut down correctly when you put the device in system on mode like this instead of system off mode. The biggest difference between the sleep functions seems to be the way the delayable work is handled and that you need to add some way to do that when going into k_sleep to be able to go into sleep with the HF clock disabled. This also explains why you don't always see this issue, but likely only when there is some delayable work being put off which will keep the HF clock running.

    Best regards,

    Simon

Children
No Data
Related