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:EtherNet/IP–在 AM64x 定制电路板上强制 100Mbps 链路速度无法建立

Guru**** 2686445 points

Other Parts Discussed in Thread: AM6442, DP83867IR

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1597973/dp83867ir-ethernet-ip-forced-100-mbps-link-speed-fails-to-link-up-on-am64x-custom-board

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

我们使用基于 AM6442 和工业通信 SDK v11.00.00 的定制电路板。 我们的实现基于在响应以下问题时提供的 EtherNet/IP 适配器演示示示例工程:

AM6442:hwal_init () 和 API 在 EtherNet/IP 适配器演示中的应用 — 处理器论坛-处理器 — TI E2E 支持论坛

环境详细信息:

SDK:AM64x 工业通信 SDK v11.00.00
参考示例:EtherNet/IP 适配器演示
目标处理器:具有“E"功能“功能的处理器、如 JAJSL34G 器件命名约定第 9.1.2 节所述(支持“D"功能“功能、EtherCAT 硬件加速器和启用 CAN-FD)
协议栈:第三方 EtherNet/IP 协议栈(不是 SDK 中包含的协议栈)
PHY:DP83867IR (2 端口/RGMII)

问题:
我们正在使用 EtherNet/IP 进行一项测试、其中端口链路速度从自动协商更改为强制 100Mbps 设置。 但是、当我们将端口配置为 100 Mbps 时、链路无法启动。
请注意、当我们将链路速度设置为 10 Mbps 时、它工作正常、链路正常启动、没有任何问题。
我在以下主题中发现了类似的问题:

DP83867IRPAP-EVM:MAC 上出现 100Mbps 链路建立问题和未收到数据 — 接口论坛-接口 — TI E2E 支持论坛 

在本例中、由于测试要求、我们无法更改 PC 设置、因此需要在端口侧处理此问题。 我已经查看了源代码、但还没有找到明确的解决方案。
您能否提供有关如何解决此问题的建议?

谢谢你。

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

    Hi Hoshina-San,  

    您如何将链路速度从自动协商更改为 100M? 是全双工还是半双工? 我们能否确认、PC 正在广播 100M 全双工/半双工、因此可以链接到 100M?

    您是否尝试过将该电路板链接到其他器件?

    请告诉我。  

    此致、
    j


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

    您好、J-San、

    感谢您的答复。

    • 我们如何打造 1 亿辆车:
      我们使用MDIO_phyRegReadMDIO_phyRegWrite(位于中)drivers\mdio\v0将 PHY 配置为 100M。 具体地说、我们的实施基于CUST_PHY_dp83867.c\examples\industrial_comms\custom_phy\src、在这里、我们CUST_PHY_readRegMDIO_phyRegRead和代替CUST_PHY_writeRegMDIO_phyRegWrite
      尽管与 SDK 相比有一些更改、但 10M 和 100M 设置也采用相同的过程。 由于 10M 配置工作正常、因此我们认为 100M 配置也有效。

    • 双工:
      我们已确认中的操作 全双工 消耗量。 (我们将检查是否需要半双工。)

    • PC 设置:
      当 PC 设置为时 100M 全双工 和目标板设置为 自动协商功能 、则链接已成功建立。

    • 其他器件:
      我们将验证与其他设备的连接并更新您。

    如果您根据当前信息可以分享任何信息、请告知我们。

    此致、
    霍希纳

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

    您好、J-San、

    以下是有关该问题的一些附加信息:

    • 对于 100M(和 10M)配置、我们使用CUST_PHY_DP83867_setLinkConfig如上一篇文章中所述修改的函数。
      我们还通过调试器确认、代码case 100:在执行期间进入该段。

    • CUST_PHY_DP83867_setLinkConfig在上电时的电路板初始化过程中调用该函数、之后会出现问题。
      从调试器加载和执行代码时也观察到相同的行为、因此我们认为这与初始化时序无关。

    • 链路也没有出现 全双工 半双工 消耗量。

    • PC 支持全双工和半双工。

    • 连接到其他 PC 时会出现相同的链路建立问题。
      此外、通过通用交换集线器进行连接也无法建立链路。

    如果您对这些附加信息有任何见解、请告知我们。

    此致、
    霍希纳

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

    Hi Hiroki Hoshina、

    请参阅此 疑难解答文档、第 3.3 节与您观察到的问题(将寄存器 0x001E 的第 11 位设置为 1)相关:  

    如果这样可以解决问题、请告诉我。

    此致、
    Pourya

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

    尊敬的  Pourya-San:

    感谢您分享故障排除文档。
    我无法立即尝试建议的设置、因此在此期间我正在寻找其他可能的信息。

    我遇到了以下文章、还查看了 PHY 数据表:
    μ s・ :DP83867E:PHY extended setting “稳健 型自动 MDIX“- Interface forum - Interface - TI E2E 支持论坛

    μ・数据表: DP83867E/IS/CS 稳健型高抗扰度小尺寸 10/100/1000 以太网物理层收发器数据表(修订版 F)

    基于此、我认为尝试启用了 快速的自动 MDIX 可能有助于解决问题。
    现在、我明白这一点 稳健的自动 MDIX 未配置、默认情况下保持禁用状态

    您能否分享您对这种方法的想法?

    此致、
    Hoshina Hiroki

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

    嗨、Hiroki-san、

    虽然我尚未亲自测试强大的自动 MDIX 设置、但根据您分享的数据表和 E2E 论坛、这似乎是解决您问题的可行解决方案。

    TI 的 EtherNet/IP 协议栈实现了一种替代方法:一个后台线程、在链路断开条件下(在强制速度模式下)、该线程在“双 MDI-X“和“双 MDI“配置之间交替、直到建立链路。
    我认为强大的自动 MDIX 选项将是可取的。 TI 的 EIP 栈可能无法实现、因为并非所有 PHY 器件都支持此功能、因此他们需要选择一种更普遍兼容的方法。

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

    Hi Hoshina-San,

    为了补充 Pourya 的意见、我建议您也尝试使用故障排除指南和强大的自动 MDIX 功能上推荐的解决方案。 由于自动 MDIX 是自动协商的一部分、如果不正确解决、可能会导致问题、因此正如 e2e 帖子提到的、稳健的自动 MDIX 可能是一种权变措施。

    此致、

    j

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

    Hi Pourya-San、Hi J-san、

    非常感谢您的支持。
    总之、使能 快速的自动 MDIX 允许我在使用时成功建立链接 强制 100Mbps 设置

    以下是我测试的组合:


    连接: PC(自动协商)
    DP83867IR 设置:

    • 10M、全双工、自动 MDIX→OK
    • 10M、半双工、自动 MDIX→OK
    • 100M、全双工、自动 MDIX +强大的自动 MDIX→OK
    • 100M、半双工、自动 MDIX +强大的自动 MDIX→OK
    • 1000M→不适用

    附加说明:
    使用时 10M 全双工、具有自动 MDIX 功能 、启用强大的自动 MDIX 功能有时会阻止链路建立。

    因此、我没有为 10M 启用稳健的自动 MDIX。
    稳健自动 MDIX 的数据表示例侧重于 100M、没有提到 10M、因此我怀疑这个功能在 10M 时可能没有效果、甚至没有负面影响。

    如果您对此行为有任何见解、我非常感谢您的建议。

    再次感谢您的指导!

    此致、
    Hoshina Hiroki

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

    Hi Hoshina-San,  

    10M 链路可能不会出现、因为在这种情况下强大的自动 MDIX 和常规自动 MDIX 功能都可以正常工作。 我不建议对 PHY 使用这种组合来确保始终在 PHY 上建立链路。  

    此致、
    j