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.

ADS1258: ADC output Value is not matching with the Analog Input value

Part Number: ADS1258


Hello,

We are using the ADS1258 part number in our design. We have interfaced the ADC to FPGA through SPI interface. We are able to read the data. But when we tried to convert the data into actual value it is coming half of the input applied. Please let us know how to calculate the output from the count we got from the ADC. Attached the schematics for the reference.

7563.ADC.pdf

  • Hi Guru Hegde,

    Here is the process for converting codes to voltage:

    1. Convert the hex / binary value from the ADC to decimal. Note that the ADS1258 has a binary two's complement coding scheme, so the decimal values can be positive or negative. See table 10 in the datasheet for more information
    2. Calculate the value of 1 LSB, which is the ADC full-scale range divided by the number of bits (FSR / 2^N). For the ADS1258, FSR = 2*1.06666*VREF / gain, and N = 24 (note that I included a gain term in the FSR equation for completeness, but the ADS1258 doesn't have integrated gain so typically this value will just be 1. But if you had external gain, you would need to include that in this equation)
    3. Multiply the code value in decimal by the LSB size to determine the measured input voltage

    As an example, if your code in decimal was 1335769d, VREF = 2.5V, and gain = 1, the measured input voltage is 1335769 * [ (2*1.0666*5) / (1 * 2^24) ] = 0.849 V

    -Bryan