I'm using a TMP121 in a few boards, which seems to work well, except that logs show that every few 1000s to a few 100000s readings, a single temperature sample is read wrong, mostly twice or half the value that it should be, others read as zero
Now I'm looking into ways to try to validate the reading before marking it as valid, all I do now is range checking.
Looking in the datasheet, I can read that in page 6 there says something about a "confirmation bit", but there is no detailed information about this bit. Sample codes in table 2 show it as always zero, but figure 3 shows it as 1 and the curve shows that it can be any value. Is it parity or something? My code is ignoring the last 3 bits right now.
Are there other ways to validate or re-read several times the output bytes ensuring that I'm reading from the first bit?
Also, what is the largest change that the TMP121 will be able to output sample to sample? (So that I can reject an impossibly large change.)
The part of the system that reads the TMP121 works at 26.7 kHz, so I never worried about reading too fast.
Right now I don't have easy access to a test setup, and it takes months to years to get a wrong reading.
Thanks in advance