TAC5211: TAC5211 Doesn't sent proper data to MCU

Part Number: TAC5211
Other Parts Discussed in Thread: THS4531,

Tool/software:

I have a custom board including

a microphone

an Amplifier (THS4531)

a Codec (TAC5211)

as shown:

The audio signal coming from a microphone to a THS4531 (amplifier) and go to TAC5211 Codec (in AC coupled differential mode).

I can see the proper audio signal at the input of the TAC5211 Codec (at IN1P and IN1M).

The DC voltage at IN1P and IN1M of the codec is almost 1.3V.

I used I2C to program the Codec as :

Write(0x00, 0x00)	#Go to page 00
Write(0x01, 0x01)	#Software reset
			delay
Write(0x00, 0x00)	#Go to page 00
Write(0x02, 0x09)	#Exit Sleep mode and Turn ON VREF
Write(0x0D, 0x02)	#Enable GPI
Write(0x0F, 0x60)	#To use GPI1 as CCLK
Write(0x1A, 0x40)	#Select I2S mode and make it 16 bits
Write(0x50, 0x00)	#Single-ended AC-Coupled Input
Write(0x4D, 0x00)	#Set VREF to 2.75/full scale input
Write(0x76, 0x80)	#Power up ADC
Write(0x78, 0xA0)	#Power up ADC

However, when I want to read the audio signal from Codec through I2S, I mostly read FFFF values.

Oscilloscope measurements shows the MCU is reading I2S properly (i.e. the transmitted signal by Codec is incorrect).

Can you help me to see what is the problem in my configuration?

  • Hi Abdulah,

    I am not sure of the purpose of the amplifier circuit, but it appears to be that you are converting the mic from single-ended to differential even though the mic can provide the differential signal on its own. I think this may be unnecessarily complicating this input signal. I recommend removing the excess circuitry and connecting the mic directly to the AC coupling capacitors on the input pins of the TAC5211, similar to the example on page 227 of the TAC5211 datasheet.

    Best,

    Garret