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

lowest possible current consumption when system is running (nRF52810)

Chip - BT832AF (nRF52810 QFAA)

SDK- nRF5_SDK_17.0.2_d674dde

SD - s112_nrf52_7.2.0

2V- power supply

  My application need not to be very fast, but is extremely concerned about the power consumption. My application  sends beacon, communicates with sensor (SPI).

My device is drawing a current of 330nA during system OFF, 1 uA during system ON. are these the lowest figures I can get ?

Is it possible to reduce the clock frequency to save even more current during the controller is running/systemON/OFF ?

  • Hi

    The lowest expected current consumption in System OFF is 0.3µA, so I don't think you'll be able to get much lower than that. In system ON with no RAM retention, Wake on any event, you should be able to reach ~0.6µA, but there might be something else on your board drawing this extra current. Can you provide some more information regarding your system ON mode? What LF clock is your application using for instance, the LFXO crystal or the internal LFRC?

    No, you can not reduce the clock frequency, as they are required to keep track of timing and staying inside the BLE spec.

    Best regards,

    Simon

  • hi,

    Thank you for your reply.

    1) May I know how to configure systemON with no RAM retention. I dont know whether currently my system is using RAM or not during systemON ? I am currenly calling function "idle_state_handle() --> _WFE" to put the device in systemON. Also, I am using a timer/gpiote to wake up from systemON.

    2) I am using softdevice and I hope clock configuration is made in the function nrf_sdh_enable_request().

    .source = NRF_SDH_CLOCK_LF_SRC, -->  1 (NRF_CLOCK_LF_SRC_XTAL)
    .rc_ctiv = NRF_SDH_CLOCK_LF_RC_CTIV, --> 0
    .rc_temp_ctiv = NRF_SDH_CLOCK_LF_RC_TEMP_CTIV, --> 0
    .accuracy = NRF_SDH_CLOCK_LF_ACCURACY --> 7

  • Hi

    1. By default most of our examples are configured to not use RAM retention. If you're using a timer for wake up, that is why you're seeing ~1uA. Please check out the various sleep current consumption scenarios here.

    Best regards,

    Simon

  • Hi Simon,

    thank you for your reply. 

    1) I checked current consumption  for various scenarios in systemON and it is same with timer/gpioTE and without timer/gpioTE.

    clock source is XTAL

    External clock accuracy used in the LL to compute timing is NRF_CLOCK_LF_ACCURACY_20_PPM

    Actually the current consumption is not stable and is varying from 850nA to 1.1uA from time to time. Do you have any suggestion ?

    2) I saw in many answers in forum that calling "sd_app_evt_wait" will put device in system ON without RAM retention. But when i read the register "RAM[n].POWER (n=0..7)" before calling sd_app_evt_wait(), the value is 0xFFFF which means that RAM will be retained according to the spec. Then how RAM doesn't retain data during system ON?

    From the above table I am assuming that disabling RAM retention during systemON is only possible by disabling the power to the RAM. Is my understanding correct ?  Also, if RAM is not retained, Will the code be moved from flash to RAM each time device is waking up from systemON ? 

    Best regards,

    Nizar

  • 1. For (the best) timer option during sleep, please check out the ION_RAMOFF_RTC_LFXO option in sleep, compared to ION_RAMOFF_EVENT (1.1uA VS. 0.6uA), so less than 1.1uA can't be expected. Can you provide a graph showing how this varying current consumption looks and is behaving?

    2. Where exactly have you seen these answers? The sd_app_evt_wait() function uses RAM retention by default, and you'll have to disable which regions you'd like to not retain RAM in. Please check out the RAM Retention example and/or the answer by my colleague Vidar in this case to get more information on how RAM retention works. Please also note that you need to know what RAM sections you can disable without interfering with the application data. 

    Best regards,

    Simon

Related