在 sprz335h (TMS320C6672器件勘误表)中、使用说明6介绍了如何清除当 I2C 事务处理过程中的主器件复位时可能发生的 I2C 总线挂起。
据说"I2C 主设备必须生成多达9个时钟周期..." 等等、
但未介绍将 TMS320C6672用作主器件的此类实现的详细信息。
问题:
是否完全可以使用 TMS320C6672作为主器件来实现这样一个 I2C 总线清零(我没有找到将 SDA 和 SCL 用作 GPIO 的提示)?
或者是否需要其他硬件设计措施来使用 TMS320C6672完成此类任务?
sprz335h (TMS320C6672器件勘误表)的节选
使用说明6主器件复位后 I2C 总线挂起使用说明
受影响的版本:1.0、2.0
详细信息:通常知道、如果 I2C 主设备从总线中移除、I2C 总线可能挂起
在数据读取的中间。 这可能是因为 I2C 协议不强制执行
最小时钟速率。 因此、如果一个主器件在一个读取期间复位
从器件将数据线路驱动为低电平、从器件将继续将数据线路驱动为低电平
等待下一个时钟边沿。 这可防止总线主控发起传输。 如果是这样
检测到这种情况、以下三个步骤将清除总线挂起情况:
I2C 主设备必须产生多达9个时钟周期。
2.在每个时钟周期后、必须观察数据引脚以确定是否具有数据引脚
时钟处于高电平时变为高电平。
一旦发现数据引脚为高电平、主器件就可以启动一个启动条件。