I am developing a custom board using the nRF9151 module controlled by an external host microcontroller. The nRF91x1 is running the Serial LTE Modem (SLM) application.
In my current hardware design, the
ENABLE pin of the modem is connected to a GPIO on my MCU. However, both the main VDD and VDD_GPIO are connected directly to the main power supply (always ON). I do not have any hardware switch to cut off their power or pull them to GND.I read the following warning in the Power and Clock Management section of the Product Specification regarding the System Disabled mode:
"VDD_GPIO input must be driven low when device is disabled, failing to do so could result in increased leakage." "If System Disabled mode is not used, ENABLE must be connected to VDD."
At the same time, I am looking at the SLM documentation for Power Saving, which provides the
AT#XSHUTDOWN (System OFF) and AT#XSLEEP (Idle/Sleep) commands.Given that my hardware does not allow me to ground
VDD_GPIO, I would like to know the best strategy to achieve the absolute lowest power consumption:- Hardware vs. SLM Commands: Given the VDD_GPIO constraint, should I pull the
ENABLEpin LOW to turn it off (risking reverse leakage), or should I keepENABLEHIGH permanently and rely exclusively on SLM AT commands (#XSHUTDOWNor#XSLEEP) to put the modem into deep sleep? - Best Command Sequence: If keeping
ENABLEHIGH is the correct approach, which command gives the absolute lowest power consumption in my case? Is it#XSHUTDOWN, or#XSLEEP=1(perhaps sendingAT+CFUN=4beforehand to prevent NVM wear, as noted in the SLM docs)? - Wake-up from #XSHUTDOWN: The SLM documentation states that if
#XSHUTDOWNis used, the SiP cannot be woken up using theCONFIG_SLM_POWER_PIN. Since my MCU needs to wake the modem up, what is the recommended way to wake it from#XSHUTDOWNin this architecture? - Expected Current & Troubeshooting: What is the estimated floor current (in µA) I should expect with this setup? Currently, I am measuring around 11 mA even after sending the sleep commands and turning off the radio, which indicates the system is kept awake. Are there common pitfalls in the SLM app (e.g., UART RX pin keeping the CPU awake) that could cause this 11 mA draw?
Any guidance on how to properly handle this hardware constraint alongside the SLM application to reach the microampere range would be greatly appreciated!
Thanks in advance.