Dear TI support team:
I have a board with 2 ADS1255 connect to a msp4302132's SPI port. To verify the noise level of the board and self calibration, I short ads1255's input pin to GND and then pull data from the chip. Both chip's configuration is 100sample/s, Ain0 is pos AINCOM is neg, buffer on, sdc off, PGA = 1, one shot mode read. Two AD works alternatively.
Below is the schematics of the ADC part and refrence part , two ADC share's a 2.5v reference.
Here is the initial code, during this process, one of the AD is put to standby mode, another is given the initial process. After one is finished, the finished one is then put to standby mode and the other ad do the same initial code.
ADS1255_RESET();
delay_ms(200);
while(P2IN&AD3_DRDY==0);
ADS1255_write_reg(0x50,0x02); // put buffer on
delay_ms(100);
while(P2IN&AD3_DRDY==0);
ADS1255_write_reg(0x51,0x08); // single end mode
delay_ms(100);
while(P2IN&AD3_DRDY==0);
ADS1255_write_reg(0x52,0x00); //PGA=1
delay_ms(100);
while(P2IN&AD3_DRDY==0);
ADS1255_write_reg(0x53,0x63); //0x82 100SPS //0x63 50sps
delay_ms(100);
while(P2IN&AD3_DRDY==0);
ADS1255_write_reg(0x54,0x00);
delay_ms(100);
while(P2IN&AD2_DRDY==0);
ADS1255_SELFCAL(); // write self calibration cmd
delay_ms(2000); // wait enough time
The problem is:
After the self calibration and the input pin short to GND. One ADC gives read around 68+-2, another gives 85+-2. The result is almost same when change sample rate from 100 to 50 and then to 2.5( the only change is the noise level becomes lower with slow sample, only 1 for 2.5 sps). And the number is pretty constant.
According to the NOISE HISTOGRAM of the datasheet, there seems an offset I can never get off. Where the offset comes from? Why the self calibration can not eliminate the offset?
Yiyang