TLV320AIC3254-Q1: the output sound become 2k tone when play 1k tone

Part Number: TLV320AIC3254-Q1

Tool/software:

Dear TI

We found one question about the playback.

we play the 1k tone 48k, out acoustic team  measure the output of audio codec.

The sound wave change to 2k tone.

Please help to check the register dump under playback.

Are there any wrong setting under the dump.

Thank you very much

/ # i2cset -fy 2 0x18 0x00 0x00 b
/ # i2cdump -fy 2 0x18
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 00 00 60 00 07 92 20 00 00 00 00 88 82 00 80 02    ..`.?? ....??.??
10: 00 08 88 82 80 01 00 04 00 00 01 00 00 01 84 00    .?????.?..?..??.
20: 00 00 00 00 88 cc 11 00 00 00 00 00 00 00 00 00    ....???.........
30: 00 00 00 00 08 12 02 02 04 00 00 00 01 01 00 d4    ....?????...??.?
40: 00 ef ef 00 6f 38 00 00 00 00 00 ee 10 d8 7e e3    .??.o8.....???~?
50: 00 00 88 00 00 00 00 00 7f 00 00 00 00 00 00 00    ..?.....?.......
60: 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ?...............
70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

/ # i2cset -fy 2 0x18 0x00 0x01 b
/ # i2cdump -fy 2 0x18
     0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
00: 01 00 01 00 00 00 00 00 00 0c 00 10 00 00 08 08    ?.?......?.?..??
10: 40 40 1d 1d 00 00 00 00 00 00 00 00 00 00 00 00    @@??............
20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
30: 00 00 00 00 00 00 40 00 00 40 00 80 80 00 03 30    ......@..@.??.?0
40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
70: 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00    ...........?....
80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

  • Hi Daniel,

    Please provide the clock frequencies provided to the device. How are you playing the tone to the device?

    Best regards,
    Jeff McPherson

  • Dear Jeff

    I found that does because i choose 2-channels to playback.

    If i playback with 1-channel, the 1k tone still be 1K tone.

    Do you have any idea about this condition?

    We found there another issue.

    The output voltage level of audio code is too low.

    LO Gain 0
    PCM Gain 143
    voltage 15mV

    We use QC's tool to play an 1K tone.

    do you mean the "clock frequencies" BLCK?

    MCLK : 12MHz

    BCLK : 1.536 MHz

    WCLK : 48 kHz

     

  • Hi Daniel,

    I loaded your settings into an EVM and found that the PLL was set to expect a 96kHz sample rate. However your clocks are asking for 48kHz. This extra factor of two might explain why your frequency output seemed to double from 1k to 2k.

    After changing the MDAC and MADC values to 4, I got the result below.

    I got a strong output with plenty of gain. If you're still having output issues I would double check that all your power supplies are as intended, including the LDO supply.

    Best regards,
    Jeff McPherson

  • What does this two register should be

    #define AIC32X4_LOLGAIN AIC32X4_REG(1, 18)
    #define AIC32X4_LORGAIN AIC32X4_REG(1, 19)
    I adjust this register but the volume did not become lounder
    Do you have any comment about this case?

    / # qtitinymix "LO Driver Gain Volume"
    LO Driver Gain Volume: 35 35 (dsrange 0->35)
    
    / # i2cset -fy 2 0x18 0x00 0x00 b
    / # i2cdump -fy 2 0x18
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 00 00 60 00 07 92 20 00 00 00 00 88 82 00 80 02    ..`.?? ....??.??
    10: 00 08 88 82 80 01 00 04 00 00 01 00 00 01 84 00    .?????.?..?..??.
    20: 00 00 00 00 88 cc 11 00 00 00 00 00 00 00 00 00    ....???.........
    30: 00 00 00 00 08 12 03 02 04 00 00 00 01 01 00 d4    ....?????...??.?
    40: 00 d8 d8 00 6f 38 00 00 00 00 00 ee 10 d8 7e e3    .??.o8.....???~?
    50: 00 00 88 00 00 00 00 00 7f 00 00 00 00 00 00 00    ..?.....?.......
    60: 7f 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ?...............
    70: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    
    / # i2cset -fy 2 0x18 0x00 0x01 b
    / # i2cdump -fy 2 0x18
         0  1  2  3  4  5  6  7  8  9  a  b  c  d  e  f    0123456789abcdef
    00: 01 00 01 00 00 00 00 00 00 0c 00 10 00 00 08 08    ?.?......?.?..??
    10: 40 40 1d 1d 00 00 00 00 00 00 00 00 00 00 00 00    @@??............
    20: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    30: 00 00 00 00 00 00 40 00 00 40 00 80 80 00 03 30    ......@..@.??.?0
    40: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    50: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    60: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    70: 00 00 00 00 00 00 00 00 00 00 00 05 00 00 00 00    ...........?....
    80: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    90: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    a0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    c0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    d0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    e0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................
    f0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00    ................

  • Dear Jeff

    Should i modify the "DAC Left Playback PowerTune Switch" config?

    The default was P3, however, P3 seem let "LO Driver Gain Volume" not work.

    If i change it, the "LO Driver Gain Volume" become work, sometimes.

    Do you have any comment about this?

  • Dear Jeff

    Another question, does this codec need load FW?

    Thank you 

  • Hi Daniel,

    No there is no firmware for this device. It only needs I2C configuration at start up. The memory is volatile and will not be stored on power down.

    Powertune does not need to be changed to change LO Driver Gain Volume. After loading your settings that you provided earlier I can change the LO volume on my test board. However your volume was already at maximum (0x1D). You cannot make it louder than this, only softer.

    Best regards,
    Jeff McPherson

  • Dear Jeff

    However, the LO gain not the maximum 

    I try to change the LO gain and register was changed but the sound not be change

    What kind of information do you need?

    Thank you very much

  • Hi Daniel,

    Can you detail for me all your power supplies? What is the voltage of LDO_Select Pin?

    You are still seeing 15mV output?

    Best regards,
    Jeff McPherson

  • Dear Jeff

    It is 3.3V for LDO_select, and not GND

     

    If the sound level low,, it is 15mV output.

    and we can not change the level by "LO Driver Gain Volume"

    The strange point is that

    The "LO Driver Gain Volume" become work after i config the  "DAC Left Playback PowerTune Switch" to another one

    (i mean that change it to P1 or P2 if the default P3. or change to P3 or P2 if it is P1)

    I dont know why it happen.

    Thank you very much

  • Dear Jeff

    Do you need any other information?

  • Hi Daniel,

    Power is likely fine.

    Can you try writing to the device the specific powertune mode you would like during your initialization steps? It sounds like it doesn't matter which powertune is used, just that the value is changed/written to. I loaded your settings in the EVM without issue to PTM3/4. It could be a sequencing problem in your configuration steps. I recommend setting the value very early after your software reset.

    Best regards,
    Jeff McPherson

  • Dear Jeff 

    What do you mean about "recommend setting the value very early after your"?

    We config it with audio mixer path nodes

    What does your recommend the sequence about the amixer commands?

    Thank you

  • Hi Daniel,

    I am not super familiar with the driver and amixer commands. Is there a line of code that you use to configure the powertune mode? This line should be one of the first things you do before configuring the rest of the device (setting gain values, etc.)

    Best regards,
    Jeff McPherson

  • Dear Jeff

    Do you mean that i should config the powertune mode before  rest of the device?

    i config device as following

    Do you mean that i need to config powertune mode first?

    Which mode should i use?

    Thank you very much

            <ctl name="LO DAC Playback Switch" value="1" />
            <ctl name="LOL Output Mixer L_DAC Switch" value="1" />
            <ctl name="LOR Output Mixer R_DAC Switch" value="1" />
            <ctl name="PCM Playback Volume" value="110" /> 
    

  • Hi Daniel,

    yes I mean try to config power tune mode first. You should use mode 3/4. I'm not sure if the driver supports this directly but you could do it with a direct i2c write.

    Best regards,
    Jeff McPherson