clarification about GRTC.SYSCOUNTER when in low-power sleep

i have a trivially simple "bare-metal" (register-level) test case in which i setup GRTC as follows:

MODE.SYSCOUNTEREN = 1
TASKS.START = 1
TIMEOUT = 2

i also have the LFXTAL configured as my LFCLK....

after this, i go into an *indefinite* sleep....  no GRTC wakeups have been scheduled....

all other things being equal, i find that this (benign) setup adds 0.4uA of *extra* current consumption when sleeping....  (2.1uA without, 2.5uA with)....

i've verified that no SYSCOUNTER[i] is ACTIVE.... 

i've "discussed" this with your AI (very helpful!!!), but it ultimately said we need to ask a human to clarify....  ;-)

Parents Reply Children
  • using the PPK, i just verified that the nordic code referenced above consumes about 1.74uA when sleeping; when awake it transmits a pre-specified BLE advertising packet....

    my own code (completely bare-metal, no zephyr, no softdevice, touching registers only) just measured 2.14uA on the same board....  there is clearly some register i "forgot" to setup correctly....

    another major difference....  the nordic code (based on a sample project in zephyr) is about 92K in size; my code (which performs the identical BLE advertising task) is about 2.5K in size....  and it clearly outperforms the nordic stack when active -- less energy consumed to perform the same task....

    another major difference....  my code is written in a novel (open-source) programming language described at openem.org/emscript....  i could certainly use a review from nordic people who clearly know the subtleties of the nRF54l better than i....

    if you're willing to help, just message me and we'll figure out how to proceed....  just trying to get the most out of your silicon.... 


  • Hi,

     

    I setup a test project in zephyr (first 4 blocks on, system on idle):

    system_on_idle_test_nrf54l15.zip

    Where I tried to replicate the setup that you have. Sorry for the magic numbers on the register level.

    Testing on nRF54L15-DK, with "almost everything" disabled in the board controller application, and 3.0V:

     

    I measure a difference of approx. 0.2 uA if I start the LFXO + setup the GRTC as you initially mention.

    No LFXO: 1.6 uA

    LXFO + RTC: 1.77 uA

     

    As there is a write to the registers mentioned in the docs, the LFXO/GRTC will be kept on, accounting for the added ~0.2 uA:

      

    If you are unsure of the difference between the SoftDevice setup vs. the bare-metal approach, and you think it is related to the clock configuration, you could use Segger Ozone to enter debug mode and look at the register content in both projects, to see if there is anything directly different between the two setups.

     

    Kind regards,

    Håkon

  • i can confirm that there is a 0.2uA difference when i tested your project on my end....  my measurements  were 2.5uA (without GRTC) and 2.7uA (with GRTC) at 3V....  (i must have "old" silicon on my DK???)

    i'm attaching the program Pal Haland submitted....  when idle, it only saves one 16K block of SRAM....  otherwise, i believe all peripherals are disabled when sleeping -- except for the GRTC....

    1373.beacon_advertiser.zip

  • Hi,

     

    Thank you for attaching the test fw. I am measuring 1.2 uA "between the events" on this firmware:

    I locked the scale here, to show where the ULP (ultra low power) regulator starts "taking over". Measurements before this period is relying on stored energy on the external caps from the previous active power mode, so will be lower than 1.2 uA until it switches fully over to ULP mode.

     

    Setting the same retention configuration in NRF_MEMCONF as my former example gives the same, ie. 1.7 uA, as I previously measured.

    bios-bob said:

    (i must have "old" silicon on my DK???)

    It does indeed sound like there is something leaking on the DK that you have. It should be half of what you measure.

    I have tested on nRF54L15-DK "PCA10156 v1.0.0" on my side. What does yours state?

     

    Have you turned off features in nRF connect for desktop -> "Board configurator" application? These features, uart/external flash etc, can potentially leak smaller currents when enabled, which _could_ be the reason for the added around 1 uA floor that you're seeing.

     

    Kind regards,

    Håkon

  • i'm at v0.9.2 -- but do have another board coming tomorrow....  we'll pick this up then....

Related