cancel
Showing results for 
Search instead for 
Did you mean: 

PDM MEMS microphone using I2S interface... unexpected PDM clock rate messing up converted frequency

kcire L.
Associate III

Hello,

I have a PDM MEMS microphone that I am reading in via I2S. The following parameters are set.

I2S config

-----------------

Master Mode Receiver

MSB First

24 Bits Data on 32 Bits Frame

48KHz Sample rate

The PDM 2 PCM settings are as follows

PDM2PCM

------------------

PDM Filt order MSB

Endianness BE

1 input channel

1 output channel

Decimation factor 64

Output samples 16

With these parameters I would expect a PDM clock rate of 3.072Mhz @ 48Khz PCM sample rate.

I am measuring 3.135Mhz on my PDM clock, and I am also receiving results that are slightly off frequency.

Does anyone have any idea why this would happen? I am using I2S3 on the STM32F401RE nucelo board.

Thanks for any ideas and help.

2 REPLIES 2
Eleon BORLINI
ST Employee

Hi @kcire L.​ ,

Since it is an issue related to the PDM clock generation, i.e. the PDM clock master from the I2S peripheral, I've added the STM32F4 topic for more help from the STM32 community.

I would check if the clock tree has been properly configured... Did you used the CubeMX for the peripheral settings or did you started from a custom project? And did you try to use another I2S peripheral?

-Eleon

kcire L.
Associate III

I did use the CubeMX to setup the peripherals, but I have not tried another I2S yet...

Thanks for the response.