This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] AM57x 勘误表 i694:系统 I2C 因缺少总线清除支持而挂起

Guru**** 2473260 points


请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/processors-group/processors/f/processors-forum/1465204/am57x-errata-i694-system-i2c-hang-due-to-miss-of-bus-clear-support

器件型号:AM5748

工具与软件:

你(们)好、

我在 TI 勘误表文档上找到了一个列出的缺陷、编号是 i694、其显示如下所示:

i694系统 I2C 因缺少总线清除支持而挂起
临界低


说明没有可防止违反 I2C 总线清除标准的 H/W 机制
非线性。
如果数据线(SDA)保持低电平、则主器件应发送9个时钟脉冲。 器件的地址
使总线保持低电平的引脚应在这9个时钟内的某个时间释放它。 如果没有、则使用
硬件复位或下电上电以清除总线。
Sys_Warmreset 不会在 IC 级别复位 I2C IP。
因此、一旦达到该状态、IC 就会看到总线忙状态位。


权变措施可以对 I2C SW 处理程序进行编程、以检测此类锁定情况。 在本例中是这样
将检查总线繁忙位并发出所需的时钟脉冲。  

我遇到了设计上的缺陷、但我  完全无法理解权变措施。 是否有可解决该问题的补丁或示例?

我们使用的 SDK 版本是: ti-processor-sdk-linux-am57xx-hs-evm-06.00.07-linux-x86-Install

此致、

平安