24小时论文定制热线

咨询电话

ASP.NETVC++MySQLPHP安卓JSPLinuxJava机械VBASP单片机模具汽车工程毕业设计Flash
您当前的位置:论文定制 > 毕业设计论文 >
快速导航
毕业论文定制
关于我们
我们是一家专业提供高质量代做毕业设计的网站。2002年成立至今为众多客户提供大量毕业设计、论文定制等服务,赢得众多客户好评,因为专注,所以专业。写作老师大部分由全国211/958等高校的博士及硕士生设计,执笔,目前已为5000余位客户解决了论文写作的难题。 秉承以用户为中心,为用户创造价值的理念,我站拥有无缝对接的售后服务体系,代做毕业设计完成后有专业的老师进行一对一修改与完善,对有答辩需求的同学进行一对一的辅导,为你顺利毕业保驾护航
代做毕业设计
常见问题

Linux和AM335X处理器下Ether CAT主站的设计

添加时间:2018/07/12
基于工业以太网的现场总线技术已成为自动控制领域的发展方向,其中Ether CAT是由德国Beckhoff提出的一种比较突出的开放式实时工业以太网技术,具有灵活的网络拓扑结构,支持线型、星型、菊花链型等多种连接方式。
  以下为本篇论文正文:

  摘要:实时工业以太网技术是自动控制领域的研究热点。为了提高多轴伺服系统的高速、实时、同步控制的性能,采用基于工业以太网的EtherCAT总线技术,在AM3358硬件平台上实现了基于Linux系统的EtherCAT主站程序,实验结果表明多轴伺服系统的控制性能有所提升。

  关键词:实时工业以太网; 现场总线; EtherCAT; IgH主站;

  Abstract:Real-time industry Ethernet technology is a hot point in automation technology area. In order to achieve better high-speed、real-time、synchronization control of multi-axis servo system,the EtherCAT technology based on industry Ethernet was used in this paper. An EtherCAT Master based on Linux system was realized on the platform of AM335 X. As a result,the control performance of the multi-axis servo system has been significantly improved.

  Keyword:real-time industry ethernet; field bus; EtherCAT; IgH master;

  基于工业以太网的现场总线技术已成为自动控制领域的发展方向,其中Ether CAT是由德国Beckhoff提出的一种比较突出的开放式实时工业以太网技术,具有灵活的网络拓扑结构,支持线型、星型、菊花链型等多种连接方式。系统配置简单,具有高速、高有效数据率等特点,其有效数据率可达90%以上,全双工特性得以充分利用[1]。Ether CAT采用分布时钟机制,非常适用于本文所述的需要高度同步的多轴控制场合。由于Ether CAT高性能、低成本和容易使用等特点,目前已经广泛应用于工业控制领域。Ig H Ether CAT主站是由Etherlab提供的一套开源Ether CAT协议栈,支持深度开发与个性化定制,使主站的控制方式更加灵活。本文将针对Ig H Ether CAT主站的结构框架和主站到AM335X平台的设计工作进行展开。

  1、Ether CAT技术介绍

  1.1、Ether CAT系统框架及工作原理

  Ether CAT是一种实时工业以太网现场总线技术,充分利用了以太网的全双工特性,具备很高数据通信速度[2-3]。不过,它并没有使用传统以太网的带冲突检测的载波监听多路访问(CSMD/CD)机制,而是使用主从模式的介质访问控制(MAC)。主站发送以太网帧给各个从站,数据帧遍历所有的从站设备,从站从与之对应的数据帧中读取或插入数据。这些从站可以直接处理接收的报文,然后将报文传输给下一个从站,直到最后一个从站将处理过的报文回传,最终由第一个从站作为响应报文发送给控制单元[4]。

  报文经过从站节点时,从站识别出相关的命令并做出相应的处理。信息的处理在硬件中完成,延迟时间约为100~500 ns,通信性能与从站设备微控制器的响应时间相互独立。每个从站设备具备最大64KB的可编址内存,可实现连续或同步的读写操作。多个Ether CAT命令数据可被嵌在同一段以太网报文中,每个数据对应独立的从站设备或内存区。

  1.2、Ether CAT控制系统

  Ether CAT主站硬件部分可由PC计算机或嵌入式计算机实现,使用PC计算机运行Ether CAT主站时,通常用标准的以太网网卡NIC作为硬件接口。主站功能通过软件实现,Ether CAT通信协议栈如图1所示[5]。

图1 Ether CAT控制系统协议栈
图1 Ether CAT控制系统协议栈

  1.3、Ether CAT数据帧结构

  Ether CAT数据直接使用数据帧类型为0x88A4以太网数据帧进行传输。Ether CAT数据部分包括2字节的数据头和44~1 498字节的数据,数据部分由若干个Ether CAT子报文组成,每个子报文对应独立的设备或从站存储区,如图2所示[6]。

图2 Ether CAT数据帧结构
图2 Ether CAT数据帧结构

  Ether CAT子报文包括子报文头、数据域和工作计数器(WKC)。主站预先给每个通信服务子报文设置预期的WKC,发送子报文的WKC初始值设为0,每次被一个从站处理后,WKC都会累加一个增量。主站通过比较返回子报文的WKC与预设值来判断子报文是否被正确处理。WKC由ESC在处理数据帧的同时进行处理,不同的通信服务对WKC的增加方式不同。

  1.4、状态机和通信初始化

  状态机负责协调主站和从站应用程序在初始化和运行过程中的状态关系,Ether CAT必须支持四种状态,按照运行的先后顺数依次为初始化、预运行、安全运行和运行态。这四种状态只能逐级提升,但是允许跳级到更低状态。所有状态都由主站发起,向从站发送状态控制命令,从站响应此命令,执行所请求的状态并将结果写入从站状态指示变量。如果转换失败,从站会发出错误标志。每种状态都具有不同的功能。

  (1)初始化(Init)

  该状态定义了主站和从站在应用层的初始通信关系。在该状态下,主站和从站应用层不能直接通信,只能初始化ESC的一些配置寄存器。如果从站支持邮箱通信,则配置邮箱通道参数。

  (2)预运行(Pre-Operational)

  在预运行态,邮箱通信已被激活,主站可以使用邮箱通信和从站交换与应用程序相关的初始化操作和参数。此时,过程数据通信不被允许。

  (3)安全运行(Safe-Operational)

  此时从站读入输入数据,但不输出信号,处于“安全状态”,当然该状态下依然支持邮箱数据通信。

  (4)运行(Operational)

  从站应用程序读入输入信号,主站发出输出信号,从站设备有输出信号。同样主站和从站之间仍然可以使用邮箱通信。

  除此之外,Ether CAT还包括一种可选的引导状态,引导状态的功能是下载设备固件程序。主站可以使用Fo E协议的邮箱通信下载新的固件程序给从站。

  2、Ether CAT主站设计

  2.1、基于AM335X平台的Ether CAT主站硬件平台

  Ether CAT主站硬件采用TI公司的AM335X处理器和标准以太网卡。AM335X处理器基于Cortex-A8构架,最高主频可达到1 GHz,能够流畅地运行Linux操作系统,这为运行基于Linux系统的Ether CAT主站程序提供了前提条件。Beagle Bone Black即是基于该处理器的开放的硬件和软件平台,软件上支持内核模块开发,硬件上支持标准以太网卡。

  2.2、Linux下Ether CAT主站软件系统结构

  Ig H Ether CAT Master是基于Linux系统的开源Ether CAT主站软件,包括以太网网卡驱动程序、主站的内核模块和应用程序、用户层工具和支持库。Linux系统分为内核层与应用层两个层次,其中内核层运行系统调度与驱动程序,内核层中的程序称为内核模块,实时性较高;应用层运行各种桌面和用户程序,实时性较差。如图3所示,Linux系统下Ether CAT主站结构包括以下三部分[7]:

  1)网络设备部分。Ether CAT主站使用通用网络设备(如PCI网卡),为了实现Ether CAT协议,需要在内核层对网络设备驱动进行相应地修改。Ig H软件版本在1.5之后提供了通用的网卡驱动,可以不用修改驱动就能支持Ether CAT主站程序[8]。

  2)主站模块与应用程序。为了满足实时性要求,把Ether CAT主站模块和应用程序模块均放在系统内核层。其中,Ether CAT主站模块实现全部的协议解析、任务调度并向网络设备和应用程序提供函数接口应用程序模块实现用户的自动化系统控制任务,由用户根据自身需求进行编写。

  3)Ether CAT工具。由于用户层无法直接访问内核层的数据,因此需要通过构造Linux字符设备来间接实现与Ether CAT主站模块的通信。该程序提供了各种可以在Linux用户层运行的命令,这些命令可以直接用来设置从站地址、显示总线配置、显示PDO数据、读写SDO参数等。

图3 Ether CAT主站软件系统结构
图3 Ether CAT主站软件系统结构

  2.3、Ig H Master主站的实现

  本文中使用的Ig H Ether CAT Master版本为ethercat-1.5.2,该版本程序支持通用网卡驱动。Linux内核版本为3.13.0,在Linux环境下搭建好基于ARM构架的交叉编译环境后[9],开始编译Ether CAT主站源代码,编译步骤如下:

  1)在终端进入主站目录后,用如下命令配置编译系统:

  ./configure--prefix=/home/yhs/ethercat/ethercat-1.5.2/output-with-linux-dir=/usr/src/linux-headers-3.13.0-32-generic--enable-8139too=no--enable-generic=yes CC=arm-none-linux-gnueabi-gcc--host=arm-none-linux-gnueabi

  2)make

  3)make ARCH=arm CROSS_COMPILE=arm-none-linux-gnueabimodules

  4)mkdir output/modules

  5)make install

  make install命令会在当前目录生成output文件夹,里面有编译生成的各种用户空间的文件,可以把此目录下的各文件目录复制到AM335X的文件系统根目录下,另外再把内核模块ethercat-1.5.1/devices/ec_generic.ko和ethercat-1.5.1/master/ec_master.ko也手动复制到AM335X文件系统中,这样就可以进行测试工作了。

  3、结语

  本文介绍了Ether CAT实时工业以太网现场总线技术的框架及工作原理。由于Ether CAT总线需要较高的实时性,本文采用了可深度定制内核的开源操作系统Linux和TI公司的高性能AM335X处理器作为主站程序的运行平台,同时使用目前较为流行的基于Linux平台的开源Ether CAT主站Ig H Master,最后介绍了Ig H Master的实现方法。

  参考文献
  [1]郇极,刘艳强.工业以太网现场总线Ether CAT驱动程序设计及应用[M].1版.北京:北京航空航天大学出版社,2010.
  [2]王维建.工业以太网Ether CAT技术的原理及其实现[J].微计算机信息,2010,26(5-1):51-52.
  [3]徐彤.以太网在实时控制领域中的应用[J].火控雷达技术,2003(9):29-33.
  [4]单春荣,刘艳强,郇极.工业以太网现场总线Ether CAT及驱动程序设计[J].制造业自动化,2007,29(11):79-82.
  [5]张少勋,郗晓田.基于Linux-RTAI的Ether CAT主站研究[J].电子设计工程,2013(10):151-154.
  [6]李木国,孔丽丽,王磊,等.Ether CAT网络数据采集系统的设计与实现[J].计算机测量与控制,2010,18(4):961-964.
  [7]马春敏,康存锋,黄旭东,等.基于Linux的Ether CAT主站的研究[J].制造业自动化,2011,33(4):78-82.
  [8]周敬琼,周凤星.基于ARM的Linux网络设备驱动程序开发[J].计算机工程与设计,2009,30(22):5124-5127.
  [9]河秦,王洪涛.Linux 2.6内核标准教程[M].1版.北京:人民邮电出版社,2008.

    相关内容
    好优论文定制中心主要为您提供代做毕业设计及各专业毕业论文写作辅导服务。
    所有论文、资料均源于网上的共享资源以及一些期刊杂志,所有论文仅免费供网友间相互学习交流之用,请特别注意勿做其他非法用途。
    如有侵犯您的版权或其他有损您利益的行为,请联系指出,论文定制中心会立即进行改正或删除有关内容!