Part Number:TMP102
主机:FPGA
从机:TMP102:
现象:随机发生I2C通讯失败,常温状态下、-15℃~60℃情况下都有可能发生,异常发生的温度点随机。异常情况从FPGA主机端看是I2C一直在进程中,没有完成一组周期的I2C通讯,异常发生后SCL和SDA一直是高电平状态。
正常通讯时的波形:
异常通讯时的波形:
分析:通讯正常时,主机写地址49h,数据00h;主机写地址49h,数据1Ch、00h。通讯异常时,波形只有前面4个FRAME,少了FRAME 5。怀疑是从机一直未发送这组数据,导致I2C进程卡死。此外,这种I2C进程卡死的情况在I2C上拉电阻为1.5K左右时高概率发生,大概50台里面出现三四台。这些发生异常的产品,我们修改上拉电阻为4.3K后反复做高低温时异常情况不复现。观察到TMP102的数据手册上的拉电阻建议值为5K,因为这组I2C总线上还有一个I2C器件,想询问这种情况下建议上拉电阻值是多少?另外,原厂是否能确认是由于上拉电阻的原因导致I2C进程异常情况的发生的?
Kailyn Chen:
您好,参考这篇如何计算I2C上拉电阻值的应用手册,最大上拉阻值是受总线容性负载的限制,最小上拉电阻是防止I2C引脚被拉低,导致通讯异常。所以可以参考下面应用手册Figure2在不同供电电压下的最小上拉电阻值:
https://www.ti.com.cn/cn/lit/an/slva689/slva689.pdf
,
Albert.Qiu:
非常感谢您的答复。
,
Kailyn Chen:
不客气,后续有什么问题,大家再一起讨论。