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: AIC3104 has big output noise

Part Number: TLV320AIC3104

Hi Team,

Our customer found big output noise issue when using AIC3104.  Its application scenario is Modem with DSP + codec through I2C/I2S/RESET/GND.

Please refer to the below schematic. We have removed C1819/C1820/C1822/C1823/C1815/C1817. Following codec CODEC_SPKP/M is TPA3111. We have measured the noise is from codec side, not TPA3111.

(BCLK=1.536MHz, WCLK=48kHz)

We have tried several tests:

1) Let our customer record the music before sending to codec. The record voice is ok and there is no noise. That is to say, the input source has no noise.

2) Try different audio sources, such as Silence, LR music and silent_dtmf5. When we play silence, it has no noise. When we play music, it has noise.

We download the related registers and the value is in the below. For different audio sources, the register value is the same.

3) Try to change the left output and right output volume. The noise level doesn't change.

Need your help:

1) Do you have any more suggestions to find out the root cause of big output noise issue?

2) Why there is no output noise when only playing silence? Even when playing "silent_dtmf5", it has discontinuous silence, the noise is still there.

3) Can you explain why I2S mode need addition clock before MSB? Is it to say, for the BCLK=1.536MHz, WCLK=48kHz, it can't support word length=32bit, correct?


 

 output noise.7z

The schematic is attached:

  • Hello Marvin,

    This sounds like Out of Band noise and should be filtered out with a simple Low Pass Filter especially if it is being fed into a Class D amplifier. You can take a look at this app note that explains what causes this noise. 

    Increasing the Output level will also add noise so I would avoid this if possible. 

    As for your I2S question, The one clock before the MSB allows the slave transmitter to derive synchronous timing of the serial data that will be set up for transmission as well as enables the receiver to store the previous word and clear the input for the next word.

    Regards,
    Aaron

  • Hi Aaron,

    Thanks for your reply.

    For item 1), we will let our customer to add the output filter.

    For item 2), can you explain it? 

    "2) Why there is no output noise when only playing silence? Even when playing "silent_dtmf5", it has discontinuous silence, the noise is still there."

    For item 3), as you said, does it mean: when BCLK=1.536MHz, WCLK=48kHz, it doesn't support the application of word length=32 bit? Because there is one bit missing. (If so, it seems it doesn't make sense. 1.536MHz is a typical frequency)

     

    Thanks!

    BR

    Marvin

  • Hello Marvin,

    Item 2) I believe that this is due to the fact that the DAC is not being "used" when silence is playing but as soon as the DAC starts to receive actual data, the noise will show on the output. Figures 2 and 3 in the app note I sent show an example of this.

    Item 3) The device will support 32-bit data. The clock cycle before the MSB is the LSB of the previous channel. so essentially you have 31-bits in one WCLK low period and 1-bit on the high period. 

    Regards,
    Aaron