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:如何获取环回测试的结果?

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1079785/dp83867ir-how-to-get-the-results-from-loopback-tests

部件号:DP83867IR
“线程:测试”中讨论的其它部件

您好,

我有一个自定义主板,其中 Xilinx ZYNQ7000 XC7Z020芯片运行 petalinux,DP83867作为以太网连接的物理层。

petalinux 系统检测 eth0,当我将链接伙伴连接到 eth0时,自动协商已完成,链接已启动。 我可以配置 IP 地址(比如169.254.0.2),网络掩码和广播。 但是,我无法 ping 通此伙伴(IP 169.254.0.1,相同的网络掩码和广播)。

我无法找出问题所在。 我正在尝试缩小执行故障排除中描述的环回测试的问题范围。 但这有点令人困惑:

我要做的第一个步骤是在核心中引导 petalinux。 然后,我启动 u-boot 环境,以便我可以读/写寄存器。

例如,对于近端环回测试,我设置了

REG 0x001f 至0x8000

注册号0x0000至0x0140

注册号0x0032至0x00d3

REG 0x0016至0x004

注册为0x001f 至0x4000

然后 y 设置 ipaddr 环境变量(setenv ipaddr 169.254.0.2)

我尝试从 u-boot 环境(而不是从链接伙伴) ping 169.254.0.2:  

Ping 169.254.0.2
以太网@e000b000正在等待 PHY 自动协商完成.......... 超时!
以太网@e000b000:无链路。
Ping 失败;主机169.254.0.2不活动

 获取环回测试 结果的方法是否正确?  

无论我在寄存器(近端,远端,MII 回送或模拟回送)上设置了哪种测试,ping 都不起作用,既不能从 u-boot 环境也不能从链路伙伴处 ping 通。 所以我想我在做一些不好的事情,但不确定是不是这是一个令人感到遗憾的步骤。  

很快:我可以写入寄存器,但我不确定如何从环回测试中获得结果。

任何建议都将不胜感激!

提前感谢!

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

    您好,

    您似乎正在对 PHY 的环回寄存器命令中禁用自动协商。 这可能是您看到 PHY 自动协商超时的原因。 此外,从您的正常操作设置来看,您的 MAC 接口或链路合作伙伴的 MAC 接口似乎存在问题。 要从硬件角度检查 ping 是否成功,PHY 的 MII 和 MDI 连接必须正常工作,PHY 的链路合作伙伴的 MII 连接也必须正常工作。 PHY 能够自动协商并完成链路这一事实消除了可能存在的 MDI 连接。

    顺祝商祺!

    杰罗姆

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

    Gerome 您好,  

    好的,所以寄存器0x0应该写入0x1140以激活自动协商。 谢谢! 所以,我认为,用这种方法取得这些结果是正确的,对吗?

    我无法执行远端或近端回送,由于我的链接合作伙伴是商业嵌入式计算机,因此问题可能与定制主板的原理图或 FPGA 部件的 MII 有关。

    我会检查这个。 不管怎样,你还能建议我检查一下吗? 是否有任何注册表值得检查以确定问题所在?

    在这方面做了很长时间的工作,但还不知道我能做什么  

    谢谢

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

    您好,

    我建议查看 PHY 和 MAC 之间的 RGMII 迹线,看看是否存在一些不匹配。 第9.2.2.1.1节对 RGMII 布局指南有一些深入了解。 我还建议根据需要修改注册号0x86以解决任何不匹配问题。

    顺祝商祺!

    杰罗姆

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

    您好,

    很抱歉耽误你的回答。  

    检查 RGMII 布局指南后,一切似乎都正常。 此外,迹线的长度几乎相同(~47.3X 毫米,在 X 术语中不同,因此小于2英寸)。  

    关于偏斜,适合我设计的值为2ns (0X0077,在0x0086上)。 我已经尝试了该值周围的所有组合,但没有任何更改(在 reg 0x0086上尝试了:0x0077,0x0067,0x0068,0x0066,0x0076, 0x0077,0x0078,0x0086,0x0087和0x0088)

    我还研究了 Linux 的 ping 命令的工作原理,ping 我的 IP 似乎会在 MAC 内部保持环路。 因此,我没有正确检查回送结果。 那么,如何检查环回结果? 我浏览了数据表上的所有寄存器,但找不到存储这些结果的任何寄存器。  

    我尝试在 PHY 内生成 PRBS 数据包,但这不能解决我对问题所在 的疑问,因此我需要检查从 MAC 向 PHY 的物理和数字层发送数据包的结果。

    此外,我无法理解,如果我尝试执行数字回送,为什么我需要自动协商。 在所有数据表中,它都表示需要关闭此类环回,对我来说,这更有意义,因为我不希望它连接到另一端。为什么我需要启用它?

    谢谢。

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

    您好,

    杰罗姆 目前正在度假。 请期待本周晚些时候收到回复。 感谢您的理解。

    顺祝商祺!

    大卫

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

    您好,

    如果您想测试 PHY 的环回,我建议您进行流量生成器/检查器测试。 此测试旨在通过信号链发出流量并以某种方式回传至初始设备,以检查是否有任何数据包损坏和/或不存在,从而表明存在问题。 通常,MAC 有内置数据包生成器和校验器,因此我建议咨询 MAC 制造商(我认为这是 Xilinx),了解如何启用此功能。 这些数据包将通过 RGMII 从 MAC 发送到 PHY,并由 PHY (启用了 MII,PCS,数字,模拟或外部环回)回路并将链路返回到 MAC。 在本测试案例中,无需连接链接伙伴。  

    顺祝商祺!

    杰罗姆  

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

    您好,

    由于时间限制和之前解释的未修复的困难,我们决定与其它 PHY 制造商合作,为我们的系统提供服务。 非常感谢他们的支持!

    希望我能再次使用另一条线程, 这给我们留下了一种无法使以太网正常工作的不良感觉。

    此致。