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.

Disabling AGC on the 320AIC3204

We are encountering a strange situation when we disable the AGC on this codec. After disabling (via page 0 register 94) we program the Mic PGA gain (page 1 register 60) and the ADC volume control (page 0 register 84) back to values that set the gain to 0dB. If, at the instance we disable the AGC, the input signal level is above the AGC noise threshold (page 0 register 87), then the output level from the ADC is as expected (ie with 0dB gain, output signal = input signal). However if the input signal is below the threshold when the AGC is disabled, then output level from the ADC is 30dB below what we expect. 

 

Is there other registers that need re-initializing after the AGC is disabled? Currently we need to perform a software reset of the codec to remove this mysterious 30dB of attenuation.  Another workaround is to reduce the threshold to below our noise floor (say -60db) just prior to disabling the AGC.

Regards,

Steve

  • Hello Steve,

    There is a sequence required to disable the AGC. The noise thresholds must be disabled before deisabling the AGCs.

    • p0_r87_b5-1 = 00000b (disable LAGC noise threshold)

    • p0_r95_b5-1 = 00000b (disable RAGC noise threshold)

    • p0_r86_b7 = 0b (disable LAGC)

    • p0_r94_b7 = 0b (disable RAGC)

    This sequence can be found in http://focus.ti.com/lit/an/slaa473/slaa473.pdf. However, it is not mentioned yet in the datasheet.

    This sequence is also applied in the AIC3254 CS software. If you disable AGC in the software and monitor the commands with the command-line interface, you'll see that the sequence above is used.

    Regards,

    J-

  • Thank you for your previous help on this subject. Your suggestion corrected the issue we were experiencing.

    On a similar topic, if we require to change an AGC parameter on the fly (eg attack time or noise threshold) should we disable the AGC, change the required parameter, and then re-enable the AGC? Should the noise threshold also be disabled prior to disabling the AGC in this case?

    I've read through SLAA474 which refers to the AIC3254 (which is very similar to the 3204). This application note does not disable the AGC for a parameter change. Ok the app note is more to do with keeping alignment for stereo channels, but I'm wondering if we could be causing ourselves problems by continually disabling then re-enabling the AGC.

     

    Thanks again,

    Steve

  • Hi Steve,

    It is ok to change AGC parameters on the fly. The only restriction is the one mentioned in the previous reply.

    Regards,

    J-