Hi,
I'm working with the ADS8881 and have been observing what seems to be sticking codes. For the image below, the ADC is reading a 10 Hz triangle wave with Vlow = 2.5V and Vhigh = 3.0V. I've plotted the output in hex. I've looked at the input to the ADC on the oscillosope and it looks like a normal triangle wave with minimal noise.
Below is a zoomed-in version. The two "plateaus" are at 0x11430 and 0x114b0.
For the test (after-op-amp-mod-5v-2p5) above, the following schematic was used. This is only a partial schematic, so the 5V supply (the output of an LDO) has more bypass caps on it than are shown below.
However, when we use a design (see below) very close to a reference design given in the ADS8881 datasheet and give the ADS8881 a 4.5V reference, then the results (also below) look very bizarre.
Here's the corresponding data (same triangle wave input as with the other design), with a section zoomed in at right.
If the input were noisy on the reference were noisy, I'd expect to see a thick fuzzy ramp or random missing codes. Instead, I'm seeing two bands and not much in between.
SPI:
3-Wire operation Without a Busy Indicator (3-Wire Operation: CONVST Functions as Chip Select)
CONVST = high for 1.0 usec with SCLK = low
length of time between CONVST = low to SCLK = high is 20 nsecs
SCLK = 25 MHZ