Hello, I am trying to setup my ads131m04evm board and I have noticed some very weird behavior when reading its output values.
I am inputting the same fixed 1v dc signal to all 4 channels. I measured the voltage being seen at each adc input, and as expected the positive input sees 1v and the negative 0v. However, the output doesn't match up with this at all. Channels 0 and 2 read about the same wrong value, while 1 and 3 do the same but are reading significantly higher.
Channel 0: 1.3756v
Channel 1: 1.9219v
Channel 2: 1.3753v
Channel 3: 1.9228v
Using the gain calibration registers i was able to correct channels 0 and 2 to get the correct input value of 1v, as I saw that the gain was consistently off by a factor of .72 across multiple input values. I used the same method to calculate the gain correction register value for channels 1 and 3 and set it to .52, but this actually caused the output values to be increased. I am now seeing 2.58v on those channels. There isn't any zero error so I haven't tried changing the offset registers.
Another oddity that I noticed is that with a gain of 1, I shouldn't be able to read any higher than +/-1.2v but channels 0 and 2 seem to read up to 1.48v. Here are my register values, nothing seems out of line other than ID. The only registers I am currently writing to are the gain correction registers.
Value of Register 0: 2401
Value of Register 1: 050f
Value of Register 2: 0510
Value of Register 3: 0f0e
Value of Register 4: 0000
Value of Register 5: 0000
Value of Register 6: 0600
Value of Register 7: 0000
Value of Register 8: 0000
Value of Register 9: 0000
Value of Register a: 0000
Value of Register b: 0000
Value of Register c: 5ccc
Value of Register d: cc00
Value of Register e: 0000
Value of Register f: 0000
Value of Register 10: 0000
Value of Register 11: 42aa
Value of Register 12: ab00
Value of Register 13: 0000
Value of Register 14: 0000
Value of Register 15: 0000
Value of Register 16: 5ccc
Value of Register 17: cc00
Value of Register 18: 0000
Value of Register 19: 0000
Value of Register 1a: 0000
Value of Register 1b: 42aa
Value of Register 1c: ab00
Value of Register 3e: 0000
The last thing I should mention is that I have an early engineering prototype of this board. Is this a known issue with early boards that has since been fixed in the newer revisions that have been released? Any insight into this problem would be greatly appreciated, thanks in advance!