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.

ADS7924: Not getting the proper converted data Via I2C

Part Number: ADS7924
Other Parts Discussed in Thread: TM4C129DNCPDT, , AMC1301, INA333

Tool/software:

Grretings for the day,

We are using TM4C129DNCPDT microcontroller to read ADS7924 converted data using I2C protocol. But we are not getting proper data.

We have verified I2C communication by reading Device Id and mode settings. They are reading properly.

When have connected Constant 3Vpp Input voltage using Function generator to ADC channel CH0, we are getting different values everytime we read 0x02 and 0x03 registers. We have combined both register readings to get 12 bit digital data and converted to voltage format using below formula. Voltage output is varieng between 0.5V to 3V continously.

Volt = (12_bit_data/ 4095) * 3.3; //AVDD connected to 3.3V

But when we remove input at CH0, we are getting constant 0x61 from 0x02 register and variable value from 0x03 register. After implementing the formula the voltage is coming between (1.269v to 1.272v).

We are following the below steps to configure ADC.

1. Write 0xAA to 0x16 register to reset ADC.

2. Write 0x80 to 0x00 register to keep ADC in awake mode.

3. Write 0xC0 to 0x00 register to Select ADC CH0 Manual Single mode.

4. Now to read CH0 converted data, In I2C write mode we are sending 0x82 to ADC and changing the mode to burst read mode and reading twice so that we will get 0x02 and 0x03 register data respectively.

5. Now we are continously repeating step 3 and 4 to read ADC converted data continously but we are getting different data everytime(Input Voltage is constatnt 3Vpp).

 

Are we following the steps properly? or Is there anything we are missing? If so please correct us.

Our Schematics screenshot:

Thank You.

Regards,

Balaji TS

  • Hi Balaji,

    Please describe what is to the right of the analog inputs.  Do you have a buffer between the ADC input and function generator?

  • Hello Tom,

    Thank You for the quick response.

    We have a Gain Isolation Amplifier Circuit(AMC1301) and a Precision Amplifier (INA333AIDGKR) between ADC input and Function Generator. Currently I don't have full access to schematics. I got above information from our hardware team.

    Is buffer compulsory between ADC input and Function Generator?

    Regards,

    Balaji TS

  • Hi Balaji,

    It depends - there are cases where you can get away without a buffer in front of a SAR converter like the ADS7924.  Can you use an o'scope and verify that the amplifier is not oscillating?  Take a look at this video and see if it helps you resolve the issue: https://www.youtube.com/watch?v=JWmSgP0KQWQ

  • Hello Tom,

    Sorry for the late response. 

    The issue we were facing was due to Analog input which we were giving. By mistakenly we gave AC Voltage to ADS7924 input channels. Which caused that issue.

    Now we are giving input using DC Voltage source, now we are able to read proper ADC output but there is around 100mV continous fluctuaions in the readings. I have attached ADC readings which conatins register readings and converted Voltage values for 1V, 2V and 3V input below. Can you please tell us what might be causing the issue?

    MSB data[0]=0x71, LSB data[1]=0xc0
    Analog input voltage = 1.000V ADC output Voltage = 1.0171V
    
    MSB data[0]=0x72, LSB data[1]=0xf0
    Analog input voltage = 1.000V ADC output Voltage = 1.0887V
    
    MSB data[0]=0x72, LSB data[1]=0xe0
    Analog input voltage = 1.000V ADC output Voltage = 1.0849V
    
    MSB data[0]=0x72, LSB data[1]=0x20
    Analog input voltage = 1.000V ADC output Voltage = 1.0397V
    
    MSB data[0]=0x71, LSB data[1]=0x20
    Analog input voltage = 1.000V ADC output Voltage = 0.9795V
    
    MSB data[0]=0x72, LSB data[1]=0x70
    Analog input voltage = 1.000V ADC output Voltage = 1.0586V
    
    MSB data[0]=0x71, LSB data[1]=0x40
    Analog input voltage = 1.000V ADC output Voltage = 0.9870V
    
    MSB data[0]=0x71, LSB data[1]=0xf0
    Analog input voltage = 1.000V ADC output Voltage = 1.0284V
    
    MSB data[0]=0x72, LSB data[1]=0x80
    Analog input voltage = 1.000V ADC output Voltage = 1.0623V
    
    MSB data[0]=0x72, LSB data[1]=0x40
    Analog input voltage = 1.000V ADC output Voltage = 1.0473V
    
    MSB data[0]=0x72, LSB data[1]=0x20
    Analog input voltage = 1.000V ADC output Voltage = 1.0397V
    
    MSB data[0]=0x71, LSB data[1]=0x60
    Analog input voltage = 1.000V ADC output Voltage = 0.9945V
    
    MSB data[0]=0x72, LSB data[1]=0x00
    Analog input voltage = 1.000V ADC output Voltage = 1.0322V
    
    MSB data[0]=0x71, LSB data[1]=0x80
    Analog input voltage = 1.000V ADC output Voltage = 1.0021V
    
    MSB data[0]=0x71, LSB data[1]=0x20
    Analog input voltage = 1.000V ADC output Voltage = 0.9795V
    
    MSB data[0]=0x72, LSB data[1]=0xe0
    Analog input voltage = 1.000V ADC output Voltage = 1.0849V
    
    MSB data[0]=0x72, LSB data[1]=0x40
    Analog input voltage = 1.000V ADC output Voltage = 1.0473V
    
    MSB data[0]=0x72, LSB data[1]=0x90
    Analog input voltage = 1.000V ADC output Voltage = 1.0661V
    
    MSB data[0]=0x72, LSB data[1]=0x50
    Analog input voltage = 1.000V ADC output Voltage = 1.0510V
    
    MSB data[0]=0x71, LSB data[1]=0x80
    Analog input voltage = 1.000V ADC output Voltage = 1.0021V
    
    MSB data[0]=0x71, LSB data[1]=0x50
    Analog input voltage = 1.000V ADC output Voltage = 0.9908V
    
    MSB data[0]=0x71, LSB data[1]=0xa0
    Analog input voltage = 1.000V ADC output Voltage = 1.0096V
    
    MSB data[0]=0x72, LSB data[1]=0xe0
    Analog input voltage = 1.000V ADC output Voltage = 1.0849V
    
    MSB data[0]=0x71, LSB data[1]=0x30
    Analog input voltage = 1.000V ADC output Voltage = 0.9832V
    
    MSB data[0]=0x71, LSB data[1]=0x10
    Analog input voltage = 1.000V ADC output Voltage = 0.9757V
    
    MSB data[0]=0x72, LSB data[1]=0x20
    Analog input voltage = 1.000V ADC output Voltage = 1.0397V
    
    MSB data[0]=0x72, LSB data[1]=0x90
    Analog input voltage = 1.000V ADC output Voltage = 1.0661V
    
    MSB data[0]=0x71, LSB data[1]=0x70
    Analog input voltage = 1.000V ADC output Voltage = 0.9983V
    
    MSB data[0]=0x71, LSB data[1]=0xd0
    Analog input voltage = 1.000V ADC output Voltage = 1.0209V
    
    MSB data[0]=0x72, LSB data[1]=0x00
    Analog input voltage = 1.000V ADC output Voltage = 1.0322V
    
    MSB data[0]=0x72, LSB data[1]=0x00
    Analog input voltage = 1.000V ADC output Voltage = 1.0322V
    
    MSB data[0]=0x71, LSB data[1]=0x10
    Analog input voltage = 1.000V ADC output Voltage = 0.9757V
    
    MSB data[0]=0x71, LSB data[1]=0x90
    Analog input voltage = 1.000V ADC output Voltage = 1.0058V
    
    MSB data[0]=0x72, LSB data[1]=0xd0
    Analog input voltage = 1.000V ADC output Voltage = 1.0812V
    
    MSB data[0]=0x72, LSB data[1]=0xf0
    Analog input voltage = 1.000V ADC output Voltage = 1.0887V
    
    MSB data[0]=0x83, LSB data[1]=0x00
    Analog input voltage = 2.000V ADC output Voltage = 2.0565V
    
    MSB data[0]=0x82, LSB data[1]=0x70
    Analog input voltage = 2.000V ADC output Voltage = 2.0226V
    
    MSB data[0]=0x82, LSB data[1]=0x10
    Analog input voltage = 2.000V ADC output Voltage = 2.0000V
    
    MSB data[0]=0x82, LSB data[1]=0x30
    Analog input voltage = 2.000V ADC output Voltage = 2.0075V
    
    MSB data[0]=0x82, LSB data[1]=0x00
    Analog input voltage = 2.000V ADC output Voltage = 1.9962V
    
    MSB data[0]=0x82, LSB data[1]=0xe0
    Analog input voltage = 2.000V ADC output Voltage = 2.0489V
    
    MSB data[0]=0x82, LSB data[1]=0x60
    Analog input voltage = 2.000V ADC output Voltage = 2.0188V
    
    MSB data[0]=0x82, LSB data[1]=0x90
    Analog input voltage = 2.000V ADC output Voltage = 2.0301V
    
    MSB data[0]=0x83, LSB data[1]=0xb0
    Analog input voltage = 2.000V ADC output Voltage = 2.0979V
    
    MSB data[0]=0x82, LSB data[1]=0xb0
    Analog input voltage = 2.000V ADC output Voltage = 2.0376V
    
    MSB data[0]=0x82, LSB data[1]=0x00
    Analog input voltage = 2.000V ADC output Voltage = 1.9962V
    
    MSB data[0]=0x82, LSB data[1]=0xc0
    Analog input voltage = 2.000V ADC output Voltage = 2.0414V
    
    MSB data[0]=0x83, LSB data[1]=0x90
    Analog input voltage = 2.000V ADC output Voltage = 2.0904V
    
    MSB data[0]=0x81, LSB data[1]=0xb0
    Analog input voltage = 2.000V ADC output Voltage = 1.9774V
    
    MSB data[0]=0x82, LSB data[1]=0xe0
    Analog input voltage = 2.000V ADC output Voltage = 2.0489V
    
    MSB data[0]=0x83, LSB data[1]=0xd0
    Analog input voltage = 2.000V ADC output Voltage = 2.1054V
    
    MSB data[0]=0x83, LSB data[1]=0x90
    Analog input voltage = 2.000V ADC output Voltage = 2.0904V
    
    MSB data[0]=0x82, LSB data[1]=0xa0
    Analog input voltage = 2.000V ADC output Voltage = 2.0339V
    
    MSB data[0]=0x82, LSB data[1]=0xb0
    Analog input voltage = 2.000V ADC output Voltage = 2.0376V
    
    MSB data[0]=0x82, LSB data[1]=0x40
    Analog input voltage = 2.000V ADC output Voltage = 2.0113V
    
    MSB data[0]=0x82, LSB data[1]=0xc0
    Analog input voltage = 2.000V ADC output Voltage = 2.0414V
    
    MSB data[0]=0x82, LSB data[1]=0x00
    Analog input voltage = 2.000V ADC output Voltage = 1.9962V
    
    MSB data[0]=0x82, LSB data[1]=0xb0
    Analog input voltage = 2.000V ADC output Voltage = 2.0376V
    
    MSB data[0]=0x83, LSB data[1]=0x70
    Analog input voltage = 2.000V ADC output Voltage = 2.0828V
    
    MSB data[0]=0x82, LSB data[1]=0x80
    Analog input voltage = 2.000V ADC output Voltage = 2.0263V
    
    MSB data[0]=0x82, LSB data[1]=0x10
    Analog input voltage = 2.000V ADC output Voltage = 2.0000V
    
    MSB data[0]=0x82, LSB data[1]=0x30
    Analog input voltage = 2.000V ADC output Voltage = 2.0075V
    
    MSB data[0]=0x82, LSB data[1]=0xd0
    Analog input voltage = 2.000V ADC output Voltage = 2.0452V
    
    MSB data[0]=0x82, LSB data[1]=0x70
    Analog input voltage = 2.000V ADC output Voltage = 2.0226V
    
    MSB data[0]=0x82, LSB data[1]=0x00
    Analog input voltage = 2.000V ADC output Voltage = 1.9962V
    
    MSB data[0]=0x82, LSB data[1]=0x40
    Analog input voltage = 2.000V ADC output Voltage = 2.0113V
    
    MSB data[0]=0x82, LSB data[1]=0x50
    Analog input voltage = 2.000V ADC output Voltage = 2.0150V
    
    MSB data[0]=0x82, LSB data[1]=0x90
    Analog input voltage = 2.000V ADC output Voltage = 2.0301V
    
    MSB data[0]=0x82, LSB data[1]=0xf0
    Analog input voltage = 2.000V ADC output Voltage = 2.0527V
    
    MSB data[0]=0x83, LSB data[1]=0x30
    Analog input voltage = 2.000V ADC output Voltage = 2.0678V
    
    MSB data[0]=0x82, LSB data[1]=0xa0
    Analog input voltage = 2.000V ADC output Voltage = 2.0339V
    
    MSB data[0]=0x82, LSB data[1]=0x70
    Analog input voltage = 2.000V ADC output Voltage = 2.0226V
    
    MSB data[0]=0x82, LSB data[1]=0xd0
    Analog input voltage = 2.000V ADC output Voltage = 2.0452V
    
    MSB data[0]=0x83, LSB data[1]=0x90
    Analog input voltage = 2.000V ADC output Voltage = 2.0904V
    
    MSB data[0]=0x83, LSB data[1]=0x10
    Analog input voltage = 2.000V ADC output Voltage = 2.0602V
    
    MSB data[0]=0x83, LSB data[1]=0x80
    Analog input voltage = 2.000V ADC output Voltage = 2.0866V
    
    MSB data[0]=0x82, LSB data[1]=0xd0
    Analog input voltage = 2.000V ADC output Voltage = 2.0452V
    
    MSB data[0]=0x82, LSB data[1]=0x60
    Analog input voltage = 2.000V ADC output Voltage = 2.0188V
    
    MSB data[0]=0x82, LSB data[1]=0x80
    Analog input voltage = 2.000V ADC output Voltage = 2.0263V
    
    MSB data[0]=0x82, LSB data[1]=0x20
    Analog input voltage = 2.000V ADC output Voltage = 2.0037V
    
    MSB data[0]=0x83, LSB data[1]=0xe0
    Analog input voltage = 2.000V ADC output Voltage = 2.1092V
    
    MSB data[0]=0x82, LSB data[1]=0x80
    Analog input voltage = 2.000V ADC output Voltage = 2.0263V
    
    MSB data[0]=0x82, LSB data[1]=0x60
    Analog input voltage = 2.000V ADC output Voltage = 2.0188V
    
    MSB data[0]=0x82, LSB data[1]=0x00
    Analog input voltage = 2.000V ADC output Voltage = 1.9962V
    
    MSB data[0]=0x82, LSB data[1]=0xc0
    Analog input voltage = 2.000V ADC output Voltage = 2.0414V
    
    MSB data[0]=0x82, LSB data[1]=0x80
    Analog input voltage = 2.000V ADC output Voltage = 2.0263V
    
    MSB data[0]=0x83, LSB data[1]=0x30
    Analog input voltage = 2.000V ADC output Voltage = 2.0678V
    
    MSB data[0]=0x82, LSB data[1]=0x30
    Analog input voltage = 2.000V ADC output Voltage = 2.0075V
    
    MSB data[0]=0x82, LSB data[1]=0x80
    Analog input voltage = 2.000V ADC output Voltage = 2.0263V
    
    MSB data[0]=0x83, LSB data[1]=0x10
    Analog input voltage = 2.000V ADC output Voltage = 2.0602V
    
    MSB data[0]=0x82, LSB data[1]=0x10
    Analog input voltage = 2.000V ADC output Voltage = 2.0000V
    
    MSB data[0]=0x82, LSB data[1]=0x20
    Analog input voltage = 2.000V ADC output Voltage = 2.0037V
    
    MSB data[0]=0x82, LSB data[1]=0xe0
    Analog input voltage = 2.000V ADC output Voltage = 2.0489V
    
    MSB data[0]=0x82, LSB data[1]=0x00
    Analog input voltage = 2.000V ADC output Voltage = 1.9962V
    
    MSB data[0]=0x82, LSB data[1]=0xf0
    Analog input voltage = 2.000V ADC output Voltage = 2.0527V
    
    MSB data[0]=0x82, LSB data[1]=0x20
    Analog input voltage = 2.000V ADC output Voltage = 2.0037V
    
    MSB data[0]=0x82, LSB data[1]=0x70
    Analog input voltage = 2.000V ADC output Voltage = 2.0226V
    
    MSB data[0]=0x82, LSB data[1]=0x90
    Analog input voltage = 2.000V ADC output Voltage = 2.0301V
    
    MSB data[0]=0x83, LSB data[1]=0x80
    Analog input voltage = 2.000V ADC output Voltage = 2.0866V
    
    MSB data[0]=0x82, LSB data[1]=0xf0
    Analog input voltage = 2.000V ADC output Voltage = 2.0527V
    
    MSB data[0]=0x83, LSB data[1]=0xa0
    Analog input voltage = 2.000V ADC output Voltage = 2.0941V
    
    MSB data[0]=0x93, LSB data[1]=0xc0
    Analog input voltage = 3.000V ADC output Voltage = 3.0657V
    
    MSB data[0]=0x93, LSB data[1]=0xc0
    Analog input voltage = 3.000V ADC output Voltage = 3.0657V
    
    MSB data[0]=0x93, LSB data[1]=0xb0
    Analog input voltage = 3.000V ADC output Voltage = 3.0619V
    
    MSB data[0]=0x93, LSB data[1]=0x40
    Analog input voltage = 3.000V ADC output Voltage = 3.0356V
    
    MSB data[0]=0x93, LSB data[1]=0x20
    Analog input voltage = 3.000V ADC output Voltage = 3.0280V
    
    MSB data[0]=0x93, LSB data[1]=0x50
    Analog input voltage = 3.000V ADC output Voltage = 3.0393V
    
    MSB data[0]=0x93, LSB data[1]=0x20
    Analog input voltage = 3.000V ADC output Voltage = 3.0280V
    
    MSB data[0]=0x93, LSB data[1]=0x30
    Analog input voltage = 3.000V ADC output Voltage = 3.0318V
    
    MSB data[0]=0x92, LSB data[1]=0x70
    Analog input voltage = 3.000V ADC output Voltage = 2.9866V
    
    MSB data[0]=0x92, LSB data[1]=0x50
    Analog input voltage = 3.000V ADC output Voltage = 2.9791V
    
    MSB data[0]=0x92, LSB data[1]=0xe0
    Analog input voltage = 3.000V ADC output Voltage = 3.0130V
    
    MSB data[0]=0x92, LSB data[1]=0x50
    Analog input voltage = 3.000V ADC output Voltage = 2.9791V
    
    MSB data[0]=0x93, LSB data[1]=0x80
    Analog input voltage = 3.000V ADC output Voltage = 3.0506V
    
    MSB data[0]=0x93, LSB data[1]=0x80
    Analog input voltage = 3.000V ADC output Voltage = 3.0506V
    
    MSB data[0]=0x93, LSB data[1]=0xa0
    Analog input voltage = 3.000V ADC output Voltage = 3.0581V
    
    MSB data[0]=0x93, LSB data[1]=0xd0
    Analog input voltage = 3.000V ADC output Voltage = 3.0694V
    
    MSB data[0]=0x93, LSB data[1]=0x10
    Analog input voltage = 3.000V ADC output Voltage = 3.0243V
    
    MSB data[0]=0x93, LSB data[1]=0x60
    Analog input voltage = 3.000V ADC output Voltage = 3.0431V
    
    MSB data[0]=0x93, LSB data[1]=0x20
    Analog input voltage = 3.000V ADC output Voltage = 3.0280V
    
    MSB data[0]=0x93, LSB data[1]=0x20
    Analog input voltage = 3.000V ADC output Voltage = 3.0280V
    
    MSB data[0]=0x93, LSB data[1]=0x90
    Analog input voltage = 3.000V ADC output Voltage = 3.0544V
    
    MSB data[0]=0x93, LSB data[1]=0xf0
    Analog input voltage = 3.000V ADC output Voltage = 3.0770V
    
    MSB data[0]=0x93, LSB data[1]=0xe0
    Analog input voltage = 3.000V ADC output Voltage = 3.0732V
    
    MSB data[0]=0x93, LSB data[1]=0x60
    Analog input voltage = 3.000V ADC output Voltage = 3.0431V
    
    MSB data[0]=0x93, LSB data[1]=0x80
    Analog input voltage = 3.000V ADC output Voltage = 3.0506V
    
    MSB data[0]=0x93, LSB data[1]=0x80
    Analog input voltage = 3.000V ADC output Voltage = 3.0506V
    
    MSB data[0]=0x93, LSB data[1]=0xb0
    Analog input voltage = 3.000V ADC output Voltage = 3.0619V
    
    MSB data[0]=0x93, LSB data[1]=0xb0
    Analog input voltage = 3.000V ADC output Voltage = 3.0619V
    
    MSB data[0]=0x93, LSB data[1]=0xb0
    Analog input voltage = 3.000V ADC output Voltage = 3.0619V
    
    MSB data[0]=0x93, LSB data[1]=0xc0
    Analog input voltage = 3.000V ADC output Voltage = 3.0657V
    
    MSB data[0]=0x93, LSB data[1]=0x50
    Analog input voltage = 3.000V ADC output Voltage = 3.0393V
    
    MSB data[0]=0x93, LSB data[1]=0xb0
    Analog input voltage = 3.000V ADC output Voltage = 3.0619V
    
    MSB data[0]=0x92, LSB data[1]=0x90
    Analog input voltage = 3.000V ADC output Voltage = 2.9941V
    
    MSB data[0]=0x93, LSB data[1]=0x80
    Analog input voltage = 3.000V ADC output Voltage = 3.0506V
    
    MSB data[0]=0x92, LSB data[1]=0xc0
    Analog input voltage = 3.000V ADC output Voltage = 3.0054V
    
    MSB data[0]=0x93, LSB data[1]=0x80
    Analog input voltage = 3.000V ADC output Voltage = 3.0506V
    
    MSB data[0]=0x93, LSB data[1]=0x30
    Analog input voltage = 3.000V ADC output Voltage = 3.0318V
    
    MSB data[0]=0x93, LSB data[1]=0x70
    Analog input voltage = 3.000V ADC output Voltage = 3.0468V
    
    MSB data[0]=0x93, LSB data[1]=0xf0
    Analog input voltage = 3.000V ADC output Voltage = 3.0770V
    
    MSB data[0]=0x94, LSB data[1]=0x70
    Analog input voltage = 3.000V ADC output Voltage = 3.1071V
    
    MSB data[0]=0x93, LSB data[1]=0xd0
    Analog input voltage = 3.000V ADC output Voltage = 3.0694V
    
    MSB data[0]=0x93, LSB data[1]=0x80
    Analog input voltage = 3.000V ADC output Voltage = 3.0506V
    
    MSB data[0]=0x93, LSB data[1]=0xc0
    Analog input voltage = 3.000V ADC output Voltage = 3.0657V
    
    MSB data[0]=0x93, LSB data[1]=0x80
    Analog input voltage = 3.000V ADC output Voltage = 3.0506V
    
    MSB data[0]=0x93, LSB data[1]=0x40
    Analog input voltage = 3.000V ADC output Voltage = 3.0356V
    
    MSB data[0]=0x93, LSB data[1]=0xc0
    Analog input voltage = 3.000V ADC output Voltage = 3.0657V
    
    MSB data[0]=0x92, LSB data[1]=0xb0
    Analog input voltage = 3.000V ADC output Voltage = 3.0017V
    
    MSB data[0]=0x93, LSB data[1]=0x30
    Analog input voltage = 3.000V ADC output Voltage = 3.0318V
    
    MSB data[0]=0x93, LSB data[1]=0x20
    Analog input voltage = 3.000V ADC output Voltage = 3.0280V
    
    MSB data[0]=0x92, LSB data[1]=0xf0
    Analog input voltage = 3.000V ADC output Voltage = 3.0167V
    
    MSB data[0]=0x94, LSB data[1]=0x20
    Analog input voltage = 3.000V ADC output Voltage = 3.0883V
    
    MSB data[0]=0x93, LSB data[1]=0x40
    Analog input voltage = 3.000V ADC output Voltage = 3.0356V
    
    MSB data[0]=0x93, LSB data[1]=0x00
    Analog input voltage = 3.000V ADC output Voltage = 3.0205V
    
    MSB data[0]=0x93, LSB data[1]=0xb0
    Analog input voltage = 3.000V ADC output Voltage = 3.0619V
    
    MSB data[0]=0x93, LSB data[1]=0x80
    Analog input voltage = 3.000V ADC output Voltage = 3.0506V
    
    MSB data[0]=0x93, LSB data[1]=0x60
    Analog input voltage = 3.000V ADC output Voltage = 3.0431V
    
    MSB data[0]=0x93, LSB data[1]=0x30
    Analog input voltage = 3.000V ADC output Voltage = 3.0318V
    
    MSB data[0]=0x93, LSB data[1]=0x70
    Analog input voltage = 3.000V ADC output Voltage = 3.0468V
    
    MSB data[0]=0x93, LSB data[1]=0x30
    Analog input voltage = 3.000V ADC output Voltage = 3.0318V
    
    MSB data[0]=0x93, LSB data[1]=0xf0
    Analog input voltage = 3.000V ADC output Voltage = 3.0770V
    
    MSB data[0]=0x93, LSB data[1]=0x30
    Analog input voltage = 3.000V ADC output Voltage = 3.0318V
    
    MSB data[0]=0x93, LSB data[1]=0x20
    Analog input voltage = 3.000V ADC output Voltage = 3.0280V
    
    MSB data[0]=0x93, LSB data[1]=0x80
    Analog input voltage = 3.000V ADC output Voltage = 3.0506V
    

    Thank You.

    Regard,

    Balaji TS

  • Short your input and see what sort of conversion results you are getting.  Can you include the full schematic for the input stage please?

  • Hello Tom,

    Sorry for the late response. Today we got access to the schemtics of our board. Below I have attached the schematic for the input stage. Please check it once.

    Short your input and see what sort of conversion results you are getting

    What do you mean short the input? Do we have to short input side positive and negative pins?

    Thank You.

    Regards,

    Balaji TS

  • Short each channel to ground (one at a time, using tweezers for instance) at or as close as you can get to the ADC inputs and check the conversion results.  Then go back through the rest of your analog front end and do the same thing.  Short the output of the INA, then the input - the output of the ISO AMP, etc.  That can help you to locate where the noise is coming from. 

  • Hello Tom,

    We have probed at few places in board, we have observed some noice at all the points and below attached the DSO waveform of the same.

    We have probed at the highlighed points in the schematics.

    1. At pads of C941(DNP) - observed 232mV continous dip in the voltage.

    So we are planning to do the following reworks:- i) Mounting C941 with 0.1uF cap to eliminate noise.   ii) Add Bulk decap of 10uF for U15 (INA333).

    2. At R2310 Both pads - observed 86mV noise

    3. At D137 Both pads - observed 48mV noise

    Any suggestions from your end regarding the scope probing or rework? 

    Thank You.

    Regards,

    Balaji TS

  • Hi Balaji,

    That blip at C91 is probably caused by the charging of the internal sample/hold capacitor.  Can you probe C94 as well?  

  • Hello Tom,

    We have probed at C94 capacitor. and we applied analog input 1V while probing at C94.

    Regards,

    Balaji

  • Is that from C941 at the output of the INA or C94 at the ADC MUXOUT pin?  Is this just one channel sampling over and over or is it multiple channels?

  • Hello Tom,

    This probing is at C94 ADC MUXOUT pin. And we are sampling only one channel continously using Auto Single mode.

    Regards,
    Balaji TS

  • You can try reducing the value of R1 and C94. Here is another video that talks about driving the input of a SAR converter.  C94 would typically be 20 to 60X the value of the internal sample/hold capacitor, which is 15pF.  Your 1nF is on the high side.  The other thing you can try is slowing down the throughput of the ADC - basically give the input more time to settle before starting the conversion.  Here is the link: https://www.ti.com/video/5466215483001 this is another good introduction: https://www.ti.com/video/5476574757001

  • Hello Tom,

    Sorry for the late response, We have tested by reducing the R1 and C94 values, but the issue didn't resolve. Still the ADC output was varieing. So we have reversed all the rework and changed the mode from Auto Scan mode to Manual Single mode, now there is bit improvements in the readings. Previously we were observing variatinon upto 150mV but not the variations reduced 30mV if the input applied is 3V. 

    And also we have current input applied to ADC, where we will be providing 4mA to 20mA. In this convertion the LSB bits are varieing a lot, after calculating the current we are observing upto 0.1mA variations. Below is the schematic for current input stage.

    AINC1_P is connected CH_2 of ADC module. Is there any issue in our schematic, why is the current readings are varieing so much?

    Thank You.

    Regards,

    Balaji TS

  • Hi Balaji,

    Are you still seeing those large transients at C94 on the MUXOUT pin?  Are you willing.able to try adding a buffer there, similar to what is shown in Figure 62?