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.

[参考译文] DS90UB949-Q1:时钟延展我们尝试在 DS90UB949-Q1中写入寄存器

Guru**** 2478765 points
Other Parts Discussed in Thread: DS90UB949-Q1, DS90UB948-Q1

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1440560/ds90ub949-q1-clock-stretches-we-try-to-write-registers-in-ds90ub949-q1

器件型号:DS90UB949-Q1
主题中讨论的其他器件: DS90UB948-Q1

工具与软件:

您好!

我们最近在 DS90UB949-Q1串行器芯片和时钟延展方面遇到了一些问题。

对于我们的硬件设置、我们准备了一个主板、I2C 总线上带有 STM32 (主设备)、DS90UB949-Q1 和 PoE PSE;在我们的显示侧板上、我们准备了 DS90UB948-Q1和几个 ADC。


我有几个问题:

  1. 为什么 DS90UB949-Q1时钟会使我们尝试在其内部写入寄存器? 在 AN-2173中 、它提到了本地操作不需要时钟扩展

    0x0C 是 DS90UB949-Q1的地址
  2. 我们正在 解串器上使用 DS90UB948-Q1、该解串器连接到远程 I2C、并且有几个我已确认不具有时钟延展的 ADC。 如果外设不进行时钟延展、串行器将需要在什么情况下进行时钟延展? 是否是因为丢包?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Lisa、您好!

    波形是949还是948的快照吗? 能否同时捕获949和948的 SCL 和 SDA 线、以便我们看到全部情况?  

    我们认为、该问题可能更多地是 I2C 总线锁定、而不是时钟延展。 捕获两个器件的 SCL 和 SDA 迹线在理想情况下可以帮助我们确定拓扑中问题的来源。

    BR、

    Esther

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

    这是949。 今天我可以在949和948上捕获 SDA 和 SCL 数据。
    SCL 保持低电平252.6ms、 接近默认的 BCC 看门狗超时(254ms)。我似乎看到时钟拉伸、但我们也遇到了 I2C 锁定问题。

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

    您能否也就第二个问题提供一些见解
    "我们正在使用 解串器上的 DS90UB948-Q1、该解串器连接到远程 I2C、并且有几个我已确认不会进行时钟延展。 如果外设不进行时钟延展、串行器将需要在什么情况下进行时钟延展? 是不是因为丢包了?"

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

    Lisa、您好!

    感谢您提供更多信息。 根据 BCC 看门狗值、SCL 似乎超时、这可能表示 I2C 锁定。 这也有助于捕获948布线。  

    要回答第二个问题、如果外设不需要时钟延展、则串行器理论上不需要时钟延展。   

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

    感谢您的回复 Esther!

    我仍在尝试获取迹线、因为问题是间歇性的。 我想我无法赶上总线进入 I2C 锁定的确切时刻。
    我们的 STM 上的 I2C 超时与949串行器上的超时似乎存在不匹配。

    我们可以配置949的最小超时为2ms、即 AN-2173中所述的典型 BCC 延迟9us的222倍、 在什么应用中 BCC 看门狗需要大于最小值2ms?

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

    Lisa、您好!

    由于目标使总线暂停或控制器超时并且不发送任何其他事务、可能会定期发生 I2C 超时。 我们需要949和948线迹来确定问题所在的位置。  

    我们的 STM 上的 I2C 超时与949串行器上的超时似乎不匹配。

    我们可以配置949的最小超时为2ms、即 AN-2173中所述典型 BCC 延迟9us的222倍、 在什么应用中 BCC 看门狗需要大于最小值2ms?[/QUOT]

    949 (控制器和949之间)本地 I2C 总线的超时将是 I2C 看门狗计时器、而不是 BCC 看门狗。 在949的寄存器0x5中配置了 I2C 看门狗计时器。

    BCC 看门狗计时器是指通过 FPD-link (在949和948之间)的超时。 BCC 看门狗计时器与 BCC 延迟无关。 无论 BCC 延迟如何、计时器都将等待2ms 以完成有效事务、如果它在控制通道上未接收到任何有效内容、则将终止该事务。  

    一旦你能够捕获949和948线迹,事情就会变得更加清晰:)  

    谢谢!

    Esther

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

    这似乎是 I2C 总线锁定问题