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.

• Resolved

ADS131A04: Differential Input Signal with DC Offset from a Single Supply ADC Output Codes

We are utilizing the ADC as a single 3.3V device with an external REFEXT of 3.0V supplied by a REF1930. The analog signals are offset to 1.5V also from the REF1930. We are using multiple device chaining with the first device configured as asynchronous interrupt mode and the remaining devices configured as synchronous slave mode. All devices are configured for 32 bit SPI word transfers and Hamming code is turned off. According to the datasheet 9.5.1.5 Data Words in Table 10. 24-Bit Ideal Output Code versus Input Signal the output codes are output in 2's complement format. What is the proper method to compensate for the 2's complement? Can this be turned off?

Thank you,

Aaron

• Hi Aaron,

Sorry, but the output data format cannot be changed in our devices.

To convert the output data word, test the MSB to see if it's 1 or 0. If it's set to 0, simply multiply the decimal equivalent by the LSB size. If it's set to 1, you first need to subtract 2^24 from the decimal equivalent, then multiply by the LSB size. *edited 6/8*

The LSB size is equal to 2*VREF/Gain/2^24.

Though it's a different device, there is an Excel tool for the ADS127L01 that includes an ADC Code Conversions tab if you're interested:

.

Best Regards,

Ryan Andrews

• In reply to Ryan Andrews:

Hi Ryan,

The Excel tool only seems to multiply the decimal equivalent by the LSB. I doesn't appear to subtract 2^24 when MSB is 0. Is my understanding correct?

For this scenario, Is there a conversion that will keep the ADC code as a signed integer?

Thanks and Regards,
...doug
• In reply to Doug Kehn:

Doug - good catch. I accidentally said that backwards. When the MSB is 0, you multiply the decimal equivalent by the LSB. Only when the MSB is 1 do you need to subtract 2^24 before multiplying by the LSB.

Sorry for the confusion, I'll also edit the post above.

Best Regards,

Ryan Andrews