• Resolved

TAS5756M: some questions about Hybridflow coefficients

Prodigy 190 points

Replies: 12

Views: 462

Part Number: TAS5756M

Hi,

I'm working on a Linux driver for TAS5756M device. And not everything is clear about it and I'm looking for some explanations especially around PBE configuration. The idea is to be able to configure all settings available from PPC2. I read TAS5756/TAS5754 datasheets + hybridflow document and I made a lot of tests from PPC2 to get some values and registers addresses for each settings.

But some area still no clear for me. Due to the lack of complete registers map for hybridflow.

So, for PBE configuration, I can see that when I set HPF value, it changes 25 coefficients at once. All of them look like biquads settings. At least one is expected to configure the high pass filter related to this feature.

But, "effect intensity" changes also the 5th to 10th coefficients from previous 25 coefficients list. So HPF and Effect intensity are changing (partially) same registers. It is strange.

Then I reversed coef of those 5 biquads to understand which kind of filters are set by this property. The result seems incorrect. 5 EQ filters around 1000 Hz, it is very high for a "high pass filter" around 50-300 Hz (value for HPF on PPC2). So I don't understand the meaning of those registers or of those filters. I'm not able to recompute myself these settings which is annoying. Maybe I misunderstood the purpose of these registers.

Can you provide to me some highlights to be able to finish this driver? Do you have somewhere a complete registers map for this device? It can simplify a lot...

I don't have also (for DBE block) the complete logic behind upper and lower mixing threshold. Apparently change high or low values are affecting two coefficients at the same time for both. So if you have some explanations about the logic there, I'm interested in.

To finish, I have two TAS5756M in stereo 2.1 setup. One is executing HF4 for mono application in low frequencies (for bass) and another one is executing HF6  for stereo in high / middle frequencies. Stereo device is routed in BTL mode and the mono device in PBTL mode. Do we have to do in software specifically to support correctly BTL / PBTL modes? Because, if I apply HF3 for both devices, the sound is by default in a (very) higher level than using HF4/HF6 setup. Of course, registers 0x3D and 0x3E are identical in both cases. I have to increase the gain to 24 dB to get same volume output than HF3 with 0 dB gain. So Maybe I missed something in the config to have the expected behavior.

Thank you in advance.

  • Let me see if we have a register map to help you tomorrow morning and get back to you.

    Andy

  • In reply to Andy Liu SH:

    Yes, can be useful. Thank you. :)

    Another thing, I'm able to reproduce averaging window and harmonic intensity settings. But it is really weird, I got all values and I applied a polynomial regression (order 5 or more) to be able to reproduce your mapping between values from GUI and registers values.

    Maybe you have an explanation to simplify a bit this generation and be more "logic"?

  • In reply to user4201415:

    TAS5756M was released quite a few years ago. At that time, PPC2 (PurePath Console 2) was the software platform. In 2015, PPC3 (PurePath Console 3) became the official software platform. All the development of PPC2 has already stopped.

    Unfortunately, we don't have access to the source code of PPC2 and I am not able to find the detailed register map.  

    I would suggest you take a look at TAS5782M, which is pin to pin compatible with TAS5756M.  In addition, TAS5782M uses PPC3 and we still have a big software team to maintain its source code. Also, you can find very detailed register maps in a TAS5782M app note. 

  • In reply to Andy Liu SH:

    Hi,

    Firstly, thank you for your answer. But, it is very weird, I mean, TAS5756M still produced by TI and must be maintained or supported. It is not really serious to not be able to get this kind of information because there are essential. I know, it is not your fault, but I don't understand how it is possible.

    Secondly, for obvious reason we can not switch to this new device. I read the documentation about it because it has probably some similar blocks or logic. And maybe I got some clues. I'm interested if you can check if I'm wrong or not (or to get the information related to TAS5782M / PPC3).

    Apparently PBE block is now something named "smart bass". Morphing and harmonic parts look like PBE on TAS5756M with several biquads and fine tune around them. But 4-5 high passes are expected, that is not the case on TAS5756M according to my tests. Very curious. Maybe someone can explain to you if the design is similar between those devices for this feature?

    For mixing threshold behavior, on TAS5782M there are 3 registers: gain, offset and averaging window. It looks like DBE block on TAS5756M. I understand the logic but on TAS5756M the registers are not linear (for these 3 registers). Increment by one the value on the GUI does not have the same increment if the value was X or Y. I made some charts about them and I need a polynomial (5th degree or more) to get (approximately) the same output. That's the same on TAS5782M? If yes, why it is not linear and how can I compute the register values like the GUI does?

    So hopefully TAS5782M can provide more information by default but it still not enough to be able to reproduce all features. PPC is nice to test settings (or having a default one)  but a lot of users are interested in having full control at runtime to fine tune parameters.

    BTW, what is the meaning of "format" in registers mapping of processing flow (4th column)?

    Thank you in advance and have a nice day.

  • In reply to user4201415:

    I have been quite busy today. Let me first share my comments below.

    First of all, the major purpose of PPC2 or PPC3 is to have our customers focus on evaluation and tuning. As far as I can tell, what most customers do is to generate headers in the PPC2, after their tuning is done.

    Second, in the past years, we have seen that a very few customers want to change some coefficients on the fly in their firmware or software (e.g. volume or equalizer coefficients). We do have some good example C code and register maps to meet their needs.

    Third, as you can image, quite a few digital blocks in PPC2 or PPC3 are TI's intellectual properties, like the SmartBass or SmartEQ in the PPC3. We will not disclose all the details on these blocks.

    I will comment more next week.


    Andy

  • In reply to Andy Liu SH:

    Did you get some additional info?

    Thank you in advance.

  • In reply to user4201415:

    The entire bass enhancement algorithm is a TI's intellectual property.  All the information we can share with customers is already included in the following app note

    http://www.ti.com/lit/ug/slau577a/slau577a.pdf.

    I think I might be to give you a register map for PBE. However,  as an application engineer, I am not able to tell you how to calculate all the coefficients based on 3 parameters in the PBE tuning window.

    Andy  

      

     

  • In reply to Andy Liu SH:

    Ok, if you can share this registers map (for DBE too?) can be interesting.

    Thank you and have a nice day.

  • In reply to user4201415:

    I'm doing some testing by myself today. I will try to give you the register map for PBE first tomorrow. Thanks for your patience. 

  • In reply to Andy Liu SH:

    Here is what I have figured out by myself.