I have seen a number of instances where the TMP102 appears to stop responding part way through returning data.
It then does not respond to the next few addresses, then starts responding OK again.
I2C clock speed 200kHz. All timings appear to be within spec.
The TMP102 thermometer IC stops returning data (sometimes part way through a cycle) then does not return an ACK when subsequent addresses are sent. This gets worse with increased temperature (30°C - 60°C). This has been seen on some, but not all, of the systems in test.
Have included 2 images. Yellow = SCL, blue = SDA. Decode shows address to the TMP102 in yellow and data from the TMP102 in blue.
First image shows zoomed out view. Device working OK, then stops responding part way through returning data. Remains unresponsive when the address is repeatedly sent, then comes back to life again.
Second image shows a zoomed in view of the device stopping to respond part way through sending the second byte of data.
As a temporary 'fix' I have found that the following appear to stop this issue from happening:
- Slow down I2C clock rate from 200kHz to 125kHz.
- Increase delay between end of receiving data to start of sending next address from 4us to 100us.
Although these 'fixes' appear to work, I've no evidence that they will work across all device and across the full temperature range.
I need to understand the root cause of the problem (which has been seen in approx. 5 out of 40 systems).
Any ideas please?