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.

TAS5822MEVM: TAS5822MEVM tuning export header file problem

Part Number: TAS5822MEVM
Other Parts Discussed in Thread: TAS5822M

I had a problem tuning the TAS5822MEVM:I controlled the I2C of my power amplifier TAS5822M for tuning through the I2C of TAS5822MEVM. I adjusted the EQ and related parameters and saved them. Then my power amplifier TAS5822M was powered off and powered on again.After listening to the speaker, I found that the sound was not as good as I heard online before. Later, I turned on and off the EQ, DRC and DBE/DDE/DEQ switches of PPC3 tool, and then turned on and off all the switches of L/R1 and L/R2 of EQ interface in turn before the sound would be normal. Why is this so, and did you debug it in this way?

  • Hi Kecheng

      Let's make clear some of the details about your problem.

    Then my power amplifier TAS5822M was powered off and powered on again.

    For this behavior, may I ask is it by your controlled to power on and off TAS5822M? I think the I2C won't able to do that, and may I ask why need this procedure? 

    And another question is, if you use the EVM to connect to your speaker directly, will the sound listened normally? 

  • First of all my machine is controlled by TAS588MEVM.

     Use TAS5822M EVM to control online playback. If the playback is abnormal after the EQ parameter is imported, I need to turn on the switch of each function once to play normally.

  • Now the problem is very strange, I control my machine through TAS5822MEVM to listen to OK online, then I save the EQ file, and finally export the header file to the software engineer in the "end system integration" tool.However, I turned off the power of TAS5822mevm and the machine again, powered it on again, and imported the EQ parameter. After turning off the switch of each function and turning on the switch again, the sound was normal. I exported the header file again for comparison, and found that there were differences between the two problems.

  • Hi Kecheng

       If you re-powered the amplifier and still want to use PPC3 to control, it's also suggested to restart the PPC3 software. There's quite a lot of initial codes need to be written when you power up the EVM, and PPC3 only program it when you start a new PPC3. 

        And if you are using EVM to control your own board, could you please make sure the device I2C address is different from EVM? Otherwise you can't make sure if the codes are correctly written into your own board. What is the I2C address of TAS5822 on your own board?

  • 1 Yes, my PPCS will turn off and back on whenever TAS5822mevm restarts after power failure, but the problem remains.

    2  The address of TAS5822 on my machine is 0X5C, which is different from the address code of TAS5822mevm.

  • Hello, I give you the EQ file BS1 5822 0X5C 08021_03.PPC3 that I debug online and the header file BS1 5822 0X5C 08021_03.h that I export online to help me confirm whether there is any problem. In addition, you can also confirm whether there is any problem after importing EQ parameters online.Bass enhancement function: whether DBE/DDE/DEQ is effectively controlled, whether DRC is effectively controlled, and whether each EQ point in Equalizer is effectively controlled, thank you!BS1 5822 0X5C 08021_03.h

  • Hi Kecheng

       I tried with your PPC3 file, and dump the codes, there's small difference from your .h file. Maybe you could try with below. And are you using the newest PPC3 and TAS5822 APP? Your dumped file seems comes from the old version.

      Can you capture your screen of writing the dumped codes? We need to make sure the codes are successfully programmed. 

    New Dump.txt
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    typedef unsigned char cfg_u8;
    typedef union {
    struct {
    cfg_u8 offset;
    cfg_u8 value;
    };
    struct {
    cfg_u8 command;
    cfg_u8 param;
    };
    } cfg_reg;
    #define CFG_META_SWITCH (255)
    #define CFG_META_DELAY (254)
    #define CFG_META_BURST (253)
    /* Example C code */
    /*
    // Externally implemented function that can write n-bytes to the device
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Thank you very much for your reply. This is my PPC3 version 

    If there is a new version how can I get it, I have tried to upgrade on the original PPC3, it doesn't seem to work.

  •    Sorry, I can't compile the code, I will give it to the software engineer to deal with, tomorrow we will test to see if it is feasible, thank you!

  • Hello, I sent the header file you gave me to the software engineer yesterday, he generated the firmware for me to upgrade my machine, but the test was still the same, the bass enhancement function and DRC did not start, why?

    I don't know if your tool also has this problem. For example, after importing the EQ parameter, I can control my machine to play music through the tool setting 0X5C, but you will find that the switch of DBE/DDE/DEQ can be turned off and on again (see the attached figure), and the bass enhancement will be effective, and then the bass will be much better.You need to play it at a medium volume to make it sound better.There is also DRC, which requires you to enter the DRC control interface and turn each switch off and on again (see the attached  figure).

    The last Equalizer is the same with this function, which requires you to enter the interface and operate the spicture.rarwitch of each EQ parameter point to return the correct sound (see the attached picture).

  • Hi Kecheng

    switch of DBE/DDE/DEQ can be turned off and on again (see the attached figure), and the bass enhancement will be effective, and then the bass will be much better.You need to play it at a medium volume to make it sound better.There is also DRC, which requires you to enter the DRC control interface and turn each switch off and on again (see the attached  figure).

    I won't doubt that. Switch off and on again, PPC3 will write the correct I2C codes into TAS5822.

    he generated the firmware for me to upgrade my machine, but the test was still the same, the bass enhancement function and DRC did not start, why?

    We may need to find out what happens during this process. You mentioned the software team's help, can you give more details about what they do? And can we make sure the I2C script is still totally the same after they made some changes? And how do you finally used these codes? Are they successfully been written?

  • switch of DBE/DDE/DEQ can be turned off and on again (see the attached figure), and the bass enhancement will be effective, and then the bass will be much better.You need to play it at a medium volume to make it sound better.There is also DRC, which requires you to enter the DRC control interface and turn each switch off and on again (see the attached  figure).

    I won't doubt that. Switch off and on again, PPC3 will write the correct I2C codes into TAS5822.

      

    Hello, thank you for your reply.Can I understand it this way, after our PPC3 tool imports my EQ file BS1 5822 0XC5 08021_03.PPC3, it must change the DBE/DDE/DEQ and DRC (DRC can only change the LOW and HIGN switches,It is useless to change the DRC main switch) The two functions can be turned off and then turned on to start the control, is that right?If this is the case, then we also understand at this moment, we exported the file BS1 5822 0X5C 08021_03.h to the software engineer, whether this switch should also be operated like this last time, close and open, because we operate in this way, the bass enhancement function is realized,However, since the LOW and hign switches of DRC were turned on and off, the program was confused and the sound was uncontrollable. Is there something wrong with the initialization file of our engineer?

     

  • This is the code written by our software engineer, please check whether it is correct, mainly DRC can not control, thank you!

    driver_tpa5828.c
    Fullscreen
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    #include <stdlib.h>
    #include <ps.h>
    #include <vmtypes.h>
    #include <bdaddr.h>
    #include <byte_utils.h>
    #include "sink_private_data.h"
    #include "sink_dut.h"
    #include "sink_malloc_debug.h"
    #include "sink_configmanager.h"
    #include <local_device.h>
    #include "sink_audio_routing.h"
    #include "sink_volume.h"
    #include "sink_a2dp.h"
    #include "sink_wired.h"
    #include "vmal.h"
    #include "sink_main_task.h"
    #include "rtime.h"
    XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

  • Hi

       Maybe you should let software team to use more simpler codes to test the I2C function first. Use the Log in I2C Monitor, and config the DRC, you'll get the codes for DRC along.

       And usually when the DRC has problem at customer side, it's because they can't make sure to write all the DRC related I2C codes together. There's maybe some Break Off in customer's system to keep interrupt, that would make DRC related codes failed to config.