18.4.2 D/A Conversion Formulas for Bipolar Output Ranges
In Bipolar output ranges, the D/A voltage will range from (– full scale voltage) to (+ full scale voltage - 1LSB). Thus the full scale range is 2x the full scale voltage.
12-bit D/A:
D/A code = (Output voltage / Full scale voltage) 2048 + 2048
Output voltage = ((D/A code – 2048) / 2048)
Full scale voltage 1 LSB = Full scale voltage / 2048, or 1 LSB = Full scale output range / 4096
16-bit D/A:
D/A code = (Output voltage / Full scale voltage) 32768 + 32768
Output voltage = ((D/A code – 32768) / 32768)
Full scale voltage 1 LSB = Full scale voltage / 32768, or 1 LSB = Full scale output range / 65536
Example for 12-bit D/A:
Output range is bipolar 10V (full scale voltage = 10V, full scale range = 20V); desired output voltage = 2.000V.
D/A code = 2V / 10V * 2048 + 2048 = 2457.6 => 2458
1 LSB = 10V / 2048 = 4.88mV
The D/A code should be rounded to the nearest integer for best accuracy. The following table illustrates the relationship between D/A code and output voltage for a bipolar output range (VREF = Reference voltage).
12-Bit D/A Code | Output Voltage Symbolic Formula | Output Voltage for 0-10V Range |
0 | -VREF | -10.0000V |
1 | VREF + 1 LSB | -9.9951V |
... | ... | ... |
2047 | -1LSB | -0.0049V |
2048 | 0 | 0V |
2049 | +1LSB | 0.0049V |
... | ... | ... |
4095 | VREF - 1 LSB | 9.9951V |
Last updated