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.

TLV320DAC3100: Level of Headphone output is small.

Part Number: TLV320DAC3100


Tool/software:

Hello,

0dBFs sinewave was played using the TLV320DAC3100.
Level of Headphone output is small.(about 113mV)
Digital Volume is 0dB.

Analog Attenuation is 0dB.

Headphone Driver is 6dB.

I can't find any mistakes in the register settings.

My setting of register.

PAGE 0
Address DAC3100
0 0x00 0x00
1 0x01 0x00
2 0x02 0x01
3 0x03 0x66
4 0x04 0x00 00000000 0x00 PLL_CLKIN=CODEC_CLKIN=MCLK
5 0x05 0x11 00010001 0x11 PLL POWER DOWN
6 0x06 0x01
7 0x07 0x00
8 0x08 0x00
9 0x09 0x00
10 0x0A 0x00
11 0x0B 0x81
12 0x0C 0x81
13 0x0D 0x00
14 0x0E 0x80
15 0x0F 0x80
16 0x10 0x08
17 0x11 0x00
18 0x12 0x01
19 0x13 0x01
20 0x14 0x80
21 0x15 0x80
22 0x16 0x04
23 0x17 0x00
24 0x18 0x00
25 0x19 0x00
26 0x1A 0x01
27 0x1B 0x3C 00111100 0x3c I2S,32bit,BCLK=WCLK=OUTPUT
28 0x1C 0x00
29 0x1D 0x04
30 0x1E 0x82
31 0x1F 0x00
32 0x20 0x00
33 0x21 0x00
34 0x22 0x00
35 0x23 0x00
36 0x24 0x80
37 0x25 0x88
38 0x26 0x11
39 0x27 0x00
40 0x28 0x00
41 0x29 0x00
42 0x2A 0x00
43 0x2B 0x00
44 0x2C 0x00
45 0x2D 0x00
46 0x2E 0x00
47 0x2F 0x00
48 0x30 0x00
49 0x31 0x00
50 0x32 0x00
51 0x33 0x02
52 0x34 0x32
53 0x35 0x12
54 0x36 0x03
55 0x37 0x02
56 0x38 0x02
57 0x39 0x11
58 0x3A 0x10
59 0x3B 0x00
60 0x3C 0x01
61 0x3D 0x04
62 0x3E 0x00
63 0x3F 0xD4 11010100 0xd4 LEFT DAC=RIGHT DAC=POWER UP
64 0x40 0x01 00000001 0x01 LEFT AND RIGHT CONTROL
65 0x41 0x00 00000000 0x00 DIGITAL VOLUME=0
66 0x42 0x00 00000000 0x00 DIGITAL VOLUME=0
67 0x43 0x00
68 0x44 0x6F
69 0x45 0x38
70 0x46 0x00
71 0x47 0x00
72 0x48 0x00
73 0x49 0x00
74 0x4A 0x00
75 0x4B 0xEE
76 0x4C 0x10
77 0x4D 0xD8
78 0x4E 0x7E
79 0x4F 0xE3
80 0x50 0x00
81 0x51 0x00
82 0x52 0x80
83 0x53 0x00
84 0x54 0x00
85 0x55 0x00
86 0x56 0x00
87 0x57 0x00
88 0x58 0x7F
89 0x59 0x00
90 0x5A 0x00
91 0x5B 0x00
92 0x5C 0x00
93 0x5D 0x00
94 0x5E 0x00
95 0x5F 0x00
96 0x60 0x00
97 0x61 0x00
98 0x62 0x00
99 0x63 0x00
100 0x64 0x00
101 0x65 0x00
102 0x66 0x00
103 0x67 0x00
104 0x68 0x00
105 0x69 0x00
106 0x6A 0x00
107 0x6B 0x00
108 0x6C 0x00
109 0x6D 0x00
110 0x6E 0x00
111 0x6F 0x00
112 0x70 0x00
113 0x71 0x00
114 0x72 0x00
115 0x73 0x00
116 0x74 0x00 000000000 0x00 VOLUME CONTROL
117 0x75 0x00
118 0x76 0x00
119 0x77 0x00
120 0x78 0x00
121 0x79 0x00
122 0x7A 0x00
123 0x7B 0x00
124 0x7C 0x00
125 0x7D 0x00
126 0x7E 0x00
127 0x7F 0x00
Page1
0x1f 11010100 0xd4 HPL=HPR=POWER UP,1.65V
0x23 10001000 0x44 DAC_L=DAC_R=HP DRIVER
0x24 10000000 0x44 LCH VOLUME CONTROL=0dB
0x25 10000000 0x80 RCH VOLUME CONTROL=0dB
0x28 01001111 0x36 HPL DRIVER=6dB
0x29 01001111 0x36 HPL DRIVER=6dB
  • HPL driver and HPR driver powered up at 0x1F of pag1.
    However, HPL driver and HPR driver powered down at 0x25 of pag0.

  • Hi,

    Yes, you should power up HPL and HPR with register 0x25 in page 0 as you said. I also noticed that your page 1 binary and hex values were not all matching, and this would lead to some issues if they were one or the other. I copied and pasted my notes on those registers here:

    0x23		10001000	0x44	DAC_L=DAC_R=HP DRIVER ->>> not correct hex to binary here, is it 88 or 44? i will assume 44, so dac_l is left channel mixer amp, and dac_r is right channel mixer amp. if 88, then dac_L is routed directly to hpl driver, and same for dac_r
    0x24		10000000	0x44	LCH VOLUME CONTROL=0dB ->>> same not correct, assuming 0x44, then hpl has some negative gain. if 0x80, 0dB gain, l analog volume control is routed to hpl output driver
    0x25		10000000	0x80	RCH VOLUME CONTROL=0dB ->>> matching hex and binary! rch volume control is routed to hpr output sdriver, gain is 0db
    0x28		01001111	0x36	HPL DRIVER=6dB ->>> or 9dB with binary?
    0x29		01001111	0x36	HPL DRIVER=6dB ->>> or 9dB with binary

    Let me know if you are still having issues with output level once you fix register 0x25 as well as these page 1 registers.

    Best,
    Mir

  • Hi,

    Sorry!
    This is the correct register.

    Page1
    0x1f 11010100 0xd4 HPL&HPR=POWER UP,1.65V
    0x23 01000100 0x44 DAC_L&DAC_R=MIXER
    0x24 10000000 0x80 LCH VOLUME CONTROL=0dB
    0x25 10000000 0x80 RCH VOLUME CONTROL=0dB
    0x28 00110110 0x36 HPL DRIVER=6dB,Not mute
    0x29 00110110 0x36 HPR DRIVER=6dB,Not mute
  • Hi,

    I modified the register and read 0x25 of page0.
    0x25 of page0 is 0x88.

    HPL and HPR driver read OFF.

  • Hi,

    Are you reading 0x25 after setting page 1 0x1f? I think that is how you power up the headphone outs. How are you modifying which register?

    Also, have you tried running the example script in section 6.3.10.15 of the datasheet? It may be based on the order of the different register settings, not the settings themselves that are the problem. Let me know about this.

    Best,
    Mir

  • Hi,

    I understand.

    I will try the example script.

  • Hi,

    I tried the example script.

    HP output does not change level.

  • Hi,

    I attached my schematic.
    Is this correct?

  • Hi,

    Your schematic looks alright, my main note is to keep DGND and AGND separated - I see a connection from IOVSS and DVSS to your AGND line, make sure those are separated to DGND. But, the main issue with this is potential for noise, not the headphone low power issue. Also, you may want to make sure the power up sequence is done correctly, with speaker supplies, digital supplies, then analog supplies. I think the speaker supplies would be for both SPK and HP outs, and then the IOVDD/DVDD, then AVDD. You could try to keep the HP VDD with the analog supplies as well, so powered up after digital supplies. I see that your IOVDD is 3.3V, can you make sure that it is powered separately from your analog 3.3V supplies?

    Where are you measuring the HPL and HPR output? Maybe your filter circuit or jack connection is introducing some problem? Are you able to measure a line output from the headphone pins, or a speaker output from SPL/SPR? 

    Let me know about this.

    Best,
    Mir