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.

Linux/TLV320AIC3104: Get the maximum volume for the microphone and the speaker

Part Number: TLV320AIC3104
Other Parts Discussed in Thread: TPA2012D2

Tool/software: Linux

hi,

I configured the the TLV320aici3104 for the ADC and the DAC  but  I did not succeed to get a maximum  volume for the  speaker and microphone. How can I get a max volume for them? I want to use the speaker to play o siren

audio.

Thanks :)

  • Hi Nicolae,

    can you clarify your question?    Are you not able to get the output level you require?  or are you unable to adjust the PGAs?  

    I've attached a functional block diagram with registers for you.  This document is very helpful when configuring this device.  please take a look and let me know if you have any questions about configuring the inputs/outputs.

    best regards, 

    -Steve Wilson

    7723.TLV320AIC3104_Functional_block_Diagram_With_Registers.pdf

  • hi,

    yes, I m not able to  get the output level  required. First of all, let.s speak about the speaker (DAC): I tried to modify the register 86 but I saw that the D0 bit is not only readable, is also writable. I set it on 1 but after that I saw also that on D1 I got the flag (on D1 )on 1.That means is something wrong with the gains that I set. When I changed the dB from the bits D7-D4,( register 86) it had no impact on the output level from the TLV speaker. My  question is: which registers should I set to be able to get a maximum output level for the speaker?

    For what I understood from the datasheet, PGA is for ADC (only microphone).It is not related to the DAC.I will take a look on the block diagram that you sent me.

    Thanks,

    Maria

  • Maria,

    Can you share your register configuration?

    it might also help if you described exactly what you are trying to do also. The LEFT_LOP/M output will not drive a speaker directly. do you have a block diagram? or can you describe your system?

    the simplest way to get the Left_LOP output functioning is:
    reg 37 : 0xC0 % turn on DACs
    reg 41 : 0x50 %use L3 path
    reg 86: 0x09 % unmute and power up LEFT_LOP/M.

    This assumes all of your clocks and audio formatting is configured already.

    Regarding D1 of reg 86, I am currently in the process of updating the datasheet for this device, and I've found that D1 of registers 51,58,65,72,86,93 reads:
    0: All programmed gains to HPLOUT have been applied.
    1: Not all programmed gains to HPLOUT have been applied yet.

    but it should read:

    0: Not all programmed gains to HPLOUT have been applied yet.
    1: All programmed gains to HPLOUT have been applied.

    I'm working to get final confirmation on this, and then I will make the change.

    best regards,
    -Steve Wilson
  • Hi,

    yes. The configuration is the following. I use only the left channel. after the TLV, I have an amp. TPA2012D2RTJR connected to a speaker. Between the TLV and the amp, I have a filter, and I want to get a maximum output level for the TLV without noise. This conf is ok?
    WriteToRegister(0x02, 0x00);
    WriteToRegister(0x03, 0x91);
    WriteToRegister(0x0B, 0x01);
    WriteToRegister(0x04, 0x20);
    WriteToRegister(0x05, 0x07);
    WriteToRegister(0x06, 0x80);
    WriteToRegister(0x66, 0xC2);
    WriteToRegister(0x19, 0x80);

    WriteToRegister(0x07, 0x08);

    WriteToRegister(0x1B, 0x0f);
    WriteToRegister(0x25, 0x80);
    WriteToRegister(0x28, 0x80);
    WriteToRegister(0x29, 0x40);
    WriteToRegister(0x2B, 0x00);
    WriteToRegister(0x52, 0x00);
    WriteToRegister(0x56, 0x99);

    WriteToRegister(0x08, 0xE0);
    WriteToRegister(0x09, 0x00);

    Thanks
  • Maria,

    I would advise against using 9dB gain on the output amplifier. this will definitely add a fair amount of noise.

    the TPA2012d2 has 6dB gain minimum, and if you use the 12dB setting you should be just about right.

    I suggest filtering out of band noise on your LOP/M output. when driving a class-d that OOB noise can get folded back into the audio band. causing an increase of noise.

    best regards,
    -Steve wilson