Hi Bart,
Welcome to the TI E2E forums, and please forgive the delayed response to your question!
If you're seeing 1000 ppm of non-linearity, then you are only getting about 10-bits of performance out of the 31-bit ADS1281. That tells me there is a large source of error somewhere!
The most common source error with that kind of magnitude would be a gain error! Usually this is the result of a voltage divider effect at the input:
- The sensor or voltage input has a large output impedance.
- The input is directly connected to the ADC (unbuffered).
- The ADC (which may not have a built-in PGA as is the case with the ADS1281) has a comparable input impedance, relative to the input source (55kOhms in the case of the ADS1281).
The measured input voltage is the output of this voltage divider. Modeling this effect can get complicated as the ADC's input stage has some switching components. ADC transient behaviors will then be affected by complex impedances and those may depend on the input voltage, temperature, PCB layout, etc...
So my guess is that you are missing a buffer on the ADC inputs. Please let me know if this is correct!
(Figure 56 in the ADS1281 datasheet shows an example buffer circuit. We can also help recommend other options if needed).
I would be interested to take a look at your data and a schematic of you circuit if you are able to share. You can email me directly at pa_deltasigma_apps<at>ti.com (replace "<at>" with "@").
Best Regards,
Chris