This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ADS7956 Data Values don't match device specification

Other Parts Discussed in Thread: ADS7956

Hi,

I'm interfacing the ADS7956, which is a 10 bit 12 channel ADC, with the Arduino Uno using SPI. I'm able to establish successful communication with the device, but the values seem incorrect. I'm supplying the channel voltage with a digital power supply (which is working, as I've verified its voltage with a voltmeter.) I've also verified that the data the Arduino recieves, which I then print, is the same as the data output by the device by checking it on an oscilloscope from the ADC side of the connection. All the connections to the chip seem functional too. 

The ADC is a 10 bit device, and according to the datasheet, it sends the MSB first on a falling SCLK edge, the first 4 bits are the channel address, then the subsequent 10 are my converted data and the last two bits are useless. So, when I mask out the top 4 bits and shift the result right 2 bits, that should give me the 10-bit conversion result. I'm using Arduino's SPI.transfer16 to get the 16-bit result, then masking and shifting it to the 10 bit value. 

For a 2.5 V range, I would then expect the result for a 2.5 volt channel voltage to be 1023, or 1111111111b. What I'm getting instead is 872, or 1101101000b. When my voltage is higher than this, I also get 872. Other values are similarly "off".

Any ideas on why this could be happening would be much appreciated. I don't think it's a problem with the communication with the Arduino because, like I said before, I checked the SDO line on an oscilloscope and the values on it matched the values the Arduino is recieving. 

Thanks!

  • Hello A Rau

    This does sound strange. Would you be able to provide a schematic and a scope shot at start up when the ADC is being configured and at data out? Seeing the behavior of the decive will help direct to the most probable problem area. Also what mode are you using the device in, there are three modes available?

    Thank you

    Cynthia