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.

ADS1243: Spikes while reading differential inputs

Part Number: ADS1243

Hi,

I'm working on an application that uses ADS1243, with 3 differential inputs. In long-running tests of 9+ hrs, random spikes are observed 3-4 times, on every channel. The spikes occur at different instances on different channels. The deviation from normal range is upto ~150,000. The channels are read cyclically, at an interval of 100ms, with data rate of 15Hz. The DRDY line also indicates data ready when data is read. The spikes are observed even for intervals of 85ms, 130ms, 150ms, though at higher intervals (> 130ms), the deviation is seen to be reduced to ~5000 and the spikes spread out slightly in time. Any help in troubleshooting is highly appreciated.

Thanks in advance.

  • Hi Saurabh,

    I'm having difficulty understanding what exactly the issue is, can you please post waveforms that show the erroneous vs. normal results? 

    Is anything in your system switching at the time of the error? 

    Are the errors only shown for the long tests or are the immediately re-producible as well? 

    I am not sure I understand what you mean by this sentence. Do you mean that when the interval between errors is longer, that the error is less? Can you please post a picture to help explain? 

    "The spikes are observed even for intervals of 85ms, 130ms, 150ms, though at higher intervals (> 130ms), the deviation is seen to be reduced to ~5000 and the spikes spread out slightly in time. "

  • Thanks Alex,

    Please refer attached file, with raw ADC output captured for one of the tests, which reads channels cyclically (after channel 1 is read, we set the mux to channel 2 & so on) at an interval of 114ms. There are 3 spikes of ~20,000 for channel 2 and 2 spikes of ~30,000 for channel 3. An important point to mention is, these spikes are observed, even when there are no sensors connected.

    ads1243_channel_2_3_plots.docx

    To check if spacing out reads helps, tests with greater delay between the reads, were done. This is the output, for which channels are read an an interval of 162ms. Note that, with higher intervals, the magnitude of spikes decrease (~4000-5000), but their incidence is spread over time, indicated by a region of fluctuations.

    Also, it's not that spikes are only observed in long-running tests, but in general, they have been observed with greater probability in longer runs. During the tests, there is no computationally intensive task/ functionality that the system does, neither there's any other external stimulus.

  • Hi Saurabh,

    Thank you very much for the information I understand the problem now. 

    If the spikes are observed when no inputs are connected, that makes me suspect that something may be causing power-supply interference or data is being corrupted in some way.

    Could you please try using an oscilloscope to view the power-supply of the device and see if there is any interference on the line? 

    Do you have a schematic you could share? 

    Can you please confirm that the raw data from the device is showing this change in counts and it is not a truncation issue somewhere in the data path? If possible, using an oscilloscope to monitor the data-output would be best. Then you can compare the raw data output to the output you show in the document to confirm that is issue is happening with the ADC. 

  • Hi Alex,

    Thanks for your suggestion, shall check if a data-acquisition system could be used for recording the input or an oscilloscope could be used for monitoring, to rule out interference and for comparing values. Please find attached, a block diagram for the sub-system in question. I'll try if I can extract the relevant part from the schematic & share.loadcell_ads1243_block_diagram.docx

    Regards,
    Saurabh

  • Hi Alex,

    As you said, comparing raw data from device & the count, as read by software, would rule out any issue in data path. That would mean, the oscilloscope output would need to be logged over time, until the issue manifests. I'll check if this approach could be realized. The same applies to power-supply interference. The attached Vref, Vcc values, are monitored over few minutes & they look fine. However these values need to be checked, when spikes occur.

    Regards,
    Saurabh

  • Thank you Saurabh,

    Let me know what you find. 

  • Sure Alex, thanks for all the help.

    Regards,
    Saurabh