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.

ADC offset and full scale error software calibration

Other Parts Discussed in Thread: ADC121S101

Hello,

 

Q1:

Please introduce me the material that explain the method to perform software calibration of ADC offset error and full scale error.

 

Q2: SLAA587 ADC Performance Parameters - Convert the Units Correctly!

According to the SLAA587 page 5, Total Unadjusted Error (TUE) is follows.

TUE = sqrt (sq(Offset Error) + sq(Gain Error) + sq(DNL) + sq(INL))

If I can calibrate Offset error and Gain Error is it correct that TUE = sqrt (sq(DNL) + sq(INL))?

 

Best Regards.

  • Ushikubo-san,


    1. Are you referring to any particular ADC? Different ADC devices may have different methods of calibration. This is often discussed in the datasheet (for many of the delta-sigma devices).

    2. If you remove the offset and gain error then the TUE does appear to drop down to the DNL and INL parts of the equation. Generally calibration will reduce the offset and gain error. However, it's often difficult to remove all of the offset and gain error. Both may have temperature drift, which may introduce offset and drift as the device is in operation.


    Joseph Wu
  • Hello Joseph-san,

    Thank you for your answer.

    Customer is referring ADC121S101 and datasheet does not discuss about calibration.
    Please advise calibration method for ADC121S101.

    Best Regards.
  • Ushikubo-san,


    Looking at the Electrical Characteristics Table (page 5) of the datasheet, the gain and the offset are already very low. The typical offset and gain error are already less than 1 LSB. It's unlikely that any kind of calibration would make the accuracy much better.

    However, I support delta-sigma data converters and this is not a device that I normally support. I will point this post out to one of the application engineers that does support this device.


    Joseph Wu
  • Hello Joseph-san,
    Thank you for your answer.

    Please ask ADC121S101 application engineer to advise offset and gain calibration.

    Best Regards.
  • Hello Ushikubo-san,

    I agree with Joseph. The offset and gain error is already very low and calibration would not make it much better.

    If you still want to try a calibration use the following procedures.

    For offset, set the input of the ADC to 0V. Read the ADC output. This value is the offset and should be subtracted from each reading.

    For gain, put a known voltage on the input of the ADC and read the ADC output. Calculate a ratio that is the input voltage / the ADC output. For every ADC measurement multiply by the calculated ratio to get a gain compensated value.

    Mike
  • Hello Mike-san,

     

    Thank you for your support.

     

    Please confirm if following my understanding about details of calibration is correct or not.

    1. Positive offset can be measured but negative offset can’t be measured for ADC because of input voltage is fixed 0V.

    2. Gain Ratio calculation should be follows.

         Gain Ratio = (Known Vin Voltage) / (ADC read at Known Vin Voltage – offset)

    3. Offset and Gain compensation calculation for every ADC read is follows.

         Compensated ADC Read = (Every ADC read – offset) x Gain Ratio

       

    Best Regards.

  • Hello Ushikubo-san,

    To take care of both positive and negative offset do the following.

    1.  Set input to 0V.  Call ADC output value Aout.  Ain = 0V.

    2.  Increase the input value to the ADC until the ADC output changes.  This gives two values, Bin (in volts) and Bout which is the ADC code.

    3.  Calculate the input voltage needed to get the output value Bout in an ideal ADC.  Call this Cin.

    4.  Offset = Ideal / Actual = Cin / (Bin - Ain).  Convert to LSB.

    You are correct on your Gain questions.  Before computing the gain ratio, first compensate the ADC so that the Offset is gone.  Then for every reading you make, compensate the output for offset and then correct the gain.

    Mike