TMS320C6657CZHA的概率性I2C死锁问题
1、问题现象:
当片子软重启后,概率性出现:I2C第一次读写时,SDA正常拉低后,但SCL未跳变为低,而是持续保持为高。波形如下:

图 1 异常波形

图 2可正常读写波形
- 硬件背景:
DSP作为主设备,总线上挂有4个从设备,分别为TPL0401A-10DCKR、ICM-20948、DS3232MZ+、AT24CM01。并在总线上使用PCA9306DCUR作电平转换。
3、嵌入式程序
片子重启后,且过程中会通过寄存器来复位I2C控制器。当总线第一次工作是给TPL0401A-10DCKR写入数据。
4、探索记录:
- 问题复现时,通过手动给SCL拉低再释放后,I2C总线正常工作。