AD7798 Zero and Full calibration


We will use AD7798.

After power on, the output data of AD9978 for input voltage is as shown in (a).

After Zeo scale calibration, the output data of AD9978 for input voltage is as shown in (b).

After Full scale calibration at 100mV input range, the output data of AD9978 for input voltage is as shown in (c).

Is my understandig of Zero and Full calibration correct?

Best regards


  • Hi

    Apologies, but can I ask if the attached figure are measured value? Can you provide more details about the ADC configurations (i.e. AVDD, Gain, Reference inputs, register map settings, etc.)

    And in terms of Calibrations, I assumed you are referring to system calibrations as you have 100mV FS input? Please ensure that the full-scale value used is within 0.8 VREF/gain and 1.05 VREF/gain for specified operation.

    Ideally, system calibration allows the converter to compensate for external system gain and offset errors, as well as its own internal errors. I cannot comment exactly if the attached figure is correct or wrong, but it might be good to understand how calibrations works for AD779x and how this corrects the system offset and gain errors and from there you can calculate and plot the expected results.

    Calibration is basically a conversion process on two specific input voltages (zero-scale or offset calibration, and full-scale calibration) from which the offset error coefficient and full-scale error coefficient are determined. With system calibration, the zero-scale voltage and full-scale voltage must be applied to the ADC by the user. 

    When the ADC performs the offset and gain calibrations, the resulting offset and gain coefficients are held in the corresponding offset and gain registers.The ADC automatically applies these corrections to the ADC conversions. So, the customer does not have to worry about these coeffs. when performing measurements.  

    However the relationship between analog input and the calibration coefficients is as shown below.

    In unipolar mode, the relationship is

    Data = [(0.75 × VIN× Gain/VREF)×(2^23) – (Offset_Reg – 0x800000)]× Full_Scale_Reg/0x400000 × 2

    In bipolar mode, the relationship is

    Data = [(0.75 × VIN× PGA_Gain/VREF)×(2^23) – (Offset_Reg – 0x800000)]× Full_Scale_Reg/0x400000 + 0x800000

    Where Data = digital conversion

    VIN= applied analog input voltage

    Gain = PGA gain setting

    VREF= reference voltage

    Offset_Reg = value contained in the offset register

    Full_Scale_Reg = value contained in the full-scale register

    The nominal values of Offset_Reg is 0x800000 and of Full_Scale_Reg is 0x555555.





  • Hi Jellenie san

    We evaluate AD9978 that is 16bits ADC.

    Offset reguister is 0x8000 at power on.

    Full scale reguister is 0x5XXX at power on.

    In unipolar mode, the relationship is

    Data = [(0.75 × VIN× Gain/VREF)×(2^15) – (Offset_Reg – 0x8000)]× Full_Scale_Reg/0x4000 × 2


    Is my understanding right?

    Best  regards


  • Hi,

    Yup, apologies if you are using AD7798 (16 bit) data register then that would be correct.



  • Hi Jellenie san

    Thank you for the reply.

    If we evaluate AD9978, couuld you tell me the value of Offset_Reg and Full_Scale _Reg at the following condition?

    In unipolar mode.



    Vin(+)=100mV Vin(-)=100mV  at Zero Calibration

    Vin(+)=1100mV Vin(-)=100mV at Full Calibration

    Best regards


  • Hi,

    This will vary from part to part and upon performing the conversions. So every time you perform either internal or system calibrations the offset and full scale registers will be updated. However you can identify the updated value by requesting to read the said registers (offset and full scale registers). And as per conditions, when performing system calibrations the input full scale value should be within the allowable range. For Zero scale calibrations, as a minimum the input should be -1.05xVref/gain and for Full scale the input should be from 0.8Vref/gain to 1.05Vref/gain. At gain=1 the min full scale input should be 2V.