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.

TLV320AIC3254 DSP and TDM mode

Other Parts Discussed in Thread: TLV320AIC3254

Hi team,

We are evaluating a system which will implement more than 2 microphones when our host only has one channel I2S interface. In my study, it looks TDM mode can achieve this application while our host processor supplier told us DSP mode can be used. After looking at TLV3254 datasheet, it looks both TDM mode and DSP mode can be supported. Then I also checked “TLV320AIC3254 Application Reference Guide” but only left justified, right justified, I2S and DSP mode are introduced without TDM mode in section 2.6. It seems to me TDM mode is similar to DSP mode. Can you help explain what is the difference between them?

Thanks.

Regards, Prescott

  • Hi, Prescott,

    The TDM mode can be used with all the protocols (DSP, I2S, left/right justified). However, it is suggested to use it with the DSP and left justified protocols because the MSB is sent in the first BCLK after the rising edge of the word clock. It makes clearer to understand the TDM mode.

    To explain it, you may see the next two pictures:

    DSP mode:

    DSP mode with TDM:

    The TDM mode allows to share the same data line (DOUT or DIN) with more codecs. This is used to have multichannel data in only one line.

    Let's assume that we have several codecs sharing the same DOUT line, 32-bits data per channel and 256 BCLKs per WCLK pulse. The first codec will be configured with no offset (page 0, register 28, D7-0 = 0x00) and DOUT in high impedance after data has been transferred (page 0, register 27, D0 = 1).  The second codec must be configured with a data offset of 64 BCLKs to avoid a collision with the data of the first codec (32 bits per channel) and DOUT in high impedance after data has been transferred too. These conditions will allow until 4 codecs sharing the same line (32 bits per channel * 2 channels per codec * 4 codecs = 256 bits).

    I hope to have been clear. If you have more questions or comments about that, please let me know.

    Best regards,

    Luis Fernando Rodríguez S.