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.

How to avoid audio artifacts on volume changes on an TLV320AIC3254

Other Parts Discussed in Thread: TLV320AIC3254

Hi all,

I am using an TLV320AIC3254 in an audio product as the main post-processing DSP, with PurePath Studio in order to come-up with a good audio design.

In this design I am using a "Volume" component from the Components tree inside PurePath Studio.

An MCU is controlling the DSP through I2C during playtime and it is changing the values of that Volume component to implement an end-user volume adjustment feature. 

It appears that with every change of the value of the coefficient there are artifacts in the output of the DSP.

I am guessing that this is due to the fact that there isn't a slewing algorithm that can help with a smooth change of the coefficients (something like a soft-stepping) feature.

Could you please put me to the right path on how I could deal with these artifacts and how I could prevent them from happening? What are my alternatives in making the volume of the product change without audible artifacts?

thank you

Dimitris

  • Hi, Dimitris,

    Actually, we only recommend to modify the volume block value in design time. However, have you tried to change the volume block coefficient value in minimal steps? Another possible solution would be to use the volume registers of the TLV320AIC3254 such the PGA, digital volume, drivers volume, etc.

    Best regards,
    Luis Fernando Rodríguez S.

  • Hi Luis,

    thank you for the prompt reply!

    One solution could be that I implement an increase/decrease by minimal step solution using the MCU. However, I believe that might not work very well because of the overall delay of many I2C transactions between the DSP and the MCU. if I need a change of 5dB for example I will need to send 10 I2C commands to the DSP to do  the change in 0.5 dB steps.

    The PGA, digital volume etc I am not sure they would serve this purpose as those gains have a limited range. MicPGAs go from 0 to  +48 dB and -12 to +24 dB. What I would need is something that can be set from mute (-110 or so) up to 0 dB.

    I discovered a Volume ZeroX block under the "Components" in PurePath Studio. It states that this block has a ramping algorithm implemented. Do you think that that could work? Is that exactly the same as the "Volume" component with an additional ramping algorithm in it?

    thanks again for your help

    Dimitris

  • Hi, Dimitris,

    I understand. PurePath Studio should be able to change the volume in soft-stepping as you mentioned before. The Volume Zero X block seems to be a good alternative since it offerst he ramping algorithm. Could you try it, please? Let me know if this reduces or eliminate the artifacts.

    Best regards,
    Luis Fernando Rodríguez S.
  • Hi Luis, thanks again for your input.

    I tried all the "volume" components of PurePath that are stating to have the ramping algorithm but I saw no improvement.

    Might the ramping algorithms have anything to do with the adaptive mode of the AIC3254?

    cheers

    Dimitris

  • Hi, Dimitris,

    Effectively, the miniDSP_A and miniDSP_D need to be configured for adaptive mode in these cases. The adaptive mode allows to change the coefficients during running mode. Additionally, do you have an EVM? Do you have the same issue in an EVM?

    Best regards,
    Luis Fernando Rodríguez S.
  • Hi Luis,

    I am making sure that the miniDSPs are in adaptive mode by setting by setting register's 1 at page 8 D2=1 and register's 1 at page 44 D2=1. 

    I do not have an EVM, I am debugging using an I2C reader/writer to communicate with the DSP.

    I know that a lot of the artifacts I am listening are due to big internal gain of my design in the low frequencies, so even small amplitude pops/clicks get amplified. However, I would expect the ramping algorithms to take care of those. But I am not sure they are working or if they do then if they are really effective.

    Have you had any personal experience with this?

    best regards,

    Dimitris

  • Hi, Dimitris,

    In my experience, there are several pop issues that can be avoided in several ways.

    When using PurePath Studio, you must ensure that the clock settings are configured correctly. The PPS blocks need of the sampling rate to work correctly. So, if the clock settings are not configured correctly, there could be some issues with the usage of the blocks.

    Then, I suggest to take a look at section 2.2.3.1 Stereo Single Ended Configuration of application reference guide. This section provides possible configurations to reduce pop at the headphones output.

    Finally, I recommend to take a look at section 3 Internal DLDO and ALDO Power Supply Sequence. This section of the document explains how to reduce pop issues with the power supplies configuration.

    Please let me know if you have more questions or comments

    Best regards,
    Luis Fernando Rodríguez S.