基于AM335X开发板 ARM Cortex-A8——Acontis EtherCAT主站开发案例

      最后更新:2022-06-23 16:58:44 手机定位技术交流文章

      前 言

      本文主要介绍了基于Acontis EtherCAT主站协议堆控伺服机的TL335x-EVM-S评价板的方法。内容包括EC-Master, EC-Engineer介绍、EtherCAT主站发展案例测试、EtherCAT主站开发案例汇编、EC-Engineer配置ENI文件方法等。

      本 文件 适用于 发展 环境 :

      Windows开发环境:Windows 7 64bit,Windows 10 64bit

      Kernel:Linux-RT-4.9.65

      Acontis EtherCAT主站协议堆栈开发包:EC-Master-V2.9-Linux_armv6-vfp-eabihf-Eval.Tar.zip

      Acontis EtherCAT网络信息配置工具:EC-Engineer

      伺服驱动器:SANYO RS2A03A0KA4W00

      伺服电动机:SANYO R2AA08075FXH00W

      由于以太网主站协议堆对系统实时性的要求很高,因此Linux-RT实时内核被用于测试。

      TL335x-EVM-S是基于 TI Sitara系列AMD 3352/AM3354/AM3359 ARM Cortex-A8高性能低功率处理器设计的评价板。

      评价板接口资源丰富,绘制双向千兆位网络接口、液晶、HDMI、GPMC、CAN等接口,方便用户快速进行产品方案评价和技术预调查,应用于典型领域,如通信管理、数据采集、人机交互、运动控制、智能电力等。

      EC-Master, EC-Engineer介绍

      图1EtherCAT系统架构

      EtherCAT(Ethernet Control Automation Technology)是一个开放的框架,基于Ethernet,现场巴士系统,它的名字是控制自动化技术的一个缩写。EtherCAT是一个确定性的工业 Ethernet。通信自动化通常需要较短的数据更新时间(或所谓的周期时间)和数据同步期间通信振动低。硬件成本很低,EtherCAT开发的目标是使Ethernet能够用于自动化应用程序。

      Acontis德国是EtherCAT技术协会的高级成员,基于EtherCAT协议开发的Acontis产品,如EtherCAT主站协议Stack EC-Master、EtherCAT网络信息配置工具EC-Engineer和Windows操作系统Real-time扩展内核EC-Win,已在众多国际知名机器人(如KUKA)和自动化公司产品中得到多边验证,其产品可靠性和性能受到业界的认可和赞赏。

      下面是EC-Master和EC-Engineer的介绍。如果你需要更多信息,浏览Acontis中国总代理北京联盟有限公司的网站:ww.motrotech.com,或者在Aconts EtherCAT主机协议堆栈开发包.PDF文件中的 Doc目录中查看EC - Master_ClassB。

      EC-Master简介

      Acontis EtherCAT主站协议堆 EC-Master包括:

      1. EtherCAT-Master-Core:EtherCAT主站的主要功能在核心层中实现,所有协议的处理也在这里进行,例如处理数据传输和邮箱协议(CoE, EoE, FoE, SoE, AoE)。
      2. EtherCAT-Link-Layer:从主站交换数据,使用零复制和投票技术与核心层结合实现最佳的实时性能和最小 CPU负载。
      3. 操作系统层:操作系统层的调用是包含在操作系统层中,为了达到最佳性能,大多数功能都是使用简单的C语言宏编写的。

      图2 EC-Master框架

      EC-工程师简介

      EtherCAT网络信息配置工具 EC-Engineer是一个由Acontis开发的强大软件工具,用于EtherCAT网络配置和诊断。帮助用户快速和舒适地处理工程和诊断任务。一个清晰和直观的用户界面确保在诊断和配置EtherCAT网络中有一个平稳的用户体验。

      图 3

      图 4

      EtherCAT主站发展案例测试

      请通过电线连接伺服驱动器CN0EtherCAT(IN)端口到评价板RGMII1ETH100-megabyte(ETH0)端口。如果您需要使用RGMII2 ETH接口(ETH1)来控制机器,请通过电线将伺服驱动器CN0EtherCAT(IN)端口连接到评价板RGMII2ETH100MHz端口。并连接好伺服电机,硬件连接如下所示。

      图 5

      在"4-Software InformationDemotl_EcMasterDemoDCmotorlib"下,输入产品信息: 4-Software Information Demo tl_ecMaster Demo DC motor bin "eni_SANYO_motor.xml, tl_EcMasterDemoDcMotor 和 libemllCPSW 。

      如果执行 ifconfig命令,您可以看到相应的et0和et1网络卡已经卸载。

      Target#rmmod ti_cpsw

      图 6

      下面的命令执行, load the EthernetCAT host port driver, and the lsmod command can be used to see if the driver is successfully loaded.

      Target#modprobe atemsys

      图 7

      按照下面的指示,在可执行程序 tl_EcMasterDemoDcMotor文件的路径下查看可执行程序的指示和参数分析。

      Target#./tl_EcMasterDemoDcMotor --help

      图 8

      CPU频率调制模式默认调音请求(初始频率300MHz),此时,系统将定期检查负荷,按负荷调整频率.因为EtherCAT需要更高的CPU频率,通过执行下列命令,将CPU频率调整模式定义为性能:此时系统将将 CPU 频率设置为 800 MHz 。

      Target#echo performance > /sys/devices/system/cpu/cpufreq/policy0/scaling_governor

      Target#cat /sys/devices/system/cpu/cpufreq/policy0/cpuinfo_cur_freq

      图 9

      执行下列命令,通过Ethernet主站协议堆控制伺服电机,设置主站通信周期为100us,并通过串行终端打印下列相关信息。

      Target#./tl_EcMasterDemoDcMotor -f eni_SANYO_motor.xml -auxclk 1000 -v 2 -t 30000 -perf -cpsw 1 1 1 m custom am33XX 0 1 0

      参数说明:

      -f eni_SANYO_motor.xml / 下载网络配置i.xml文件

      -auxclk 100 //周期时间,即主站通信周期为100us

      -v 2 // 信息打印级别为2

      -t 300 // 时间

      -perf // 打印性能参数

      -cpsw 1 1 1 m custom am33XX 0 1 0 // TI的端口类型是CPSW,"1 1 1"表示Port1,投票模式,高度优先,"m"表示Master。

      如果您需要使用RGMII ETH2端口控制机器,应执行下列命令。

      Target#./tl_EcMasterDemoDcMotor -f eni_SANYO_motor.xml -auxclk 1000 -v 2 -t 30000 -perf -cpsw 2 1 1 m custom am33XX 1 1 0

      图 10

      图 11

      根据上述图,主电站的平均传输周期约为997.8us,最大值为1054.2us,主电站通信周期的最大振动值为1054.2us-100us=54.2us。

      tl_EcMasterDemoDcMotor程序自动检测和装载EthernetCAT主机协议堆栈许可证。 如果没有许可证,该程序在运行60分钟后会自动停止,下图所示的信息。

      图 12

      如果您购买了许可证,在同一个目录中创建一个许可证文件和 tl_EcMasterDemoDcMotor文件,并将许可证键添加到这个文本文件。

      注:以下是基于我们的TL570x-EVM评估板的测试部分,用于添加许可证作为参考。

      图 13

      重新启动 tl_EcMasterDemoDcMotor程序。 如果有效许可证被成功读取,该程序将长期稳定。

      图 14

      EtherCAT主站开发案例编译

      复制整个 tl_EcMasterDemoDcMotor文件夹到Ubuntu,并输入EC_Master_SDK目录,下面的命令被执行以实现这个目录下的开发包EC-Master-V2.9-Linux_armv6-vfp-eabihf-Eval.Tar.zip将压缩到当前路径。

      Host#cd tl_EcMasterDemoDcMotor/EC_Master_SDK/

      Host#unzip EC-Master-V2.9-Linux_armv6-vfp-eabihf-Eval.tar.zip

      图 15

      开发包解压缩后,当前目录生成EC-Master-V2.9-Linux_armv6-vfp-eabihf-Eval.tar文件夹,目录结构在下图中显示。案例编译器需要依赖这个开发包的库文件。有关ECMasterEtherCAT案例的详细资料,请参阅请参阅开发包的例子目录。

      图 16

      输入 tl_EcMasterDemoDcMotor src源目录,并在Makefile文件中指定Linux Processor SDK的交叉编译工具链的实际路径。

      Host#cd ../src/

      Host#vim Makefile

      图 17

      CROSS_COMPILE ?/home/tronlong/ti-processor-sdk-linux-rt-am335x-evm-/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf-

      图 18

      修改完成后,保存并退出,执行“make”命令,编译并生成可执行的程序 tl_EcMasterDemoDcMotor文件。

      Host#make

      图 19

      图 20

      EC-Engineer配置ENI文件方法

      本章主要描述如何使用Contis EtherCAT Network Information Configuration Tool EC-Engineer工具配置ENI(EtherCAT Network Information Format)文件。ENI文件主要描述EtherCAT总线拓扑结构等信息。

      在产品信息4 - 软件信息 工具 Windows directory.zip中输入 EC - Engineer_Eval_ [ Version No. ] 。

      确保您的电脑与互联网有适当的连接,双击打开EC-Engineer工具。系统将通过网络检测EC-Engineer许可证的有效期,无法访问互联网将导致无法打开.通过网络将伺服驱动器直接连接到个人电脑(个人电脑可以从互联网中切断),在EC-Engineer中选择设备编辑器接口的A类工程选项,如下图所示。

      图 21

      点击“File -> ESI Manager”,打开ESI Manager界面。

      图 22

      将SANYO伺服驱动器添加到 support.xml文件中,该文件由伺服驱动器制造商提供。

      图 23

      图 24

      图 25

      图 26

      周期时间选择100us,在网络适配器选项栏中从站点连接中选择网络卡,单击“选择连接”,连接按钮被更改为

      .循环时间的大小可能影响伺服电动机的振动,具体取决于伺服电动机的实际设置,使用100us在这里。

      图 27

      点击“Network -> Scan EtherCAT Network”扫描伺服设备。

      图 28

      图 29

      成功扫描伺服设备后,选择它(此操作适用于SANYO伺服)。单击 Export ENI按钮来重构servo device.xml格式ENI文件。文件名可自拟,这里设置文件名为 eni_SANYO_motor,选择诊断模式选项,查看伺服设备信息。

      图 30

      图 31

      此时,当前路径将生成eni_SANYO_motor。 xml配置文件,记录站点的配置信息,具有100us的周期时间。

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/28197.html

          热门文章

          文章分类