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.

[参考译文] TMS320F28388D:ESC DL 状态寄存器反映端口 1 上的连接、设计中只有一个 PHY

Guru**** 2422790 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1522337/tms320f28388d-esc-dl-status-register-reflects-connection-on-port-1-with-only-one-phy-in-design

器件型号:TMS320F28388D

工具/软件:

TI 团队大家好、

我调试的是扫描 EtherCAT 网络上从站失败、我已经注意到 DL 状态寄存器反映了在端口 0 和端口 1 上都检测到链路。  但是、由于该电路板位于 EtherCAT 链的末端、因此该电路板上只有一个 PHY。  我已将 ESC 配置为单端口模式、但 ESC 仍反映了两个端口上的连接。  我也已将 ESC 外设分配给 CM。  为了确保 ESC 仅在端口 0 上寻找链路、还需要采取哪些其他步骤?

谢谢您、

Ben Farrell

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

    更新:
    我已在软件中配置 PHY1_LINKSTATUS 信号、现在可以在 DL_STATUS ESC 寄存器 (0x5617) 中看到正确的值。  但是、EtherCAT 总线扫描时仍然不会出现从器件。

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

    您好 Ben、

    我建议研究“ESC_PhyX_LINKSTATUS"信号“信号、因为这通常是与此行为相关的问题。 您现在 是否同时配置了 PH0 和 PHY1 LINKSTATUS 信号? C2000 将它们读取为高电平还是低电平、您可以检查相应的 GPIO 数据寄存器。

    我要说明的是、为了正确检测链路状态、我们的 C2000 ESC 需要为此目的提供低电平有效输入信号(即低电平意味着 PHY 的状态正常)。 您可能需要使用 GPIO 配置反转模式或内部上拉启用/禁用(具体取决于您的硬件)、才能使其正常工作。  

    但是、从站仍然没有出现在 EtherCAT 总线扫描上。

    您使用的是 TwinCAT 吗? 它有时可能是一个棘手的程序、关闭/重新启动它有时可以解决问题。

    此致、

    Kevin

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

    ESC 的 DL_STATUS 寄存器反映的 LINK_STATUS 是正确的、因此这些信号应该正常。  我一直在使用 TwinCAT 和 EC 工程师、并尝试重新启动我的机器和这些程序。  两个程序都无法检测到节点。 根据 Wireshark 跟踪、节点似乎不响应广播数据包。

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

    您好 Ben、

    可能与硬件相关?

    您使用的是 TI 评估板 (controlCARD) 还是您自己的定制硬件? 如果定制硬件、您是否可以提供 PHY 器件和任何其他相关详细信息?

    此致、

    Kevin

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

    您好 Kevin、

    它是自定义硬件。 我认为、这可能 与固件相关、因为我们有其他具有相同 EtherCAT 电路的定制硬件(唯一值得注意的区别是所有其他电路板都有 2 个 PHY、而这个电路板有 1 个)、它们都能正常工作。  一次 PHY 运行是否需要进行任何显著的配置更改?

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

    您好 Ben、

    我记得另一个用户使用单端口 EtherCAT 有类似的问题。 似乎仍应配置和上拉“ESC_PHY1_LINKSTATUS"信号“信号(可以使用 GPIO 配置在内部完成)、即使您不会使用该信号也是如此。 这应该会告知 C2000 ESC 端口 1 已关闭。 这是我认为对他们有用的。

    此致、

    Kevin

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

    尊敬的 Kevin:  

    更新一下、我们正在解决电路板的硬件问题。  使用内部上拉使能配置 ESC_PHY1_LINKSTATUS 后、ESC 现在反映了正确的 DL_STATUS、但我们仍然无法扫描从设备。   当运行总线扫描时、我们将使 ESC 中的 RX 错误计数器寄存器递增。

    您能否介绍一下导致此计数器运行的原因?

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

    您好 Ben、

    使用内部上拉启用来配置 ESC_PHY1_LINKSTATUS 后、ESC 现在反映了正确的 DL_STATUS、但我们仍然无法扫描从器件。

     您现在看到的 ESC DL 状态 (0x0110:0x0111) 寄存器值是什么? 我们只希望端口 0 能够检测到链路、打开链路并 建立通信。 所有其他(包括端口 1)都应该与此相反。

    检查 ESC DL Control (0x0100:0x0103) 的值以查看环路端口 X 是否处于自动/自动关闭模式可能也合适。

    此致、

    Kevin

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

    我的 ESC DL 状态读数为 0x5617、表示唯一的开放端口为 0、所有其他端口均已关闭。 我在 PHY1_LINK_STATUS 引脚上启用了内部上拉电阻器、从而解决了端口 1 打开问题。  现在、我们正在处理一个问题、即在运行总线扫描时 RX 错误计数器递增。  我们已经验证了从 PHY 到 ESC 的 MII 信号、但 ESC 认为 接收到的 数据在某种程度上不正确。  对于此寄存器的含义或可能导致这种情况的原因、您是否有任何其他见解?

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

    您好 Ben、

    My ESC DL Status 读数为 0x5617、表示唯一打开的端口为 0、所有其他端口均已关闭。

    这很好。 还有其他一些问题。

    我目前认为这是由于通过 PHY MI (MDIO/MDC) 进行增强型链路检测所致。 Beckhoff DS #1 构建。

    通过端口 1 上的 EEPROM 设置禁用增强型链路检测可能会解决该问题、但这需要先对 EEPROM 进行编程。

    此致、

    Kevin

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

    我已通过将 0x1C 写入 ESC_CONFIG 存储器 位置 (0x141)、修改了 EEPROM 信息、以便仅在端口 0 上启用增强型链路检测。  似乎 F2838x 上的 ESC 不支持逐端口增强型链路检测。  它只允许我完全禁用增强型链路检测(内存浏览器显示 0x0C)。 禁用增强型链路检测时、ESC 无法在端口 0 上检测到链路。  您是否能够确认此 ESC 支持您所描述的功能?

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

    您好 Ben、

    似乎 F2838x 上的 ESC 并不支持逐端口增强型链路检测。

    我假设是这样、因为它们每个都有寄存器位、但也许您是对的。 我希望您可以禁用端口 1 的增强链路检测、并使其在端口 0 上保持启用状态。

    您是否能够确认此 ESC 支持您所描述的功能?

    我正在咨询我们设计团队的其他人员、以便更好地了解此问题、并提出 单端口 EtherCAT 实施的解决方案。

    到目前为止、我已经了解到存在一个器件错误、其中 ESC_PhyX_LINKSTATUS (PHY MII_LINK) 信号如果 未配置、会被驱动为‘0’。  由于此 LINK1 状态在单端口配置中保持打开状态、因此需要配置 ESC_PHY1_LINKSTATUS 并在内部或外部拉取信号。 当然、我们需要在文档中解决这一问题。

    此致、

    Kevin

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

    您好 Ben、

    1.是否可以检查 ESC DL Control 0x100 值?

    2.您能否 测量从 C2000 发送到 PHY 的数据的建立/保持时序、请参阅下图。 您应在尽可能靠近 PHY 的位置测量它。

      

    应对从 PHY 发送到 C2000 的数据进行类似的测量、但应更靠近 C2000、并验证其是否满足 C2000 设置/保持时序要求。

    此致、

    Zane

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

    您好 Zane、  

    ESC DL Control 中的值为 0xC001。  以下是 RX MII 线上的波形。  从我们的角度来看、似乎没有什么不同寻常的事情。  

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

    您好 Ben、

    POR 之后是否每次都会出现此问题? 显示每个只有一个 PHY 的电路板吗?

    您能否分享 RX_ERR/RX_DV 和 RX_CLK 改革?

    此致、

    Zane

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

    您好 Ben、

    我听说一位 TI 同事说过、您找到了一种权变措施。 通过在 MCU 上配置其他 GPIO、您能够使 1 端口 ECAT 正常工作。 这是否意味着您配置了其他端口 1 MII IO(即使您没有/使用端口 1 PHY)? 这将是非常有帮助的理解。

    在与我们的设计团队讨论时 、他们说、每个端口的增强型链路检测应该可以按照 bechkoff 规范实现、但需要由我在工作台上进行验证。

    此致、

    Kevin

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

    您好 Kevin、

    是的、我们能够让 EtherCAT 正常运行。  EtherCAT 是为此新电路板启动的第一个外设、因此仅声明了 EtherCAT 的 GPIO。  声明将要使用的所有其他外设的 GPIO 分配之后、EtherCAT 工作正常。  我们将对此进行进一步调查、以便了解哪些(如果有)信号干扰 EtherCAT 通信、并将在论坛上发布。

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

    您好 Ben、

    感谢您的解释。 这是一种奇怪的行为,至少我们现在知道的。 也许有一个合理的解释。

    是的、如果您弄清楚了一些内容、请告诉我。 我仍计划稍后使用我们的评估板进行一些单端口 ECAT 使用测试、并记录所需的任何要求/权变措施。

    此致、

    Kevin

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

    您好 Ben、

    我们将对此进行进一步调查、以了解哪些(如果有)信号干扰 EtherCAT 通信、并将发布到论坛。

    您是否有机会进一步调查得出任何结论? 当然会让我们感兴趣。

    此致、

    Kevin

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

    您好 Kevin、

    删除非 EtherCAT GPIO 声明后、我无法重现问题。 很抱歉无法提供更多见解。

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

    您好 Ben、

    好的、感谢您回复我。 如果你碰巧遇到一些有趣的东西在未来,请告诉我们.

    此致、

    Kevin