基于ti sitara am3352/54/58/59 处理器的ethercat主站开发案例-pg直营网

    pg直营网-pg网赌游戏 >关于创龙 > 新闻资讯 > 技术文章

    联系pg直营网

    contact us

    公司总机:020-8998-6280

    技术热线:020-3893-9437

    技术邮箱:support@tronlong.com

    销售邮箱:sales@tronlong.com

    基于ti sitara am3352/54/58/59 处理器的ethercat主站开发案例

    2021/07/21


    本文主要基于ti sitara处理器 am3352/54/58/59芯片的工业板卡,给大家分享如何在德国acontis公司ethercat主站协议栈控制伺服电机的具体方法。


    其中试用到的案例板卡为tronlong创龙科技的tl335x-evm-s评估板。创龙tl335x-evm是一款基于ti sitara系列am3352/am3354/am3358/am3359 arm cortex-a8高性能低功耗处理器设计的评估板,由核心板和底板组成。



    评估板正面图


    核心板经过专业的pcb layout和高低温测试验证,稳定可靠,可满足各种工业应用环境。评估板接口资源丰富,引出双路千兆网口、hdmi、gpmc、can等接口,方便用户快速进行产品方案评估与技术预研。

    本文适用开发环境:


    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


    1 ec-master、ec-engineer简介


    图 1 ethercat系统架构


    ethercat(以太网控制自动化技术)是一个开放架构,以以太网为基础的现场总线系统,其名称的cat为控制自动化技术(control automation technology)字首的缩写。ethercat是确定性的工业以太网。自动化对通讯一般会要求较短的资料更新时间(或称为周期时间)、资料同步时的通讯抖动量低,而且硬件的成本要低,ethercat开发的目的就是让以太网可以运用在自动化应用中。


    德国acontis公司是ethercat技术协会资深会员,acontis围绕ethercat协议开发的ethercat主站协议栈ec-master、ethercat网络信息配置工具ec-engineer和windows操作系统实时扩展核ec-win等产品已经在众多国际知名机器人(如kuka)及自动化公司的产品中得到多方验证,其产品的可靠性和性能得到业界公认和推崇。


    如下为ec-master和ec-engineer简介。如需了解更多介绍信息,可访问acontis中国总代理北京盟通科技有限公司pg直营网官网:www.motrotech.com,或查看acontis ethercat主站协议栈开发包中的doc目录下的ec-master_classb.pdf文件。


    1.1 ec-master简介


    acontis ethercat主站协议栈ec-master包含:


    (1) ethercat-master-core:ethercat主站的主要功能都在core层中实现。所有协议的处理也都在这里执行,例如过程数据传输和邮箱协议(coe,eoe,foe,soe,aoe)。


    (2) ethercat-link-layer:主从站的数据交换,将零拷贝(zero copy)和轮询(polling)技术与core层配合使用,实现最好的实时性性能和最大限度减少cpu负载。


    (3) os层:操作系统的调用被封装在os层。为了能够实现最好的性能,绝大多数功能使用简单的c语言宏编写。




    图 2 ec-master框架

    1.2 ec-engineer简介


    ethercat网络信息配置工具ec-engineer是由acontis开发的一个功能强大用于ethercat网络配置和诊断的软件工具,可帮助用户快速而舒适地处理工程和诊断任务。清晰且直观的用户界面确保了用户在ethercat网络诊断和配置方面获得流畅的体验。



    图 3


    图 4


    1 ethercat主站开发案例测试


    请通过网线将伺服驱动器cn0 ethercat(in)网口连接到评估板rgmii1 eth千兆网口(eth0)。如果需要使用rgmii2 eth网口(eth1)来控制电机,请通过网线将伺服驱动器cn0 ethercat(in)网口连接到评估板rgmii2 eth千兆网口。并连接好伺服电机,硬件连接如下所示。



    图 5

    将产品资料“4-软件资料\demo\tl_ecmasterdemodcmotor\bin\”目录下的eni_sanyo_motor.xml、tl_ecmasterdemodcmotor和“4-软件资料\demo\tl_ecmasterdemodcmotor\lib\”目录下的libemllcpsw.so文件拷贝到评估板文件系统同一个目录下。


    伺服驱动器上电启动运行。评估板上电启动进入文件系统执行如下命令卸载ti_cpsw千兆网口驱动。执行ifconfig命令可查看到千兆网口对应的eth0、eth1网卡已被卸载。


    target# rmmod ti_cpsw




    图 6

    执行如下命令加载ethercat主站网口驱动,可通过lsmod命令查看驱动是否加载成功。

    target# modprobe atemsys




    图 7

    在可执行程序tl_ecmasterdemodcmotor文件所在路径下,执行如下命令查看可执行程序的使用说明和参数解析。

    target# ./tl_ecmasterdemodcmotor --help




    图 8

    cpu频率调节模式默认配置为ondemand(初始频率为300mhz),此时系统会定期检查负载,根据负载来调节频率。由于ethercat对cpu频率要求较高,因此需执行如下命令将cpu频率调节模式配置为performance,此时系统会将cpu频率固定为800mhz。

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

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




    图 9


    执行如下命令,通过ethercat主站协议栈控制伺服电机进行正反转动作,设置主站通讯周期为1000us,串口终端打印如下相关信息。


    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 //加载网络配置eni.xml文件


    -auxclk 1000 //cycle time,即主站通讯周期为1000us


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


    -t 30000 //持续时间


    -perf //打印性能参数


    -cpsw 1 1 1 m custom am33xx 0 1 0 //网口类型为ti的cpsw,“1 1 1”表示port1,polling模式,high priority,“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-1000us=54.2us。

    tl_ecmasterdemodcmotor程序会自动检测与加载ethercat主站协议栈license。如无license,程序运行60min后将自动停止,提示信息如下图所示。




    图 12

    若已购买license,在tl_ecmasterdemodcmotor文件同一目录下创建license文件,并将license密匙添加到此文本文件中。

    备注:以下提供基于我司tl570x-evm评估板添加license的测试截图作为参考。




    图 13

    重新运行tl_ecmasterdemodcmotor程序,若成功读取有效license,程序将可长时间稳定运行。同时,串口终端将会打印如下类似信息。


    图 14

    2 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文件夹,目录结构如下图所示。案例编译需依赖此开发包的库文件。如需了解更多ecmaster ethercat案例,请查看开发包的examples目录。


    图 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-04.03.00.05/linux-devkit/sysroots/x86_64-arago-linux/usr/bin/arm-linux-gnueabihf- //交叉编译工具链路径



    图 18

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

    host# make


    图 19



    图 20

    3 ec-engineer配置eni文件方法

    本章节主要说明通过acontis ethercat网络信息配置工具ec-engineer工具配置eni(ethercat network information format)文件的方法。eni文件主要描述ethercat总线拓扑结构等信息。

    将产品资料“4-软件资料\tools\windows\”目录下的ec-engineer_eval_[版本号].zip在windows下解压与安装。

    确保pc机可正常连接互联网,双击打开ec-engineer工具。系统将会通过网络检测ec-engineer的license是否过期,如无法访问互联网将会导致打开失败。将伺服驱动器通过网线与pc机直连(此时pc机可断开与互联网的连接),在ec-engineer选中device editor界面的class a工程选项,如下图所示。



    图 21

    点击“file -> esi manager”,打开esi manager界面。



    图 22

    添加sanyo伺服驱动器配套的.xml文件,该文件由伺服驱动器厂家提供。



    图 23


    图 24




    图 25



    图 26

    cycle time选择1000us,在network adapter选项栏里选择从站连接的网卡,按select进行连接,连接后按钮变为

    。cycle time的大小可能会影响伺服电机的抖动,具体根据伺服电机的实际情况进行设置,此处使用1000us。



    图 27

    点击“network -> scan ethercat network”扫描伺服设备。



    图 28



    图 29

    成功扫描出伺服设备后,将其选中(本次操作为sanyo伺服)。点击“exports eni”按钮重新生成伺服设备.xml格式的eni文件。文件名可自拟,此处文件名设定为eni_sanyo_motor,选择“diagnosis mode”选项可观察伺服设备信息。



    图 30



    图 31

    此时会在当前路径生成eni_sanyo_motor.xml配置文件,该文件记录了从站的配置信息,文件配置的cycle time为1000us。


    以上便是本次开发案例分享的所有内容,感兴趣的用户欢迎下方评论点赞,谢谢关注,后面还将分享更多嵌入式相关的知识汇总与开发案例。

    注:由于ethercat主站协议栈对系统实时性要求较高,因此使用linux-rt实时内核进行测试。资料中提供的ec-engineer为免费试用版,需定期更新,如已过期可沟通提供新版。


    联系创龙

    公司总机:020-8998-6280

    技术热线:020-3893-9734

    技术邮箱:support@tronlong.com

    销售邮箱:sales@tronlong.com



    创龙官方微信公众号

    pg直营网 copyright © 2013~2021 广州创龙电子科技有限公司 all rights reserved  |

    网站地图