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.

TLV320AIC3206: MICPGA-ADC hung after Audio Input Device attached.

Part Number: TLV320AIC3206

Dear Sir/Mdm,

I'm working on this system with capacitive coupled inputs to IN1R and IN1L.  0.1uF caps are used.  These ic inputs are then routed to MICPGA.

When I attach the external audio input device before powering up my system(includes AIC3206),  the audio path works fine.
However if I power up my system and then connect the external audio input device,  the audio path does not go thru and I heard a 'rushing'(wideband?) noise in the path.
The audio path does not recover on its own.
The following are my findings thus far:

1.  Setting Page 0 Register 0x51 to 0x00 and then to 0xC0 will recover the audio path.  My objective is to power on-off the ADC.

2.  With my system powered up,  setting Page 1 Register 0x39 to 0x00 and 0x37 to 0x00 to disconnect ic inputs from the MICPGA inputs.  Connect the external audio device followed by setting Register 0x39 to 0x10 and 0x37 to 0x40 respective to connect the ic inputs to MICPGA will also be ok,  the audio path will be ok.  My objective was to further confirm that issue was highly connected to these input pins.

3.  While checking Page 0 Register 42 0x2A ADC Saturation Sticky Flag,  before and after connecting the external audio device,  I find that flag shows that ADC Overflow after the external audio connector is applied.

4.  the external audio device is a microphone,  when the symptom arise,  if blow hard into the microphone(loud noise into microphone),  the audio path will also recover.

While I have been successful in resolving this issue by reducing the ground difference between External Audio Device and the AIC3206,  I would like to understand more from the CODEC IC perspective.

Q.  Is it possible ADC Overflow will result in the symptom described?   If yes,  is it possible that CODEC IC settings can either provide increased immunity against such input levels OR even mask the effect of the ADC Overflow Status?

Thanks n rgds,  setoh.

  • Setoh,

    This is certainly possible. have you considered using the AGC to help control the Gain?

    I will check in with the Design team on and see if an extended overflow condition would cause the ADC to cut out.

    best regards,
    -Steve Wilson
  • Hi Steve,
    thanks for the reply.
    we currently have AGC disabled.
    I had tried setting the respective MICPGA Gain at Page 1 Register 0x3C to 0x00 for 0 dB i.e. min gain. However the symptom can still be reproduced. I'm thinking if this is the case, AGC maybe can only play a role in optimization.
    Hope to get a confirmation whether there is any way for the chip to automatically recover from this situation or that we need external CPU to detect and reset.
    thanks n rgds.
  • Setoh,

    I have requested the input of the design team but they have requested some information from you.

    1. What is the device configuration (full register configuration for page 0, page 1)

    2. Are you using the EVM? if not, what are your supply voltages for each supply.

    3. What is the amplitude of the input signal? is there a threshold where it triggers this even? (It would be helpful to measure this on the Input pins of the codec, we would be interested in the peak Voltage level, a screenshot could be helpful too)


    best regards,
    -Steve Wilson
  • Hi Steve,

    sorry for the delay.

    1.  hv  provided the log for Page 0 and Page 1 below.

    2.  I'm not using EVM.  Supply voltages are below:

    IOVDD:  1.5V

    AVDD and DVDD:  1.8V

    DRVDD_HP:  3.0V

    VDVV_CP:  1.8V (but we are not enabling the CP).

    3.  I'm not able to provide the signal at the pin.  Is it possible to share from chip perspective what are the levels and durations that will result in ADCSaturation flag set.

    Thanks.

    i2c dev 1
    Setting bus to 1
    bus set to VICS2_I2C_BUS_CODEC1

    #Page 0 follows
    U-Boot> i2c mw 0x18 0x0.1 0
    U-Boot> i2c md 0x18 0.1 1
    0000: 00    .
    U-Boot> i2c md 0x18 1.1 1
    0001: 00    .
    U-Boot> i2c md 0x18 2.1 1
    0002: 20    
    U-Boot> i2c md 0x18 3.1 1
    0003: 00    .
    U-Boot> i2c md 0x18 4.1 1
    0004: 00    .
    U-Boot> i2c md 0x18 5.1 1
    0005: 11    .
    U-Boot> i2c md 0x18 6.1 1
    0006: 04    .
    U-Boot> i2c md 0x18 7.1 1
    0007: 00    .
    U-Boot> i2c md 0x18 8.1 1
    0008: 00    .
    U-Boot> i2c md 0x18 9.1 1
    0009: 00    .
    U-Boot> i2c md 0x18 10.1 1
    0010: 00    .
    U-Boot> i2c md 0x18 11.1 1
    0011: 08    .
    U-Boot> i2c md 0x18 12.1 1
    0012: 83    .
    U-Boot> i2c md 0x18 13.1 1
    0013: 82    .
    U-Boot> i2c md 0x18 14.1 1
    0014: 80    .
    U-Boot> i2c md 0x18 15.1 1
    0015: 01    .
    U-Boot> i2c md 0x18 16.1 1
    0016: 00    .
    U-Boot> i2c md 0x18 17.1 1
    0017: 04    .
    U-Boot> i2c md 0x18 18.1 1
    0018: 00    .
    U-Boot> i2c md 0x18 19.1 1
    0019: 00    .
    U-Boot> i2c md 0x18 20.1 1
    0020: 00    .
    U-Boot> i2c md 0x18 21.1 1
    0021: 00    .
    U-Boot> i2c md 0x18 22.1 1
    0022: 00    .
    U-Boot> i2c md 0x18 23.1 1
    0023: 00    .
    U-Boot> i2c md 0x18 24.1 1
    0024: cc    .
    U-Boot> i2c md 0x18 25.1 1
    0025: cc    .
    U-Boot> i2c md 0x18 26.1 1
    0026: 11    .
    U-Boot> i2c md 0x18 27.1 1
    0027: 00    .
    U-Boot> i2c md 0x18 28.1 1
    0028: 00    .
    U-Boot> i2c md 0x18 29.1 1
    0029: 00    .
    U-Boot> i2c md 0x18 30.1 1
    0030: 00    .
    U-Boot> i2c md 0x18 31.1 1
    0031: 00    .
    U-Boot> i2c md 0x18 32.1 1
    0032: 00    .
    U-Boot> i2c md 0x18 33.1 1
    0033: 00    .
    U-Boot> i2c md 0x18 34.1 1
    0034: 00    .
    U-Boot> i2c md 0x18 35.1 1
    0035: 12    .
    U-Boot> i2c md 0x18 36.1 1
    0036: 02    .
    U-Boot> i2c md 0x18 37.1 1
    0037: 02    .
    U-Boot> i2c md 0x18 38.1 1
    0038: 02    .
    U-Boot> i2c md 0x18 39.1 1
    0039: 00    .
    U-Boot> i2c md 0x18 40.1 1
    0040: 00    .
    U-Boot> i2c md 0x18 41.1 1
    0041: 00    .
    U-Boot> i2c md 0x18 42.1 1
    0042: 00    .
    U-Boot> i2c md 0x18 43.1 1
    0043: 00    .
    U-Boot> i2c md 0x18 44.1 1
    0044: 6f    o
    U-Boot> i2c md 0x18 45.1 1
    0045: 38    8
    U-Boot> i2c md 0x18 46.1 1
    0046: 00    .
    U-Boot> i2c md 0x18 47.1 1
    0047: 00    .
    U-Boot> i2c md 0x18 48.1 1
    0048: 00    .
    U-Boot> i2c md 0x18 49.1 1
    0049: 00    .
    U-Boot> i2c md 0x18 50.1 1
    0050: 00    .
    U-Boot> i2c md 0x18 51.1 1
    0051: c0    .
    U-Boot> i2c md 0x18 52.1 1
    0052: 00    .
    U-Boot> i2c md 0x18 53.1 1
    0053: 68    h
    U-Boot> i2c md 0x18 54.1 1
    0054: 19    .
    U-Boot> i2c md 0x18 55.1 1
    0055: 00    .
    U-Boot> i2c md 0x18 56.1 1
    0056: 00    .
    U-Boot> i2c md 0x18 57.1 1
    0057: 00    .
    U-Boot> i2c md 0x18 58.1 1
    0058: 7f    .
    U-Boot> i2c md 0x18 59.1 1
    0059: 00    .
    U-Boot> i2c md 0x18 60.1 1
    0060: 7f    .
    U-Boot> i2c md 0x18 61.1 1
    0061: 00    .
    U-Boot> i2c md 0x18 62.1 1
    0062: 00    .
    U-Boot> i2c md 0x18 63.1 1
    0063: 00    .
    U-Boot> i2c md 0x18 64.1 1
    0064: 00    .
    U-Boot> i2c md 0x18 65.1 1
    0065: 00    .
    U-Boot> i2c md 0x18 66.1 1
    0066: 00    .
    U-Boot> i2c md 0x18 67.1 1
    0067: 00    .
    U-Boot> i2c md 0x18 68.1 1
    0068: 00    .
    U-Boot> i2c md 0x18 69.1 1
    0069: 00    .
    U-Boot> i2c md 0x18 70.1 1
    0070: 00    .
    U-Boot> i2c md 0x18 71.1 1
    0071: 00    .
    U-Boot> i2c md 0x18 72.1 1
    0072: 00    .
    U-Boot> i2c md 0x18 73.1 1
    0073: 00    .
    U-Boot> i2c md 0x18 74.1 1
    0074: 00    .
    U-Boot> i2c md 0x18 75.1 1
    0075: 00    .
    U-Boot> i2c md 0x18 76.1 1
    0076: 00    .
    U-Boot> i2c md 0x18 77.1 1
    0077: 00    .
    U-Boot> i2c md 0x18 78.1 1
    0078: 00    .
    U-Boot> i2c md 0x18 79.1 1
    0079: 00    .
    U-Boot> i2c md 0x18 80.1 1
    0080: 00    .
    U-Boot> i2c md 0x18 81.1 1
    0081: 00    .
    U-Boot> i2c md 0x18 82.1 1
    0082: 00    .
    U-Boot> i2c md 0x18 83.1 1
    0083: 00    .
    U-Boot> i2c md 0x18 84.1 1
    0084: 00    .
    U-Boot> i2c md 0x18 85.1 1
    0085: 00    .
    U-Boot> i2c md 0x18 86.1 1
    0086: 00    .
    U-Boot> i2c md 0x18 87.1 1
    0087: 00    .
    U-Boot> i2c md 0x18 88.1 1
    0088: 00    .
    U-Boot> i2c md 0x18 89.1 1
    0089: 00    .
    U-Boot> i2c md 0x18 90.1 1
    0090: 00    .
    U-Boot> i2c md 0x18 91.1 1
    0091: 00    .
    U-Boot> i2c md 0x18 92.1 1
    0092: 00    .
    U-Boot> i2c md 0x18 93.1 1
    0093: 00    .
    U-Boot> i2c md 0x18 94.1 1
    0094: 00    .
    U-Boot> i2c md 0x18 95.1 1
    0095: 00    .
    U-Boot> i2c md 0x18 96.1 1
    0096: 00    .
    U-Boot> i2c md 0x18 97.1 1
    0097: 00    .
    U-Boot> i2c md 0x18 98.1 1
    0098: 00    .
    U-Boot> i2c md 0x18 99.1 1
    0099: 00    .
    U-Boot> i2c md 0x18 100.1 1
    0100: 00    .
    U-Boot> i2c md 0x18 101.1 1
    0101: 00    .
    U-Boot> i2c md 0x18 102.1 1
    0102: 20    
    U-Boot> i2c md 0x18 103.1 1
    0103: 00    .
    U-Boot> i2c md 0x18 104.1 1
    0104: 00    .
    U-Boot> i2c md 0x18 105.1 1
    0105: 11    .
    U-Boot> i2c md 0x18 106.1 1
    0106: 04    .
    U-Boot> i2c md 0x18 107.1 1
    0107: 00    .
    U-Boot> i2c md 0x18 108.1 1
    0108: 00    .
    U-Boot> i2c md 0x18 109.1 1
    0109: 00    .
    #Page 1 follows
    U-Boot> i2c mw 0x18 0x0.1 1
    U-Boot> i2c md 0x18 0.1 1
    0000: 01    .
    U-Boot> i2c md 0x18 1.1 1
    0001: 08    .
    U-Boot> i2c md 0x18 2.1 1
    0002: 00    .
    U-Boot> i2c md 0x18 3.1 1
    0003: 00    .
    U-Boot> i2c md 0x18 4.1 1
    0004: 00    .
    U-Boot> i2c md 0x18 5.1 1
    0005: 00    .
    U-Boot> i2c md 0x18 6.1 1
    0006: 00    .
    U-Boot> i2c md 0x18 7.1 1
    0007: 00    .
    U-Boot> i2c md 0x18 8.1 1
    0008: 00    .
    U-Boot> i2c md 0x18 9.1 1
    0009: 0c    .
    U-Boot> i2c md 0x18 10.1 1
    0010: 03    .
    U-Boot> i2c md 0x18 11.1 1
    0011: 03    .
    U-Boot> i2c md 0x18 12.1 1
    0012: 08    .
    U-Boot> i2c md 0x18 13.1 1
    0013: 08    .
    U-Boot> i2c md 0x18 14.1 1
    0014: 00    .
    U-Boot> i2c md 0x18 15.1 1
    0015: 00    .
    U-Boot> i2c md 0x18 16.1 1
    0016: 00    .
    U-Boot> i2c md 0x18 17.1 1
    0017: 00    .
    U-Boot> i2c md 0x18 18.1 1
    0018: 00    .
    U-Boot> i2c md 0x18 19.1 1
    0019: 0f    .
    U-Boot> i2c md 0x18 20.1 1
    0020: 00    .
    U-Boot> i2c md 0x18 21.1 1
    0021: 00    .
    U-Boot> i2c md 0x18 22.1 1
    0022: 00    .
    U-Boot> i2c md 0x18 23.1 1
    0023: 00    .
    U-Boot> i2c md 0x18 24.1 1
    0024: 00    .
    U-Boot> i2c md 0x18 25.1 1
    0025: 00    .
    U-Boot> i2c md 0x18 26.1 1
    0026: 00    .
    U-Boot> i2c md 0x18 27.1 1
    0027: 00    .
    U-Boot> i2c md 0x18 28.1 1
    0028: 00    .
    U-Boot> i2c md 0x18 29.1 1
    0029: 00    .
    U-Boot> i2c md 0x18 30.1 1
    0030: 00    .
    U-Boot> i2c md 0x18 31.1 1
    0031: 00    .
    U-Boot> i2c md 0x18 32.1 1
    0032: 00    .
    U-Boot> i2c md 0x18 33.1 1
    0033: 00    .
    U-Boot> i2c md 0x18 34.1 1
    0034: 10    .
    U-Boot> i2c md 0x18 35.1 1
    0035: 00    .
    U-Boot> i2c md 0x18 36.1 1
    0036: 10    .
    U-Boot> i2c md 0x18 37.1 1
    0037: 40    @
    U-Boot> i2c md 0x18 38.1 1
    0038: 00    .
    U-Boot> i2c md 0x18 39.1 1
    0039: 10    .
    U-Boot> i2c md 0x18 40.1 1
    0040: 00    .
    U-Boot> i2c md 0x18 41.1 1
    0041: 00    .
    U-Boot> i2c md 0x18 42.1 1
    0042: 00    .
    U-Boot> i2c md 0x18 43.1 1
    0043: 00    .
    U-Boot> i2c md 0x18 44.1 1
    0044: 00    .
    U-Boot> i2c md 0x18 45.1 1
    0045: 00    .
    U-Boot> i2c md 0x18 46.1 1
    0046: 00    .
    U-Boot> i2c md 0x18 47.1 1
    0047: 31    1
    U-Boot> i2c md 0x18 48.1 1
    0048: 00    .
    U-Boot> i2c md 0x18 49.1 1
    0049: 00    .
    U-Boot> i2c md 0x18 50.1 1
    0050: 00    .
    U-Boot> i2c md 0x18 51.1 1
    0051: 00    .
    U-Boot> i2c md 0x18 52.1 1
    0052: 00    .
    U-Boot> i2c md 0x18 53.1 1
    0053: 00    .
    U-Boot> i2c md 0x18 54.1 1
    0054: 00    .
    U-Boot> i2c md 0x18 55.1 1
    0055: 00    .
    U-Boot> i2c md 0x18 56.1 1
    0056: 00    .
    U-Boot> i2c md 0x18 57.1 1
    0057: 00    .
    U-Boot> i2c md 0x18 58.1 1
    0058: 00    .
    U-Boot> i2c md 0x18 59.1 1
    0059: 00    .
    U-Boot> i2c md 0x18 60.1 1
    0060: 00    .
    U-Boot> i2c md 0x18 61.1 1
    0061: 00    .
    U-Boot> i2c md 0x18 62.1 1
    0062: 00    .
    U-Boot> i2c md 0x18 63.1 1
    0063: 00    .
    U-Boot> i2c md 0x18 64.1 1
    0064: 00    .
    U-Boot> i2c md 0x18 65.1 1
    0065: 00    .
    U-Boot> i2c md 0x18 66.1 1
    0066: 00    .
    U-Boot> i2c md 0x18 67.1 1
    0067: 00    .
    U-Boot> i2c md 0x18 68.1 1
    0068: 00    .
    U-Boot> i2c md 0x18 69.1 1
    0069: 00    .
    U-Boot> i2c md 0x18 70.1 1
    0070: 00    .
    U-Boot> i2c md 0x18 71.1 1
    0071: 00    .
    U-Boot> i2c md 0x18 72.1 1
    0072: 00    .
    U-Boot> i2c md 0x18 73.1 1
    0073: 00    .
    U-Boot> i2c md 0x18 74.1 1
    0074: 00    .
    U-Boot> i2c md 0x18 75.1 1
    0075: 00    .
    U-Boot> i2c md 0x18 76.1 1
    0076: 00    .
    U-Boot> i2c md 0x18 77.1 1
    0077: 00    .
    U-Boot> i2c md 0x18 78.1 1
    0078: 00    .
    U-Boot> i2c md 0x18 79.1 1
    0079: 00    .
    U-Boot> i2c md 0x18 80.1 1
    0080: 00    .
    U-Boot> i2c md 0x18 81.1 1
    0081: 00    .
    U-Boot> i2c md 0x18 82.1 1
    0082: 00    .
    U-Boot> i2c md 0x18 83.1 1
    0083: 00    .
    U-Boot> i2c md 0x18 84.1 1
    0084: 00    .
    U-Boot> i2c md 0x18 85.1 1
    0085: 00    .
    U-Boot> i2c md 0x18 86.1 1
    0086: 00    .
    U-Boot> i2c md 0x18 87.1 1
    0087: 00    .
    U-Boot> i2c md 0x18 88.1 1
    0088: 00    .
    U-Boot> i2c md 0x18 89.1 1
    0089: 00    .
    U-Boot> i2c md 0x18 90.1 1
    0090: 00    .
    U-Boot> i2c md 0x18 91.1 1
    0091: 00    .
    U-Boot> i2c md 0x18 92.1 1
    0092: 00    .
    U-Boot> i2c md 0x18 93.1 1
    0093: 00    .
    U-Boot> i2c md 0x18 94.1 1
    0094: 00    .
    U-Boot> i2c md 0x18 95.1 1
    0095: 00    .
    U-Boot> i2c md 0x18 96.1 1
    0096: 00    .
    U-Boot> i2c md 0x18 97.1 1
    0097: 00    .
    U-Boot> i2c md 0x18 98.1 1
    0098: 00    .
    U-Boot> i2c md 0x18 99.1 1
    0099: 00    .
    U-Boot> i2c md 0x18 100.1 1
    0100: 01    .
    U-Boot> i2c md 0x18 101.1 1
    0101: 08    .
    U-Boot> i2c md 0x18 102.1 1
    0102: 00    .
    U-Boot> i2c md 0x18 103.1 1
    0103: 00    .
    U-Boot> i2c md 0x18 104.1 1
    0104: 00    .
    U-Boot> i2c md 0x18 105.1 1
    0105: 00    .
    U-Boot> i2c md 0x18 106.1 1
    0106: 00    .
    U-Boot> i2c md 0x18 107.1 1
    0107: 00    .
    U-Boot> i2c md 0x18 108.1 1
    0108: 00    .
    U-Boot> i2c md 0x18 109.1 1
    0109: 0c    .
    U-Boot> i2c md 0x18 110.1 1
    0110: 03    .
    U-Boot> i2c md 0x18 111.1 1
    0111: 03    .
    U-Boot> i2c md 0x18 112.1 1
    0112: 08    .
    U-Boot> i2c md 0x18 113.1 1
    0113: 08    .
    U-Boot> i2c md 0x18 114.1 1
    0114: 00    .
    U-Boot> i2c md 0x18 115.1 1
    0115: 00    .
    U-Boot> i2c md 0x18 116.1 1
    0116: 00    .
    U-Boot> i2c md 0x18 117.1 1
    0117: 00    .
    U-Boot> i2c md 0x18 118.1 1
    0118: 00    .
    U-Boot> i2c md 0x18 119.1 1
    0119: 0f    .
    U-Boot> i2c md 0x18 120.1 1
    0120: 00    .
    U-Boot> i2c md 0x18 121.1 1
    0121: 00    .
    U-Boot> i2c md 0x18 122.1 1
    0122: 00    .
    U-Boot> i2c md 0x18 123.1 1
    0123: 00    .
    U-Boot> i2c md 0x18 124.1 1
    0124: 00    .
    U-Boot> i2c md 0x18 125.1 1
    0125: 00    .
    U-Boot>