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.

ADS8689:Acquisition data is strange

Part Number: ADS8689
Other Parts Discussed in Thread: OP07, ADS8695

There is a 10% error in the data obtained from the output of ADS 8689. Is there any cause?

The initials are set to unipolar 0V ~ 10V.
After sending the command [32'b1101_0000_0001_0100_0000_0000_0000_1001], read the value of ADC.

※ English may be strange. I'm sorry

  • Hi Lucas,

    Numerous reasons can lead to a large error: large front-end resistance, unstable reference voltage, bad layout, signal source etc. It will be good to check your circuit schematic, also need more information about your test (your input signal including signal level and generator, the raw data your got). Also, I would like to look at your timing to make sure that it is correct, two frames including CONVST/CS,SCLK,SDO and SDI will be great.

    Your command to program RANGE_SEL_REG is correct but I'm not sure if you sent it to ADC continuously or just once after the device is powered up.

    Looking forward to seeing your more information.



  • Dale,

    Thanks for the response.

    At first I really attach a circuit. Will you have any problem?

    I read the output of the ADC in the state that fixed the present conditions, an input level to 8.91V.

    Next,I control ADS8689 in FPGA.
    About RANGE_SEL_REG, at onece command transmits after reset cancellation after power supply injection.
    The transmission command that I confirmed was the really same as logic simulation.

    The output from ADC becomes like the chart below.
    The data which I read "are 16'hC87E".
    Because it is with C87E(h)x156.25μV=8.019V, 10% deviate from an ideal level.

    Anything else I'm missing?
    Best Regards,  Lucas.Ya

  • Hi Lucas,

    Thanks for your information. I will look into the detail and get it back to you soon.

    Best regards,


  • Hi Dale,
    Thanks for the response.
    Your prompt reply would be highly appreciated.

    Best regards,
  • Hi Lucas,
    I read your question by chance and noticed that the output from the ADC in your chart could be E43Fh instead of C87Eh, since I assume that you chose the SPI-00-S protocol(CPOL = 0, CPHA = 0). That would lead to a measured Value of 58431 x 156.25uV = 9.13V.
    Best regards
  • Hi Salacia

    Thanks for the response.

    At first I thought so.
    In that case, I convert 0V by an ADC, a value is wrong,
    The protocol makes CPOL = 0, CPHA = 0.
    Sorry if I have misunderstood.

    Best regards,
  • Hi Lucas,

    I have tested that now, too. For the test I connected an adjustable voltage source (not calibrated) to the analog Input of the adc and changed the Input Range to 0-10V. At a selected voltage of 9.109V, the adc sends this as a Response (blue = SCLK, yellow = SDO):

    My microcontroller reads this as E43Fh which corresponds to  58431 x 156.25uV = 9.129V. Compared to your Chart, I think it looks the same.

    I don't know if I got you right, but 0V looks like this:

    If I change the input range to a signed value range (e.g. -12 to 12V), the adc's response for 0V will look like this:

    Are you really sure you have exactly 8.91V at the Input of your adc? Did you measure it for example?

    Best regards

  • Hi Lucas,

    I apologized for late response.  Salacia is right, the data from your timing is 0xE43F and not 0xC87E if your both CPOL and CPHA  are 0s. By checking each SDO data bit at the rising edge of SCLK(this is first edge as CPHA=0), the actual data your got is 0xE43F which is 9.129V regarding 2.5Vref input range(0-10.24V). The timing Salacia captured and showed is clear to see this.

    I have same questions, I do not know if you accurately measured the voltage on ADC input, usually a precision DC signal generator should be used for the test prior to the amplifier. Also,  the OP07 is not a precision amplifier for this 16-bit ADS8695 ADC because it has higher offset voltage and other specifications, the 10kohm in the feedback of amplifier can create a noise, the resistor in the RC filter is 0ohm if my reading is correct, and this resistor with the capacitor will not be able to filter any noise from the front-end circuit and source.

    I attach a simple excel file for the voltage calculation from the code.

    ADS8681 Family_FormatConversion.xlsx

    Thanks, Salacia.

    Best regards


  • Hi Salacia and Dale,

    I don’t know how to thank you for your accurate suggestions.
    There are many things I need to reconsider.

    Thank you for pointing that out.

    Best regards,