TLV320DAC3100-Q1: The TLV320DAC3100 has input on DIN, but there is no output on HPL and HPR.

Part Number: TLV320DAC3100-Q1
Other Parts Discussed in Thread: TLV320DAC3100, TLV320AIC3109-Q1,

Tool/software:

Hi TI,

      I had an issue where the TLV320DAC3100 DIN (digital input pin) has input but there is no output on HPL and HPR。

The information is as follows:

(1) clock

WCLK frequency: 48kHZ  (TLV320DAC3100 output to other device)

BCLK frequency: 3.072MHz  (TLV320DAC3100  output to other device)

MCLK frequency : 12.288MHz (other device input to TLV320DAC3100 )

(2) Programming as  follow TLV320DAC3100 datasheet  5.5.14 and 5.5.15 

1. Define starting point
w 3 0x18 0x00 0x00    #set register page to 0
w 3 0x18 0x01 0x01    #Initiate SW set(PLL is powered off as part of reset)

2. Program clock settings
w 3 0x18 0x04 0x03    #Program PLL clock dividers P,J,D,R(if pll is used)
w 3 0x18 0x06 0x08
w 3 0x18 0x07 0x00
w 3 0x18 0x08 0x00
w 3 0x18 0x05 0x91    #Power up PLL(if PLL is used),PLL power up, P=1,R=1
w 3 0x18 0x0B 0x88    #Program and power up NDAC, set to 8
w 3 0x18 0x0C 0x82    #Program and power up MDAC, set to 2
w 3 0x18 0x0D 0x00    #Program OSR value,DOSR=128,DOSR(9:8)=0,DOSR(7:0)=128
w 3 0x18 0x0E 0x80
w 3 0x18 0x1A 0x81
w 3 0x18 0x1E 0x84        #MCLK:12.288MHz, BCLK:MCLK/4=3.072MHz
w 3 0x18 0x25 0x92

w 3 0x18 0x1B 0x3C       #Program I2S word length if required and master mode(BCLK and WCLK are outputs)

w 3 0x18 0x3C 0x0B       #Program the processing block to be used,select Processing Block PRB_P11
w 3 0x18 0x00 0x08
w 3 0x18 0x01 0x04
w 3 0x18 0x00 0x00
w 3 0x18 0x74 0x00       #Miscellaneous page controls,DAC=>volume control thru pin disable

3. Program analog blocks
w 3 0x18 0x00 0x01      #Set register page to 1
w 3 0x18 0x1F 0x04      #Program common-mode voltage(defalut=1.35v)
w 3 0x18 0x21 0x4E      #Program headphone-specific depoo settings(in case headphone is used)
w 3 0x18 0x23 0x88       #Program routing of DAC output to the output amplifier(headphone/lineout or speaker)
w 3 0x18 0x28 0x06       #Unmute and set gain of output driver,Unmute HPL,set gain=0dB
w 3 0x18 0x29 0x06       #Unmute HPR,set gain=0dB
w 3 0x18 0x2A 0x1C      #Unmute Class-D,set gain=18dB
w 3 0x18 0x1F 0xC2      #HPL and HPR powered up
w 3 0x18 0x20 0x86       #Power-up Class-D driver
w 3 0x18 0x24 0x92       #Enable HPL output analog volume,set=-9dB
w 3 0x18 0x25 0x92       #Enable HPR output analog volume,set=-9dB
w 3 0x18 0x26 0x92       #Enable Class-D output anlog volume,set=-9dB

4. Power up DAC
w 3 0x18 0x00 0x00      #Set register page to 0
w 3 0x18 0x3F 0xD4      #Powerup DAC left and right channels(soft step enabled)
w 3 0x18 0x41 0xD4      #DAC Left gain=-22dB
w 3 0x18 0x42 0xD4      #DAC Right gain=-22dB
w 3 0x18 0x40 0x00       #Unmute DAC left and right channels

(3)TLV320DAC3100  Schematic

Regards,

Kevin

  • Hi Kevin,

    Can you try to increase the gain at the DAC and HPL output? You could change your registers 0x41 and 0x42 to be set to 0x00, with no digital volume control at the DAC, and also set registers 0x24 and 0x25 to 0x00 with 0dB of gain for the HP outputs. Let me know if this helps.

    Best,
    Mir

  • Hi Mir,

    1.  Waveform before setting 0x41 and 0x42 to be set to 0x00 and registers 0x24 and 0x25 to 0x00 for HPL

    2.  Waveform after setting 0x41 and 0x42 to be set to 0x00 and registers 0x24 and 0x25 to 0x00 for HPL

    Best Regards

    Kevin

  • Hi Kevin,

    What does your input signal look like? Are your BCLK and WCLK running while the input is going? Could you attach a scope shot of the three signals (DIN, BCLK, and WCLK)?

    Best,
    Mir

  • Hi Mir,

    1.  HPL(Green), DIN(yellow), as follows Waveform:

    2. BCLK(Green), WCLK(yellow), as follows Waveform:

    3.  Are your BCLK and WCLK running while the input is going? --------- Yes, BCLK and WCLK running while the input is going.

    Best Regards

    Kevin

  • Hi Kevin,

    It is hard to tell in your first picture, but can you make sure that the input DIN is between 0V and 1.8V? This is your IOVDD, and all the ASI signals should be between 0 and 1.8V. Maybe the peaks are too sharp and the voltage is too high and it is not registering.

    Best,
    Mir

  • Hi Mir,

        Yes, I'm sure that input DIN is between 0v and 1.8v, the peaks are too sharp because the oscilloscope is not properly GND.

    as follow, Bclk=3.072MHz, Wclk=48KHz ,  DIN (digital input pin) has input but there is no output on HPL and HPR.

    Best Regards

    Kevin

  • Hi Kevin,

    Can you attach a larger version of your schematic? How is your headphones connected? Have you been able to hear signal out before on this device, or have you tested the digital audio in to a different DAC before? 

    Also, what signal are you sending into the DAC? Can you try a 1kHz sine wave?

    Best,
    Mir

  • Hi  Mir,

    1. Block Diagram:

              headphone <-----> host<--------->Codec(TLV320AIC3109-Q1 )<------------>DAC(TLV320DAC3100-Q1)<-------->A2B(ad2428)<--------->mic module

    2.Now the TLV320DAC3100-Q1  DIN have waveform input ,  HPL and HPR have waveforms output, but the host headphone still has no sound。What could be the reason?

    Best Regards

    Kevin

  • Hi Kevin,

    So, you're connecting the output of the DAC3100 to the input of the TLV320AIC3109? I am going to assume that you are using the MIC1P and MIC2P inputs as single ended inputs from your HPL and HPR outs from the DAC3100. Then, we can route these as single ended outputs from HPOUT and HPCOM in the AIC3109. Here is a script that should do that:

    # ENABLE HEADPHONE OUTPUT ON AIC3109
    w 30 07 8C # fsref=44.1k, dac plays left channel (dac data path is MONO)
    w 30 66 A0 #BCLK as input to clk dividers/pll
    w 30 28 80 #common mode is 1.65V
    w 30 2B 00 #dac not muted, set to 0db gain
    w 30 0E 00 #high power outputs are capacitor-free (not ac coupled)
    w 30 25 00 #micbias powered off
    w 30 26 10 #hpcom is independent single ended output - THIS MAY CHANGE DEPENDING ON TYPE OF HEADPHONE
    w 30 41 0D #HPOUT not muted, high impedance when powered down, power it on
    w 30 48 0D #HPCOM not muted, high impedance when powered down, power it on
    
    # CONNECT INPUT AT MIC1P/1M TO PGA, ROUTE PGA TO HPOUT/HPCOM
    w 30 13 04 #MIC1P/LINE1P is single ended, ADC channel is powered up and connects to ADC PGA mix at 0dB
    w 30 15 00 #MIC2P/LINE2P is single ended, 0dB of gain (use for right channel of headphones)
    w 30 0F 00 #unmute the PGA and set to 0dB
    w 30 3C 80 #PGA routed to HPOUT 
    w 30 46 80 #PGA_AUX routed to HPCOM 
    
    
    #w 30 44 80 #DAC_1 is routed to HPCOM (UNCOMMENT FOR DAC DIGITAL INPUT TO HP)
    #w 30 3D 80 #DAC_1 is routed to HPOUT 
    
    #w 30 3F 80 #PGA_AUX routed to HPOUT (UNCOMMENT FOR MONO RIGHT INPUT TO HP)
    #w 30 43 80 #PGA routed to HPCOM (UNCOMMENT FOR MONO LEFT INPUT TO HP)
    
    
    

    Let me know if you are doing something different, or if this doesn't work as expected.

    Best,
    Mir

  • Hi Mir,

          Yes, We are connecting the output of the DAC3100 to the input of the TLV320AIC3109.

          Wow! My device already has sound output,Thank you very much for your help!But the sound is not full enough, I need to modify it a little。Any suggestions with DAC3100 and AIC3109?

    Best Regards

    Kevin

  • Hi Kevin, 

    To increase the volume, you could increase the PGA gain on the 3109, you can do this with register 0x0f. You can edit the line already in the script I provided and set the value according to this chart from the datasheet:

    You could also increase the volume on the HP outs, but you should try this gain setting with the PGA first. 

    What script are you using with the DAC3100? You would also be able to increase the volume coming from the DAC, but I want to see how you are routing the audio.

    Best,
    Mir

  • Hi Mir,

             Ok, I will try your suggestion on AIC3109,    DAC3100 script as follows:

    1. Define starting point
    w 0x18 0x00 0x00
    w 0x18 0x01 0x01

    2. Program clock settings
    w 0x18 0x04 0x00
    w 0x18 0x06 0x08
    w 0x18 0x07 0x00
    w 0x18 0x08 0x00
    w 0x18 0x05 0x11
    w 0x18 0x0B 0x81
    w 0x18 0x0C 0x82
    w 0x18 0x0D 0x00
    w 0x18 0x0E 0x80
    w 0x18 0x1A 0x81
    w 0x18 0x1E 0x88
    w 0x18 0x1B 0x0C
    w 0x18 0x3C 0x0B
    w 0x18 0x00 0x08
    w 0x18 0x01 0x04
    w 0x18 0x00 0x00

    3. Program analog blocks
    w 0x18 0x00 0x01
    w 0x18 0x1F 0x04
    w 0x18 0x21 0x4E
    w 0x18 0x23 0x45
    w 0x18 0x28 0x4F
    w 0x18 0x29 0x4F
    w 0x18 0x1F 0xC6
    w 0x18 0x20 0x86
    w 0x18 0x24 0x80
    w 0x18 0x25 0x80

    4. Power up DAC
    w 0x18 0x00 0x00
    w 0x18 0x3F 0xFC
    w 0x18 0x41 0x30
    w 0x18 0x42 0x30
    w 0x18 0x40 0x00

     

    Best Register

    Kevin

  • Hi Kevin,

    Yes, it looks like you maxed out the volume controls available for the output settings you chose with the DAC3100. In case you or anyone is interested, here is the line-by-line annotation of your volume settings:

    3. Program analog blocks
    w 0x18 0x00 0x01 #page 1
    w 0x18 0x1F 0x04 #hp outs powered down, common mode=1.35V 
    w 0x18 0x21 0x4E 
    w 0x18 0x23 0x45 #DAC_L to left channel mixer, DAC_R to right channel mixer. HPL to HPR (differential output HP)
    w 0x18 0x28 0x4F #HPL PGA=+9dB (max)
    w 0x18 0x29 0x4F #HPR PGA=+9dB (max)
    w 0x18 0x1F 0xC6 #hpl+r powered up, CM=1.35V
    w 0x18 0x20 0x86 #class d powered up
    w 0x18 0x24 0x80 #left channel volume control routed to hpl, volume=0dB
    w 0x18 0x25 0x80 #same for right
    
    4. Power up DAC
    w 0x18 0x00 0x00 #page 0
    w 0x18 0x3F 0xFC #dac l and r powered up, left channel dac=(L+R)/2, right channel dac=(L+R)/2
    w 0x18 0x41 0x30 #left channel dac=24dB digital volume (max)
    w 0x18 0x42 0x30 #same for right
    w 0x18 0x40 0x00 #unmute left and right DAC.

    To increase volume on HP outs for the AIC3109 (do this after you set the PGA to the highest possible without clipping the input), you can change page 0 register 65 (0x41) to set output level of HPOUT 0 to +9dB, and register 72 (0x48) to set output level of HPCOM 0 to +9dB.

    If you are still having volume issues after that, you will need to make sure that your original DAC digital input is loud enough, and if you have headphones or a speaker on the output from the codec, you could add in an external amplifier.

    Best,
    Mir

  • Hi Mir,

          Sorry to reply too later,  Following your suggestion and change AIC3109 and DAC3100  word length 16 bits to 32bits. That's OK.    Thank you very much!  

    Best Regards

    Kevin