Hey. We are working on a project where keeping power consumption at a minimum is crucial.
I would like to further understand what are the difference between low-power mode and non low-power mode peripherals as I could not find any information about them on the nRF52840 product specification.
1. For example. lets say I am using 2x UART, 1x SPI and 1x I2C on my project. On the nRF52840DK nRF52840 pin-ctrl.dtsi I can see that each peripheral has default config and a sleep config, for example:
uart1_default: uart1_default {
group1 {
psels = <NRF_PSEL(UART_RX, 1, 1)>;
bias-pull-up;
};
group2 {
psels = <NRF_PSEL(UART_TX, 1, 2)>;
};
};
uart1_sleep: uart1_sleep {
group1 {
psels = <NRF_PSEL(UART_RX, 1, 1)>,
<NRF_PSEL(UART_TX, 1, 2)>;
low-power-enable;
};
};
2. What exactly happens on the device that allows it to save power?
3. How much power exactly can I save? Are there any numbers available in the specification ?
4. What are the disadvantages of using low power peripheral mode (for example using low power UART1 when comparing it with the default mode? Why would anyone ever want to use default mode if they can just simply use low power mode and save some energy (even if its not battery powered device) it can still make sense to save energy...
5. How to enable the low power peripheral mode? Is simply having CONFIG_NRF_SW_LPUART=y and CONFIG_UART1_NRF_ASYNC_LOW_POWER=y enough?