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.

ADS8688A: Range issue

Part Number: ADS8688A

I am testing my microcontroller board which has 2 ADS8688A's on board.

The ADC is setup to use the internal reference.

I have a configuration function that does the following.

1) Perform a software reset.

2) Set Feature select so I can read back the channels and range information.

3) Set the range for each of the channels.

4) Set to Auto scan all channels.

When I set to a specific range the result is off by a factor of 2.  For example if I am in range 0101 (0 to +10.24), I get the correct answer if I use the calculation for range 0110 (0 to 5.12).

The calculation I am using for the uni-polar range is V = read back ADC value * (FS / 65536)

The calculation I am using for the bi-polar range is V = read back ADC value * (FS / 65536) + negative full scale

  • Hello Gerard,

    You are calcualting the voltage readings correctly. This device outputs in straight binary, thus one way of thinking about it is, when using a bipolar range, a negative value will actaully be denoted with a leading 0.

    There are a couple things to do here to find and isolate the problem.
    -I would suggest using one channel to test and build your software, once you have one channel working and communicating correctly, you can then expand to adding the auto scan.
    - When testing the readings, use a known DC input, this way you know what to expect as your output.
    -When configuring your channel selection and range input, be sure to read back those registers after programming them to make sure that they are correctly configured. Currently, when you do the auto scan, are the channel and range input readings as expected? Again this would be easier to debug if only looking at one channel first

    Timing is the most common issue in situations like this, if you can get a scope and probes on your digital lines, SCLK , SDI, CS, and SDO to make sure that what you are inputing to your device is correct, this will make it easier to debug your digital communications.
    Let me know what you find, and we can go from there

    Regards
    Cynthia
  • Hi Cynthia,

    The problem was that the data being read back by was off by one bit.  The MSB was missing since the ADC shifts the data out on the 16th bit of the write cycle.  I had to change SPI modes between configuring the device and doing the conversion.