Power Optimization

Hello,

I have investigated Zephyr's power managemen API and have the a few questions regarding the nRF52840-DK.
The nRF52840-DK was powered externally by the N6705B DC power analyzer (supply voltage of 3V) and the nRF_ONLY switch was enabled.

  1. If the UART-0 peripheral is enabled using the configuration option and the devicetree (CONFIG_SERIAL=y; status = "okay") then I have called the
    pm_device_action_run(uart_dev, PM_DEVICE_ACTION_SUSPEND);

    function before the SoC transitions to the idle state to reduce the average sleep current consumption from approx. 500µA to 8µA.
    If this function is called should the application first perform prior checks (on-going transmission/reception, power state, etc.)?
  2. Can you confirm that there is no way to switch off the UART receiver to soley use the transmitter for logging purpose to reduce power consumption?
  3. I have read this blog from Nordic regarding the power optimization for the nRF52840 and I would like to know if 8µA (accounting for SoC variations) is reasonable in your opinion using only Zephyr functions and no vendor SoC specific functions (RAM retention, etc). Do you think 8µA offers still room for improvement?

  4. As far a I am aware, Zephyr uses the low frequency clock automatically when it is in a low power mode. Can you confirm this?
  5. May you explain why the I2C-Twim driver uses PM_DEVICE_RUNTIME feature and the UART does not (PM_DEVICE)? 
    When implementing a driver when should someone use the runtime version of the power mangement feauture? Does it depend on device usage or any hardware restriction?
  6. Can you share a sample or a scenario (block diagram) where an application should make use of the power domain feature of Zephyr? Since the Thingy:53 offers additional peripheral circuits may you share how to make use of this feature with that hardware and why.

If you could share your knowledge regarding this topic I am grateful.

Best regards,

ATla5

Parents Reply Children
No Data
Related