Corporation Computer Hardware User Manual

Copyright 2001 Diamond Systems Corp. Ruby-MM-1612 User Manual V1.1 P. 15
Offset Binary Coding (for bipolar output ranges)
This method takes into account the fact that the lowest output voltage is not zero but a negative value.
The output voltage is given by:
Output Voltage = (Output Code / 2048) x Full-Scale Voltage - Full-Scale Voltage
Example: Output code = 1024, full-scale voltage = 5V
Output voltage = (1024 / 2048) x 5 - 5 = (0.5 x 5) - 5 = -2.500V
Note the difference between this output voltage to the output voltage using straight binary coding shown
above using the same output code.
Conversely, the output code for a desired output voltage is given by:
Output Code = (Desired Output Voltage / Full-Scale Voltage) x 2048 + 2048
Example: Desired output voltage = 0.485V, Full-scale voltage = 2.5V
Output Code = (0.485 / 2.5) x 2048 + 2048 = 0.194 x 2048 + 2048 = 2445
(rounded down)
The relationship between D/A resolution and Full-scale voltage is:
1 LSB = 1/2048 x Full-Scale Voltage
Example: Full-scale voltage = 5V; 1 LSB = 5V / 2048 = 2.44mV
The reason that 1 LSB for a bipolar range is twice the magnitude of 1 LSB for a unipolar range with the
same full-scale voltage is that for the bipolar range, the full voltage span is twice the magnitude. For
example, a unipolar range with a full-scale voltage of 5V has a range of 0V to 5V, for a total span of 5V.
However, a bipolar range with a full-scale voltage of 5V has a range of ±5V, for a total span of 10V.
Here is a brief overview of the relationship between output code and output voltage:
Output Code Explanation Output Voltage for ±±5V Range
0 Negative full scale -5V
1 Negative full scale + 1 LSB -4.9976V
2047 -1 LSB -.0024V (-2.44mV)
2048 0V 0V
2049 +1 LSB +.0024V (+2.44mV)
4095 Positive full scale - 1 LSB +4.9976V
Note: Again, an output code of 4096 would be required to generate the positive-full-scale output
voltage, but since that is impossible, the maximum output voltage is 1 LSB less then positive full scale.