Q
We are using AD7705 AD converter and we have noticed some inaccuracy after self
calibration.
These spikes in the picture (value goes down to 34500) are mark points when
calibration is done (they are not values from ADC).
From the picture we can see that very often when calibration is done, values
from ADC are jumping from 34570 to 34600 and back again. Is this kind of
jumping normal or is there anything we can do to prevent this?
Procedure how we use ADC:
- Write registers (clock "00001111" and setup "01000000")
- Wait drdy and read data (done 16 times)
- Write registers (clock "00001111" and setup "01000000")
- Wait drdy and read data (done 16 times)
- ......
Other information:
Master clock 4.9152 MHz
Gain is 1
Filter 500 Hz
Reference voltage 1.225 V
A
The AD7705 operates with a 2.4576MHz clock max. The part has an option where a
4.9152MHz clock can be applied to the part and it is internally divided by 2. I
assume the customer is using this option.
For a gain of 1, 3V operation, 500 Hz output data rate, the AD7705 has an rms
noise of 270 uV. The p-p noise is 6.6 x 270 = 1782 uV. With a 1.225V reference,
the LSB size is 1.225/2^16 = 18.68 uV in unipolar mode or 37.30 uV in bipolar
mode. The customer is using bipolar mode so, the p-p noise is equal to
1782/37.3 = 48 bits.
A calibration is basically a conversion with a known analog input voltage.
Therefore, the calibration has the same noise as the conversion. The customer
is seeing a jump of 30 codes due to the calibration. From above, this is
possible since the noise is 48 codes.
To improve the accuracy of the calibrations, the customer should calibrate a a
slow output data rate. This will give the best performance since the noise will
be less at slow output data rates.