This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TLV320AIC3106 Digital Microphone functionality

Other Parts Discussed in Thread: TLV320AIC3106

Hello,


I'm trying to get a digital microphone working with the TLV320AIC3106 codec. The datasheet mentions: "The TLV320AIC3106 includes support for connection of a digital microphone to the device by routing the digital signal directly into the ADC digital decimation filter, where it is filtered, downsampled, and provided to the host processor over the audio data serial bus."


Does that mean it is not possible to route the audio directly to one of the outputs? So I would need to loop the data back to the I2S DIN signal to convert it to an analog signal?

  • Hi Sammy,

    That is correct, Digital microphone block of the TLV320AIC3106 is connected directly to the decimation filter of the device's ADC. If you want to route the signal from the digital microphone to one of the outputs of the device, you will need to loop back the digital data.

    Best Regards,

      -Diego Meléndez López
       Audio Applications Engineer

  • Alright thanks for clearing that up. I've read appnote slaa275 which also clears alot of things up. It was not really clear from the datasheet how the DMIC data is exactly routed.

    I have set the GPIO's as shown in this figure with an oversampling rate of 64 x 44.1kHz and the left digital microphone enabled. The digital microphone is not a TI part (afaik TI does not make any digital microphones), but it's the MP45DT02 which can handles input frequencies up to 3.25MHz.


    I'm getting the following output from the DMIC (green trace = data, blue trace = clock):

    The DMIC output should be high-z when the clock signal is high, but I'm not sure it's doing that because the data only changes on high-low transitions.

    I'm not getting any audio. Is there any register setting that can prevent the DMIC data from being routed to I2S DOUT? For example LINE_IN being routed to the ADC while DMIC is enabled. I'm using a linux driver that has been patched to get the DMIC working, but there may be some mistakes in the patch.

    UPDATE: I'm now getting audio output, but it is very low. I assume there is no way to amplify the DMIC output on the codec since it is digitised and send directly to the I2S bus? Even with all gains maxed, the output volume is still very low when I play back the recorded audio.

  • Hi Sammy,

    Thanks for the update. you can only control the volume of the digital microphone with Digital volume control register (-63.5dB to 0dB), so you may check this volume control register (Page 0, Reg 43) to find if it is not attenuating the digital mic signal.

    Regards,

      -Diego Meléndez López
       Audio Applications Engineer

  • Just an update for reference to anyone who wants to use the digital microphone input. The audio input level might be too low for your application as is. You'll need to implement some form of digital gain in software because the TLV320AIC3106 only provides attenuation (unless you use analog inputs).