8.6 Convert the numerical data to a meaningful value
Once you have the A/D code, you need to convert it to a meaningful value. The first step is to convert it back to the actual measured voltage. Afterwards you may need to convert the voltage to some other engineering units (for example, the voltage may come from a temperature sensor, and then you would need to convert the voltage to the corresponding temperature according to the temperature sensor’s characteristics).
Since there are a large number of possible input devices, this secondary step is not included here; only conversion to input voltage is described.
It is possible to combine both transformations into a single formula for computing efficiency. To convert the A/D value to the corresponding input voltage, use the following formulas:
Conversion Formula for Bipolar Input Ranges
Input voltage = A/D value / 32768 * Full-scale voltage
Example: Input range is ±10V and A/D value is 17761:
Input voltage = 17761 / 32768 * 10V = 5.420V
For a bipolar input range, 1 LSB = 1/32768 *
Here is an illustration of the relationship between A/D code and input voltage for a bipolar input range (VFS = Full scale input voltage, 10V or 5V):
A/D Code | Input voltage symbolic formula | Input voltage for ±10V range |
. . . | . . . | . . . |
0 | 0 | 0.0000V |
1 | +1 LSB | 0.00032V |
. . . | . . . | . . . |
32767 | VFS - 1 LSB | 9.9997V |
Conversion Formula for Unipolar Input Range
Input voltage = (A/D value + 32768) / 65536 *
Example: Input range is
Input voltage = (17761 + 32768) / 65536 * 5V = 3.855V
For a unipolar input range of
Here is an illustration of the relationship between A/D code and input voltage for a unipolar input range (VFS = Full scale input voltage):
A/D Code | Input voltage symbolic formula | Input voltage for |
0V | 0.0000V | |
1 LSB (VFS / 65536) | 0.000076V | |
. . . | . . . | . . . |
VFS / 2 - 1 LSB | 2.4999V | |
0 | VFS / 2 | 2.5000V |
1 | VFS / 2 + 1 LSB | 2.5001V |
. . . | . . . | . . . |
32767 | VFS - 1 LSB | 4.9999V |
Page 30 |