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: Crosstalk found in TLV320AIC3106

Part Number: TLV320AIC3106

Hi:

       Our conference audio product uses TLV320AIC3106 as codec. two analog input, one analog output 

       Lin1l and lin1R are used as analog channel inputs.

        Recently, a customer reported that a loud voice yells at one mic, the other mic can also record the sound when one mic is connected to the acquisition card and the other MIC is not connected to the acquisition card. 

        We restored the usage environment and recurrence the problem. Only one analog signal input is measured through the oscilloscope, but there are L and R signals on the I2S data line. We found that the signal saturation when talking loudly , and that part of the saturated signal was mapped out on the other way.

        We suspect that it is caused by a configuration problem.

        We use the differential input of line1l \ line1R, and other analog channels are closed.

        The following is the configuration code:

//disable line2L、R
I2CRegWrite(baseAddr, AIC31_P0_REG20, 0x78);
I2CRegWrite(baseAddr, AIC31_P0_REG21, 0xF8);
I2CRegWrite(baseAddr, AIC31_P0_REG23, 0x78);
I2CRegWrite(baseAddr, AIC31_P0_REG24, 0xF8);

// MIC IN disable
I2CRegWrite(baseAddr, AIC31_P0_REG17, 0xFF);
I2CRegWrite(baseAddr, AIC31_P0_REG18, 0xFF);


// Line L1L 
I2CRegWrite(baseAddr, AIC31_P0_REG19, 0x84);
// Line L1R 
I2CRegWrite(baseAddr, AIC31_P0_REG22, 0x84);

I2CRegWrite(baseAddr, AIC31_P0_REG15, adc_gain_L); 
I2CRegWrite(baseAddr, AIC31_P0_REG16, adc_gain_R); 

  • Hi,

    From the configuration above, you are sending differential LINE1LP/M to Left channel and LINE1RP/M to Right channel so your I2S will have data on both channels.

    Turn off the channel that does not have the MIC input and test again, not just removing the input MIC.

    Regards.

  • thank you,

     Let me add more information,After the L channel signal is saturated, the overflow part will crosstalk to the R channel.So the question is how can we avoid this.

  • Hi,

    Let me understand your setup and please clarify if they are correct.

    In the register configurations you have set both left and right ADC path, but in the testing you removed/turned off the right path MIC input and just have the left MIC input keeping all the registers as they are - is that correct?

    Because you enable both ADC path, you will have data on both channels. Can you disable the right channel path by changing the registers below and run again? What do you mean by left channel data saturated, do you mean too high the level that it clips? Your level should not exceed the spec requirement.

    • I2CRegWrite(baseAddr, AIC31_P0_REG16, 0x80);
    • I2CRegWrite(baseAddr, AIC31_P0_REG22, 0x80);

    Regards.