SERIES IP220 INDUSTRIAL I/O PACK
1
2
-BIT HIGH-DENSITY ANALOG OUTPUT MODULE
Max. Linearity
Error (%)
Max. Offset
Error (%)
Max. Gain
Error (%)
Max. Total
Error* (%)
+/-0.012
+/-0.4
+/-0.2
+/-0.612
Max. Linearity
Error LSB
Max. Offset
Error LSB
Max. Gain
Error LSB
Max. Total
Error LSB (%)
+/-0.5
+/-0.25
+/-0.25
+/-1.0 (0.025)
and gain is important because the worst case uncalibrated error can
be significant (although the typical uncalibrated errors observed may
be much less). The maximum uncalibrated error is summarized as
follows:
DAC4813AP 0 250C:
Linearity Error is +/- 0.012% maximum (i.e. 1/2
LSB).
Bipolar Offset Error is +/- 0.4% FSR (i.e. 20V SPAN) maximum.
Gain Error is +/- 0.2% FSR maximum.
Table 3.3 summarizes the maximum uncalibrated error
combining the linearity, offset and gain errors:
Table 3.3: Maximum Overall Uncallbrated Error
This represents the worst case error with all errors summed.
Typically, each error component is much less than its maximum
and all error components do not reinforce each other. Thus,
typical errors are much less than that shown in the table above.
Calibrated Performance
Accurate calibration of the IP220 can be accomplished through
software control by using calibration coefficients to adjust the analog
output voltage. Unique calibration coefficients are stored in the
PROM
as 1/4 LSB's for each specific channel. Once retrieved, the
channel's unique offset and gain coefficients can be used to correct
the data value sent to the DAC channel to accurately generate the
desired output voltage.
Table 3.4 summarizes the maximum calibrated error combining
the linearity and adjusted offset and gain errors:
Table 3.4: Maximum Overall Calibrated Error
Thus, correcting the value programmed to the DAC Channel
Register using the stored calibration coefficients provides the means
to obtain excellent accuracy.
Data is corrected using a couple of formulas. Equation (1)
expresses the ideal relationship between the value (ideal_count)
written to the 12-bit DAC to achieve a specified voltage within the -10
to +10 Volt output range assuming Bipolar Offset Binary (BOB) data
format (see Section 2 for details).
Ideal_Count = [(Count_Span / Ideal_Volt_Span) *
Desired_Voltage] + Ideal_Zero_Count
(
1
)
where,
Count_Span
= 4096 (a 12-bit converter has 212 possible levels)
Ideal_Volt_Span
= 20 Volts (for the bipolar -10 to +10 Volt range)
Ideal_Zero_Count
= 2048 (count for an ideal output of 0 Volts)
Equation (1) can be simplified using the above constants, since
the range and DAC are fixed on the IP220. Equation (2) results:
Ideal_Count = [(4096 / 20)* Desired_Voltage] + 2048 ( 2 )
Using equation (2), one can determine the ideal count for any
desired voltage within the range. For example, if it is desired to
output a voltage of +5 Volts, equation (2) retums the result 3072 for
Ideal_Count. If this value is used to program the DAC output
(following conversion to Hex and left-justification), the output value
will ap5 Volts to within the uncalibrated error specified
in
Table 3.3. This will be acceptable for some applications.
For applications needing better accuracy,
the software
calibration coefficients should be used to correct the Ideal_Count
into the Corrected_Count required to accurately produce the output
voltage. This is illustrated in equation (3):
Corrected_Count = [(Idea Gain_Correction) *
(Ideal_Count - Ideal_Zero_Count)] + (Ideal_Zero
Offset_Correction)
where,
Ideal_Gain = 1
Gain Correction
= PROM_Gain_Error / 4 / 4096 =
PROM_Gain_Error / 16384
Offset_Correction
= PROM_Offset_Error (4)
(3)
Ideal_Count is determined from equation (2) and Ideal_Zero_Count
remains 2048. PROM_Gain_Error and PROM_Offset_Error are
obtained from the PROM on the IP220 on a per channel basis.
Equation (3) can be written as (4) by making the listed substitutions:
Corrected_Count = [(1 + (PROM_Gain_Error / 16384))
(Ideal_Count - 2048)] + (2048 + (PROM_Offset_Error / 4)) ( 4 )
Using equation (4), you can determine the corrected count from
the ideal count. For the previous example, equation (2) returned a
result 3072 for the Ideal_Count to produce an output of +5 Volts.
Assuming that a gain error of +13 and an offset error of -25 are read
from the PROM on the IP220 for the desired channel, substitution
into equation (4) yields:
Corrected_Count = [(1 + (13 / 16384)) (3072 - 2048)) + (2048 +
(-25 / 4)) = 3066.56
If this value (rounded to 3067) is used to program the DAC
output (following conversion to Hex and left-justification), the output
value will ap5 Volts to within the calibrated error specified in
Table 3.4 (+/-1 LSB). Note that the quantization error (up to 0.5
LSB) introduced by rounding to 3067 is not included in the overall
accuracy specification.
Calibration Programming Example
The available bipolar range, centered around 0 Volts is -10 to
+10 Volts. Assume it is necessary to program channel 0 with an
output of -2.5 Volts.
1. Write to the Transparent Mode register @ BASE + 20H with data
of
FFFFH
to select the Transparent Mode. In this mode, data
written to the Channel Register will be automatically transferred
from the input latch to the output latch and converted to the
desired output.
2. Read the
PROM
to retrieve the channel's unique offset
calibration error data. For channel 0, read byte @ BASE + 41H.
An 8 bit two's compliment number is read (assume 20H). This
corresponds to a PROM_Offset_Error of +32 decimal.
- 9 -