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.

TLV320AIC3104 syncing

I am developing a custom USB soundcard and am getting a bit bogged down with clock syncing issues.

I need to use 2 x 3104 codecs on a common I2S bus. TDM mode would seem to be designed for this, but as far as I can see, to configure this, I need to have them in 256 clock mode (so that I can configure different offsets) and to do this BCLK needs to be an output. This means that the 3104s are masters, so how would they sync to a USB controller assuming I wanted to use USB in isochronous adaptive mode?

 

  • Hi, Dave,

    I'm going to bounce your post over to the Audio Converter forum where the converter app guys hang out...

    -d2

  • Dave,

    To use the AIC3104 in I2S TDM mode, you do not need to configure them to be in master mode.

    It is quite possible to use the I2S slave mode and yet use the TDM mode. The requirement would be that the I2S master device have the capability to generate 

    num bit_clock's per frame >= N * 2 * WL, where N = number of codec's sharing the same I2S bus and WL = wordlength of data word ( e.g. 16, 20, 24 or 32 for AIC3104 ).

    Assuming you have WL=16 for both the AIC3104's on the I2S bus, you could set the offset of codec-1 as a number x and for the codec-2 as a number x+2*WL.

  • Thanks for that confirmation!

    I had come to the same conclusion when I found some application notes for a similar codec with what looked like an identical interface. The 3104 data sheet is a little bit ambiguous when taken in isolation!