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.

[参考译文] DP83TD510E:由于定期读取 SQI (0x0A85)寄存器、SPE 链路下降

Guru**** 2524550 points
Other Parts Discussed in Thread: DP83TD510E

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1313130/dp83td510e-spe-link-drops-due-to-periodical-reading-of-sqi-0x0a85-register

器件型号:DP83TD510E

尊敬的支持团队您好!

我基于 DP83TD510E 设计了定制电路板、可提供 SPE 链路。
电路板具有:
* MCU 用于诊断目的,读取或写入 DP83TD510E 寄存器;
*指示 SPE "链路良好"状态的 LED。 连接到 DP83TD510E 的 LED_0引脚;
* RGB LED 指示 SPE 链路运行状况(差,边缘,良好)。 连接到 MCU 输出。

我的设置由两个通过 SPE 链路互连的相同的电路板组成。

SPE 链路运行正常、并且在 I 按顺序每500ms 读取一次寄存器时未观察到任何问题:
* PHY_STS (0x010)-获取链路状态(链路已建立或链路已断开);
* DSP_REG_72 (0x872)-用于获取 SQI 值;
* alcd_metric (0xA9D )-仅用于调试目的;
* alcd_status (0x0A9F)-仅用于调试。

但是、当我将0xA85寄存器添加到读取序列中时、链接很快就会关闭(5-20秒后)。 另外、有时这会导致 PHY 传输的 SMI 位不同步(MDIO 线路在前导码时间内发生不可预见的活动)。

Question:
1.寄存器0x0A85是否对定期读取有任何限制、或者它是否存在植入错误?
2. DSP_REG_72寄存器中的哪些值对应于较差、边际、良好的阈值? 我想使用该寄存器进行 SPE 链路运行状况指示、因为它的读数与0xA85寄存器没有矛盾。

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

    尊敬的 Igor:

    我建议使用寄存器0xA85进行 SQI 测量、并在 以下应用手册中注明了链路质量计算和阈值:

    为了澄清、读取0xA85后链路才会关闭? 寄存器读取序列可能存在问题、因为0xA85位于扩展寄存器空间中。

    请分享您的完整序列并与此示例进行比较:

    谢谢!

    埃文

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

    谢谢!


    我已经知道对扩展寄存器的访问以及应用手册。

    是的、仅当我将寄存器0xA85的读取添加到与 PHY 的通信序列中时、链接才会停止。

    与扩展寄存器的通信完全按照建议进行:

    MDIO_READ () start:phy=9、reg=0xA85
           SMI_REG_WRITE ():PHY=9、reg=0x00D、DATA=0x001F
           SMI_REG_WRITE ():PHY=9、reg=0x00E、DATA=0x0A85
           SMI_REG_WRITE ():PHY=9、reg=0x00D、DATA=0x401F
           SMI_REG_READ (): PHY=9、reg=0x00E、DATA=0x006B
    MDIO_READ() END:DATA=0x006B

    完整日志可在 MDIO 日志中找到

    下面是 MDIO 日志的一些注释:

    *时间=0.0:主板电源已打开。
    *时间=0.0 4.690:    链路断开
    *时间=5.20…… 76.070:  链接接通。 寄存器0xA85 = 0x005B .. 0x006D
    *时间=76.630 .. 77.750:链路已建立。 寄存器0xA85 = 0x16AE。 0x411D
    *时间=78.310:          链路中断

    同时、发生了通信错误:
    * TIME=7.440:PHY_STS 寄存器 I/O 错误。
    * time=57.230:PHY_STS 寄存器 I/O 错误。
    * time=58.860:PHY_STS 寄存器 I/O 错误。
    * TIME=73.930:PHY_STS 寄存器 I/O 错误。
    * TIME=75.560:PHY_STS 寄存器 I/O 错误。

    如果我将对0xA85寄存器的访问替换为0xA9D、则"link down"问题和 I/O 错误消失。

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

    问题的根源似乎是连接到同一 MIIM 接口的 KSZ8864CNX 以太网交换机。 KSZ8864CNX 具有非标准 SMI 协议、这可能会造成冲突。

    当我从通用 MIIM 接口断开 KSZ8864CNX 的 MDIO 线路时、问题就会消失。

    我会进行长期测试来确认这一点。

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

    尊敬的 Igor:

    很高兴您找到了问题的根源。

    我们尚未使用 MIIM 接口在 DP83TD510-E 上测试寄存器访问、因此 MIIM 协议可能会导致 PHY 上设置意外配置。

    您是否可以访问 SMI 控制器? 如果评估阶段需要外部控制器、我建议使用 MSP-EXP430F5529 LaunchPad。

    谢谢!

    埃文

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

    我可能在术语上错了。 我是说 DP83TD510E 和 KSZ8864CNX 连接到同一根 SMI 总线。

    KSZ8864CNX 连接至单独的 Re 总线可解决此问题。