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:启用并测试 BIST/环回模式、用于故障排除硬件故障

Guru**** 2551040 points
Other Parts Discussed in Thread: DP83867IR, AM6421

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1566166/dp83867ir-enable-and-test-bist-loopback-mode-for-troubleshooting-h-w

器件型号:DP83867IR
主题: AM6421 中讨论的其他器件

工具/软件:

您好团队:

  我们有一个基于 AM6421 SoC 设计的定制电路板、其中 DP83867IR PHY 连接到 CPSW RGMII1。

  问题是链路速度设置为 1Gbps 时链路不稳定。 如果我们将其降低到 10Mbps、则会变得更加稳定

  我们使用 tcpdump/Wireshark 分析了网络流量、我们看到许多数据包即使以 10Mbps 的速率丢弃、也会导致 ssh/scp 或任何其他 TCP 流量出现大量延迟

  因此、为了隔离并找到链中的根本原因/故障元素、我们希望启用环回模式。 我们已尝试根据 DP83867 故障排除指南(修订版 C)设置 phy 寄存器

  但我们无法使其正常运行。 它表示已锁定、但数据包计数器绝不会递增。 有时它根本不会锁定

 有人能否提供要设置的确切命令/寄存器值、以便在链中的各种链路上(如 MII、AFE、PHY 等)启用环回

此致、

Akshay D

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

    尊敬的 Akshay:  

    “你说什么?

    对于环回模式、请遵循 0x0016 寄存器中的寄存器说明。  




    对于 MII 环回、可通过将 0x0000 寄存器的位 14 设置为高电平来启用该功能。  

    此致、
    j

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

    您好:

      感谢您的澄清。 我们希望启用 BIST。

      请参阅指南中的本节

      

      遵循了同一个指南。 但接收到的数据包或任何其他计数都没有变化。

      尝试了模拟或 数字等不同的环回路径。 但 无法使其正常工作

    此致、

    Akshay D

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

    尊敬的 Akshay:  

    您测试的速度是多少? 此外、您使用什么来访问 MDIO?

    脚本中的措辞有点令人困惑、但第一个条目是寄存器地址、第二个数字是要写入寄存器的值。  

    在注释中、当他们说将 0000 写入 2100 时、脚本旨在表示将 0x2100 写入寄存器 0x0000。  

    当您同时启用环回功能生成数据包时、您能告诉我们对寄存器 0x0000、0x0016 和 0x0017 的读取内容吗?

    此致、
    j

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

    您好 J

      对延迟回复表示歉意。


      由于我们在 1Gbps 速度下遇到问题、所有操作都是以 10Mbps 的速率完成的

      我们完成了测试脚本、正如您提到的。 但在测试时、BIST 不起作用。 例如、如果环回中存在错误、则应使错误计数器递增;如果环回成功、则应使成功计数递增。 但是、两个计数保持不变。

    此致、

    Akshay D

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

    尊敬的 Akshay:  

    您的 MDI 引脚是否端接至 100 Ω?
    如果没有、您是否尝试过数字环回或 PCS 环回?
    如果内部 BIST 无法工作或无法选择端接、我还建议尝试将 PHY 置于反向环回模式、然后连接到另一个 PHY 以生成数据包并将数据包发送到 DUT。  
    此致、
    j

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

    您好 J

      MDI 上没有 100E 终端。

      但是、我们已经尝试了各种配置。 但没有任何测试工作(或者在我们认为,我们没有)。

      我们有一个 EVM 板。 我们需要的是执行 BIST 的步骤。 我们将在 EVM 上运行它。 我们可以放心地说、在 EVM 上、一切都正常。 因此、它成为了我们的基准系统。

     我们将在定制电路板上执行相同的过程、并比较结果。

     我们需要至少一个良好的测试装置。 这可以是 EVM。 相应地、我们将比较定制电路板。

    此致、

    Akshay D

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

    尊敬的 Akshay:  

    如果您没有 100E 终端、我建议在 DUT 上插入一根以太网电缆、然后作为链路伙伴插入另一个 TI PHY。 我们的 PHY 具有内部端接、因此能够有效地提供相同的效果。  

    我使用故障排除指南中给定的脚本尝试了数字环回和模拟环回、我能够看到锁定正在发生、数据包计数器随着链路 LED 亮起而上升。 我没有看到数据包计数器递增、也没有看到 PCS 环回中的锁定变为高电平。 这可能是因为 PCS 环回位于数据包生成器内部之前。  

    需要注意的几点:
    写入 0x0016 寄存器时请小心、因为第一个字节决定您处于哪种环回模式。  
    我注意到、我们的脚本提到 0016 写入了几次、但当我们告诉用户将 D004 写入寄存器 0016 时、这个值似乎有所不同、尤其是在第二个脚本中。  

    请保持第一个字节相同(xxx8 表示模拟、XXX4 表示数字、XXX3 表示 PCS 环回)、因此环回模式保持不变。  

    请告诉我您是否可以在 EVM 上重现正确的行为。  

    此致、
    j