Hello everyone,
I am trying to read in data from two digital PDM mics via the TLV320ADC3101 and send the decimated PCM-data to a microcontroller via I2S. Unfortunately I am not getting any signals on my I2S Bus.
My configurations are the following:
- BCLK = 512kHz, I want to read in 2*16bit (L/R) =32bit -> WCLK=16kHz
- I am using BCLK as CLK for the TLV320. Therefore, I use the PLL with P=1, R=4, J=40, D=0000 (to meet all requirements from the data sheet from the CLK calculation examples) and divide by 40 (using NADC =40 and MADC=1) to get 2.048 MHz at the DMCLK output. (This works so far)
- The read data from the digital Mics should be decimated by 128 (AOSR=128, Processing block= PRB_R1) to get a sampling rate of 16kHz.
- I have used the default configuration for the ADC audio interface control 1 register (Reg27) (I2S, 16bit, BCLK=input, WCLK=input, 3 stating of DOUT=disabled) and the DOUT Control Register (REG53) is also default (Bus keeper=disabled, DOUT=primary DOUT output for codec interface)
- ADC IADC Register (REG21) is also at default = 128
Questions:
- Am I missing anything to enable the I2S output via DOUT or do I have a fallacy when calculating WCLK?
- Does the miniDSP Engine Decimation Ratio (REG22) anything when using a processing block? (I am just a little bit confused because as I understood it, I set the decimation rate with AOSR=128.)
Attached is an image of my current I2S communication (Blue=WCLK, Green=BCLK, Red=DOUT/I2SData)
I would really appreciate any help :-)