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
  • Hi Dhruv,

    In the nRF53 series, each peripheral currents that you see already include the EasyDMA activity, s there is no separate EasyDMA current which you can add to this. So approximately, when any DMA -ustilizing peripheral is running, there will be around 1mA extra for the RAM bus which is shared across all the peripherals.

    So I think what you are seeing is kindof expected. In order to reduce the current, I would suggest you to do some extra stuff, like, using DCDC on both the cores if possible, and disable the logging and UART when you are not using it.

    You could also try measuring the current when only PDM is on and everything else is off (might be around 2mA) and then build your features one by one around this. 

    -Priyanka

Reply
  • Hi Dhruv,

    In the nRF53 series, each peripheral currents that you see already include the EasyDMA activity, s there is no separate EasyDMA current which you can add to this. So approximately, when any DMA -ustilizing peripheral is running, there will be around 1mA extra for the RAM bus which is shared across all the peripherals.

    So I think what you are seeing is kindof expected. In order to reduce the current, I would suggest you to do some extra stuff, like, using DCDC on both the cores if possible, and disable the logging and UART when you are not using it.

    You could also try measuring the current when only PDM is on and everything else is off (might be around 2mA) and then build your features one by one around this. 

    -Priyanka

Children
Related