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.

[参考译文] DP83867IR:SGMII 模式下的以太网链路不稳定

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1313217/dp83867ir-ethernet-link-instability-in-sgmii-mode

器件型号:DP83867IR
主题中讨论的其他器件:DP83867IS、、DP83867ERGZ-S-EVM

尊敬的支持团队:

在我们的电路板上、我们连接了配置为 SGMII 模式的以太网 PHY DP83867。 我们观察到链路不稳定、具体取决于链路伙伴。

第一种情况:

ping 在1000 Mbps 和100 Mbps 下有效、但在10 Mbps 下无效

第二种情况:

ping 在10 Mbps 下有效、但在1000 Mbps 和100 Mbps 下无效

 

MDIO 接口工作正常、可用于检查 PHY 寄存器。

首先是好的情况、此时可以使用1000Mbps 的 ping 命令。

连接方:

ethtool enp4s0
enp4s0的设置:
支持的端口:[ TP ]
支持的链路模式:10baseT/half 10baseT/Full
100baseT/1/2 100baseT/Full
1000BaseT /半1000 BaseT /全
支持的暂停帧使用:否
支持自动协商:是
支持的 FEC 模式:未报告
广播的链路模式:1000baseT/Full
广播的暂停帧使用:否
广播的自动协商:是
广播的 FEC 模式:未报告
连接方广播的链路模式:10baseT/Full
100baseT/Full
1000baseT/Full
连接方通告的暂停帧使用:对称仅接收
连接方广播的自动协商:是
连接方广播的 FEC 模式:未报告
速度:1000Mb/s
双工:全双工
自协商:开启
端口:双绞线
PHYAD:1
收发器:内部
MDI-X:开启
支持唤醒:G
唤醒:G
当前消息级别:0x000000ff (255)
DRV 探针链接计时器 ifup rx_err tx_err
检测到链路:是

PHY 寄存器输出:

0x0 0x1140
0x1 0x796d
0x2 0x2000
0x3 0xa231
0x4 0xd41
0x5 0xc001
0x6 0x6d
0x7 0x2001
0x8 0x6801
0x9 0x200
0xA 0x3800
0xb 0x0
0xc 0x0
0xd 0x4007
0xe 0x0
0xF 0x3000
0x10 0x5848
0x11 0xac02
0x12 0xec10
0x13 0x0
0x14 0x2bc7
0x15 0x0
0x16 0x0
0x17 0x40
0x18 0x6150
0x19 0x4444
0x1a 0x2
0x1b 0x0
0x1c 0x0
0x1d 0x0
0x1E 0x282
0x1F 0x0

现在、我更改链路伙伴的速度:

 ethtool -s enp4s0速度10双工全

ethtool enp4s0
enp4s0的设置:
支持的端口:[ TP ]
支持的链路模式:10baseT/half 10baseT/Full
100baseT/1/2 100baseT/Full
1000BaseT /半1000 BaseT /全
支持的暂停帧使用:否
支持自动协商:是
支持的 FEC 模式:未报告
广播的链路模式:10baseT/Full
广播的暂停帧使用:否
广播的自动协商:是
广播的 FEC 模式:未报告
连接方广播的链路模式:10baseT/Full
100baseT/Full
连接方通告的暂停帧使用:对称仅接收
连接方广播的自动协商:是
连接方广播的 FEC 模式:未报告
速度:10Mb/s
双工:全双工
自协商:开启
端口:双绞线
PHYAD:1
收发器:内部
MDI-X:开启
支持唤醒:G
唤醒:G
当前消息级别:0x000000ff (255)
DRV 探针链接计时器 ifup rx_err tx_err
检测到链路:是

无法执行 Ping 操作!

寄存器输出:

0x0 0x1140
0x1 0x796d
0x2 0x2000
0x3 0xa231
0x4 0xd41
0x5 0x4041
0x6 0x65
0x7 0x2001
0x8 0x0
0x9 0x200
0xA 0x0
0xb 0x0
0xc 0x0
0xd 0x4007
0xe 0x0
0xF 0x3000
0x10 0x5848
0x11 0x2c02
0x12 0xec10
0x13 0x0
0x14 0x2bc7
0x15 0x0
0x16 0x0
0x17 0x40
0x18 0x6150
0x19 0x4444
0x1a 0x2
0x1b 0x0
0x1c 0x0
0x1d 0x0
0x1E 0x282
0x1F 0x0

=>本地接收器不正常

=>远程接收器不正常

希望大家能进一步分析。

Br、

延斯

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

    Jens、您好!

    我们将在内部与团队讨论此问题、并在本周晚些时候向您提供回复。

    --

    此致、

    林希尔曼

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

    Jens、您好!

    从第二个寄存器转储中、我可以看到、通过寄存器0x000A bit [11:10]和寄存器0x0005 [8:5]、您的链路伙伴仅支持100Mbps 和1000Mbps 的速率。

    似乎是链路伙伴问题不支持该速度。 您能否检查链路伙伴上的寄存器0x0004和0x0009、以确保它们支持或广播所需的速度?

    --

    谢谢!

    林希尔曼

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

    你好,林希尔曼:

    感谢您的支持!

    没错、在第二个寄存器转储中、链路伙伴仅支持10Mbps 的速率。 链路伙伴已准备好10/100/1000Mbps、但我已通过 ethtool 命令限制速度:ethtool  -s enp4s0 speed 10 duplex 全

    这就是链路伙伴仅显示支持10Mbps 的原因。

    1.使用 ethtool -s enp4s0速度1000双工全=> ping 工作时观察到寄存器转储

    2.使用工具观察到的寄存器转储-s enp4s0速度10双工全速=> ping 失败

    如果 Ping 失败、则 Reg8 =0、这意味着没有接收到链路代码字? 但 Reg37=0x3表示自动协商已完成、已接收 SGMII 页面。

     

    Br、

    延斯

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

    您好!

    很高兴它能够解决。 我想说系统链接采用不同的速度、这就是您能够看到自动协商完成但在特定速度 ping 失败的原因。

    --

    此致、

    林希尔曼

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

    你好,林希尔曼:

    当我在链路端使用 ethtool 命令将速度降低到10Mbps 时、会重新启动协商。 因此、我想知道它为什么不起作用。

    Br、

    延斯

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

    我要指向已启用的错误位。 也许这可以提示进一步分析。

    寄存器0x13中断状态:位2 XGMII 错误位=1

    寄存器0xA 状态:第13位= 1 //本地接收器不正常

                  位12 =1 //远程接收器不正常

    有什么想法可能是根本原因?

    Br、

    延斯

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

    Jens、您好!

    • 0x0013表示触发中断的 MAC 接口上存在一些错误。
    • 0x000A 表示您的系统没有自动协商完成、因为您无法检测到远程接收器。

    我可以问问、PHY 问题是否解决了? 为什么会收到此寄存器值? 当链路建立时、不应触发0x000A。

    --

    此致、

    林希尔曼

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

    你好,林希尔曼:

    PHY 问题未解决。 连接已建立、但在大多数情况下 ping 会失败。 这种行为很奇怪、因为连接已建立并且状态寄存器中的 ERROR 位已启用。 我们已测量了自动协商的脉冲、看上去一切正常。

    我们如何才能更进一步?

    Br、

    延斯

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

    Jens、您好!

    只是想确认、当本地接收器和远程接收器不正常时、您是否可以多次读取寄存器0x0001? 我们预计在接收器不正常时链路未建立。 这样可以向我们指示问题是出在 MDI 接口还是 SGMII 接口上。  

    如果可能、您还能否告诉我您读取的哪一个寄存器指示本地接收器和远程接收器不正常?

    --

    此致、

    林希尔曼

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

    你好,林希尔曼:

    我多次读取寄存器、但内容没有改变。

    寄存器0x1 = 0x796d

    =>有效链路、未检测到远程传回、自动协商完成

    寄存器0xA = 0x0

    =>本地/远程接收器不正常

    寄存器0x37=0

    未接收到 SGMII 页面、未完成

    这是否意味着 MDI 接口正常、问题出在 SGMII 上?  

    Br、

    延斯

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

    Jens、您好!

    是的、这意味着问题出在 SGMII 端。 我还想确认一件事。 DP83867IR 不支持 SGMII 通信、您使用的是 DP83867IS 还是 DP83867 IR?

    如果您使用 DP83867IS、我们可能需要检查以下两项有关 SGMII 通信的信息:

    • 您可以检查寄存器0x0010吗?
    • 您是否能够探测  SGMII 上的 SOP、SON、SIP 和 SIN? 如果可能、您还能告诉我探测 SGMII 的位置吗?
    • 您还能否检查 SGMII 通信中所有布线之间的长度匹配度?

    --

    此致、

    林希尔曼

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

    你好,林希尔曼:

    所用芯片的正确标签:DP83867ISRGZT、其中 应支持 SGMII。;-)

    Reg0x10:0x5848的内容

    我们将测量所有建议的信号、并提供结果切除术。

    在 BIST 模式下检查数据路径是否有意义? 我可以启用 MI 反向环回、而 BIST 数据包生成器将验证数据完整性。 如果 SGMII 路径有问题、则测试应成功完成。 你怎么看?

    Br、

    延斯

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

    Jens、您好!

    好了、我们将等待您明天的探测结果。 我们需要的主要特性是 SGMII 通信上的峰峰值电压。

    BIST 数据包发生器路径主要转到 MDI 侧而不是 SGMII 侧。 为了确认该问题、您可以在 SGMII 端进行一项操作、即在 MAC 或 Soc 上启用数据包生成器。 然后在 DP83867上启用 MII 环回、查看 SoC 是否能够接收回数据包。

    --

    此致、

    林希尔曼

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

    你好,林希尔曼:

    我尝试启用 BIST 数据包生成器、不确定我的理解是否正确。 以下是我的"良好案例"设置:

    我已将 DP83867作为链路伙伴、该伙伴配置为 RGMII 并启用了反向环回

    硬件复位:0x1f 0x8000

    禁用:0x0 0x140

    启用数据包生成器:0x16 0x20

    4.启用寄存器0x0中的环回位(位14)

     配置为 RGMII 并启用数据包生成的 DP83867:

    硬件复位:0x1f 0x8000

    禁用:0x0 0x140

    3、 环回配置:0xFE 0xE720

    启用数据包生成器:0x16 0x5000

    5.启用寄存器0x0中的环回位(位14)

    结果:

    Reg17:0x240 =>正在生成数据包、PRBS 校验器未锁定

    寄存器72:0x0

    请回顾一下用过的序列吗?

    附加了  „SOP"、„SON "的截图

      

    屏幕截图1:

    在 PHY EVM (德州仪器(TI)的评估板)上、我们在 PHY 输出端测量了 SOP/SON。

     

    屏幕截图2:

    在我们的应用程序中、我们删除了 MAC。 因此可以访问从 PHY 到 MAC 的 PCB 布线。 在该 MAC 的输入上、我们测量了 SOP/SON。

     

    两个波形看起来非常相似、因此我们的解释是:PCB 上的 RX 信号路径没有问题。

    Br、

    延斯

     

     

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

    Jens、您好!

    感谢您分享波形。 在 SOP/SON 上、SGMII 信号看起来不错。

    • 您是否还检查了 SIP/SIN 并查看是否能够接收任何信号?

    我还想仔细检查一下。 您是否同时为处理器和 PHY 供电?

    • 如果可能、您是否可以执行软件复位0x001F 到4000或硬件复位0x001f 到8000、并查看这是否有助于建立 SGMII 链路?

    --

    谢谢!

    林希尔曼

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

    你好,林希尔曼:

    目前、我们会测量 SIP/SIN 信号、如果准备就绪、我们将对您进行更新。

    我想分享我当前测试设置的图片、以通过使用 BIST 数据包生成器验证 PHY-MDI 路径。 能否检查配置是否正确?  

    e2e.ti.com/.../test_5F00_setup.pptx

    Br、

    延斯

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

    Jens、您好!

    我们将等待您对 SIP/SIN 测量的响应。

    程序对我来说似乎是正确的。 务必首先启用反向环回。 我想问一下、这次测试的目的是什么?  

    如果可能、您可以尝试以下测试吗? 这可以确认问题是否在 SGMII 侧。

    我还想仔细检查一下。 您是否同时为处理器和 PHY 供电?

    • 如果可能、您是否可以执行软件复位0x001F 到4000或硬件复位0x001f 到8000、并查看这是否有助于建立 SGMII 链路?

    --

    此致、

    林希尔曼

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

    你好,林希尔曼:

    感谢您查看 BIST 配置。
    我们已经尝试添加硬件/软件复位、但观察到没有区别。
    是的、在数据包生成器发送数据包之前已启用反向环回。
    该测试的目的是在不涉及 SGMII 的情况下验证数据路径 PHY-MDI。
    我将理解我的测试设置应该如何工作。
    数据包生成器向链路伙伴传输数据包、该伙伴循环回由反向循环配置引起的数据。 本例中不应涉及 SGMII。 在我的测试中、Register0x17[11]位为低电平、这表示数据路径 PHY–MDI 无效。
    请更正我的错误。
    我已经检查了您的建议、它看起来与我的测试设置完全相同。 您是忘记添加一些内容、还是我遗漏了重要的内容? 也许您可以澄清一下。
    BTW:寄存器0x0中 BIT14的含义是什么?

    Br、

    延斯

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

    附上了  SIP/SIN 测量结果和 差分对内布线差异结果:

    SOP/SON  0.88mm

    SIP/SIN  0.08mm

    请建议如何进一步操作。

    Br、

    延斯

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

    Jens、您好!

    很抱歉、我的解释在 BIST 测试设置上不清楚。 如果可能、您能否首先在与 SGMII 接口连接的 DP83867上启用反向环回。 然后、在具有 RGMII 接口的 DP83867上启用 BIST 发生器? 这可能会绕过 SGMII 接口。

    从您的波形可以看出、PHY 的 SGMII 输入似乎并不十分清晰。 您能否仔细检查布局检查清单 xMII 部分、看看您是否符合建议?

    e2e.ti.com/.../4774.IndustrialPHY_5F00_Layout-Review-Checklist.xlsx

    --

    谢谢!

    林希尔曼

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

    你好,林希尔曼:

    我在  具有 RGMII 接口的 DP83867上启用了 BIST 发生器后获得了相同的结果。    未启用位 Register0x17[11]。

    附加了布局 checklist.e2e.ti.com/.../4774.IndustrialPHY_5F00_Layout-Review-Checklist_5F00_kontron.xlsx

    Br、

    延斯

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

    Jens、您好!

    如果启用 BIST 发生器、则寄存器0x0017 bit[11]应被锁定。 如果可能、您能否 看到是否可以通过寄存器0x0016启用模拟环回、然后启用 BIST 发生器、并查看您是否能够成功运行 BIST?  

    我看一下布局检查清单。 在 SGMII 接口上、布局似乎应该没有问题。 我还对 Rbias 引脚布线做了一些注释、但这不会对 SGMII 接口产生太大影响。

    e2e.ti.com/.../5873.IndustrialPHY_5F00_Layout-Review-Checklist_5F00_kontron.xlsx

    --

    此致、

    林希尔曼

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

    你好,林希尔曼:

    是的、启用模拟环回后、BIST 成功运行。  

    进一步分析意味着什么?  

    有一个可用的反向板(DP83867ERGZ-S-EVM)、我也可以使用它运行 BIST 发生器。

    感谢您的布局审核!

    Br、

    延斯

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

    Jens、您好!

    目前、 我们团队中有人正在研究 SGMII 接口驱动程序。 根据我们之前所做的所有实验、我们认为问题会在 SGMII 侧发生。 我们继续讨论 SGMII 驱动程序、确保驱动程序正常工作。 我们团队的软件专家将继续为您提供用于 DP83867的 SGMII 驱动程序。

    --

    谢谢!

    林希尔曼

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

    你好,林希尔曼:

    我们感到困惑、因为在链路伙伴侧使用反向环路时 BIST 发生器测试未成功。 本测试将验证 PHY-MDI 数据路径、并排除 SGMII IF。 您可以提供更多详细信息。

    请说明 Reg17[Bit7]和 Reg17[Bit6]的含义。 这将有助于更好地了解 BIST 模式的功能。

    Br、

    延斯

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

    Jens、您好!  

    感谢您的尝试。  

    我们还可以在您这边尝试一件事、就是启用 MAC 这边的数据包生成、如下所示:

    MAC <-- RGMII --> 867EVM1 <--铜缆--> 867EVM2 <--反向回送--> 867EVM1 <-- RGMII -->MAC

    这还可以向您指示铜是否正常工作。

    根据我的理解、PRBS 应该起作用。 但是、我认为不是主要问题发生的地方、因为 SGMII 自协商不完整。 是否有更快速的确认方法。 上述方法应该会得到类似的结果。

    Reg0x0017位[7]和位[6]不应影响 BIST 测试。

    --
    此致、

    林希尔曼

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

    你好,林希尔曼:

    我有个好消息! 在链路伙伴侧禁用"能效以太网"模式时、所有问题都消失了。

    #ethtool --set-eee enp3s0 eee off

    寄存器设置看起来也很好、没有错误指示。

    您是否已经对此 EEE 模式问题有过一些经验?

    Br、

    延斯

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

    Jens、您好!

    感谢您分享这个好消息。 我们以前从未看到过这个问题、我会与团队讨论、征求他们对此的意见。  

    • 您能否说一说链路伙伴、您说的是其中一个 DP83867PHY 配置为 EEE 模式?
    • 问题在于铜侧而不是 SGMII 侧?

    只是希望在我向团队提出观察之前有一个更好的了解。

    --

    谢谢!

    林希尔曼

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

    你好,林希尔曼:

      DP83867PHY 未用作链路伙伴。 我们可以关闭此案例。

    现在、我们重点介绍 MAC 驱动程序侧、该侧似乎不支持 EEE 模式请求。

    非常感谢您的支持!

    Br、

    延斯