Regarding the issue of using nRF54L15 to do system_off.

Dear nRF experts.

We are a module manufacturer.
We discovered some issues during power consumption testing.
We are currently using the nRF54L15 Dk board and PPK.
We are using SDK V3.0.2 and have compiled the system_off firmware.
We found that while the PPK consumes 1.0 uA, it exhibits periodic peaks every 120ms. How can we disable these peaks?

Parents
  • Hi,

    To setup current measurement check out:
    https://docs.nordicsemi.com/bundle/ug_nrf54l15_dk/page/UG/nRF54L15_DK/measurements/current_measurements.html 

    While in system off (also in idle mode) the regulator will operate in refresh mode (only powering on the regulator for a short period of time), it will for a short period of time charge up decoupling capacitors on it's regulator output, the in-rush current to the capacitors can be high and the actual peak will depend on the impedance of the power supply and in this case also when the PPK 2 sample the current relative to the in-rush current. The time between the peak depends on the current drawn while in system off. So in summary, the peak you see are likely short transients as decoupling  capacitors are charged (typically much shorter than for instance the radio is actively transmitting or receiving). The average current with the peaks should be the system OFF current.

    Kenneth

Reply
  • Hi,

    To setup current measurement check out:
    https://docs.nordicsemi.com/bundle/ug_nrf54l15_dk/page/UG/nRF54L15_DK/measurements/current_measurements.html 

    While in system off (also in idle mode) the regulator will operate in refresh mode (only powering on the regulator for a short period of time), it will for a short period of time charge up decoupling capacitors on it's regulator output, the in-rush current to the capacitors can be high and the actual peak will depend on the impedance of the power supply and in this case also when the PPK 2 sample the current relative to the in-rush current. The time between the peak depends on the current drawn while in system off. So in summary, the peak you see are likely short transients as decoupling  capacitors are charged (typically much shorter than for instance the radio is actively transmitting or receiving). The average current with the peaks should be the system OFF current.

    Kenneth

Children
  • Hi Kenneth.

    Thanks for your quick reply.

    I have a question I want to ask you.

    How can I measure the system_off current at 0.6uA?

    Is it possible for me to use the DK board to measure a current of 0.6uA? Or a current of <1uA?

  • I also discovered another thing. After powering on, I found that for the first 3.8 seconds, the average current was 0.58uA. But after 3.8 seconds, there was a peak, and the average current dropped to 1.2-1.3uA.
    So this behavior is unavoidable, right?

  • Hello,

    Currently in the ncs there seems to be some missing functionality to enter system OFF in the lowest possible way for the nRF54L15 (you need to uninit rtc, clocks and disable ram before going to system off). Hopefully this will be fixed in near future. I can see you are using an older ncs version, so you can try to use a later one, e.g. 3.1.0 for comparison:
    \nrf\tests\benchmarks\current_consumption\system_off

    There are kconfig options that can reduce the current consumption further:
    \zephyr\samples\boards\nordic\system_off\Kconfig

    The peaks you see will be there, but the average current consumption (with the peaks) will be closer to what you can find in the datasheet. The peaks are due to decoupling capacitor charging periodically.

    Best regards,
    Kenneth

  • Hi Kenneth.

    I appreciate your reply.

    Regarding the disable RAM and stop clock you mentioned, did you use the following program to disable it?

    NRF_MEMCONF->POWER[0].RET  = 0;
    
    NRF_MEMCONF->POWER[1].RET  = 0;
    
    NRF_MEMCONF->POWER[0].RET2 = 0;
    
    NRF_MEMCONF->POWER[1].RET2 = 0;
    
    
    /* Clear RESETREAS, stop HFXO if running, then enter System OFF */
    
    NRF_RESET->RESETREAS = NRF_RESET->RESETREAS; /* clear */
    
    NRF_CLOCK->TASKS_XOSTOP = 1;                 /* if HFXO was running */
    
    NRF_REGULATORS->SYSTEMOFF = 1;                       /* enter System OFF */

    In addition to the settings I described above, is there anything else I need to configure?

    Thank.

  • Hi,

    Turns out you also have to release the LF clock. Shown in the PR  here: https://github.com/nrfconnect/sdk-zephyr/pull/3060 

    I think you also need to call NRF_GRTC->TASKS_STOP=1;

    Kenneth

Related