JAJSEY1C April 2019 – March 2022 ADC12DJ5200RF
Foreground calibration and background calibration modes inherently calibrate the offsets of the ADC cores; however, the input buffers sit outside of the calibration loop and therefore their offsets are not calibrated by the standard calibration process. In both dual-channel mode and single-channel mode, uncalibrated input buffer offsets result in a shift in the mid-code output (DC offset) with no input. Further, in single-channel mode uncalibrated input buffer offsets can result in a fixed spur at fS / 2. A separate calibration is provided to correct the input buffer offsets.
There must be no signals at or near DC or aliased signals that fall at or near DC in order to properly calibration the offsets, requiring the system to specify this condition during normal operation or have the ability to mute the input signal during calibration. Foreground offset calibration is enabled via CAL_OS and only performs the calibration one time as part of the foreground calibration procedure. Background offset calibration is enabled via CAL_BGOS and continues to correct the offset as part of the background calibration routine to account for operating condition changes. When CAL_BGOS is set, the system must make sure there are no DC or near DC signals or aliased signals that fall at or near DC during normal operation. When background offset calibration is used the analog to digital conversion is disturbed by a bandwidth difference. The calibration time is relatively long becuase the offset calibration engine requires a lot of averaging. A preferred method for offset calibration is to use foreground calibration as a one-time operation so the timing of the disturbing glitch can be controlled. A one time foreground calibration can be performed by setting CAL_OS to 1 before setting CAL_EN. However, this will not correct for variations as operating conditions change.
The offset calibration correction uses the input offset voltage trim registers (see Table 7-35) to correct the offset and therefore must not be written by the user when offset calibration is used. The user can read the calibrated values by reading the OADJ_x_VINy registers, where x is the ADC core and y is the input (INA± or INB±), after calibration is completed. Only read the values when FG_DONE is read as 1 when using foreground offset calibration (CAL_OS = 1) and do not read the values when using background offset calibration (CAL_BGOS = 1).