在那里豪迪
我们在我们的系统中使用 TMP112 (TMP112NAIDRLR)进行温度监测。 我们在室温下进行了5次长期测量、每60秒读取一次温度。 有时、与 TMP112的 I2C 通信丢失。 它会冻结此外围设备、无需进一步使用、直到下一次下电上电。 这种情况会在两个不同的装置上分别在7天和10天之后发生。
您能帮助我们了解如果与 TMP112进行通信为什么会丢失吗?
奇怪的是,它在相当长的时间(大约1米秒)后突然出现。 这会显著降低我们的可靠性。
同时、已实施了以下恢复序列:
如果 I2C 控制器 停止工作、则在100ms 被激活后恢复模式、或者如果接收到 NACK、则会立即将其激活。
恢复序列:整个 I2C 关闭、引脚 SCL 和 SDA 被拉低至0 90毫秒、这应该会重新启动 TMP112。 然后、重新初始化 I2C 控制器、针对设置丢失的情况、新设置 TMP112的配置。
尝试恢复在每次尝试失败后执行一次–每1000ms 执行一次。
所用的原理图如下:
请让我们了解为什么会发生这种情况。
谢谢。
此致、
迈克尔