基于F28388的Ethercat Demo介绍

描述

最新一代C2000 F2838X系列产品,在芯片内部集成了EtherCAT 从站控制器 (ESC)。 本文介绍了如何利用TI的开发板实现与PC 之间的EtherCAT通讯。

1.硬件准备

1.1开发板的调整

根据测试使用的F28388D controlcard 版本不同,需要做相应的调整。

位于F28388D 内部的EtherCAT Slave Controller (ESC)需要25MHz的主频。硬件上, controlCARD 版本号MCU063B 以后的均默认开始外部25 MHz 时钟,不需做其他修改,早期版本的controlCARD (MCU063E1, MCU063E2, MCU063A)硬件上使用20MHz的时钟,需要做修改。早期版本的Control CARD 硬件上,有20MHz和25 MHz 两个时钟,修改焊接的电阻就可以选择25 MHz 的时钟。修改方法如图1所示。

软件上, 请使用C2000Ware versions V3.02.00.00以后的版本。如果是早期版本,需要修改PLL 函数。

开发板

图1 20M晶振和25M晶振互换

1.2硬件链接

用网线连接PC和F28388D controlCARD的J5 EtherCAT P0。

开发板

图2 F28388D controlcard 正面图

2.软件set up

1.1需要安装的软件

Visual Studio 2017和TwinCAT。

SSC tool V5.12

1.2以CiA402 工程为例,介绍一下搭建测试的步骤。

(1)C2000ware的CiA402 工程运行在M4核上,所以需要确保CPU1 先将EtherCAT 的权限分配给到M4核。即在CPU1上运行CPU1 Allocate ECAT to CM Example。

(2)运行exe来生成SSC tool所需要的F2838x SSC configuration文件,新生成的文件位于自动生成的ssc_configuration 文件夹下。

(3)打开SSC tool,建立新的工程,选择打开xml。

(4)选择TI F2838x CM Sample

开发板

(5)在application的选项卡中,将CiA402_DEVICE改成1,并在默认路径下保存。

开发板

(6)在SSC tool中,在Project选项卡中选择Create new Slave Files。

开发板

(a)将Source Folder 路径改成/examples/f2838x_cm_cia402_solution。

(b) ESI file 路径不需要修改。

(c)点击Start。

这个过程完成后,会产生两类文件:

ESI (EtherCAT Slave Information) XML file. 用于烧录EtherCAT slave的 EEPROM 。

2.生成相关的source文件和header文件帮助M4核去理解EtherCAT slave,如下图所示:

开发板

在生成的ecat_def.h 文件中找到#define STRUCT_PACKED_END. 在其后面加上_attribute__((packed)),将生成的ESI文件(F2838x CM EtherCAT Slave.xml) 复制到TwinCAT 的路径下 (默认路径为:C:/TwinCAT/3.1/Config/Io/EtherCAT) 如果TwinCAT已经打开,需要先关闭,再复制ESI文件。

(7)在CCS中导入工程,并依次烧录并运行CPU1核和M4核。

(8)打开TwinCAT,打开一个新的工程。并在solution explorer目录下,找到I/O, 展开,右键Devices,选择扫描。在弹出的对话框中选择OK。

开发板

扫描完成后,会有两种情况:

一种是正确的情况,弹出的对话框显示发现了新的device,为Device 2 (EtherCAT Automation Protocol)(除了Device 1的其他数字都是正确的)

另外一种是错误的情况,弹出的对话框显示发现了新的device,为Device 1 (EtherCAT Automation Protocol)。

如果是正确的情况,点击OK后,会自动弹出Scan for boxes的对话框,点击Yes。

(9)烧录EEPROM

在第一次操作时,需要烧写EEPROM。

双击Box #,并在右侧选择EtherCAT 选项卡,点击advanced settings,并在打开的新的窗口中依次选择ESC Access -> E2PROM -> Smart View, 如下图所示,点击write E2PROM。

开发板

依次打开Texas Instruments Incorporated -> TI C28xx Slave Devices,并选F2838x CM EtherCAT Slave。点击OK后,Visual Studio 会提示EEPROM 烧录成功。

开发板

结束后,如果Smart View没有自动更新,可以点击read E2PROM来读取最新烧录的数据。EtherCAT分配到CPU1核的Product Code 为0x10003201,分配到M4核的Product Code为0x10003101。

EEPROM烧录完成后,需要重新给开发版上电,并重新烧录工程。重新扫描device 和box。

双击Box #,并打开Online选项卡,确认EtherCAT slave 运行在OP 模式。

开发板

3.DC mode

Version 0版本的F28388D 不支持DC 模式,关于如何判断芯片版本,可以参考芯片勘误表。

审核编辑:郭婷

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分