Hi all,
I would like to use the TLV320ADC3101 to decimate 2 digital PDM microphones (L/R) with a decimation factor of 128. As I want to get values with a sample rate of 16kHz and 16bit per mic over I2S a microcontroller provides BCLK (512kHz) and WCLK (16kHz). The IC’s PLL is configured to provide the microphone CLK (2.048Mhz).
I am able to receive values with the desired sample rate but the problem is that I always get 2 or 3 times the same value which results in a bad sound. First I thought there is a problem with receiving the data at the microcontroller but after going through the configuration of the microcontroller again I looked at the incoming data with an oscilloscope and I saw that the TLV is really sending me 2 or 3 times the same values for left and right mic.
I already tried to following:
• send 24bit instead of 16bit to get a higher resolution -> also results in 2 or 3 repeated values.
• Give more time for each frame -> Increase Bclk to 1.024MHz (incl new PLL settings) but with the same WCLK (16kHz). Frame length 32bit where I am sending 16 data bits and the remaining 16bits nothing (for left and right)-> again 2-3 repeated values
• …
Do you have any idea what may be wrong? When does the TLV normaly sends the same data (timing problem, no new value available, ... ?)
Thank you,
Mike