Experienced high power consumption with both CONFIG_PM_DEVICE and CONFIG_NRF_SW_LPUART enabled

Hello everyone,

I am experiencing excessive power consumption in a project based on the nRF9151 processor, developed using nRF Connect SDK 2.9.0.

My project uses two UART interfaces:

uart0 – used for the console. It is suspended and resumed using the pm_device_action_run() function (with CONFIG_PM_DEVICE=y enabled):

pm_device_action_run(console, PM_DEVICE_ACTION_SUSPEND);  // suspend
pm_device_action_run(console, PM_DEVICE_ACTION_RESUME);   // resume

uart2 – configured as LPUART (with CONFIG_NRF_SW_LPUART=y enabled), communicating with a Bluetooth module.

With both configurations enabled, I measure a current consumption of approximately 30 µA, while I would expect something closer to 8 µA.

My test

To further investigate the issue, I built and ran the LPUART sample on the nRF9151DK development board.
I created the files nrf9151dk_nrf9151_ns.overlay and nrf9151dk_nrf9151_ns.conf, adapting them from the nRF9160 versions.

I shorted RX and TX (pins 10 and 11), and REQ and RDY (pins 12 and 13 in my configuration), as suggested in the sample documentation.

Everything works correctly. The current consumption is extremely low (around 1 µA avarage current) between communication intervals. See image attached

At this point, I simply added CONFIG_PM_DEVICE=y to prj.conf, and the current consumption immediately increased to more than 22 µA.

My conclusion is that there may be some incompatibility between CONFIG_NRF_SW_LPUART and CONFIG_PM_DEVICE. Can you confirm it?

Here is my lpuart sample test project:

lpuart.zip

I would like to keep the LPUART communication active while also being able to suspend the console when the device needs to enter low-power mode.

How can I achieve this?

Thank you 

Luca

Parents Reply Children
No Data
Related