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.

ads1263 Getting All 32 Bits If Not Expecting Negative Values

Other Parts Discussed in Thread: ADS1263

I am using an ads1263 ADC, and I want to make use of all 32 bits of conversion data.  I am not expecting negative-valued results  - my results will range from 0 V to 2.5 V.  When I use the internal 2.5 V reference voltage for my ADC1 reference voltage (REF_MUXP = 000 and REF_MUXN = 100 or 000), and I put 0 V across the ADC selected inputs, I get a reading close to 0x00000000.  This is expected.  The range also extends to -VRef.  Correspondingly, a full-scale saturated reading yeilds 0x7FFFFFFF, which is expected for two's complement, but not preferred.

It would be best (for my application) if I could just have the ADC report an unsigned 32 bit value, where full-scale (2.5 V) was 0xFFFFFFFF and the lowest value (0 V) was 0x00000000.

What would I need to do to actually get use out of that last bit that is reserved for the negative spectrum in two's complement?  Is it even worth trying to get one more bit?  Why is the ADC designed to report two's complement and have the full range be +VRef to -VRef instead of +VRef to 0 V?

Any help would be appreciated.  I am new to using ADCs in embedded systems.

  • Hi Tony,

    It sounds like you are performing a "single-ended" measurement (i.e. ground referenced).

    The ADS1263 inputs are differential - this is important at high-resolutions, where many applications make use of the differential measurement to remove common-mode noise. You can still perform a single-ended measurement by tying the ADC's negative input ("AINN") to ground - or some other common-mode voltage. Here are two ways you can configure the single-ended measurement, and some comments on each method:

    1. Connect AINN to GND, and AINP to the 0 - 2.5V signal.
      The ADC will only see a positive signal and output codes will range from 0x000000 to 0x7FFFFF (for Vref = 2.5V and PGA = 1V/V).
      ...Keep in mind that inputs near 0V can still produce negative results due to noise and offset, so make sure your code can handle SIGNED data.
      ...In this configuration, there is no way to get the ADC's full 32-bit code range, except to perform the scaling in your software.
      ...By only using 1/2 of the ADC's input range, you lose 1-bit of ENOB (this is the ADC's "dynamic range", not to be confused with "resolution")
      ...The ADS1263 has such a large dynamic range to begin with; most applications won't need the the full-dynamic range of the ADC.

       
    2. Connect AINN to 1.25V, and AINP to the 0 - 2.5V signal.
      In this configuration, the ADC sees an signal ranging from -1.25 to +1.25V. Now you can apply gain (PGA = 2 V/V) to make the input signal range from -2.5 to +2.5V.
      ...This may require a few extra components in your circuit to produce the 1.25V common-mode voltage.
      ...This makes full use of the ADC's dynamic range and all of the output codes (however, they are still in 2's compliment format).

    I hope that help!

    Best Regards,
    Chris