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.

Lmp90079 strange behavior

Other Parts Discussed in Thread: ADS1248, LMP90079

Dear Sirs,

Dear Bob (Benjamin),

while I am setting up the management of the ADS1248 (see other thread), another curious issue has come up.

We are manufacturing hundreds of boards using the schematic (attached) based upon the Lmp90079.

It works very well and the 7 "K" type TC are correctly and precisely read.

However it happened that one TC has gone in short to GND, and instantly the reading from the Lmp90079 has become crazy.

Referred to the schematic, is same as (any) pin of X6 becomes shorted to GND. I know that the Lmp90079 has a limit of reading low input voltages which should not be lower than 0.4V (vs. GND). In fact, in LAB we tested a simulated short to ground of X6 (any pin) through a diode (0.5Vdc Vf) and readings still are perfect.

As soon as the common point (connected to VIN7) or a TC "+" wire goes shorted to GND, the ADC becomes crazy.

Crazy means that our readings become all high positive (e.g.: with TC in ambient temp. we read something around 160ºC or more), or low negative (like all readings become -270ºC).

Testing a number of identical boards, 60% go high positive, and 40% go low negative!

And there is no way to change this. The circuit is exactly the same for all the boards.

Questions are:

a) is this "normal" behavior for Lmp90079 if any VINx goes shorted to GND?

b) any capability to detect what's happening? (Burn Out Current is enabled but we see no help from this)

Thanks so much in advance for any help.

My best regards

Paolo Bozzola - CJB

(file with schematic: uploaded)

LMP90079 Interface.pdf
  • Hi Paolo,

    If the input is with 0.4V of ground the output is undefined.  (See page 7 of the datasheet.)  The output of the ADC is probably going to 0x8000 or 0x7FFF which would translate to the high or low temperature. 

    The LMP90079 should be able to detect if the TC is shorted to ground.  The Burn Out Current needs to be enabled and scan mode set to ScanMode3.  You will need to monitor RAILS_FLAG.  If this bit is set to 1 then that indicates that the input is within 50mV of ground or the supply.

    Mike

  • Dear Mike,

    thanks for the confirmation of what I already suspected. I have also used the Burn Out Current but it seems the detection of a short to GND is not working.

    By the way, since you're so helping, I ask you another suggestion.

    The control, which we are now manufacturing in thousands of boards, works perfectly but has such weak point (refer to the schematic which I sent in my previous post). When any "-" wire of any TC goes shorted to GND or any "+" wire goes shorted to GND, the connection to AIN7 (which is normally 1/2 of the Vref) goes to 0V and of course happens what you have correctly confirmed. The ADC can't convert.

    So I was thinking of a trick, which is the following: I make a conversion after setting the internal multiplexer to connect both inputs of the internal differential amplifier to AIN7.

    In normal status, AIN7 is set to 1.25Vdc potential, but internally the +/- inputs of the diff amp are "shorted" and I read 0.

    If AIN7 is shorted to GND, the reading is never 0 and maybe it's (largely) negative or (largely) positive, so I can detect this and see that something is wrong.

    We have already tested this with register programming and it works well.

    Which is the problem? That once we program the Lmp90079 registers (which is made after poweron), it seems impossible to change registers configuration.

    We work in Scanmode 3, and set the registers to scan from CH1 to CH7 (in sequence: AIN0/AIN7, AIN1/AIN7....AIN6/AIN7).

    This works well. But then, we need to stop this kind of working, we want to reprogram for a Scanmode 3 only AIN7/AIN7. It seems the Lmp90079 can't accept any re-programming after the first one.

    Is there any sure method to stop it and allow reprogramming of registers and restart?

    Thanks so much for the help

    My best regards

    Paolo

  • Hi Paolo,

    You can set the LMP90079 to stand-by by writing to register 0x08, then program the registers as required, set the LMP90079 to active mode with register 0x08 and then start conversion with register 0x0B.  Discard the first conversion as it may be incorrect. 

    Mike

  • Dear Mike,

    thanks for the hints.

    Next week we'll put hands to the firmware and we'll test your suggestions.

    If any more issue, I will eventually disturb you again.

    But hope not!

    Have a nice day

    Paolo