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.

TAS2552: Audio problems with TAS2552

Part Number: TAS2552

Hi,

We have a custom board that uses TAS2552 codecs (attach schematic) connected to iMX6 CPU I2S outputs, using Linux system (Freescale i.mx6).

The VBAT is 5v, The IOVdd is 3.3v. Each Speaker impedance is 8 Ohm

1. We see that if we increase the volume over 9DB we have clicks or audio stops completely. It is look that the boost circuit is not working and peak speaker voltage is 5v (Vbat).

2. We saw that in the data sheet there is a sequence for limiting the current at page 20 paragraph 7.3.11, however I did not see any documentation to verify that the procedure succeeded, is there any indication in a register for that.

 

This is my dts initialization: ( for 2 codecs at 0x40 and 0x41 address)

 

 sound-tas2552 {
  compatible = "fsl,imx-audio-tas2552";
  model = "ti-tas2550";
  ssi-controller = <&ssi2>;
  audio-codec = <&codec_tas2552_left> , <&codec_tas2552_right>;
  audio-routing =
     "IN", "DAC",
     "Left Speaker", "OUT",
     "Right Speaker", "OUT";
     //"Ext. Speaker", "OUT";
  mux-int-port = <2>;
  mux-ext-port = <4>;
};


/* Serial Control of Audio Amplifiers */
codec_tas2552_right: tas2552@40 {
compatible = "ti,tas2552";
             clocks = <&clks IMX6QDL_CLK_CKO>;
reg = <0x40>;
};

codec_tas2552_left: tas2552@41 {
compatible = "ti,tas2552";
clocks = <&clks IMX6QDL_CLK_CKO>;
reg = <0x41>;
};
};

 

 

Those I my register settings while playing an audio wav file or while using speaker-test:


REG_NUM: 0 REG_NAME TAS2552_DEVICE_STATUS REG_VAL: 0                          
REG_NUM: 1 REG_NAME TAS2552_CFG_1 REG_VAL: 36                                  
REG_NUM: 2 REG_NAME TAS2552_CFG_2 REG_VAL: ee                                  
REG_NUM: 3 REG_NAME TAS2552_CFG_3 REG_VAL: 55                                  
REG_NUM: 4 REG_NAME TAS2552_DOUT REG_VAL: 0                                    
REG_NUM: 5 REG_NAME TAS2552_SER_CTRL_1 REG_VAL: 0                              
REG_NUM: 6 REG_NAME TAS2552_SER_CTRL_2 REG_VAL: 0                              
REG_NUM: 7 REG_NAME TAS2552_OUTPUT_DATA REG_VAL: ff                            
REG_NUM: 8 REG_NAME TAS2552_PLL_CTRL_1 REG_VAL: 19                              
REG_NUM: 9 REG_NAME TAS2552_PLL_CTRL_2 REG_VAL: 3                              
REG_NUM: a REG_NAME TAS2552_PLL_CTRL_3 REG_VAL: 6f                              
REG_NUM: b REG_NAME TAS2552_BTIP REG_VAL: c7                                    
REG_NUM: c REG_NAME TAS2552_BTS_CTRL REG_VAL: 4b                                
REG_NUM: d REG_NAME TAS2552_RESERVED_0D REG_VAL: c0                            
REG_NUM: e REG_NAME TAS2552_LIMIT_RATE_HYS REG_VAL: 38                          
REG_NUM: f REG_NAME TAS2552_LIMIT_RELEASE REG_VAL: 0                            
REG_NUM: 10 REG_NAME TAS2552_LIMIT_INT_COUNT REG_VAL: 0                        
REG_NUM: 11 REG_NAME TAS2552_PDM_CFG REG_VAL: 0                                
REG_NUM: 12 REG_NAME TAS2552_PGA_GAIN REG_VAL: 8                                
REG_NUM: 13 REG_NAME TAS2552_EDGE_RATE_CTRL REG_VAL: c0                        
REG_NUM: 14 REG_NAME TAS2552_BOOST_APT_CTRL REG_VAL: f                          
REG_NUM: 15 REG_NAME TAS2552_CUR_LIMIT_SEQ_REG_1 REG_VAL: 7                    
REG_NUM: 16 REG_NAME TAS2552_VER_NUM REG_VAL: 8                                
REG_NUM: 19 REG_NAME TAS2552_VBAT_DATA REG_VAL: 0                              
REG_NUM: 20 REG_NAME TAS2552_CUR_LIMIT_SEQ_REG_2 REG_VAL: 0                    

Please advise,

Thanks.

  • Hi, Tzvi,

    Our team will take a look at this e2e thread and will provide an answer as soon as possible.

    Best regards,
    Luis Fernando Rodríguez S.

  • Hi Tzvi,

    How did you obtained the specific register settings you're using? Did you used the GUI? (for limiter, PLL, etc).
    Have you tried with default values as initial test? I'd like to check if this could be related.

    I noticed class-D is muted in register 0x01, is this changed during playback?
    Have you followed the initialization sequence from data sheet?

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators

  • Hi Ivan,

    I'm working with Tzvi on this project and have following updates:

    1. We start with default code and with the GUI but the audio was cut above 9db volume level. Than we try defining the registers values according the datasheet and our hardware. same results

    2. We connect the TAS2552 Evaluation board I2S and I2C links to our processor (iMX6), run the code and the EVB working as expected in full volume. The EVB boost voltage reach about 8v. We increase the EVB Vbat to 5v (will be same as our board) and it is continue working as expected

    3. We replace the Boost inductore in  our board from 10uHn to 2.2uHn (to be same as in the EVB) but without success. The audio cut above 9db volume level and boost voltage remain 5v

    Your help will be appreciate

    Thanks

    Naftali Tourjeman

  • Adding to naftali description.

    1. We did perform the initialization sequence.

    2. we see the 9 db problem only on our card running with i.mx6 host.

    3. we also did the current limit procedure, how can we understand if we succeeded or failed, is there any indication reflected in the registers.

    Thanks,

    Tzvi.

  • Hi Tzvi, Naftali,

    If I understood correctly, you can successfully use your host processor to control TAS2552 on our EVM, but TAS2552 is not working on your system because boost is not enabling, correct?

    Just to verify, have you also tried to take I2S and I2C signals from our EVM to TAS2552 on your board? This would help make sure host (I2S and I2C) is OK.

    We would need to understand why the boost is not enabling on your board. Could you please inspect the voltages related to the boost and compare vs EVM? The voltages I'd like to check are:

    • VBAT
    • SW
    • VREG
    • VBOOST/PVDD

    Best regards,
    -Ivan Salazar
    Applications Engineer - Low Power Audio & Actuators

  • Hi Ivan,

    See partially answers to your questions below. We will complete your request/answers to your questions in Sunday.

    1. We didn't try yet to connect I2C and I2S links from your EVB to our card (we will try it in Sunday). But, as you understand we connect I2C and I2S links from our processor to your EVB and the EVB is working as expected.

    2. We set the VBUS to our card and to EVB on 5v from LAB power supply. so VBAT is 5v DC in two case

    3. We inspected the VBOOST on EVB and on our board (TP19). In EVB the voltage reach about 8v on full volume. In our board when we try to increase volume control above 9db, It is look like the voltage on VBOOST is "trying" to rise but immediately fall back to 5v (look like over-current occur). 

    4. We can't inspect the voltage on SW lines due we have not access to BGA pins or to Inductor (L3 or L4) pin on our PCB with scope prob. We try it again in Sunday.

    5. We found that the TAS2552 temperature on our board in 9db volume control is much higher than in EVB board in same volume (we can't give exact temperature value because we don't have thermometer) .

    Pay attention that the SW code setting the TAS2552 registers in two case (EVB or our board) is same code. 

    Regards

    Naftali

  • Hi All,

    The issue is solved. The EMC output filter capacitors C111, C112, C113, C114 are disassembly and the speakers power output is as expected and we have full volume control. The Boost voltage reach about 8.6v in full volume as expected.

    The issue can be closed.

    Thanks

    Naftali