本系列技术文章的第 1 部分介绍了用于 C2000™微控制器(MCU)的 EtherCAT 从站堆栈解决方案的市场机遇,并介绍了从站堆栈开发快速入门的三个阶段指南。第 2 部分详细说明了 TI C2000 MCU EtherCAT 实现的特点和优势。在第 3 部分中,我们将详细介绍自行开发从站节点应用程序的三个阶段,并介绍 TI C2000 controlSUITE™软件中的 EtherCAT 包如何为每个阶段提供支持。

 

鉴于 EtherCAT 技术和 C2000 MCU 运动控制应用在软件方面有待支持,客户也在此方面提出了请求,TI 利用其嵌入式软件开发经验和 C2000 MCU 架构知识创建了一套软件解决方案,旨在帮助开发 IT C2000 实时控制 MCU 的 EtherCAT 从站节点。软件包将帮助您:

 

  评估从站节点的堆栈。

 

  验证自定义硬件的正确操作 / 连接。

 

  使用您的硬件和 ETG 分发的堆栈创建一个完整的从站节点应用程序。

 

第一步:评估 C2000 EtherCAT 节点(堆栈和硬件)

C2000 EtherCAT 技术支持中,包含的第一个软件解决方案旨在让您轻松快速熟悉基本解决方案。利用用于 EtherCAT 主节点的 TwinCAT Pc 软件、简易“echoback”示例应用以及 EtherCAT 从站和 C2000 Delfino MCU controlCARD 套件,您可在几分钟内在工作台上构建多节点 EtherCAT 网络。

 

EtherCAT “slave demo”项目是 EtherCAT controlCARD 的二进制映像发布,针对包括从堆栈二进制版本在内的 C28x CPU 进行了优化。因此,您需要做的就是对 C2000 MCU 进行编程,并将 CAT5 电缆连接到 EtherCAT 主站——TwinCAT PC/PLC。

 

图 1:C2000 MCU 开箱即用的 EtherCAT 从站演示和评估解决方案

 

该评估项目将帮助您回答以下问题:从外部 EtherCAT 控制器(ET1100)到 C2000 MCU 的传输延迟是多少?该解决方案对中央处理单元(CPU)带宽要求是多少?硬件抽象层(HAL)和从堆栈的内存占用量是多少?

 

下载最新的 controlSUITE 软件后,您可通过在 controlSUITE 开发套件项目中执行设置文件“EtherCAT_Slave_Demo_Code_v01_00_00_00_setup”来安装演示和评估示例。

第二步:验证您的 EtherCAT 硬件

第二种软件解决方案让您从基于 TI controlCARD 工具,转变为帮助您自行开发硬件。EtherCAT 社区将可编程控制器的接口称为处理器数据接口(PDI)。您可在适用于高性能 MCU 的 EtherCAT 接口参考设计找到并行 PDI,“ASYNC16”(C2000 MCU 外部存储器接口[EMIF])和串行 PDI(C2000 MCU 串行外设接口[SPI])的参考硬件设计。该软件项目将帮助您验证“从 MCU 到线路”构建的硬件接口是否正确。

 

由于硬件抽象层(HAL)测试应用程序(参见图 2)可与 TwinCAT 主节点通信,因此该软件项目可帮助您验证 EtherCAT 控制器(例如 ET1100)的物理 PDI 接口(EMIF 和 SPI 端口),以及物理层(PHY)和以太网是否都已正确连接。

 

这种情况下,您无需 EtherCAT 从站堆栈来验证硬件连接。与第一步中有所不同,HAL 测试项目可用作源代码,以帮助验证或使 C2000 MCU 适用于 EtherCAT 控制器的其他物理接口。

 

图 2:C2000 MCU HAL 测试应用程序

 

第三步:自行创建 EtherCAT 从站节点解决方案

最后,如设计人员需要将经验证的硬件与 EtherCAT 堆栈集成时,EtherCAT 应用参考项目提供了一个逐步讲解的示例。该项目包含构建示例 EtherCAT 从站节点(初始化、HAL、echoback 应用程序)所需的源代码。EtherCAT 从站堆栈本身除外,您必须通过 EtherCAT 技术组获得从站堆栈。它作为从站堆栈配置(SSC)工具的一部分进行分发。

 

图 3:C2000 MCU 本机 EtherCAT 从站堆栈参考开发框架

 

如果您的配置工具版本不支持 C2000 MCU,那么 controlSUITE 项目会包含一个补丁,可在下拉处理器选择对话框中为您提供 C2000 MCU(以及 ASYNC16 和 SPI PDI 选项)。有关如何使用 SSC 插入代码的详细信息,请参阅“EtherCAT 解决方案参考指南”。

 

现有两种项目配置可供选择:

 

  在代码更改频繁的项目初始阶段,基于随机存取存储器(RAM)的项目通常很有用(编程闪存花费的时间较少)。

 

  当代码更加成熟并准备好通过目标 C2000 MCU 的电源循环进行测试时,基于闪存的项目通常很有用。

 

通过在 ControlSUITE 软件中发布 EtherCAT Slave 和 C2000 Delfino™MCU controlCARD 套件以及 EtherCAT 解决方案参考,您可快速启动开发直接在 C2000 MCU 上运行的 EtherCAT 从站堆栈。