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.
We are using TLV320AIC3107 with a micro controller and we are facing noise while playing audio via headphone .We are not giving mclk externally .BCLK giving is 512KHz .ie microcontroller playing an audio of 16KHz,16bit ,mono.I think our i2s configurations are not correct.What all registers do we need to write over i2c for the proper working of audio codec playback feature.We require only the playback.Could you please help us to resolve the issue?
Hi Neethu,
Registers 8 and 9 are the ones that control I2S interface. BCLK and WCLK should be outputs since you intend to use master mode, correct? Also confirm you have the right word length (16bit) in I2S mode.
Can you share a schematic and some waveforms of your clocks/data? Is there anyway to measure the noise performance coming out of the microcontroller before the codec?
Best regards,
Jeff
Hi Jeff,
Thank you for your response.
In our case controller is the master and codec is the slave.When we tried to play speech , audio was clean only.But when we tried to play sine tones ,noise is there.our register configurations is as follows.
register:data
0x07 0x80
0x07 0x0A
0x03 0x91
0x04 0x40
0x66 0x00
0x0a 0x00
0x09 0x00
0x25 0xc0
0x29 0x02
0x2b 0x00
0x52 0x80
0x5c 0x80
0x4b 0x80
0x4e 0x80
0x56 0x09
0x5d 0x09
0x4f 0x09
I will share the waveform and schematics
Hi Neethu,
Are you measuring the noise with an FFT, or is it just that the noise can't be heard with speech data?
I looked through your registers and noticed you are writing to 4f, 4b, and 4e, which are listed as reserved in the datasheet. What is the goal of writing over those?
Best regards,
Jeff
Hi Jeff,
I am not checking the Noise with FFT. Writing reserved registers was my mistake.We are planning to test with another audio codec in the same series.ie TLV320AIC3100 with MCU. For this codec what all configurations are needed.Do you have any controller compatible driver for this audio codec?
Hi Neethu,
We only have the drivers available on the product page, which are the linux drivers. The EVM user guide will help you set up the EVM. From there the registers need to be set accordingly to how you want the MCU to interface with the device. For example if the MCU is the master of the system, then the codec should be in slave mode, etc.
Best regards,
Jeff
Hi Jeff,
Thank you for the response.I have one more doubt .In my case controller is the master and I want to set audio codec in 16KHz ,16bit mono mode.in datasheet it is mentioned that audio codec is 24bit But I have seen there is a provision to set 16 bit via register.I just want to double confirm on the same.is there any limitations to set the codec in 16khz ,16bit mono?
Hi Neethu,
Yes, register 27 will let you set the word length to 16 bits. 16kHz, 16bit is possible.
Best regards,
Jeff