DP83TC812R-Q1: ethercat通信失效

Part Number: DP83TC812R-Q1

您好,

我正常参照贵公司的MCU063B 核心板,贵公司该产品使用标准以太网的DP83822PHY芯片,进行ethercat通信,我想将这个标准以太网的PHY芯片,更换为贵公司的DP83TC812 PHY芯片,使用MII模式,PHY地址为0,芯片配置为从站模式,不使用休眠功能,原理图的设计思路参照贵公司MCU03B的原理图进行设计,PHY与28388D之间进行数据传输。

现在的现象是物理层连接成功,有数据的收发,但是无法建立起ethercat通信,建立通信时,连接灯与数据传输的LED灯交替闪烁,与标准以太网接口现象不同。我已经进行走线的等长处理与阻抗匹配。

我想询问,我目前设计的原理图是否有错误。

谢谢!04b041be-4793-4d54-a7a8-4d9d96f7917c.pngimage.pngimage.png

  • 感谢您对TI产品的关注。
    我们正在核实您的问题,请等待我们的答复。

  • 你好,

    你的原理图看起来没问题。通常情况下,如果TC10睡眠功能被禁用,我们会建议将VSLEEP连接到VDDA。由于PHY能够正常上电和通信,我认为风险很低。

    正确的 LED 指示灯行为是:LED_0 常亮表示连接成功,LED_1 在发送/接收信号时闪烁。您看到的是这种行为吗?

    当前问题是物理层连接成功,数据正在发送和接收

    既然你说PHY链路已连接,数据也能发送和接收,那么PHY端就没有问题。

    EtherCAT 是在 MAC 端实现的。请检查 MAC 端的 EtherCAT 实现。

    最好的,

    查尔斯

  • 你好,

    你的原理图看起来没问题。通常情况下,如果TC10睡眠功能被禁用,我们会建议将VSLEEP连接到VDDA。由于PHY能够正常上电和通信,我认为风险很低。

    正确的 LED 指示灯行为是:LED_0 常亮表示连接成功,LED_1 在发送/接收信号时闪烁。您看到的是这种行为吗?

    当前问题是物理层连接成功,数据正在发送和接收

    既然你说PHY链路已连接,数据也能发送和接收,那么PHY端就没有问题。

    EtherCAT 是在 MAC 端实现的。请检查 MAC 端的 EtherCAT 实现。

    最好的,

    查尔斯

  • 你好,

    你的原理图看起来没问题。通常情况下,如果TC10睡眠功能被禁用,我们会建议将VSLEEP连接到VDDA。由于PHY能够正常上电和通信,我认为风险很低。

    正确的 LED 指示灯行为是:LED_0 常亮表示连接成功,LED_1 在发送/接收信号时闪烁。您看到的是这种行为吗?

    当前问题是物理层连接成功,数据正在发送和接收

    既然你说PHY链路已连接,数据也能发送和接收,那么PHY端就没有问题。

    EtherCAT 是在 MAC 端实现的。请检查 MAC 端的 EtherCAT 实现。

    最好的,

    查尔斯

  • 您好,

    十分感谢您的回复,我之前的原理图LED0和LED1连接了3.3V,配置成了主站模式,我通过飞线连接GND,将PHY芯片配置成从站模式,此时链路连同,不知道这个操作是否会造成对参考平面的破坏,导致无法实现通信?

    同时,我的LED0常亮,但是在数据收发时,LED0熄灭,LED1闪烁,两者交替进行,不会同时闪烁,我不知道这种属于正常情况吗?按照您说的LED0应该常亮,但此种情况下俩都等同于都在闪烁。

    十分期待您的回答,

    谢谢!

  • 你好,

    非常感谢您的回复。在我之前的原理图中,LED0 和 LED1 连接到 3.3V 并配置为主模式。我用跳线连接了 GND,将 PHY 芯片配置为从模式。

    输出 LED 驱动器的极性由跳线的上拉/下拉电阻决定。只有当 LED 电路配置如下时,LED 功能才有效:

    在你上面发来的原理图中,LED引脚和电路都是下拉电阻。这没问题。

    但是,如果将 LED0 和 LED1 连接到 3.3V,并且使用跳线连接下拉电阻,则 LED 的行为是未定义的。

    我想知道这个操作是否会损坏参考平面并导致通信故障?

    此操作可能不会损坏设备或导致通信故障。

    同时,我的 LED0 一直亮着,但在发送或接收数据时,LED0 会熄灭,而 LED1 会闪烁。两者交替闪烁,不会同时闪烁。我不知道这是否正常?按照您的说法,LED0 应该一直亮着,但现在的情况是两个 LED 都在闪烁。

    LED灯的运行状态不正常。我认为你的LED电路配置有误。请查看我上面的评论。

    要确定链路状态,请同时检查寄存器 0x​​0001[2]。如果链路已连接,则 0x0001[2] = 1。

    最好的,

    查尔斯