アプリケーションノート 7449

MAX22005 User Calibration Guide

筆者: Yuriy Kurtsevoy

要約: This application note provides information to help software and firmware engineers increase the accuracy of a highly configurable multi-channel industrial analog input front-end utilizing the MAX22005.

Introduction

Factory calibration is one of the important features that simplifies the system design and overall cost of ownership when using the MAX22005. It guarantees a level of accuracy (for gain and offset) even after soldering the part on a PCB. Factory calibrations guarantee the total unadjusted error (TUE) of 0.02% of full-scale range (FSR) at room temperature. The gain and offset can be shifted in an average of 150ppm for the gain and about 100µV for offset after soldering the part. However, the system TUE can be increased on a channel-by-channel basis 2x to 5x times by conducting user calibration and updating the gain and offset calibration coefficients for specific channels.

This application note provides a practical two-point calibration technique and calculates the coefficients to calibrate the MAX22005, multi-channel industrial ADC.

Two-Point Calibration

The MAX22005 two-point system calibration is explained in the System Calibration paragraph of the MAX22005 data sheet.

The user calibration procedure should include the following steps (each single-ended or differential channel must be calibrated separately).

Example for AI1 User Calibration

  1. Reset the offset and gain calibration coefficients DCHNL_N_SOC[23:0] and DCHNL_N_SGC[23:0] in registers DCHNL_N_SOC (0x26) and DCHNL_N_SGC (0x27).
    1. Set DCHNL_OTP_SEL[5] = 0 and DCHNL_N_SEL[4:0] = 0b00000 in DCHNL_N_SEL register (0x25) for AI1. Refer to the Table 5 of the data sheet for input channel selection binary code.
    2. Set DCHNL_N_SOC[23:0] = 0x000000 in DCHNL_N_SOC register (0x26).
    3. Set DCHNL_N_SGC[23:0] = 0xC00000 in DCHNL_N_SGC register (0x27).
  2. Apply +10.5V from a precision external source to AI1 reference to AGND and measure the input with a precision external voltmeter. This is V1 input. It is recommended to use at least 6.5-digit DMM or better.
  3. Set AI_DCHNL_SEL[4:0] = 0b00000 in GEN_CHNL_CTRL register (0x03) for AI1 input. Refer to the Table 5 of the data sheet for input channel selection binary code.
  4. Set single-cycle continuous mode (bits SCYCLE = 0b1 and CONTSC = 0b1) in DCHNL_CTRL1 register (0x22).
  5. Set the desired sampling rate, DCHNL_RATE[3:0], and start a conversion by setting DCHNL_MODE[1:0] = 0b11 in DCHNL_CMD register (0x20).
  6. Read the ADC conversion data, DCHNL_DATA[23:0], from DCHNL_DATA register (0x24). It is recommended to read multiple conversion results and find the average data for improved accuracy. This is the C1 code of the V1 input.
  7. Stop the ADC conversion by setting DCHNL_MODE[1:0] = 0b01. Note: Steps 3 to 7 are automatically done in the MAX22005 EVKIT Software. In the GUI, select the input channel of interest, uncheck all other channels in the Analog Input tab, select a Mode from the pulldown menu, and click Read Selected.

    MAX7358 functional block diagramFigure 1. MAX22005 GUI Analog Input tab.

  8. Repeat steps 2 to 7 for -10.5V input from an external source to AI1. These are the V2 input and respective C2 codes.
  9. Calculate the gain and offset.
    1. Gain A is:

      where,
      C1 is the conversion result of V1 = +10.5V input in decimal format,
      C2 is the conversion result of V2 = -10.5V input in decimal format,
      VFSR is the full-scale range equal to 25V for single-ended and 50V for differential conversion.

    2. Offset is:

  10. Calculate the new calibration coefficients for gain and offset and write these values into registers DCHNL_N_SOC (0x26) and DCHNL_N_SGC (0x27) in hex format.
    DCHNL_N_SGC = 1.5*2^23/A
  11. where,
    Coefficients SDIG = 1 and ADIG = 2. Refer to Table 10 of the data sheet.

  12. Repeat steps 2 to 9 and verify the accuracy with the new calibration coefficients.

Note: If the verified offset is out of the specified range, the offset calibration coefficient should be recalculated by subtracting that coefficient from 0xFFFFFF and writing down the new DCHNL_N_SOC into register 0x26. A new verification should be conducted again. Use the attached spreadsheet for quick calculation of the calibration coefficients (MAX22005 Gain & Offset Calibration.xlsx)

Storing and Applying the User Calibration Coefficients

The factory calibration coefficients are automatically loaded from the internal non-volatile memory to the registers 0x26 and 0x27 after power-up, and upon selecting the input channel. The user calibration coefficients must be stored in the external non-volatile memory and applied every time after power-up through the SPI interface to overwrite the factory calibration coefficients. The user can load factory calibration coefficients back by setting DCHNL_OTP_SEL bit to 1 in DCHNL_N_SEL register (0x25) anytime without power cycling the MAX22005. For the user calibration coefficients, the DCHNL_OTP_SEL bit must be set to 0.

Conclusion

This application note provides a practical step-by-step example of a two-point calibration technique to increase the accuracy of a multi-channel analog input such as those found in PLC, DSC, or PAC systems built using the MAX22005.