实时控制技术满足实时工业通信发展的需求——第3部分
扫描二维码
随时随地手机看文章
本系列技术文章的第1部分介绍了用于C2000™微控制器(MCU)的EtherCAT从站堆栈解决方案的市场机遇,并介绍了从站堆栈开发快速入门的三个阶段指南。第2部分详细说明了TI C2000MCU EtherCAT实现的特点和优势。在第3部分中,我们将详细介绍自行开发从站节点应用程序的三个阶段,并介绍TI C2000controlSUITE™软件中的EtherCAT包如何为每个阶段提供支持。
鉴于EtherCAT技术和C2000MCU运动控制应用在软件方面有待支持,客户也在此方面提出了请求,TI利用其嵌入式软件开发经验和C2000MCU架构知识创建了一套软件解决方案,旨在帮助开发IT C2000实时控制MCU的EtherCAT从站节点。软件包将帮助您:
·评估从站节点的堆栈。
·验证自定义硬件的正确操作/连接。
·使用您的硬件和ETG分发的堆栈创建一个完整的从站节点应用程序。
第一步:评估C2000EtherCAT节点(堆栈和硬件)
C2000EtherCAT技术支持中,包含的第一个软件解决方案旨在让您轻松快速熟悉基本解决方案。利用用于EtherCAT主节点的TwinCAT Pc软件、简易“echoback”示例应用以及EtherCAT从站和C2000Delfino MCU controlCARD套件,您可在几分钟内在工作台上构建多节点EtherCAT网络。
EtherCAT“slave demo”项目是EtherCAT controlCARD的二进制映像发布,针对包括从堆栈二进制版本在内的C28x CPU进行了优化。因此,您需要做的就是对C2000MCU进行编程,并将CAT5电缆连接到EtherCAT主站——TwinCAT PC/PLC。
图1:C2000MCU开箱即用的EtherCAT从站演示和评估解决方案
该评估项目将帮助您回答以下问题:从外部EtherCAT控制器(ET1100)到C2000MCU的传输延迟是多少?该解决方案对中央处理单元(CPU)带宽要求是多少?硬件抽象层(HAL)和从堆栈的内存占用量是多少?
下载最新的controlSUITE软件后,您可通过在controlSUITE开发套件项目中执行设置文件“EtherCAT_Slave_Demo_Code_v01_00_00_00_setup”来安装演示和评估示例。
第二步:验证您的EtherCAT硬件
第二种软件解决方案让您从基于TI controlCARD工具,转变为帮助您自行开发硬件。EtherCAT社区将可编程控制器的接口称为处理器数据接口(PDI)。您可在适用于高性能MCU的EtherCAT接口参考设计找到并行PDI,“ASYNC16”(C2000MCU外部存储器接口[EMIF])和串行PDI(C2000MCU串行外设接口[SPI])的参考硬件设计。该软件项目将帮助您验证“从MCU到线路”构建的硬件接口是否正确。
由于硬件抽象层(HAL)测试应用程序(参见图2)可与TwinCAT主节点通信,因此该软件项目可帮助您验证EtherCAT控制器(例如ET1100)的物理PDI接口(EMIF和SPI端口),以及物理层(PHY)和以太网是否都已正确连接。
这种情况下,您无需EtherCAT从站堆栈来验证硬件连接。与第一步中有所不同,HAL测试项目可用作源代码,以帮助验证或使C2000MCU适用于EtherCAT控制器的其他物理接口。
图2:C2000MCU HAL测试应用程序
第三步:自行创建EtherCAT从站节点解决方案
最后,如设计人员需要将经验证的硬件与EtherCAT堆栈集成时,EtherCAT应用参考项目提供了一个逐步讲解的示例。该项目包含构建示例EtherCAT从站节点(初始化、HAL、echoback应用程序)所需的源代码。EtherCAT从站堆栈本身除外,您必须通过EtherCAT技术组获得从站堆栈。它作为从站堆栈配置(SSC)工具的一部分进行分发。
图3:C2000MCU本机EtherCAT从站堆栈参考开发框架
如果您的配置工具版本不支持C2000MCU,那么controlSUITE项目会包含一个补丁,可在下拉处理器选择对话框中为您提供C2000MCU(以及ASYNC16和SPI PDI选项)。有关如何使用SSC插入代码的详细信息,请参阅“EtherCAT解决方案参考指南”。
现有两种项目配置可供选择:
·在代码更改频繁的项目初始阶段,基于随机存取存储器(RAM)的项目通常很有用(编程闪存花费的时间较少)。
·当代码更加成熟并准备好通过目标C2000MCU的电源循环进行测试时,基于闪存的项目通常很有用。
通过在ControlSUITE软件中发布EtherCAT Slave和C2000Delfino™MCU controlCARD套件以及EtherCAT解决方案参考,您可快速启动开发直接在C2000MCU上运行的EtherCAT从站堆栈。