Hello Everyone
We are having a problem with the AD7888ARUZ. This problem is that the results of the ADC sometimes jump approxemetly 64 bit while the input stays relatively constand, and no more than 1-4 value differences are expected.
In the below graph we has set the input value of the ADC to drop from a high signal to zero. On each step we take 10 measurements from the ADC:
Y-as: ADC value
X-as: sample number (1ms time in between)
In the above graph can be seen that the jump always is the same size and happens around the same ADC values.
Taking a closer look at one of the spikes, the circled one, we get the following graph:
It can be seen that the value jumps approximately 64 bit each time above and below the expected value.
If we take a closer look to the values from the first spike:
dec |
hex |
bin |
|
576 |
240 |
000101000000 |
|
576 |
240 |
000101000000 |
|
579 |
243 |
000101000011 |
|
515 |
203 |
000100000011 |
|
639 |
27F |
000101111111 |
|
581 |
245 |
000101000101 |
|
576 |
240 |
000101000000 |
|
580 |
244 |
000101000100 |
It appears that the MSB and LSB of the conversion is done is 2 steps. And that the voltage on the ADC input differs slightly when measuring the LSB and MSB. Meaning that of the first conversion the value is below 64 so the 7th bit is set low and when the second conversion is done the value is above 64 so all lower bits are set to 0 instead of 1. And on the next read the other way around.
The connection of the ADC in our product is shown in the below image:
Is there anyone here that knows why the spikes happen and perhaps also knows a solution to it? or otherwise point me in the direction of solving the issude.
Kind regards,
Wouter