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.

ADS1158: only get half of the output range for single-ended input?

Part Number: ADS1158

Hi TI,

We're using the ADS1158 in a new system and it appears to be working well, but we're confused by one thing.

The datasheet describes the output as a signed 16-bit integer, which can range from (roughly) -32K to +32K. No problem. But for our single-ended inputs (0V to 5V), we're seeing outputs in the range of 0 to +32K, which was a surprise. I had assumed (and we know how that goes) that it would give us a full 16 bits of resolution across any range, either by providing an unsigned result (0 = 0V, 64K = 5V), or letting us convert the signed to unsigned (-32K = 0V, +32K = 5V). The datasheet subtly suggests that this is by design, but I wanted to check with you to confirm that for single-ended inputs you only get 15 bits of resolution (or that I'm operating the part incorrectly, which is also a distinct possibility).

Other than that, it's been highly accurate, easy to use, and seems like a fantastic part.

Thanks for any advice you could provide!

Best, -Mike Grusin

  • Hi Mike,

    The ADS1158 makes all measurements with the AINP input with respect to the AINN input.  If the AINP input is greater in voltage than the AINN input, then the output code will be positive.  If the AINP input is less voltage than the AINN input then the output code is negative.  So with a ground referenced single-ended input, the AINCOM input is fixed at ground, and because AINP can never go below ground (with a unipolar analog supply), AINP can never go less than AINN .  So with this configuration you will only see the positive range of output codes (15 bits).  Sometimes this doesn't really matter all that much depending on the noise of the system as you may not do better than 15 bits anyway.

    If you connect AINCOM to a potential that is not ground, then it is possible to capture all 16 bits.  If the input range is 0 to 5V, then you could set AINCOM to 1/2 of the range for a relative measurement to 2.5V.  You would then have to make a calculation in firmware to add 2.5V to each result.

    However, remember that the output code is in proportion to the reference voltage.  If you don't match the reference voltage with the range measured then you will also reduce the total number of codes available.  Previously you were measuring 0 to 5V and now you are measuring +/-2.5V with AINCOM at 2.5V.  So an appropriate reference voltage would be 2.5V (producing a full-scale range of +/- (1.06*Vref).

    Best regards,

    Bob B

  • Thank you very much for the clarification Bob, it's greatly appreciated. That makes perfect sense, and I'll continue using this part with confidence.

    Have a great day, -Mike.