工具/软件:
TI 团队大家好、
我调试的是扫描 EtherCAT 网络上从站失败、我已经注意到 DL 状态寄存器反映了在端口 0 和端口 1 上都检测到链路。 但是、由于该电路板位于 EtherCAT 链的末端、因此该电路板上只有一个 PHY。 我已将 ESC 配置为单端口模式、但 ESC 仍反映了两个端口上的连接。 我也已将 ESC 外设分配给 CM。 为了确保 ESC 仅在端口 0 上寻找链路、还需要采取哪些其他步骤?
谢谢您、
Ben Farrell
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.
工具/软件:
TI 团队大家好、
我调试的是扫描 EtherCAT 网络上从站失败、我已经注意到 DL 状态寄存器反映了在端口 0 和端口 1 上都检测到链路。 但是、由于该电路板位于 EtherCAT 链的末端、因此该电路板上只有一个 PHY。 我已将 ESC 配置为单端口模式、但 ESC 仍反映了两个端口上的连接。 我也已将 ESC 外设分配给 CM。 为了确保 ESC 仅在端口 0 上寻找链路、还需要采取哪些其他步骤?
谢谢您、
Ben Farrell
您好 Ben、
我建议研究“ESC_PhyX_LINKSTATUS"信号“信号、因为这通常是与此行为相关的问题。 您现在 是否同时配置了 PH0 和 PHY1 LINKSTATUS 信号? C2000 将它们读取为高电平还是低电平、您可以检查相应的 GPIO 数据寄存器。
我要说明的是、为了正确检测链路状态、我们的 C2000 ESC 需要为此目的提供低电平有效输入信号(即低电平意味着 PHY 的状态正常)。 您可能需要使用 GPIO 配置反转模式或内部上拉启用/禁用(具体取决于您的硬件)、才能使其正常工作。
但是、从站仍然没有出现在 EtherCAT 总线扫描上。
您使用的是 TwinCAT 吗? 它有时可能是一个棘手的程序、关闭/重新启动它有时可以解决问题。
此致、
Kevin
您好 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、
我听说一位 TI 同事说过、您找到了一种权变措施。 通过在 MCU 上配置其他 GPIO、您能够使 1 端口 ECAT 正常工作。 这是否意味着您配置了其他端口 1 MII IO(即使您没有/使用端口 1 PHY)? 这将是非常有帮助的理解。
在与我们的设计团队讨论时 、他们说、每个端口的增强型链路检测应该可以按照 bechkoff 规范实现、但需要由我在工作台上进行验证。
此致、
Kevin