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.

[参考译文] UCD90160:I2C 时序

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

https://e2e.ti.com/support/power-management-group/power-management/f/power-management-forum/646103/ucd90160-i2c-timing

器件型号:UCD90160

大家好、

下午好、我的客户在他们的设计中使用了两个 UCD90160。  他们发现 了器件在所有 FS 条件下的响应不一致问题 、并更深入地查看了时序参数。

此外 、我们还有几个问题:

-如果 I2C 线路在命令周期 和读取周期之间保持低电平的时间超过35mS、器件将如何工作?

- 在设备使用坏数据(例如所有 FS)进行响应的情况下,恢复的最佳方法是什么?

-在某些情况下,发送不良数据后,以下传输也会被打乱或被 NACed

谢谢!

此致、

~John

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

    你(们)好

    UCD90160的 I2C 时序符合 https://www.nxp.com/docs/en/user-guide/UM10204.pdf 的 I2C 规范表10中定义的时序  

    I2C 主设备需要支持时钟扩展以便与 UCD90160通信。

    如果 I2C 线路保持低电平的时间超过35mS、UCD90160将复位其 PMBus 模块以释放 SCL 并中止当前操作。

    在这种情况下、UCD 以0xFF 进行响应。 您是否有要共享的波形? 两个 UCD90160之间存在哪些不一致的问题?

    此致

    Yihe

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

    感谢您在35mS 后快速响应并确认器件的响应。

    更多地查看器件使用0xFF 响应的情况、因为它不一致、还没有可用的范围捕获。
    要回答第二个问题- 0xFF 响应不一致、两个器件之间不一致。

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

    在进一步测试后、由于命令和读取时钟之间的延迟为35mS、UCD 正在复位。

    以下是几个后续问题:
    1、PMBus 模块需要多长时间才能重置和中止当前操作、然后才能再次恢复通信?
    2.复位期间、器件是否会按住 SCL 或 SDA 线路向主机指示该复位?

    谢谢!

    此致、
    ~John
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    当主器件执行块读取命令时、UCD 是否会将 SCL 保持在低电平35mS?

    如果是这种情况,希望这有助于:

    对于块读取类型命令、如果主机读取的数据多于命令支持的数据、UCD90160会将 SCL 保持在低电平、因为此时器件预计事务完成、并且没有更多数据要发送出去。 因此、SCL 为低电平、直到35mS 超时。

    我们以0xFD 命令为例,对于该命令,实际数据大小为0x1B(27)。 如果计数大小本身+ PEC、则总大小为29。
    如果主机尝试将不超过29字节的数据就绪、器件将按预期工作。 但是、当主机读取超过29字节时、会出现 PMBus 超时。

    执行块读取的正确方法如下、并避免35mS 超时:
    首先读取一个字节、这将告知要读取的数据的确切长度
    2.读取 length + 1或 length + 2 (如果需要 PEC)

    您能否检查一下您的客户对块读取的影响?

    此致

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

    这种情况并非如此-问题来自主机侧将 SCL 线路保持在大于35mS 的位置。

    有关复位的问题是后续问题、可在主机看到此错误后了解如何纠正该错误:
    1、PMBus 模块需要多长时间才能重置和中止当前操作、然后才能再次恢复通信?
    我在这里认为等待35mS 的时间足以进行完全复位并再次开始通信。
    2.复位期间、器件是否会按住 SCL 或 SDA 线路向主机指示该复位?
    对于第二个问题、客户看到 UCD 器件在此复位期间将 SCL 保持在低电平。

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

    而不是正确、为什么不从主机端修复超时问题。 根据 PMBus 规范、主机将总线保持在低电平的时间不得超过10ms。

    1.我没有这个数字。 但其余部分应在35mS 超时后恢复。 但是、如果 SCL 由主器件保持低电平、我不确定由 UCD 初始化的复位是否有用。
    2.复位完成后应立即发布 SCL/SDL。在这种情况下、复位是由于主机保持 SCL、我认为 UCD 在复位期间不会保持低电平。

    此致

    Yihe