# Improving the precision of ADC using calibration

Question asked by jebaspaul on Nov 8, 2013
Latest reply on Nov 14, 2013 by maithil

Hi,

I am designing a multi-channel DAS. The specificatios or as given below;

Total channels : 24

Resolution of ADC : 16 bit

Gain error : <= 0.02% of FSR i.e <=4mV

Offset voltage : +/-1.2mV

Temperature : 25 DegC to 45 DegC

I am using the following architecture;

My analysis shows that meeting above mentioned gain error specification is not possible without any calibration. It is because the instrumentation amplifier itself has a typical gain error of minimum 0.01% . In addition to that ADC has its own gain error. So, we thought of calibrating our system in following manner.

1. Offset voltage in a signal path can be found by connecting the differential inputs to a known reference.

2. Gain error correction demands a known reference to do so. Since high precision(>=18bit) DAC is costly, I thought of using a calibration technique as given in the document. Let me briefly explain the procedure.

a. Get a low precision DAC. ( say 4 bits)

b. Get a high precision ADC i.e >= 20 bits. ( high precision & low frequency ADC is little cheap compare to high precision DAC )

c. Use the high precision ADC as a digital voltmeter to measure the output of low precision DAC. Keep the reading in FPGA.

d. Now, give the same input to our DAS. Capture the output of DAS and store it in FPGA.

e. Repeat the steps c & d for different voltage levels of low precision DAC. (if DAC is 4 bits - 16 voltage levels)

f. Now we can plot input Vs output. [ Input - High precision ADC output; Output - Designed DAS output ]

g. From the above plot we can find out the gain error slope.

h. Since the gain error is measured through calibration, necessary correction can be made during actual functioning.

1. Is it practically reliable solution.

2. If so, how much gain error can I tolerate.

Please suggest some other well known or reliable method of calibration.

Note: Calibration should be done on board and should not be a manual correction.

Thanks,

Jebas.