I am using a ADS1220 connected over SPI to an FPGA. I have it set up as follows:
AVss = DVss = GND
AVdd = DVdd = 5V (the data sheet shows better noise performance with 5v vs 3.3v)
AREFP = 3.3V
AREFN = 1.65V
AN0 = my signal, ranging from .1V to 3.2V or so
AN1 = 1.65V
20hz continuous mode, everything else like PGA defaulted. So no PGA, no gain, etc.
My results are pretty much like I expect them. However, through a lot of my range var away from 0v, it seems like the ADC is only really using the most significant 14 bits. then the next 4 don't change as expected in any consistent manner, and then the last 6 bits are noise as expected. This seems repeatable with both a precision potentiometer and a transducer I am using. As you can see below, with a potentiometer I get steady relatively noise free conversions, just missing 4 bits that should be useful data.
This is the potentiometer. You can see it works in discrete steps, and I can't hit anything between
This is my analong out pressure transducer, it shows a similar output just more noise
I don't think it is a SPI issue because those 15-18 bits work fine when AN0 is close to 0. I'm doing no weird byte collection, just shifting in 24 bits. My thoughts are it is something involving a reference difference minimum, but the only one I can find is 0.75V.