During mono audio capture over PDM, we observed a current draw of about 1.5 mA.

Our setup:

  • Board: nRF5340 DK
  • SDK: NCS v2.6.2
  • Microphone: MMICT5837-00-012
  • Interface: PDM

During mono audio capture over PDM, we observed a current draw of about 1.5 mA.
My questions are:

  • Is there any way to reduce this current consumption further?
  • How much current does the PDM peripheral itself typically draw in mono mode on the nRF5340 (excluding microphone current)?
Parents Reply
  • We are not calling dmic_trigger() from an interrupt.

    We use it in our application code, before and after reading data. The actual microphone data is obtained through the dmic_read() API.
    Our read function looks like this:
    int mic::readdata(void *pcm_data, uint16_t *len) {
    int ret;
    void *buffer;
    uint32_t size = 0;

    ret = dmic_read(dmic, 0, &buffer, &size, READ_TIMEOUT);
    if (ret < 0) {
    LOG_ERR("read failed: %d", ret);
    return ret;
    }

    memcpy(pcm_data, buffer, size);
    *len = size;

    k_mem_slab_free(&mem_slab, buffer);

    return ret;
    }

Children
Related