时间:2023-07-22 14:46
人气:
作者:admin
I2C timeout
当 I2C 传输发生 timeout 时,一般 kernel log 会有类似如下打印:
[48.197718][xxx]i2c i2c-1: addr:0xa,transfer timeout

1、GPIO check 以下几个部分
GPIO 电流驱动能力
GPIO 工作模式是否是 I2C 模式
GPIO 是否有内部上拉电阻
GPIO 默认电平状态
2、排查 slave 顺序
log 中第一个发生 timeout 的 slave
有 power 控制和 reset 控制的 slave
other slave
复现问题后,可以手动将相应外设去掉,确认是哪个外设将 i2c bus 拉住,再与供应商沟通,debug 一下该 IC 状态,理清拉住 i2c bus原因。
上一篇:I2C子系统ACK error
下一篇:I2C子系统debug的常见问题
从profibusDP转ModbusTCP,一网打尽转换技巧!