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.

[参考译文] FPC402:热插拔 SFP56后、SCL 卡滞超过300ms 的问题

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1367821/fpc402-scl-stuck-for-more-than-300ms-issue-after-hot-plug-of-sfp56

器件型号:FPC402

工具与软件:

嗨、团队:

我们将 FPC402用作 SFP56控制器。

我们在 SFP56上有一个热插拔设计:默认情况下,SFP 上的3.3V 被禁用,并将在插入后启用(包括 SCL/SDA 上的 PU )。

因此、3.3V 上电后、FPC402下行端口的 SCL 将卡滞700ms。 计算结果超过300ms (称为  SFF-8431、t_2w_start_up)

 你们有什么解释?  对 FPC402合理吗?

谢谢!

BR

Zhigang

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

    尊敬的 Zhigang:

    在您报告此问题之前、我们没有遇到过此问题。

    1)。 除了热插拔功能、FPC402还能用于您的应用吗?

    2)。 在打开3.3V 电源之前、EN 引脚或器件是否已启用?  

    3)。 如果 在打开3.3V 电源后启用器件、有什么不同?

    此致、Nasser

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

    1) 1)是的、这是我们的软件报告的问题。 因为300ms 的初始序列已过期并被阻止。 但在700ms 之后、我们可以访问下行端口

    2) 2)是、EN 引脚在插入和软件初始化期间默认为开启状态

    3) 3)基于问题2的回答、我认为没有区别

    是否有其他怀疑?

    BR

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

    尊敬的 Zhigang:

    1)。 我是否正确理解这一点、如果您等待700ms、那么您就可以访问器件-一旦器件处于该模式、就可以访问该器件?

    2)。 是否可以在打开3.3V 电源后禁用器件并有时启用它?

    此致、Nasser

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

    1) 1)是、插入光学模块并接通3.3V 电源。 然后等待700ms 访问模块

    2) 2)您是指 FPC402复位吗? 我们正在考虑实现3.3V 使能端与初始光学模块之间的端口复位的解决方案。 但 Linux 内核团队对此并不满意

    此外、我们已在 SCL/SDA 上尝试了永久的3.3V PU。 不存在此类问题。 这里还有其他想法吗?

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

    尊敬的 Zhigang:

    由于 SCL/SDA 上的永久3.3V PU 是正常工作的、因此这意味着当使用 I2C 接口时、不需要上拉电阻。  这意味着我们应该 在该700ms 时间窗口内更早地启用 PU。  

    此致、Nasser

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

    尊敬的 Nasser:

    您是否知道启用3.3V PU 后、FPC402的延时时间要求是什么?

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

    尊敬的 Zhigang:

    从器件上电的电源到 I2C 访问大约为20ms。

    器件不知道是否存在上拉。 但它会检查 I2C 总线是否卡住。 卡住是指器件无法驱动 I2C 信号-它们从外部被拉低或拉高。

    此致、Nasser

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

    您好!

    奇怪的是:FPC 上电后只需要20ms。 但我们的软件在上电后等待300ms。

    这意味着 SCL 卡滞发生、并持续到700ms、然后恢复。

    所以如果您建议我们在上电后添加一个 FPC402复位(非端口)吗?

    BR

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

    尊敬的 Zhigang:

    FPC402和 SFP 是否共享同一个3.3V 电源? 我的意思是、当您在热插拔 SFP 上接通电源时、FPC 上的电源也会接通?

    由于端口侧 I2C 上永久的3.3V PU 正常工作、这意味着 FPC 器件在某种程度上无法获得确认并超时。 是否可以将示波器置于 I2C 信号上以查看正在发生的事件或哪些其他实体可能正在驱动 I2C 通道? 器件内有一个计时器、用于设置 I2C 卡滞超时。 您的 FPC 软件驱动程序可能会设置此寄存器。

    此致、Nasser  

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

    尊敬的 Nasser:

    很抱歉这么晚才回复。

    它是什么寄存器? 默认值是什么?

    BR

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

    致志刚、

    这些是寄存器0x9B、0x9C、0xA1至0xA4。 请参阅编程指南。

    此致、Nasser

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

    您好!

    我已经检查过、但我认为这不是原因。

    默认超时为10ms、将触发一个 int 到 CPU。 但这不是我们想要的。 我们希望看到 FPC402能够自行恢复。

    同时、它远离300ms 或700ms。

    该计时器加入
    毫秒、默认为10ms (典型值)。

    root@hawkowl:~# i2cget -f -y 1 0x8 0x9d
    0x0A
    root@hawkowl:~# i2cget -f -y 1 0x8 0x9e
    0x0A
    root@hawkowl:~# i2cget -f -y 1 0x8 0x9f
    0x0A
    root@hawkowl:~# i2cget -f -y 1 0x8 0xa0
    0x0A

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

    尊敬的 Zhigang:

    我同意你的发言。 人们以为这个计时器可能会以某种方式设置为较高的值。

    为了解决这个问题、在 I2C 通道上具有永久3.3V 而不是永久3.3V 时、最好设置示波器截图。 当我们访问此 XFP 端口的 FPC 时、我们应该参考此示波器屏幕截图。 这可以告诉我们这里会发生什么。

    此致、Nasser