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:ARP 请求没有出现在 PC 中

Guru**** 2475160 points


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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1450487/dp83867ir-arp-request-is-not-coming-in-the-pc

器件型号:DP83867IR

工具与软件:

您好!

我叫 DP86837IR、我正在项目中使用 Lattice Certus Pro-NX FPGA 进行开发。 我们开发了支持 RGMII 1G 的定制器件。 我已验证、直到在 PHY IC 中进行模拟环回测试、我可以看到我在 RGMII TX 中发送的 RGMII RX 中出现正确的数据。 启用自动协商后、我已连接到 PC 并测试用例。 但在连线鲨鱼我看不到任何 ARP 请求从我的板(这是初始请求板将到 PC 连接)。

以下是我为1G 配置的用于 Phy IC 并与 PC 进行测试的寄存器:

1.将0x1140数据写入0x0000地址(BMCR)

2.将0x1300数据写入0x0009地址(1000BaseT)

我将使用扩展寄存器将数据写入地址0x0032和0x0086、

3.将0x001F 数据写入0x000D 地址(REGCR)

4.将0x0032数据写入0x000E 地址(ADDAR)

5.将0x401F 数据写入0x000D 地址

6.将0x00D3数据写入0x000E 地址、这意味着我要将0x00D3数据写入0x0032地址间接(RGMII Ctrl reg)。

7. 将0x001F 数据写入0x000D 地址

8.将0x0086数据写入0x000E 地址

9.将0x401F 数据写入0x000D 地址

10.将0x0046数据写入0x000E 地址、这意味着我要将0x0046数据写入0x0070 地址(RGMII 延迟 Ctrl reg)。

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

    您好!

    感谢您提供的所有寄存器写入。 首先、我想澄清一下您的设置、确保我们与我们位于同一页面。  

    • 您提到自动协商已开启。 我希望确保自动协商已完成、并且链路已建立、速度为1G。 这可以通过读取寄存器0x01进行验证。  
    • 要为其发送 ARP 请求的函数尝试执行什么类型的函数? 是否尝试从定制电路板对 PC 执行 ping 操作?
    • 是否也为模拟环回测试写入这些相同的寄存器?
    • 假设未建立链路、我们可以尝试在 PHY 上设置反向环回并从 PC 发送数据包来验证 MDI 路径的完整性。 这可以使用寄存器0x16[5]进行设置
    • 您选择手动设置主/从模式有什么原因吗? 您是否尝试过在没有手动从站配置的情况下进行设置?

    此致!

    Vivaan

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

    尊敬的 Vivaan:

    感谢您的答复

    在处理应用程序时、我观察到以下情况:

    1. 我读取寄存器0x01、值为0x796D
    2. 在我的应用程序中、电路板加电后会向 PC 提出 ARP 请求。 但是、我在 PC 的 Wireshark 中看不到来自电路板的 ARP 请求。
    3. 在 RGMII TX 上使用 JTAG 调试器、我验证 ARP 请求被正确发送
    4. 模拟环回:
      我通过写入0x0140 REGISTER 禁用自动协商0x0000 ,并通过写入0x0008 REGISTER 配置回送0x0016

    5. 反向环回:
      您能否确认所需的寄存器配置? 我正在考虑以下几点:

      • 写入0x0140 寄存器0x0000
      • 写入0x0009 寄存器0x1300
      • 写入0x0016 寄存器0x0020。 请告诉我这些配置是否正确或是否需要进行任何更改。
    • 我已选择 PHY IC 作为 A 从机 、因为我的应用程序中的 PC 设置为始终充当 主站参考设计 .
    • 我还尝试了板对板设置、但问题仍未解决。
    • 有趣的是、我可以成功接收并处理从 PC 发送到我的电路板的垃圾数据。 但是、我在从评估板向 PC 发送数据时会遇到问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 Vivaan:

    我测试了反向环回测试、无论我发送的数据是多少、我都能看到正确的数据。

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

    尊敬的 Arvindh:

    感谢您提供详细信息。  

    根据您的测试、我们已分别通过反向环回和模拟环回测试验证了 MDI 和 MII 路径。 基于此、我相信 MDI 和 MII 路径本身能够按预期工作。  

    令人欣慰的是、我能够成功接收并处理从 PC 发送到我的主板的垃圾数据。 但是、我在从电路板向 PC 发送数据时会遇到问题。

    通过反向环回测试、我们能够验证还读取了从电路板到 PC 的数据。 我认为这可能与 ARP 数据包的结构有关。  

    我想我们可以通过 在 ARP 请求期间探测 MDI 线路来进行进一步的测试。  我还希望确保在自动协商完成并建立链路后发送请求。  ARP 数据包通常也小于以太网数据包。 可能是因为 Wireshark 无法读取这些数据包。  

    也许我们也可以测试 ping 吗? 我们可以配置 PHY 的 IP、并尝试从 PC 对其执行 ping 操作。

    此致!

    Vivaan

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

    尊敬的 Vivaan:

    我已通过写入0x00200x0016寄存器将 PHY IC 配置为反向回送。 通过此配置、我可以观察数据(例如来自 PC 的 ARP ping 请求)、成功地循环并在 Wireshark 中显示。 基于此、我认为问题在于 MAC 和 PHY 之间的接口。

    我已经查看了 RGMII 时序预算 故障排除指南 来自 TI、我有以下观察和问题:

    1. 对齐和中心模式:

      • 如果我的 MAC 配置为对齐模式、PHY IC 应处于移位模式。
      • 要将 PHY IC 配置为移位模式、我写入0x00D3 register0x0032 和 register0x0017 (0.25ns in TXC and 2ns in RXC)0x0086
      • 您能否确认此配置对于 MAC 上的对齐模式是否正确?
      • FPGA 侧 TX 以 RGMII TX 时钟(移位模式)为中心、RX 对齐。
    2. MAC 地址问题:

      • 在调试 Lattice FPGA 时、我观察到在发送和接收过程中 MAC 地址存在差异:
        • 发送的 MAC 地址: 0x0C22384E5A
        • 接收的 MAC 地址: 0x0C222A6E4E
      • 我尝试了使用调整 TX 延迟 RGMII DCTL 寄存器 延迟范围从0x00xF,但问题仍然存在。

    您能否提供您的见解或建议解决此问题的进一步步骤?

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

    尊敬的 Aravindh:  

    由于该器件 能够以模拟环回方式接收和发送数据包、您可以根据接收到的数据检查发送的数据来进行验证、因此 RGMII 线路的行为似乎符合预期。

    以下是一个常见问题解答 、详细介绍了 RGMII 的移位/对齐模式。

    如果 MAC 处于对齐模式、PHY 必须处于移位模式、以便它知道在对数据采样之前移位时钟。

    [报价 userid="602183" URL"~/support/interface-group/interface/f/interface-forum/1450487/dp83867ir-arp-request-is-not-coming-in-the-pc/5571884 #5571884"]TXC 为0.25ns、RXC 为2ns

    根据写入的寄存器、TXC 位移0.5ns、而不是0.25。 否则看起来是正确的。  

    您提到 TX 在 MAC 侧配置为移位模式、但 PHY 也正在针对移位模式进行编程。 两者之一应处于对齐模式。

    接收到的 MAC 地址在哪里? 您是否指的是模拟环回案例? 由于 RGMII 时序规格、这种传输和接收位不同的行为可能是采样错误。

    此致!

    Vivaan

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

    尊敬的 Vivaan:  

    在 PHY IC 中调整 TXC 和 RXC 延迟后、可以在 PC 中看到 ARP 请求、可以执行以太网事务。 感谢您的支持

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

    尊敬的 Aravindh:  

    很高兴知道这种行为已得到解决。 我现在将关闭此主题帖、但如果需要更多支持、您可以随时发布另一个主题帖。

    此致!

    Vivaan