3 different configurations are tested to see if the internal reference voltage is good enough or if an external one is needed for best accuracy.
For the test a LM4040-2.5 0.1% tolerance was used.
Reference | ADC INT REF | ADC EXT REF | DAC REF |
Internal | 2.4999V | 0 | 2.4964V |
External - 10 Ohm resistors | 2.5033V | 2.4991V | 2.4991V |
External - no resistors | 2.5033V | 2.4991V | 2.4991V |
Now I output a set of values through a DAC and read the voltage level back with an ADC and compare input and output values. The voltage range for ADC and DAC are set to 0v to +10V
Internal reference:
DAC | ADC | U [V] |
0x0000 | 0x000 | -0.0070 |
0x0400 | 0x0401 | 2.4920 |
0x0800 | 0x0801 | 4.9919 |
0x0C00 | 0x0C00 | 7.4886 |
0x0FFF | 0x0FED | 9.9282 |
External reference, input and output with series 10 Ohm resistor:
Circuit for the external reference:
DAC | ADC | U [V] |
0x0000 | 0x000 | -0.0041 |
0x0400 | 0x03FB | 2.4920 |
0x0800 | 0x07FE | 4.9983 |
0x0C00 | 0x0BFE | 7.4976 |
0x0FFF | 0x0FE6 | 9.9361 |
External reference, input and output shorted without series Ohm resistor:
DAC | ADC | U [V] |
0x0000 | 0x000 | -0.0042 |
0x0400 | 0x03FD | 2.4970 |
0x0800 | 0x07FE | 4.9992 |
0x0C00 | 0x0C00 | 7.4990 |
0x0FFF | 0x0FE9 | 9.9381 |
The DAC does not seem to be capable of driving all the way up to the maximum value. More measurements are needed.
Returned ADC values seem to be best with the internal reference. The external reference without series resistors has the best voltage measurements, but adding cost to the BOM. Lower voltage measurements seem to be shifted 4-12mV (2-5 LSBs) to the negative side.
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.