产品展示

PRODUCTS

+
  • 主图1比1.jpg

基于YXDSP-F28P650至尊板EtherCAT操作教程

本文档将详细介绍南京研旭公司推出的YXDSP-F28P650至尊板的Ethercat的使用说明,包括硬件电路部分、软件程序部分以及程序下载调试过程。 此部分需要用户具备一些基本技能,如使用特定软件查看硬件电路技能,查看、理解C语言编程技能,编程环境CCS的操作技能,DSP开发技能等。

关键词:

Ethercat

至尊板

DSP开发板

所属分类:

嵌入式开发套件

嵌入式开发板


联系我们

产品描述

01

第一章 概述

本文档将详细介绍南京研旭公司推出的YXDSP-F28P650至尊板的Ethercat的使用说明,包括硬件电路部分、软件程序部分以及程序下载调试过程。

此部分需要用户具备一些基本技能,如使用特定软件查看硬件电路技能,查看、理解C语言编程技能,编程环境CCS的操作技能,DSP开发技能等。

 

02

第二章 硬件说明

2.1 EtherCAT从站控制器(ESC)
Ethernet for ControlAutomationTechnology(EtherCAT)是由BeckhoffAutomation发明的一种基于以太网的现场总线系统,并在IEC61158中标准化。所有连接到总线的从站节点无需在节点内部缓冲帧,即可快速解释、处理和修改发送给它们的数据。这种实时行为、帧处理和转发要求由EtherCAT从站控制器ESC)硬件实现。EtherCAT在从站内部的数据传输中不需要软件交互。EtherCAT仅定义MAC层,而更高层的协议和堆栈是在连接到ESC的微控制器上的软件中实现的。

The EtherCAT:

■ 涉及主从设置,其中从节点物理上以雏菊链形式连接,但逻辑上在一个循环中运行

■ 专门从事精确、低抖动的从属节点同步

■ 使用IEEE 802.3以太网物理层和标准以太网帧

2.1.1 ESC功能

此MCU上的ESC提供以下功能:

■ 最多2 MI端口可连接到EtherCAT物理器件

■ 通过16位异步接口处理数据接口

■ 64位分布式时钟

•同步输出信号以同步设备事件和支持对事件进行时间锁定的锁存输入信号

•SYNCO/1(o/ps)和LATCH0/1的分布式时钟特性能够同步GPIO,并允许从任何GPI0输入,以及用于内部设备事件的其他Muxing选项

■ 8个现场总线存储器管理单元(FMMU)

•支持所有原生类型的RD/、WR/、RDWR,以及内置的位和字节寻址功能

■ 8个同步管理器

■ 12C EEPROM接口

■ 最多32个通用输入和32个通用输出

■ 2个SYNC和2个LATCH信号连接到GPIO焊盘

■ 16KB 带奇偶校验的内存

2.1.2 ESC子系统的综合功能

除了ESC功能外,以下是通过集成ESC和MCU而提供的特定设备功能:

■ 初始化过程中,ESC访问分配到CM子系统或CPU1子系统

■ EtherCAT重置请求可从主站路由到单片机上的NMI或通用中断控制器

■ RAM奇偶校验错误被路由到MCU上的NMI

■ DMA对EtherCAT内存的访问

■ 最多32个GPI和最多32个GPO集成到16位ASYNCPDI接口中

■ 与CLB的接口

■ SYNC0/1的分布式时钟特性能够同步PWM,生成中断/DMA请求,或触发eCAP捕获,以通过GPIO访问允许外部组件操作。

■ EtherCAT SYNC0/1脉冲可以触发CLA任务。

■ LATCH0/1的分布式时钟特性允许从任何GPIO或PWM交叉触发器输入

2.1.3 EtherCAT IP 框图

EtherCAT IP 的通用功能如图2.1所示:


图2.1 EtherCAT IP 框图

2.2 电路原理介绍

2.2.1 PHY芯片外围电路

Ethercat电路的PHY芯片采用的是DP83822IRHBR,原理图如图2.2所示:


图2.2

DP83826能够提供很低的确定性延迟和低功耗,并支持 10BASE-Te、100BASE-TX以太网协议,可以满足实时工业以太网系统中的严格要求。该器件包含可实现快速链接的硬件白举、快速链路天弃检测模式以及用于对系统上的其他模块进行时钟同步的专用参考CLKOUT。

两种可配置模式为:使用通用以太网引脚排列的BASIC标准以太网模式,以及支持标准以太网模式和多个工业以太网现场总线应用(通过附加功能和硬件自举配置)的ENHANCED 以太网模式。

特性如下:

• 较低的确定性延迟

– TX 延迟:40ns、RX 延迟:170ns

– 电源循环上的确定性延迟 < ±2ns

– 固定相位 XI 到 TX_CLK 关系 < ±2ns 
 

• 强大的小型系统解决方案

– 用于增强 EMC 的集成电路

– IEC 61000-4-2 ESD:+8kV 接触,±15kV 空气

– IEC 61000-4-4 EFT:5kHz、100kHz下为+4kV

– CISPR 22 传导发射 B类

– 符合 CISPR 22 B 类辐射发射限制

– 快速链路丢弃 < 10µs

– 电缆长度 > 150 米

– 电压模式线路驱动器

– MAC 接口上的集成终端

– 电压容限:±10%

 

• 单个器件中具有两种可选引脚模式

– 用于附加功能的 ENHANCED 模式

– 用于通用以太网引脚的 BASIC 模式

 

• 低功耗 < 160mW

• MAC 接口:RGMII/RMII/MII

• 可编程节能模式

– 主动睡眠

– 深度断电

– 节能以太网 (EEE) IEEE 802.3az

– 局域网唤醒 (WoL) 

• 诊断工具:电缆诊断、内置自检 (BIST)、环回模式

• 3.3V 单电源

• I/O 电压:1.8V 或 3.3V

• RMII 背对背中继器模式

• DP83826E 工作温度范围:–40°C 至 105°C

• DP83826I 工作温度范围:–40°C 至 85°C

• 符合 IEEE 802.3 标准:10BASE-Te、100BASE TX

• 符合 EtherCAT® 标准
 

2.2.2 Ethercat_EEPROM

YXDSP-F28P650至尊板的Ethercat_eeprom是采用的CAT24C16WI芯片,如图2.3所示。


图2.3

CAT24C16WI是容量为16K的EEPROM芯片,主要是用来存储Ethercat从站信息,YXDSP-F28P650至尊板在出厂时,已经将TI的从站信息烧写到EEPROM里面。
 

2.2.3 从站运行指示灯

如图2.4所示,ERR_LED和RUN_LED是用来指示Ethercat从站的运行状态,简称为运行指示灯。


图2.4

2.2.4 从站故障指示灯

如图2.5所示,LED1和LED2是故障信号,如遇到程序运行故障,LED1和LED2闪烁。


图2.5
 

03

第三章 软件说明

3.1 软件下载

用户需安装CCS20.1及以上版本、C2000WARE、SSC(只支持5.12版本)和TwinCAT3软件。凡购买YXDSP-F28P650至尊板将赠送有关软件安装包以及程序等海量资料。

软件的安装教程,用户可以在网上搜索。

 

3.2 创建SSC工程

1、安装上述所需软件。

2、运行 ethercat_slave_ssc_and demo_setup.exe (路径在C2000的安装路径里面,例如:D:\ti\C2000Ware_5_02_00_00\libraries\communications\Ethercat\f28p65x\ethercat_subdevice_ssc_and_demo_setup.exe)安装程序以提取 F28p65x SSC配置文件和echoback 应用程序文件,这些文件是 SSC工具所需的。它们将位于新创建的ssc_configuration 目录中。

3、打开SSC工具,将打开一个NewProject对话框。选择导入并找到f28p65x_ssc_config.xml。然后单击“Open”。

4、使用自定义下拉菜单选择TI F28P65x CPU1 FoE Download Solution,然后单击OK,如图3.1。

图3.1 SSC配置窗口

5、当弹出窗口询问是否要求外部文件继续时,单击“Yes”

6、保存SSC项目。

7、在SSC工具中,转到Project->Create new Slave Files

(a)将源文件夹目录更改为/examples/f28p65x_cpu1_foe_download_solution目录。

(b)将ESI文件目录位置保持不变。

(c)单击“Start”,然后单击“OK”

8、将来自/examples/f28p65x_cpu1_foe_download_

solution的示例导入CCS,并为RAM或FLASH构建它,见下一节程序导入。
 

3.3 从C2000中导入程序

从C2000从导入相关例程,需要先完成上述3.2的步骤,打开CCS导入C2000的f28p65x_cpu1_foe_download_solution程序。

f28p65x_cpu1_foe_download_solution程序的导入路径选择是在:

D:\ti\C2000Ware_5_02_00_00\libraries\communications\Ethercat\f28p65x\examples\f28p65x_cpu1_foe_download_solution

实际路径以用户C2000的安装路径为准。

从C2000中导入的程序需要修改适配研旭开发板的IO,步骤如下:

(一)如果使用底板上的LED1和LED2作为Ethercat故障指示灯即需要修改程序的LED引脚定义。如使用核心板上的LED则不需要修改程序,直接导入C2000的f28p65x_cpu1_foe_download_solution程序编译即可:

(二)在f28p65x_cpu1_foe_download_solution的ethercat_slave_cpu1_hal.c中找到DEVICE GPIO PIN LED1和DEVICE GPIO PIN LED2的定义,更改为底板原理图上的GPIO60和GPIO61,更改路径如下:选中DEVICE_GPIO_PIN_LED1,鼠标右键打开Open Declaration进入到定义界面更改即可,如图3.3.1所示:

图3.3.1

(三)全部更改完毕后,编译程序即可。

 

3.4 从研旭官方资料导入程序

3.4.1 FOE例程操作步骤

(一)在CCS中导入研旭官方例程“F28P650_CPU1_FOE”,本例程可以直接导入使用,不需修改。导入CCS后编译并下载到YXDS-F28P650至尊板中,运行程序。(例程导入、下载和运行的详细CCS操作见《YXDSP-F28P650至尊板手册V1.0》)

(二)在启动Twincat软件前,需将F28P65x CPU1 EtherCAT SubDevice (FoE)添加到Twincat的安装目录下:C:\TwinCAT\3.1\Config\Io\EtherCAT,实际路径以用户安装路径为准,XML文件路径在例程的...\XML文件夹下。

(三)启动Twincat软件,新建一个Twincat工程,步骤如下:

Step1:在Twincat首页选择New TwinCAT Project,新建一个工程,如图3.4.1.1所示;

图3.4.1.1

Step2:在Templates下选择TwinCAT Projects → 选择TwinCAT XAE Project (XML format) → 自定义个项目名称(默认即可) → 点击OK,如图3.4.1.2所示;

图3.4.1.2

(四)在菜单栏下选择TWINCAT → 在子菜单下选择Show Realtime Ethernet Compatible Devices.. → 进入到安装Twincat RT以太网适配器界面 → 在Disabled devices下找到没有使能的以太网驱动将其使能,如图3.4.1.3,使能成功后如图3.4.1.4所示。

图3.4.1.3

图3.4.1.4

(五)用网线连接计算机与开发板。

(六)运行程序后,在Twincat的左侧栏中找到I/O  → Devices → 鼠标右击Scan来扫描Twincat从站,将弹出一个对话框,指出不能自动找到所有类型的设备。单击“确定”。

(七)扫描完成后,会出现一个弹出窗口,可能会出现以下选项:

(a)弹出式显示,发现1个新的I/0设备,其中设备是设备2(EtherCAT自动化协议)。此或除设备1之外的任何其他设备编号是正确的,请单击“确定”。

(b)弹出时显示,未找到设备,或显示已找到1个新的1/0设备,其中设备为设备1(EtherCAT自动化协议)。这意味着某些设置不正确。验证示例是否正在设备上运行(或者至少已经通过GPIO设置和EtherCATIP的重置)。若扫描失败请进行故障排除,如图3.4.1.5所示即为正确扫描出来的从站,如图3.4.1.6则为扫描错误。

图3.4.1.5

图3.4.1.6

(八)若出现3.4.1.5所示的点击OK → 会出现Scan for boxes的弹窗 → 选择是(Y) → 出现Activate Free Run → 选择是(Y)。

(九)从站扫描并添加成功后如图3.4.1.7所示界面(注意:如果之前使用过F2838x的Ethercat功能,由于两个从站信息类似,导致优先识别为F2838x,如若介意,可以在TwinCAT里面删除F2838x的从栈信息即可,见步骤一中的文件路径),开发板的RUN_LED灯会亮起。

图3.4.1.7

(十)选择Box1 → Online,观察到EtherCAT从站在OP模式下运行,在Online选项卡下选择Bootstrap,将EtherCAT从属器更改为BOOT模式。(FoE传输只能在BOOT模式下进行),此时RUN_LED灯闪烁。

图3.4.1.8

(十一)在Online选项卡上向下滚动,在EtherCAT上的“File Access over EtherCAT”下,单击“Download...”,然后选择例程F28P650_CPU1_FOE\test文件下的test.bin。

(十二)在CCS中验证内存内容:

(a)在CCS中,停止执行并单击View->Memory Browser;

(b)在“Data”字段旁边的框中,输入要访问的内存位置的地址:0x00016000U;

(c)在下面的下拉菜单中,选择“16-Bit Hex -Tl Style”,可以直接查看存储在内存中的.bin文件的内容,如图3.4.1.9所示。

图3.4.1.9

3.4.2 回环例程操作步骤

(一)在CCS中导入研旭官方例程“F28P650_CPU1_echoback_solution”,本例程可以直接导入使用,不需修改。导入CCS后编译并下载到YXDSP-F28P650至尊板中,运行程序。(例程导入、下载和运行的详细CCS操作见《YXDSP-F28P650至尊板手册V1.0》)

(二)在启动Twincat软件前,需将F28P65x CPU1 EtherCAT SubDevice.xml添加到Twincat的安装目录下:C:\TwinCAT\3.1\Config\Io\EtherCAT,实际路径以用户安装路径为准,XML文件在例程F28P650_CPU1_echoback_solution\XML的路径下。

(三)启动Twincat软件,新建一个Twincat工程,步骤如下:

Step1:在Twincat首页选择New TwinCAT Project,新建一个工程,如图3.4.2.1所示;

图3.4.2.1

Step2:在Templates下选择TwinCAT Projects → 选择TwinCAT XAE Project (XML format) → 自定义个项目名称(默认即可) → 点击OK,如图3.4.2.2所示;

图3.4.2.2

(三)在菜单栏下选择TWINCAT → 在子菜单下选择Show Realtime Ethernet Compatible Devices.. → 进入到安装Twincat RT以太网适配器界面 → 在Disabled devices下找到没有使能的以太网驱动将其使能,如图3.4.2.3,使能成功后如图3.4.2.4所示。

图3.4.2.3

图3.4.2.4

(四)用网线连接计算机与开发板。

(五)运行程序后,在Twincat的左侧栏中找到I/O  → Devices → 鼠标右击Scan来扫描Twincat从站,将弹出一个对话框,指出不能自动找到所有类型的设备。单击“确定”。

(六)扫描完成后,会出现一个弹出窗口,可能会出现以下选项:

(a)弹出式显示,发现1个新的I/0设备,其中设备是设备2(EtherCAT自动化协议)。此或除设备1之外的任何其他设备编号是正确的,请单击“确定”。

(b)弹出时显示,未找到设备,或显示已找到1个新的1/0设备,其中设备为设备1(EtherCAT自动化协议)。这意味着某些设置不正确。验证示例是否正在设备上运行(或者至少已经通过GPIO设置和EtherCATIP的重置)。若扫描失败请进行故障排除,如图3.4.2.5所示即为正确扫描出来的从站,如图3.4.2.6则为扫描错误。

    

图3.4.2.5

图3.4.2.6

(七)若出现3.4.2.5所示的点击OK → 会出现Scan for boxes的弹窗 → 选择是(Y) → 出现Activate Free Run → 选择是(Y)。

(八)从站扫描并添加成功后如图3.4.2.7所示界面,开发板的RUN_LED灯会亮起。

图3.4.2.7

(九)选择Box1 → Online,观察到EtherCAT从站是否在OP模式下运行。

图3.4.2.8

(十)在TwinCAT中,展开资源管理器到EtherCAT框,并找到各种输出/输入映射:

图3.4.2.9

(a)在解决方案资源管理器中选择LED过程数据映射,在右侧窗口中,您可以更改任何虚拟LED的值。切换到开关过程数据映射以查看回传的值。例如,如果LED1设置为1,如图3.4.2.10所示,则Switch1也应设置为1,如图3.4.2.11所示;

图3.4.2.10

图3.4.2.11

(b)在解决方案探索器中选择输出映射1,并在右侧窗口中更改3个数据变量的值。设置完成后,可以从输入映射1的变量中观察到循环返回的值,如下图所示。

图3.4.2.12

图3.4.2.13
 

04

第四章 故障检查

本章详细介绍了在使用TwinCAT或示例时可能导致用户问题的一些常见问题。

问题一:“示例无法导入代码编写工作空间(CCS)”

解决办法:

√请确认在CCS中安装了最新的C2000设备支持包(C2000 Device support Package),在CCS中,转到帮助->检查更新(Help ->Install Code Generation Compiler Tools.)。

√请确认您已安装C2000和ARM所需的最低编译器版本。在CCS中,前往帮助->安装代码生成编译器工具。

√如果之前已将示例导入CCS,然后将其删除,无法再次导入,请验证该示例是否已从CCS工作区(不仅仅是CCS项目资源管理器)中完全删除。

问题二:“EtherCAT网络在运行TwinCAT时初始化失败”

这可能包括:“重新加载设备”失败,“扫描”设备失败,,“在配置模式下重新启动EtherCAT”失败。

解决办法:

√对控制卡进行电源循环

√确认EtherCAT示例已加载并运行

√验证是否安装了实时以太网适配器

●在Visual Studio中,从主工具栏中选择TwinCAT菜单,并选择显示实时以太网兼容设备

●在弹出窗口中,在“已安装和可随时使用的设备类别下,如果未显:(实时可用)的连接,请从“兼容设备”列表中选择一个并单击“安装”。

问题三:“示例在尝试启用ESCSS调试访问时卡住了”

解决方案:

重新启动开发板。如果之前从一个内核运行 EtherCAT,然后尝试从另一个内核运行EtherCAT 而不重启,则会出现此问题。

问题四:“EEPROM和从站堆栈示例已加载,但设备无法进入OP模式”

解决办法:

√ 在配置模式下重新启动TwinCAT;


图4.1

√ 重启开发板和CCS,重新启动TwinCAT,并重新扫描。