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?