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: Need help with ADC output code scaling

Part Number: ADS1258

Hey folks,

I am using the ADS1258 to gather data from 16 different sensors. I'm in bipolar configuration with +2.5V AVDD, VREFP and -2.5V AVSS, VREFN. When taking a reading of a +2.5V signal, the decimal counts value that I am getting is about 3.9million. Taking a reading of -2.5V I get a decimal counts value of -3.9 million. Both of these values are about half of the respective positive and negative VREF values specified in the datasheet (Expected value of 0x780000 for VREFP). This half-range bug appears regardless of sampling speed, so it almost feels like I am losing a bit somewhere.

I am in the process of reviewing my code to make sure that the data-capture is correct. Is there any hardware or register configuration that would contribute to this half-range reading?

Thank you,

  • Hi Frank,

    The output coding and VREF voltage from the ADS1258 datasheet are shown below.

    Note that +VREF corresponds to code 780000h, while -VREF corresponds to 87FFFFh. Also note that VREF = VREFP - VREFN, which in your case is VREF = 2.5V – -2.5V = 5V. This is why you are seeing ~390000h for +2.5V, since you are only using half of the full-scale range. You can either reduce the reference voltage or increase the input voltage to use more of the ADC's code range.

    -Bryan

  • Hey Bryan,

    Thank you for getting back to me on this. Configuring the voltage difference between VREFP and VREFN to be just 2.5V instead of 5V brought the desired precision. Thanks for your help! I believe my error was interpreting the +V_REF and -V_REF in Table 10 to be equivalent to VREFP and VREFN.