Post Go back to editing

LTC2496: Regarding calculation

Category: Hardware
Product Number: LTC2496

Hi

We are using LTC2496 ADC which is connected to our microcontroller F280025PTSR through SPI. In LTC2496 CH0&1, CH2&3, CH4&5, CH6&7 and CH8&9 are configured as differential channel as follows.

 Channels        address

  8,9                   0xA0
  6,7                   0xA1
  4,5                   0xA2
  2,3                   0xA3
  0,1                   0xA4

As suggested in   LTC2496 is generating zero as output data - Q&A - Precision ADCs - EngineerZone (analog.com). we have calculated the   2's complement of ADC raw data in order to retain actual value.

i.e 

if MSB=0

   Voltage=Raw data* LSB    i.e LSB=0.5 * Vref / 2^n

if MSB=1 

    data=Rawdata-2^n

    Voltage=data*LSB         i.e LSB=0.5 * Vref / 2^n

Can you please help us with the following issues

  1.  When we started testing even through Vin is zero, we are getting voltages in the channels when it is configured as differential whereas when we checked both positive and negative channels separately as single ended channels, they we working as expected. what is the reason for this behavior?
  2.  The information provided by @ in the above link regarding i didn't find it anywhere. can you please let us know how it is considered. 
  3. Do we need any further calculation after actual raw data is obtained according to status flag? as it is mentioned in data sheet that "For differential input voltages greater than +FS, the conversion result is clamped to the value corresponding to +FS + 1LSB. For differential input voltages below –FS, the conversion result is clamped to the value –FS – 1LSB". if there is any further calculation required, can you please help us with the calculation.

Thanks,

Revathi



Added the product in the Subject field
[edited by: JEstayo at 1:14 PM (GMT -5) on 28 Jan 2024]
  • Hello  ,

    1. Just to clarify, are you getting a non-zero ADC conversion even when Vin is zero?

    2. The data output format in actuality is just an offset binary, wherein the zero-code (including the sign bit) equates to -FS. Just add the equivalent voltage weights of every bit (including the sign bit) to this and you'll get the input voltage value.

    Input Voltage = -5V + Total Weight

    For the weights, refer to this table below.

    Bit Name Bit Number Weight
    "Sign bit" 21 5
    "MSB" 20 2.5
      19 1.25
      18 0.625
      17 0.3125
      16 0.15625
      15 0.078125
      14 0.039063
      13 0.019531
      12 0.009766
      11 0.004883
      10 0.002441
      9 0.001221
      8 0.00061
      7 0.000305
      6 0.000153
      5 7.63E-05
    LSB 4 3.81E-05

    For example, a bit segment [21:4] in the data output of 101000000000000000 will be equivalent to:

    Input Voltage = -5V + Total Weight = -5 + 5 (from sign bit, equal to VREF) + 0 + VREF/(2^2) = -5 + 5 + 0 + 1.25 = 1.25V

    3. The ADC only has a convertible range that is same as what you have mentioned. So, no, you cannot determine the actual input voltage once the ADC sends a overvoltage flag. All we know that it is out of range.

    Regards,

    Yugel

  • Hi Yugel,

    1. No im not no voltage is given i still get some negative volatge .ie 0x001FFFE0. when we are checking with multi meter we are not able observe that,

    Regards,

    Revathi

  • Hello  ,

    What is your reference voltage for this?

    Regards,

    Yugel