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.

[参考译文] DS160PR1601:为什么此器件需要50ms 才能由 I2C 读取/写入。

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1379671/ds160pr1601-why-this-part-need-50ms-before-it-can-be-read-write-by-i2c

器件型号:DS160PR1601

工具与软件:

尊敬的专家:

我正在 PCIe 路径中使用 ds160pr1601来提升 PCIE3.0 x8的 PCIe 信号、并且我的电路板已安装在 PC 中。

在20%的情况下, 4个板只能在冷启动时识别为 Gen3 x2 ,重新启动后,它们可以链接到 Gen3 X8;在80%的情况下,它们可以链接到 Gen3 X8  

我得到了2个 Quesitons:

问题1、 我正在使用 MCU 来控制 I2C 总线、但我只能在大约50ms 后获得 ACK、否则我只能获得 NACK、您能告诉我原因吗?

Q2、配置完成后、该转接驱动器是会立即运行、还是 必须等待一段时间? 如果是、需要多长时间?

此致

Chris

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

    Chris、您好!

    感谢您解答这些问题。

    1. 请参阅数据表中关于 SMBus/I2C 时序特性的第6.7节、字段 T_POR: https://www.ti.com/document-viewer/DS160PR1601/datasheet#GUID-XXXXXXXX-SF0T-XXXX-XXXX-000000317136/GUID-XXXXXXXX-SF0L-XXXX-XXXX-000000317136 
    2. 在 SMBus 主要/EEPROM 模式下 ALL_DONE_N 置为低电平后、转接驱动器将立即运行、或在 SMBus 辅助模式下的 POR 后立即运行转接驱动器。 当 PDx 引脚置为低电平时、与每个 PDx 引脚关联的通道将上电并触发 PCIe RX 检测状态机。

    您是否知道 PDx 引脚何时生效以及在转接驱动器配置完成后 PCIe 复位(PERST#)信号是否取消置位?

    此致!
    David

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

    尊敬的 David:

    感谢您的快速响应。

    对于1、我直接对 DS160PR1601进行编程、因此我想知道它可能与 TPOR 为50ms 的 EEPROM 时序不同。

    对于2、在本例中、PDx 始终被取消置位、我发现它应该在数据表的表7-1中进行切换、我可以尝试一下、然后让您知道。 幸运的是、我的电路中有一个备用平面。  

    PDx、PERST#和配置之间的所需时序是多少? 如果 PDx 应反转为 PERST#、我是否仍能够在 PDx 置位期间进行配置。

    如果我将 RX 检测控制寄存器(偏移量0x04)设置为0x04、以便它将继续进行 Rx 检测、该怎么办?  有什么建议吗?

    此致

    Chris

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

    Chris、您好!

    T_POR 对 SMBus/I2C 两种模式均适用。

    转接驱动器的配置应在 PERST#取消置位之前完成、因为转接驱动器的 EQ 设置将影响 PCIe 链路通道的信号完整性。 如果 PDx 引脚连接到反相 PERST#、则此时序成立。 如果手动切换 PDx 引脚、则应在将 PDx 引脚切换为低电平之前完成 SMBus 配置。

    可以在 PDx 引脚为高电平时完成 EQ 设置配置。

    设置通道 RX 检测寄存器0x04 = 0x04将覆盖转接驱动器的 RX 检测块。 这不会继续执行 RX 检测。

    此致!
    David

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

    尊敬的 David:

    感谢您的帮助。

    我认为这个问题非常清楚、接下来我将使用反转 PERST#来控制 PDx。 绕过 RX 检测不是 转接驱动器的预期行为。

    此致

    Chris