TI中文支持网
TI专业的中文技术问题搜集分享网站

DM8127 I2C1总线死锁问题

现有一块DM8127的板子,I2C1上接了一个EEPROM和加速度计mpu6050,测试发现有时候I2C1总线会出现死锁问题,软启动(reboot命令)不能复位该问题,用示波器测量发现是SDA线一直为低电平,必须得上电复位才可以,现在我用I2C1的测试功能配置SYSTEST寄存器控制CLK引脚产生9个脉冲,但是必须重试好多次才能复位,没有复位其他寄存器,后来我调用omap_i2c_init函数想复位一下所有寄存器,但是一旦执行了这个函数就会出现内核卡死现象,只能重新上电,有遇到过和我同一样问题的吗,敬请不吝指教

Chris Meng:

你好,

如果软复位DM8127不能解决I2C总线死锁问题,那可能这个问题是外部的EEPROM或者mpu6050带来的。你是否有尝试在I2C总线不正常的情况下,复位EEPROM或者是mpu6050,看问题能否解决?看看出问题的是那个外部I2C设备?
reboot就会重新初始化DM8127的I2C,由于reboot不能解决问题,所以单独在调用初始化I2C的函数,应该也不能解决问题。

weichao xue:

回复 Chris Meng:

EEPROM和mpu6050没有办法单独复位,现在我还有疑问的就是omap_i2c_init调用这个函数以前,我需要做什么其他操作吗,现在一调用这个函数内核就和卡死或者是崩溃

weichao xue:

回复 Chris Meng:

现在是想用I2C模块的测试功能,使始终输出引脚输出9个始终,然后调用omap_i2c_init函数,重新复位I2C模块,尝试复位外部芯片,此方案可行吗

赞(0)
未经允许不得转载:TI中文支持网 » DM8127 I2C1总线死锁问题
分享到: 更多 (0)