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.

TLV320AIC3104-Q1: Capless configuration, DAC output is completely distorted and extremely loud

Part Number: TLV320AIC3104-Q1

Hello,

Due to various reasons we had to revert from our newer prototype with differential inputs and outputs to our previous single ended configuration.

However, the DAC output to the headphones is unusable. There is a lot of distortion and it is just too loud.

I tried reducing the digital volume but it only leads to stuttering of the audio. Please find below the schematic and the register config.

All the power supplies are turned on at the same time.

AT+QIIC=0,0x18,0x01,1,0x80

1

10000000

Software Reset

AT+QIIC=0,0x18,0x66,1,0x82

102

10000010

CLKDIV_IN uses BCLK

AT+QIIC=0,0x18,0x65,1,0x01

101

00000001

CODEC_CLKIN select the CLKDIV_OUT

AT+QIIC=0,0x18,0x11,1,0x0F

17

00001111

Route MIC2L to the Left ADC register 17

AT+QIIC=0,0x18,0x12,1,0xF0

18

11110000

Route MIC2R to the right ADC register 18

AT+QIIC=0,0x18,0x19,1,0x80

25

10000000

MICBIAS

AT+QIIC=0,0x18,0x13,1,0x7C

19

01111100

Power up Left ADC register 19

AT+QIIC=0,0x18,0x16,1,0x7C

22

01111100

Power up Right ADC register 22

AT+QIIC=0,0x18,0x0F,1,0x00

15

00000000

Unmute left PGA register 15

AT+QIIC=0,0x18,0x10,1,0x00

16

00000000

Unmute right PGA register 16

AT+QIIC=0,0x18,0x07,1,0x0A

7

00001010

48kHZ eft DAC plays left channel input and right DAC plays right channel input register 7

AT+QIIC=0,0x18,0x29,1,0x02

41

00000010

Register 41 DAC_L1 and DAC_R1 selected and RIGHT DAC follows LEFT DAC volume

AT+QIIC=0,0x18,0x2B,1,0x00

43

00000000

Register 43 DAC is not muted and 0dB gain

AT+QIIC=0,0x18,0x25,1,0xE0

37

11100000

Register 37,power up, HPLCOM configured as independent SE output

AT+QIIC=0,0x18,0x26,1,0x10

38

00010000

Register 38 HPRCOM configured an independent SE output

AT+QIIC=0,0x18,0x40,1,0x80

64

10000000

Register 64: DAC_L1 to HPLOUT, Volume Control Register at 0dB

AT+QIIC=0,0x18,0x2F,1,0x80

47

10000000

Register 47: DAC_R1 to HPROUT, Volume Control Register at 0dB

AT+QIIC=0,0x18,0x33,1,0x0D

51

00001101

Register 51, HPLOUT not muted, fully powered up

AT+QIIC=0,0x18,0x41,1,0x0D

65

00001101

Register 65, HPROUT is not muted, HPROUT is high-impedance when powered down, HPROUT is fully powered up

  • Pradeep,

    First, thank you for providing a register configuration with comments! now lets take a look and see what seems to be the problem.

    1: Why do you have the HPR/LCOMs set as independent SE outputs if you are grounding them? if you're not using them, then power down those blocks and leave the pins floating.

    2: can you show me how you are connecting the headphones?

    3: If the volume is too loud and you just need to reduce the overall volume, why not adjust HPL/ROUT volumes? (HPROUT Reg 64, HPLOUT Reg 47)
    the volume control R43/R44 should not lead to any stuttering. are you doing this on your prototype or the AIC3104EVM?
    if you are doing this on a prototype, I assume you have some kind of host processor, are you using a driver? depending on who wrote the driver, it may not be optimized, and it may do odd things like mute the dac while it changes the volume. So i would advise looking into that.

    4: you don't have a coupling capacitor on IN2L. This is necessary. Also any unused inputs should be connected to a .47uf capacitor that terminates to gnd.


    best regards,
    -Steve Wilson
  • Pradeep,

    Also, it is not possible to do capacitor free headphones in SE mode. There is a DC offset on the output. So you need to AC couple it, or provide the DC offset via the HPL/RCOM.

    best regards,
    -Steve Wilson
  • Hello Steve,

    Apologies for the delayed reply. I had a weird issue where the reply button was not working.

    The good news is, it was an issue with the clock settings. I'm now using the PLL and changed the mode form I2S to DSP with a bit offset. It works beautifully now.


    >1: Why do you have the HPR/LCOMs set as independent SE outputs if you are grounding them? if you're not using them, then power down those blocks and leave the pins floating.

    Grounding the HPRCOMs leads to heating of the codec so the next prototype will have the pins disconnected. So is it enough it I power them down? Is there no need to change the configuration as SE indepedant ouputs? The default value seems to be that the HPLCOM is a differential of HPLOUT and so on. Can I leave it at that config and simply power down HPLCOM and HPRCOM?

    Thank you for the tip about IN2L. Can I leave IN2L disconnected and route IN2R to both the left and right ADC?

    > Also any unused inputs should be connected to a .47uf capacitor that terminates to gnd.

    I'm assuming HPRCOM and HPLCOM. What about the other analog inputs and outputs?

    Thanks again for the consistent support.
  • Pradeep,

    I'm glad you were able to figure out your problem!

    >Grounding the HPRCOMs leads to heating of the codec so the next prototype will have the pins disconnected. So is it enough it I power them down? Is there no need to change the configuration as SE indepedant ouputs? The default value seems to be that the HPLCOM is a differential of HPLOUT and so on. Can I leave it at that config and simply power down HPLCOM and HPRCOM?

    The HPRCOMs should not ever be grounded, as there is a DC offset on those pins These pins can either be used to drive fully differential headphones (see figure 27 in datasheet) or in pseudo differential mode (see figure 25 in datasheet) Alternately these pins can be used as independent Single ended outputs. allowing for 4 SE HP outputs per Codec.

    I am interested to see how you are connecting your headphones, because you really will need a coupling capacitor if you intend to connect them SE to the HPL/ROUTs.

    Regarding unused outputs, if any of the following pins are unused, leave the pins floating and power down the associated output block.
    HPRCOM (power down: Reg 72)
    HPLCOM (power down: Reg 58)
    HPLOUT (power down: Reg 51)
    HPROUT (power down: Reg 65)
    RIGHT_LOM (power down: Reg 93)
    RIGHT_LOP (power down: Reg 93)
    LEFT_LOM (power down: Reg 86)
    LEFT_LOP (power down: Reg 86)

    ----------------------------------------------------------------------------------------------------------------------------------------------

    Regarding the Analog inputs, if any of these are unused, they should be AC coupled to GND using a .47uf capacitor. This will prevent any noise bleedthrough. this includes the following:

    MIC1LM/LINE1LM
    MIC1LP/LINE1LP
    MIC1RM/LINE1RM
    MIC1RP/LINE1RP
    MIC2L/LINE2L
    MIC2R/LINE2R

    ----------------------------------------------------------------------------------------------------------------------------------------------

    I've sent you a connection request. I would be happy to take a look at your schematic or layout and provide feedback any time. Sending them to me directly will keep them away from the public eye.

    Best regards,
    -Steve Wilson