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.

Linux/ADS1256: Inaccurate AC V reading from ADC

Part Number: ADS1256

Tool/software: Linux

I'm trying to read data (differential) every 1 ms, setting DRATE to 1000sps. But although mu input is an analog wave of peak to peak 5V, I read only 4.7 peak to peak on the Console of my Raspberry Pi. Why is there such an error? Is there a preferred correlation between drate and timed reads?

Thanks

  • Hi Adithya,

    Welcome to the TI E2E Forums!

    There are couple things that might be happening, but I need some more information...

    • What is the frequency of your input signal?
    • Are you using the ADS1256's input buffer?
    • What is the output impedance of your signal source? 

    Depending on the input signal frequency, the ADC's sampling "instances" may not correlate to the peaks of your signal.

    Additionally, since this is a delta-sigma ADC, the input signal is not sampled at any one particular instance in time, but is integrated over a small period of time and averaged by the digital filter. Therefore, you'll need to consider the effects of the digital filter and if it might be attenuating your signal.

    Finally, the source's output impedance, if high, may be causing a gain error (due to the voltage divider formed with the ADC's input impedance). Since you are providing a 5V input signal, you'll need to disable the ADC's input buffer (or else the buffer's output will saturate), but this will also lower the input impedance to the ADC somewhat.

    Best Regards,
    Chris

  • Hi Adithya,

    I haven't heard back from you on this issue. Have you been able to resolve it on your own?

    Let me know if there is anything else we can help with!

    Best Regards,
    Chris