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.

ADS7844 measured temperature drop by 40°C

Other Parts Discussed in Thread: ADS7844

Hello!

We are measuring temperature using the ADS7844. We have some kind of problem with the A/D converter. Sometimes all the values spontaneously drop by approximately 40°C, but they still are proportional to the temperature.

A "soft reset" to the CPU does not solve the problem, we still get faulty values after restart.  A "hard reset", powering down the whole system, does clear the problem. This indicates that the problem is in the A/D-converter itself, and not in the CPU or in our code.

Note that this type of A/D is setup every time we take a reading, and that the faulty values remains stable from reading to reading. I.e. first we get a lot of correct values, that accurately show the temperature. Then suddenly all channels drop about 40°, and stay 40° below the actual temperature. But they change slowly as the actual temperature changes.

Has this problem been reported by anyone else, and what should we do about it?

If you have any questions, just ask me,

Ingemar Hjort

  • Hi Ingemar,

    No it doesn't look like this kind of behavior has been reported before. What range of temperatures are you trying to measure? Are you utilizing the full dynamic range of the ADC? What [PD1 PD0] settings are you using? It would be helpful if you could post your schematic. It would also be interesting to find out what the ADC's Vref and input signals look like before and after the fault has occurred.

    Thanks,
    Harsha

  • Hello Harsha,

    In this particular case, the temperature is around +5°C. When the problem occurs, the measured temp drops momentarily to around -35°C.

    The full (almost) range of the A/D is used to measure any temperture between very cold (-60°C) and very hot (+150°C) as we don't know in advance what temperature a particular customer will be using.

    Both PD0 and PD1 are set to 1, meaning no power down between conversions.

    I will try to enclose a schematic below, a reduced version with only the A/D, its inputs and power supply. I can't publish the entire schematic on the Internet, of course.

    Regarding what the signals look like, yeah so would I! We have made over 2000 CPU boards and they are installed in over 1000 temperature controlled cabinets. The problem we are talking about is beeing reported once a year or so. There is no way that we will be able to measure anything on these rare occasions.

    We have reason to believe that some kind of external interference triggers the event, but we have not yet been able to make it happen under controlled conditions.

    I'm thinking of doing it the other way around. We need your knowledge of the actual inner workings of the ADS7844. We need you to figure out a possible scenario in which this hang-up can occur, and then tell us how to counteract it. Or perhaps how to make it happen so that we can figure out a way to counteract it ourselves.

    Regards,

    Ingemar

  • Hi Ingemar,

    Sorry for the delay and thank you for the information.

    Basically, we have an ~210'C range mapped to a 2^12 code range, which translates to a 0.05'C/code rate. So for the temperature reading to drop by 40'C, the ADC output code must have dropped by 800 codes or 19.53% of full-scale code range. There are a few ways in which this might happen.

    1) A decrease of 19.53% FSR (about 1V) in the input voltage
    2) An increase of 1.71x in the full-scale input range or Vref (also Vcc in this case) to 13.55V (!), which would be a gross violation of the absolute max ratings of the ADC
    3) Problems with the SPI interface that might be causing data to be output or captured incorrectly

    It is difficult to narrow down the problem without more information on what sort of changes occur on the ADC supply, inputs or control signals after the fault. I will send you a "friend request" on the forum if you would like to share information more privately.

    With regard to the ADC reference input, a general suggestion would be to have a dedicated, low-noise reference source instead of tying it to the ADC supply. The performance of the ADC is highly sensitive to the stability of the reference voltage during conversion (max Vref delta < LSB/2 or 610uV for your application) and in this case, the idea is to make Vref as insensitive to supply variations as possible.

    Best Regards,
    Harsha