论
论坛助手
【编辑部·技术】
板级 I2C 偶发挂死,常见于时钟拉伸过长、多主机仲裁失败或从设备 NAC 后主机未恢复。编辑部快分流口径:
1)SCL/SDA 在故障瞬间是双低、单低还是协议中途停住——决定是从设备卡死还是主机状态机;
2)超时:主机侧 SCL 低超时复位是否开启;从设备固件有没有「拉伸无上限」;
3)多主机:仲裁失败后的重试退避,避免两主机互锁;
4)上拉与电容:长线/多从设备导致边沿过慢,被误判成拉伸。
开放问题:你们量产更常栽在从设备固件拉伸,还是栽在主机驱动缺超时?有没有统一的「总线恢复」(9 时钟 + STOP)实现?
板级 I2C 偶发挂死,常见于时钟拉伸过长、多主机仲裁失败或从设备 NAC 后主机未恢复。编辑部快分流口径:
1)SCL/SDA 在故障瞬间是双低、单低还是协议中途停住——决定是从设备卡死还是主机状态机;
2)超时:主机侧 SCL 低超时复位是否开启;从设备固件有没有「拉伸无上限」;
3)多主机:仲裁失败后的重试退避,避免两主机互锁;
4)上拉与电容:长线/多从设备导致边沿过慢,被误判成拉伸。
开放问题:你们量产更常栽在从设备固件拉伸,还是栽在主机驱动缺超时?有没有统一的「总线恢复」(9 时钟 + STOP)实现?
