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:采用 KSZ8081MLX 的 EtherCAT 单端口实现

Guru**** 2563960 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/1225560/tms320f28388d-ethercat-single-port-implementation-with-ksz8081mlx

器件型号:TMS320F28388D

尊敬的 所有人:

我使用 F28388D (176引脚封装)开发了自己的定制电路板、以便使用 PHY KSZ8081MLX 实现 EtherCAT 从站。

首先、我使用了控制卡、并成功完成了 EtherCAT_Slave_Controller_User_Guide.pdf 第3.7段中的"CM Echoback 解决方案示例"。

然后、我为我自己的定制电路板管理该示例的固件移植、正如我在标题中提到的、这是 EtherCAT 单端口从站实现。 因此、我修改了 GPIO 引脚配置、以满足硬件设计要求。 已实现代码的屏幕截图如下所示:

我还会分享关于我自己的定制电路板的硬件设计。

新固件部署后、我 已从 TwinCAT (带 CX9020)执行 ECAT 网络扫描。 可以从主器件正确识别定制板、但存在 ADS 错误(0x71F)、请参阅下面的屏幕:

定制电路板添加到 TwinCAT 项目中、我们尝试进入运行模式、但定制电路板不会进入 OP 状态、并且再次触发错误0x71F。

请帮我解决这个问题吗?

提前感谢您、

Giacomo

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

    Giacomo、  

    主题专家不在办公室。 请预计下周四回复。

    谢谢。

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

    大家好、Sahil:

    感谢您的答复。 我正在等待您的专家的回复。 在这段时间里、您是否还有其他技术联系人?

    谢谢

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

    您好、Giacomo、

    您能否验证您的 KSZ8081x PHY 器件是否遵循了下面的 Beckhoff PHY 选择应用手册中的指导

    https://download.beckhoff.com/download/document/io/ethercat-development-products/an_phy_selection_guidev2.7.pdf

    此外、您在连接到 TwinCAT 之前和之后是否可以检查 ESC DL 状态寄存器(0x110)的状态? 检查一些其他 ESC 寄存器可能也会给出一些提示(有关寄存器的详细信息、请参阅 Beckhoff 数据表第二部分)。

    此致!

    Kevin 老师

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

    尊敬的 Kevin:感谢您的答复。 此时,我们可以进行通信,并将状态从 INIT 转换为 OP。 为了达到这一目标、我们进行了硬件修复和固件修复。 我们在 LED0与配置为 MCU (GPIO86)的 LINK_STATUS_PORT_0引脚之间插入一条线、并在这条线中输入了上拉电阻器。 在固件修复方面、我们配置 LINK_STATUS_PORT_1引脚(GPIO68)、并放置一个上拉电阻器来配置一个端口。

    如何将端口1设置为通过固件禁用(关闭)?

    此致、

    Giacomo

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

    您好、Giacomo、

    很高兴听到你找到了解决办法。 F2838x 器件预计 PhyX_LINKSTATUS 信号是低电平有效信号、同时需要考虑 PHY 输出逻辑。

    如何通过固件将端口1设置为禁用(关闭)?

    您是否意味着 PHY1仍然错误地启用(打开)? 如果它仍与 PhyX_LINKSTATUS 信号/状态相关、可能需要反转此信号的逻辑。 您可以使用以下函数在软件中处理此情况:

    GPIO_setPadConfig(myECAT0_ESCPHY1_LINKSTATUS_GPIO,GPIO_PIN_TYPE_INVERT);

    此致!

    Kevin 老师