PDM / DMIC not giving any sensible output

I'm trying to capture audio data from a PDM microphone.
Using the dmic sample I output the captured buffer via serial. Though the captured PCM data is 8x the same data. So each time the dmic sample captures one "block" is receives the same data though this is not what I see in my logic analyser.
What is even more puzzling is that I keep getting successful data reads when I disconnect the microphone. That happens with the unmodified dmic sample.

The issue sounds very similar to this old ticket: RE: Trouble extracting data using DMIC 

Used hardware:
nrF5340DK
Microphone: https://www.adafruit.com/product/4346 ( https://cdn-learn.adafruit.com/assets/assets/000/049/977/original/MP34DT01-M.pdf)

Software:
NCS2.5.0 via VSCode Extension
Windows 10

The received output. 1. Zoomed in 2. Full capture

Parents
  • I'm not certain what the exact issue was but it seems it was a compounding issue of retrieving multiple blocks and calling config after each set of blocks again and then also likely interpreting the sample data with the wrong endianness.
    Also setting the queue depth deeper in the device tree helped remedy a crash I was exhibiting when asking for more sample reads than the dmic sample does by default.

Reply
  • I'm not certain what the exact issue was but it seems it was a compounding issue of retrieving multiple blocks and calling config after each set of blocks again and then also likely interpreting the sample data with the wrong endianness.
    Also setting the queue depth deeper in the device tree helped remedy a crash I was exhibiting when asking for more sample reads than the dmic sample does by default.

Children
No Data
Related