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

nRF5340 Tickless Idle

Hi

I'm currently evaluating the possibility of using nRF5340 in an upcoming project. As the chip is very new it's easy to understand that all specifications are not yet available. What I'm interested is the current / power consumption in tickless sleep. I would like to measure that using nRF5340-PDK (which I already have). I would need to have resolution of about 1 ms (1/1024 is fine).

I (eventually) did manage to get Zephyr toolchain and Segger Embedded Studio installed on Windows as per instructions, but couldn't figure out how to enable tickless idle. I could only reach current consumption of 1.65 mA (measured from P22, powered with coin cell, as instructed in the ). Curiously the current consumption doesn't seem to be at all by LED duty cycle or sleep time, nor 'nrf only' switch. I've been working on the 'blinky' example.

Is tickless idle supported yet?

Would you happen to have some sample project that I could try? I'm sure you have tested this many times already.

Thanks
Juho

  • Hi

    Thank you for the suggestion and for taking the time to debug this. Unfortunately it doesn't seem to have any effect: Current consumption is still 1.7 mA (tried with and without USB connected, in default and NRF only mode).

    I think this might have something to do with the interface MCU though: Current consumption drops to about 800 uA if I keep the RESET button pressed, and there's a brief period (3-4 seconds) of about 4 mA consumption right after reset during which nRF is already running normally as indicated by the LED blinking.

    Juho

  • Hi Juho,

     

    I think I recreated your scenario. I see approx. 1.1 mA, which is a bit lower than yours.

    Could you try these steps and see if there's any changes in the overall current consumption?

    1. Build blinky as-is, for nrf5340_dk_nrf5340_cpuapp.

    2. Flash blinky for the app cpu.

    3. build blinky, with main having only while(1) k_sleep(interval);, for nrf5340_dk_nrf5340_cpunet (no GPIO toggling!)

    4. flash blink for the net cpu.

     

    I think that the network core is running on your end. If it is empty (can be done by issuing "nrfjprog -e -f nrf53 --coprocessor CP_NETWORK", and for app: --coprocessor CP_APPLICATION), it'll still run.

     

    PS: the 800 uA in reset is the same that I see if I keep holding the reset pin.

     

    Kind regards,

    Håkon

  • Hi

    Indeed this seems to fix the issue. Thanks! Now I'm seeing 17..18 µA current for all boards.

    Looks like my original hunch was correct after all. I think it would make sense to modify the example (or fork it for nRF5340) so that both cores would blink their own LED. It would make it easier to see what's going on in each core. I couldn't figure out yet if that would be possible to do.

    Also it seems to be possible to check symbol CONFIG_SOC_NRF5340_CPUAPP or CONFIG_SOC_NRF5340_CPUNET instead of modifying the source code by hand.

    Juho

Related