ZHCSI83C may 2018 – may 2023 ADC12DL3200
PRODUCTION DATA
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 ensure 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 ensure that there are no DC or near DC signals or aliased signals that fall at or near DC during normal operation. Offset calibration can be performed as a foreground operation when using background calibration by setting CAL_OS to 1 before setting CAL_EN, but does not correct for variations as operating conditions change.
The offset calibration correction uses the input offset voltage trim registers (see the Section 7.4.9 section) to correct the offset and therefore must not be written by the user when offset calibration is used. The calibrated values can be read by reading the OADJ_x_FG0_VINy and OADJ_x_FG90_VINy registers, where x is the ADC core (A or B) 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).