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

Turning off peripherals before sleep mode (System ON)

Hi,

Is there an example code for nRF52832 were the system is configured to operate in a certain duty cycle, e.g. performing a certain task once every 100ms, and then goes to sleep mode, but where the current consumption during sleep mode is below 500uA? 

I was using sd_app_evt_wait(); to enter sleep mode, but this by itself doesn't bring me to low current. I still have around 7.5mA consumption. 

Thanks

Parents
  • Hi

    I don't know what your calls to RSM does, and most of your settings seem to be custom made (not part of the SDK), so it's hard to say what you initialize and not. Where do you init the SoftDevice? If it isn't initialized at any point, then the sd_app_evt_wait() won't have any effect on the current consumption. 

    Please note that nrf_pwr_mgmt_run() does not put the device in System OFF mode, but puts it to sleep in System ON mode. It also checks whether the SoftDevice is initialized, and if it's not, it puts the device to sleep using the following calls:

    // Wait for an event.
            __WFE();
            // Clear the internal event register.
            __SEV();
            __WFE();

    Best regards,

    Simon

  • Hi, 

    Thanks for your answer. 

    Is there an example of a SW that doesn't do anything except for toggling a GPIO once every N msec, and consumes low current (since it is in System On sleep most of the time)? I searched the DevZone, as well as the directory: C:\Nordic_Semi\nRF5_SDK_17.0.2_d674dde\examples, but I was not able to find any such example. 

    If there is no such an example, can you create one?

    In your answers you referred to my calls to RSM. But there are no such calls in the code that I sent. There are only calls for NRF_LOG_INIT(NULL);  NRF_LOG_DEFAULT_BACKENDS_INIT(), SEGGER_RTT_Init();SEGGER_RTT_WriteString(0, "RTT initialized\r\n") and nrf_pwr_mgmt_init();. So you saw all the code. If you think I should add something (you referred to "SoftDevice") can you send me an example of how to add it, and where?

Reply
  • Hi, 

    Thanks for your answer. 

    Is there an example of a SW that doesn't do anything except for toggling a GPIO once every N msec, and consumes low current (since it is in System On sleep most of the time)? I searched the DevZone, as well as the directory: C:\Nordic_Semi\nRF5_SDK_17.0.2_d674dde\examples, but I was not able to find any such example. 

    If there is no such an example, can you create one?

    In your answers you referred to my calls to RSM. But there are no such calls in the code that I sent. There are only calls for NRF_LOG_INIT(NULL);  NRF_LOG_DEFAULT_BACKENDS_INIT(), SEGGER_RTT_Init();SEGGER_RTT_WriteString(0, "RTT initialized\r\n") and nrf_pwr_mgmt_init();. So you saw all the code. If you think I should add something (you referred to "SoftDevice") can you send me an example of how to add it, and where?

Children
No Data
Related