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

Low power mode and advertising on BLE SoC

Hi.
Its my first post here.

I plan to make a secure remote control for garage door opener product with a BLE SoC, for example, currently I plan to use nrf52832. We want to do dversiting every 900 miliseconds, and when not advertising the chip should consume <= 3uA, maybe entering in a such low power mode. As far as I know, it is not possible to make advertisements while in deep sleep. I will have 4 buttons on my board connected to the SoC, so I can wake it from low power mode.

What can be done to solve this? I want a very low consumption on most of time, and make quick advertisements every 900ms. Can I do this with a nrf52832? If not, which other chips of Nordic could be used to achive my goal?

Is it possible to wake from low power mode via internal timer? Maybe using a timer that can run in this mode?

And also, is nrf52832 suitable for make a beacon? If not, which chip is recommended? (preference for the same package of nrf52832)

Regards

Parents
  • Hi.

    As far as I know, it is not possible to make advertisements while in deep sleep.

     Correct, all timers and most peripherals are turned off during SYSTEM OFF

     

    What can be done to solve this? I want a very low consumption on most of time, and make quick advertisements every 900ms. Can I do this with a nrf52832? If not, which other chips of Nordic could be used to achive my goal?

    The correct way would be to use SYSTEM ON sleep also known as IDLE sleep. This is implemented in most of our BLE examples in the SDK. The current draw in IDLE sleep depends on your specific application (what peripherals that are enabled, state of GPIOs etc). IDLE sleep is implemented in our BLE examples by calling nrf_pwr_mgmt_run() which again calls the ARM functions WFE() and sets the CPU in IDLE until a interrupt is generated. 

     

    Is it possible to wake from low power mode via internal timer? Maybe using a timer that can run in this mode?

     See this tutorial.

     

    And also, is nrf52832 suitable for make a beacon? If not, which chip is recommended? (preference for the same package of nrf52832)

    Yes, See the beacon example.

    best regards

    Jared 

  • Hi Jared.
    Thanks for you help.


    The correct way would be to use SYSTEM ON sleep also known as IDLE sleep. This is implemented in most of our BLE examples in the SDK. The current draw in IDLE sleep depends on your specific application (what peripherals that are enabled, state of GPIOs etc). IDLE sleep is implemented in our BLE examples by calling nrf_pwr_mgmt_run() which again calls the ARM functions WFE() and sets the CPU in IDLE until a interrupt is generated.

    In my situation, I would use only 5 GPIOs plus the BLE, 4 GPIOs are for 4 push-buttons and anyone will be able to make the SoC exit low power mode. The remaining GPIO is to drive a Led, but it will be off during low power mode.
    So the power comsumption of my circuit during low power mode will be only the internal circuitry of the nrf52832.
    So I need the minimum of peripherals enabled during the low power mode (maybe only a timer), only the necessary in order the SoC can wake, make adverstisement and return again to lower power mode, every 900ms.

    Is this possible with a power consumption <= 3uA during low power mode?

    And also, if I use an internal timer to wake up, this timer is better to have its clock from which source? Internal clock or the 32.768KHz crystal?


    Is it possible to wake from low power mode via internal timer? Maybe using a timer that can run in this mode?
    See this tutorial.

    I'm still unclear because I'm not familiar with programming side, only hardware, I was not able to understand if it is possible or not.


    To explain better, I will have 2 applications for the nrf52832.

    (1) Beacon. As you said this is possible. Only here I will use advertisement, and will not use any GPIO.

    (2) Remote control for garage door opener. Do not use advertisement. 99% of time it will be in deep sleep and can wake from interrupt-on-change of the 4 GPIO inputs/buttons. When wake, do a job and return to deep sleep.


    Regards
    Jeferson.

Reply
  • Hi Jared.
    Thanks for you help.


    The correct way would be to use SYSTEM ON sleep also known as IDLE sleep. This is implemented in most of our BLE examples in the SDK. The current draw in IDLE sleep depends on your specific application (what peripherals that are enabled, state of GPIOs etc). IDLE sleep is implemented in our BLE examples by calling nrf_pwr_mgmt_run() which again calls the ARM functions WFE() and sets the CPU in IDLE until a interrupt is generated.

    In my situation, I would use only 5 GPIOs plus the BLE, 4 GPIOs are for 4 push-buttons and anyone will be able to make the SoC exit low power mode. The remaining GPIO is to drive a Led, but it will be off during low power mode.
    So the power comsumption of my circuit during low power mode will be only the internal circuitry of the nrf52832.
    So I need the minimum of peripherals enabled during the low power mode (maybe only a timer), only the necessary in order the SoC can wake, make adverstisement and return again to lower power mode, every 900ms.

    Is this possible with a power consumption <= 3uA during low power mode?

    And also, if I use an internal timer to wake up, this timer is better to have its clock from which source? Internal clock or the 32.768KHz crystal?


    Is it possible to wake from low power mode via internal timer? Maybe using a timer that can run in this mode?
    See this tutorial.

    I'm still unclear because I'm not familiar with programming side, only hardware, I was not able to understand if it is possible or not.


    To explain better, I will have 2 applications for the nrf52832.

    (1) Beacon. As you said this is possible. Only here I will use advertisement, and will not use any GPIO.

    (2) Remote control for garage door opener. Do not use advertisement. 99% of time it will be in deep sleep and can wake from interrupt-on-change of the 4 GPIO inputs/buttons. When wake, do a job and return to deep sleep.


    Regards
    Jeferson.

Children
No Data
Related