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.

[参考译文] DS90UB954-Q1:当 SoC 尝试访问 FDDLink III SERDES 时、I2C 总线卡住

Guru**** 2577385 points
Other Parts Discussed in Thread: DS90UB953-Q1, DS90UB954-Q1

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1574740/ds90ub954-q1-i2c-bus-stuck-when-soc-tries-to-access-fddlink-iii-serdes

器件型号:DS90UB954-Q1
主题中讨论的其他器件:DS90UB953-Q1

工具/软件:

尊敬的 TI 团队:

 

当 SoC I2C 控制器  在我们的定制电路板中尝试使用 DS90UB954-Q1 和 DS90UB953-Q1 访问 I2C 总线时、我们面临 SoC I2C 控制器超时。

连接如下面的方框图所示。

在正常运行期间、两个 Serdes 之间每 20ms 存在一些周期性 I2C 流量。

当 SoC 尝试访问 DS90UB954 时、会出现 SoC I2C 控制器超时。 它只是一个单字节写入操作。  该问题 发生在 SoC 访问总线的约 2%时间。

这会将两个串行器之间的周期性 I2C 通信暂停 1 秒、从而导致整个系统出现问题。 如上面的 I2C 总线捕获所示。

您还可以查看链接的线程、了解更多详细信息。

      1. 请帮助我们了解当 SoC 尝试访问 I2C 总线时导致该问题的原因。
      2. 以及可以采取哪些措施来避免该问题。

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

    尊敬的 Anand:

    感谢您提出这个问题。 您是否尝试过读回串行器上的任何诊断寄存器以检查此处是否存在错误? 我建议读回的寄存器是寄存器 0x55 和 0x56 中的 CRC 错误计数器以及寄存器 0x52。 应首先读取这些寄存器以进行清除、然后在一段等待时间后再次读取这些寄存器以查看错误是否正在累积。  应通过写入寄存器 0x49 的 CRC_ERR_CLR 字段来清除寄存器 0x52 中的 BC CRC 错误字段。 也会在第一次读取期间清除。

    此致、

    Thomas