We have TI TMP117MA WDFN6 part attached to a PCB. The TMP117 is covered with a brass block (25x25x3mm). Thermal paste is applied between them to ensure proper thermal contact.
The PCB has a resistive heater trace inside used to heat the block up.
Usually, the reading of the temperature from the TMP117 agrees with the temperature of the brass block. As we apply the current through resistive trace, block the sensor temperature rises, and we can successfully stabilize it at around 36degC. The sensor mode is the default (0x220 in the control register). The high-temperature limit is set to 60degC.
Occasionally, we get an overtemperature alarm from the sensor. Our firmware logic shuts the heating off. By the time we can get to the unit the temperature of the brass block is ambient (verified by touch, about 25degC).
Very infrequently, the sensor appears to be stuck reading ~60degC. One case was 55degC.
* TMP117 remains responsive to I2C commands. We are able to obtain register dumps
* The temperature reading is updated. The value is jumping +- 0.2degC around the stuck value.
* The sensor reads 0x220 from the control register (Except first reading, when the alarm bit is set), temp offset register is empty (0). Setting the temp offset register to 0 gives no result.
* Soft reset of TMP117, I2C General Call Reset are acknowledged but do not resolve the situation
* Powercycle - even 0.5s one - resolves the problem (reading returns back to expected ambient temperature)
This happens intermittently, we are not able to reliably drive the system to this state.
Please, help us troubleshoot.