I'm testing ADS1120 and came into the following situation: measured results is 4x smaller then expected. Here is my test setup:
Channel 1 (Vout A) of DAC8552 is used as voltage source which is directly connected to ADS1120 channel 1 (Ain 0). They share the same external reference +2.5V. ADS1120 register setup is the following:
SPI.transfer(B01000011); // Write four bytes starting at configuration register 00h
SPI.transfer(B10000001); // Register 00h: AINp=AIN0, AINn=AVss, Gain=1, PGA disabled and bypassed
SPI.transfer(B00000000); // Register 01h: 20SPS, 256KHz modulator clock, Single shot, disable temp sensor, Current sources off
SPI.transfer(B01100001); // Register 02h: External Vref, 50Hz rejection, PSW off, IDAC not used
SPI.transfer(B11111100); // Register 03h: IDAC1 not used, IDAC2 not used, dedicated DRDY
For example if I send 0x8000 to DAC8552 I got 0x2012 on ADS1120 (small error of LSB=12 is reasonable since everything is testing on breadboard but MSB value is 4x smaller).