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.

TLV320AIC3107: TLV320AIC3107 playback noise issue

Part Number: TLV320AIC3107
Other Parts Discussed in Thread: TLV320AIC3100

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

  • Hi Jeff ,

    Thank you Jeff,I will check and get back to you

  • Ok Neethu,

    Reply back once you have an update.

    Thank you,

    Jeff