Other Parts Discussed in Post: C2000WARE

作者: Emma Wang

最新一代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 硬件上,有20MHz25 MHz 两个时钟,修改焊接的电阻就可以选择25 MHz 的时钟。修改方法如图1所示。

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

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

1.2硬件链接

用网线连接PCF28388D controlCARDJ5 EtherCAT P0

图2 F28388D controlcard 正面图

2.软件set up

1.1需要安装的软件

Visual Studio 2017TwinCAT

SSC tool V5.12

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

(1)C2000wareCiA402 工程运行在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<Texas Instrument Incorporated>

(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。

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

  1. 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 Code0x10003101

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

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

3.DC mode

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

参考资料:

  1. EtherCAT Slave Controller Software USER’S GUIDE
  2. TMS320F28388D controlCARD Information Guide (Rev. B)
  3. TMS320F2838x MCUs Silicon Errata (Rev. C) (英文內容)

 

Anonymous
  • 你好,我们在测试F28388的Ethercat 功能时,将F28388D controlcard 的 DP83822I 更换成了DP83822IF(为了支持光纤),出现TwinCat 只能扫描出device1的情况。DP83822I时完全正常,DP83822IF在开发板的Ethernet口也正常。 请问DP83822IF 在配置Ethercat时还需要其他设置条件吗?