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

SPI power consumption between transactions when using EasyDMA and ArrayLists?

SDK: 15.2.0

SoftDevice: s140 6.1.0

Hello,

I seem to keep finding conflicting information on how the NRF52 manages power to its peripheral devices and whether the application must disable the peripheral or allow the PMU (Power management unit) to do this automatically for optimal power savings.

For example, I see some posts (and the nRF52840 datasheet) state that the PMU does it automatically but in other posts I see that some developers are setting the ENABLE register of the peripheral to 0. Is setting this register necessary if the PMU is supposed to manage power automatically?

My primary concern is the power consumption of the SPI interface when using EasyDMA and ArrayLists to clock in large amounts of data into RAM without waking up the CPU between each transaction.

1. Can the SPI peripheral be disabled between transactions using PPI to save power or does the PMU take care of this for you?

2. I realize that using EasyDMA consumes quite a bit of current (1-2 mA). Should I expect this current draw consistently when using ArrayLists or will I only see this when a SPI transaction is in progress?

Thanks for clarifying this for me.

Derek

Parents
  • Hi Derek

    1. The SPI peripheral is not controlled by the PMU. The PMU is a black box able to adjust the following parameters depending on what is most efficient for the "state" the MCU is in: DCDC regulator on/off, System ON, System OFF, and RAM retention. This means the PMU will set the MCU to be as power efficient as possible when for example the SPI is enabled or disabled.

    2. A peripheral without easyDMA needs to take into account the current consumed by CPU to involve in these transactions. A peripheral with easyDMA allows the CPU to go to sleep mode and hence run faster, and therefore consume power for a shorter amount of time. You should only see the extra draw during a transaction.

    Best regards,

    Simon

Reply Children
No Data
Related