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.

ADS1255: hangup

Part Number: ADS1255

we have a sporadic issue that shows up as follows:

We are monitoring a temperature value measured by a PT100 sensor. When the problem happens the value remains unchanged.

Is there a known issue related to the A/D converter? As it is very sporadic we cannot easily reproduce the effect. And would like to locate it to the converter, the readout, the calculation or anything else.

  • Hi Robert,

    Welcome to the TI E2E Forums!

    Would you be able to provide some additional details regarding this issue?

    • How many consecutive samples show the same temperature reading?
    • Do you have to do anything to restore "normal" operation (such as resetting or re-configuring the device) or does the problem resolve it self with additional ADC conversions?
    • How do you read the ADC data, do you use a /DRDY interrupt or do you poll /DRDY to know when the ADC conversion is compete? Also are you in RDATAC mode or SDATAC mode (which uses the RDATA command)?
    • What are the ADC clock and SCLK frequencies?
    • Do you toggle /CS between communications or is /CS permanently tied low?
    • Do you re-configure and/or restart (SYNC) ADC conversions between measurements?

    I'm not aware of any device issues that would result in corrupted data; however, there are some SPI timing requirements that must be followed in order to prevent invalid output data.

    Thanks and best regards,
    Chris

  • here the answers to your questions:

    - ADC reading could not be verified, constant value on display was reported

    - up to now we make no attempts to reset, as we do not detect wrong reading

    - we use DRDY interrupt, in the interrupt service routine SYNC, WAKEUP, RDATA commands are used

    - ADC CLK: 8 MHz, SPI-CLK: 0,9375 MHz

    - CS is toggled

    - we reconfigure, select a new channel, and then use DRDY interrupt

    as the effect is  very sporadic any idea to dtect it is welcome.

    thank you and best regards

    Robert

  • Hi Robert,

    Is the ADC reading a valid result when it freezes, or does the reading clip to positive (0x7FFFFF) or negative full-scale (0x800000)?

    Can you tell if the /DRDY signal is still toggling and triggering the the interrupt service routine when this issue occurs?

    ...It would be unlikely for the ADC's output value to remain fixed at a valid result. Perhaps the ADC's conversion result is updating but the MCU's memory is not updating this value for some reason?



    Is this issue occurring on both channels, or just one channel? Does the problem go away on it's own (after a certain amount of time) or is it forever fixed on a single result until the system is reset?

    ...For troubleshooting you might want to implement a software counter to check if the ADC result remains fixed for a certain number of consecutive conversion results and turn on an LED or update the display when this happens. If you notice that the problem is occurring and the software is not catching this error, then perhaps the software is going into an unknown state where it is no longer acquiring and updating the data.


    Best regards,
    Chris