NRF53 easy dma current consumption for pdm interface

Hi NRF team,

I am currently working on the microphone module in zephyr RTOS. I am using the zephyr sample code for stereo. I am reading the stereo microphone at every 200ms. 

My environment setup:

MCU: NRF53

Zephyr NCS version: v2.6.1 

I am using 2 different microphones one is acoustic and another one is bone-conduction. 

Here I also attached the dtsi file of my pdm interface.

dmic_dev: &pdm0 {
    status = "okay";
    pinctrl-0 = <&pdm0_default_alt>;
    pinctrl-names = "default";
    clock-source = "PCLK32M";
    queue-size = <10>;
};

And the sampling rate of the microphone is 16000 and 16 bit PCM is used. I can't reduce the sampling rate and bit width.

I am operating both microphone using the LDO. Now in sample code I am getting below power consumption. 

MIC current consumption Summay (Stereo mode)
Current in mA MIC entity
1 LC3 current
0.31 MIC hardware current
2.39 PDM interface current
3.7 Total current consumption

According to https://docs.nordicsemi.com/bundle/ps_nrf5340/page/chapters/current_consumption/doc/current_consumption.html document we should get the pdm interface current 1mA. But I am getting Additional 1.39 mA current. According to reference manual of NRF53, in pdm interface we are using the Easy DMA component. And in pdm hal driver we are reading the samples from the easy dma buffer.

I want to know what is the easy dma current consumption? I found one devzon ticket regarding the current consumption of easy dma but it is for NRF52 ( EasyDMA current consumption ) 

Parents Reply Children
  • Then I guess the only option is to make sure that PDM is not continuously running even when not in use. You could suspend the PDM when not in use. Make sure CONFIG_PM=y, CONFIG_PM_DEVICE=y and maybe also CONFIG_PM_DEVICE_RUNTIME=y  so that suspend actually gates the peripheral. Also make sure that the network core does not get started if you are not using it. 

    -Priyanka

Related