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

Optimal way of putting nRF9160 into low power mode without shutting down the power

Folks,

We are working on a custom design where the STM32L4 (external host MCU) talks to the nRF9160 over an UART connection to transmit sensor data. When the sensor data is ready to transmit over LTE, the host MCU (STM32L4) enables the Buck converter that powers the nRF9160. Once the transmission is done, STM32L4 disables the buck to cut off power to nRF9160. We found this method of cycling power to the nRF9160 takes a long time (around 70seconds) for the nRF9160 to register and connect to the cellular provider every time and hence waste of power. Could you help suggest a proper way of putting the modem in sleep mode (low power mode) by the external host MCU (STM32L4) and enable the modem instantly when needed to transmit data? The battery is a 7.6V Li-SoCL2 (2 batteries in series). M33 on nRF9160 does not run the application code. Our goal is to leave the modem in low power mode instead of cycling power and improve the design for the modem to connect quickly to the network, transmit data and go back to sleep.

Is there a way to achieve this goal either by hardware or firmware? Any suggestions is appreciated.

Parents
  • Hi,

    How do you currently turn off the modem?

    Do you just cut off the power?

    If you instead turn off the power gracefully with AT+CFUN=0, it will store information about the currently connected network to flash, so that next time it starts, it can speed up connection significantly.

    However, you still have to disconnect and re-connect to the network.

    Another solution, is to use "Power Saving Mode" (PSM). This is a feature in LTE-M and NB-IoT which let's the device turn off the radio for long periods at a time, while still staying connected to the network. You can request PSM from the network with the +CPSMS AT command. If granted by the network, the device can still send data whenever it wants, but it cannot receive any data while in PSM.

    When the sleep period is over (or the device initiates a transmission), the device only has to do a tracking area update, instead of a full re-attach. In addition, it will have to stay online for a short period afterwards (active time) before going back to sleep.

    Best regards,

    Didrik

Reply
  • Hi,

    How do you currently turn off the modem?

    Do you just cut off the power?

    If you instead turn off the power gracefully with AT+CFUN=0, it will store information about the currently connected network to flash, so that next time it starts, it can speed up connection significantly.

    However, you still have to disconnect and re-connect to the network.

    Another solution, is to use "Power Saving Mode" (PSM). This is a feature in LTE-M and NB-IoT which let's the device turn off the radio for long periods at a time, while still staying connected to the network. You can request PSM from the network with the +CPSMS AT command. If granted by the network, the device can still send data whenever it wants, but it cannot receive any data while in PSM.

    When the sleep period is over (or the device initiates a transmission), the device only has to do a tracking area update, instead of a full re-attach. In addition, it will have to stay online for a short period afterwards (active time) before going back to sleep.

    Best regards,

    Didrik

Children
  • Thanks for your response. Yes that is correct, in our current implementation we just cut off power by disabling the buck converter.

    For achieving your recommendation, the host microcontroller STM32L4 sends the AT command (AT+CFUN=0) to nRF9160 over UART before powering down the buck? The AT commands need to be initiated by the STM32L4?

  • What application are you running on the nRF9160?

    If you are running the Serial LTE Modem, or use the AT host subsystem, you can just send the AT command, wait for the OK, then cut the power.

    If not, you would need a way for STM32 to indicate that it want to turn off the nRF9160, so the application on the nRF9160 can turn off the modem. Depending on your application, this can be done over the already existing UART line, or by some other means. You should also have a way for the nRF9160 to indicate to the STM32 that the modem has turned off, as that can in some cases take some time.

Related