工业以太网EtherCAT的无线网关设计*

2013-09-12 09:10魏亚鹏韩卫光
组合机床与自动化加工技术 2013年8期
关键词:主站网关以太网

魏亚鹏,韩卫光

(1.中国科学院大学,北京 100049;2.中国科学院沈阳计算技术研究所,沈阳 110168)

0 引言

以太网具有开放性好、软硬件资源广泛支持、成本低廉、使用方便等优点。随着以太网应用于工业环境中而出现的一系列问题的解决,它成为了工业控制网络中最具有应用前景的技术。目前,国内外有众多单位研究工业以太网,它在工业通信领域形成了广泛应用、快速推广的局面。

EtherCAT是一种实时性高、可靠性好的工业以太网总线[1-2],它是工业以太网通信领域中一项性能突出的技术。EtherCAT的拓扑结构灵活,它可以实现总线型、环型、星型、树型、菊花链型等几乎所有的拓扑结构[3-5]。目前,EtherCAT已经取得了广泛的应用,在全球超过1900个公司在开发和使用基于EtherCAT 技术的产品[12]。

在危险性高、环境恶劣的一些工业制造现场,存在布线不方便的问题。无线传感网ZigBee具有数据传输安全可靠、组网简易灵活等优势[6-7],它可以用来扩展有线工业以太网,以减少大量线缆施工带来的麻烦。因此,研究开发连接EtherCAT与ZigBee的网关,实现有线工业以太网与无线传感网的结合,具有很高的应用价值。

本课题基于“核高基”国家科技重大专项——国产软硬件在数控/工业控制装置中的应用与推广,研究探索工业控制领域实时通信网络的扩展技术。在数控设备工作过程中,无线传感器网络Zig-Bee节点可以将现场采集到的温度、压力等信息传递至网关,在网关进行协议转换后,经由实时以太网EtherCAT传输至上位机。这样,上位机就可以通过ZigBee节点监控工业生产现场的环境信息,从而保证加工过程的安全和产品质量。

1ZigBee接入EtherCAT的方案

无线传感网ZigBee通过EtherCAT-Zig-Bee网关接入实时以太网EtherCAT,本文设计的组网方案如图1所示。EtherCAT-ZigBee网关在实时以太网EtherCAT中作为一个智能EtherCAT从站节点,它在写入或读出EtherCAT集总帧数据的同时完成EtherCAT和ZigBee的协议转换功能。ZigBee作为Ether-CAT从站的扩展,无线网段由EtherCAT-Zig-Bee网关和ZigBee终端节点组成,它们均为全功能节点。EtherCAT-ZigBee网关作为ZigBee网络的协调器节点,由它来发起和管理ZigBee网络。Ether-CAT-ZigBee网关在逻辑上由ZigBee协调器模块、协议转换模块和EtherCAT从站模块三部分组成。

图1 EtherCAT与ZigBee互连网络拓扑结构图

2 EtherCAT-ZigBee网关的通信模型

EtherCAT的互联参考模型由物理层、数据链路层和应用层组成。EtherCAT物理层完全符合IEEE802.3的规定。为了保证它的实时传输特性,EtherCAT的 MAC层由 ASIC或 FPGA来实现[1]。EtherCAT应用层定义了控制程序与网络交互的接口,是直接面向控制任务的一层,它包括EoE、FoE、SoE、CoE等几种协议[8]。所有的以太网技术都可以通过EtherCAT实现而不影响其实时性。

ZigBee采用IEEE802.15.4标准规定的PHY层和MAC层作为其物理层和媒体访问控制层[9],而网络层和应用层则由ZigBee联盟规定[10]。ZigBee设备对象和ZigBee应用对象是由用户根据需要自己定义[11]。ZStack是TI公司对ZigBee协议的一种实现,本文采用ZStack2007协议。

ZigBee的数据通信速率介于20kbps到250kbps之间,是一种低速率的通信网络。ZigBee终端节点采集的数据是非实时性数据,所以采用EtherCAT邮箱方式来传输。在EtherCAT应用层,选用Ethernet协议来通信。这样,网关中的协议转换模块需要将ZigBee数据帧解析并封装在EtherCAT数据报文中。之后,网关将含有ZigBee数据的集总帧通过Ether-CAT链路传向主站。基于以上分析,本文设计的EtherCAT-ZigBee网关通信模型如图2所示。

图2 EtherCAT与ZigBee的通信模型

3 EtherCAT-ZigBee网关的设计

3.1 EtherCAT-ZigBee网关的硬件设计

EtherCAT-ZigBee网关的硬件主要由ARM Cortex-A8和CC2530组成,它的内部结构如图3所示。德州仪器公司的Sitara AM3359 ARM Cortex-A8微处理器实现了EtherCAT技术与ARM微处理器的融合[12],本设计用它来实现EtherCAT从站模块和协议转换模块。ZigBee协调器模块采用德州仪器公司的无线传感网络片上系统 CC2530套件。ARM的UART0口与CC2530模块通过串行通讯线相连。PHY芯片采用TLK110,它可以保证EtherCAT的实时性。网关含有两个RJ45网口,通过它们将网关连接到EtherCAT网络中。

图3 EtherCAT与ZigBee的网关内部结构图

3.2 EtherCAT网络接口设计

德州仪器公司生产的TLK110芯片是一个用于10Base-T和100Base-Tx信令的单一端口以太网PHY收发器,TLK110对MII接口和PHY芯片之间的延迟做了优化。ARM与PHY的接口信号如下:TX_CLK由TLK110产生,TXD与TX_EN与此时钟绑定;RX_CLK由TLK110产生,RX_DV、RX_ERR、RXD与此时钟绑定;TXD[3:0]为要发送的数据信号;RXD[3:0]为接收的数据信号;TX_EN为从MAC接收有效数据的使能信号;RX_DV为从网线接收有效数据的使能信号;CRS为载波监听信号,当接收媒介非空闲时它是高电平;COL是碰撞检测信号,在全双工模式下,它一直是低电平。EtherCAT接口如图4所示。

图4 EtherCAT接口接线图

3.3 EtherCAT数据帧的设计

EtherCAT数据头[8]的定义如下:

EtherCAT使用标准以太网帧进行通信,目的地址和源地址由以太网帧头规定。它使用的以太网帧类型为0x88A4,用此保留的以太网帧类型可以将控制数据直接写入以太网帧内,并且能同遵守其它协议的以太网帧在同一网络中运行。EtherCAT采用集总帧的数据包格式,它头部中的Length指出EtherCAT数据报文的总长度。EtherCAT头部中的Type的值为1时代表与从站通信。其中,Reserved为保留位。

3.4 ZigBee相关数据结构的设计

ZigBee终端节点与网关绑定后,规定它每隔2秒调用一次sendReport()函数,向网关发送环境温度和自身电压信息。ZigBee终端节点报告所用的数据结构为pData[4],其结构如图 5所示。pData[0]存放的是ZigBee终端节点采集到的现场数据。pData[1]存放的是ZigBee终端节点自身的电压值。pData[2]和 pData[3]存放的是此 ZigBee节点的父节点的16位短地址。

图5 pData的结构

规定网关中用于存放终端节点信息的数据结构如下:

网关中的ZigBee模块接收到ZigBee终端节点发送来的数据后,先保存在gtwData_t结构体中。然后调用 sendGtwReport(&gtwData)函数,经过串口向ARM Cortex-A8传输数据。定义网关在串口传递数据所采用的数据结构为 pFrame[15],如图6所示。SOF是 pFrame帧的开始界定符,其值为 0xFE;FLength指出此帧中包含ZigBee数据的长度,其值为10;CMD Type是接收ZigBee数据的指示命令类型,其值为0x8746;Source Addr为ZigBee数据采集节点的地址,其值由ZigBee节点本身决定;CMD ID为ZigBee节点报告的命令ID号,其值为2;Data length为ZigBee节点报告数据的长度,其值为4;在Data域中存放的是ZigBee终端节点采集的数据;FCS是帧校验系列,它根据pFrame帧而算出。

图6 pFrame的结构

3.5 ZigBee与EtherCAT的协议转换

ZigBee与EtherCAT的协议转换如图7所示。ZigBee终端节点和网关以CSMA-CA方式来访问无线信道,它们通过数字扩展频谱信号来通信。ZigBee数据帧的同步头包括前导序列和帧首界定符,前导序列定义为4个字节的0x00,SFD所在字节设置为0xA7。物理头规定了MAC协议数据单元的长度,它的最大长度为127字节。MAC头、NWK头、APS头规定了帧控制信息和地址信息等。存放在载荷区的应用层数据由sendGtwReport()函数解析并且封装至pFrame帧。在EtherCAT从站模块,调用parse()函数将存放在pFrame中的ZigBee数据解析出来,并且插入到EtherCAT数据报文区域。之后,装载ZigBee数据的EtherCAT集总帧通过网关运行的服务器进程传向EtherCAT主站运行的客户端进程。

图7 ZigBee与EtherCAT的协议转换图

4 测试

EtherCAT主站安装Ubuntu Linux操作系统,在其上运行客户端进程和数据显示进程。鉴于运行速度的考虑,在网关ARM Cortex-A8模块上移植了RT Linux操作系统,并在其上安装了minicom终端仿真程序。在网关的ARM模块上运行着协议转换进程和服务器进程。在EtherCAT主站上运行的客户端进程接收到网关上的服务器进程发来的、经过协议转化后的ZigBee数据后,会将数据显示出来。Ether-CAT主站显示数据的界面如图8所示,ZigBee终端节点采集的温度值和电压值用十进制表示。

图8 EtherCAT主站显示ZigBee数据

图9为Packet Sniffer在2.405GHz频率下捕获的空中ZigBee数据帧。ZigBee无线数据帧包含长度、帧校验码、帧序列号、源节点地址、目的节点地址等信息。其中,应用层载荷域为ZigBee节点采集到的数据,0x15、0x1B、0x0000 分别是温度值、电压值、和父节点16位短地址,它们与网关转化后传递至Ether-CAT主站的数据一致,从而验证了网关的协议转换功能和数据收发功能的正确性。经过测试,设计的网关实现了EtherCAT与ZigBee网络的数据交换。

图9 Packet Sniffer捕获的ZigBee数据帧

5 结论

本文针对工业现场布线受制的问题,设计并实现了连接EtherCAT与ZigBee的网关。经实验验证,该网关能够正确解析并转发ZigBee节点采集到的数据。通过该网关,能够将EtherCAT网络和ZigBee网络融合在一起,这为方便地扩展实时工业以太网提供了一种新途径。

[1]EtherCAT Technology Group.EtherCAT-The Ethernet Fieldbus[EB/OL].2012-9-26.Available:http://www.ethercat.org/en/publications.html.

[2]李木国,王磊,王静,等.基于EtherCAT的工业以太网数据采集系统[J].计算机工程,2010,36(3):237-239.

[3]汪雅楠,谭南林.基于ARM9的工业以太网EtherCAT从站设计[J].机械工程与自动化,2011(5):139-141.

[4]刘艳强,王健,单春荣.基于EtherCAT的多轴运动控制器的研究[J].制造技术与机床,2008(6):100-103.

[5]王维健.工业以太网EtherCAT的原理及其实现[J].微计算机信息,2010,26(5):51 -52.

[6]ZigBee Alliance.ZigBee Specification[EB/OL].2008-1-17.Available:http://www.ZigBee.org/.

[7]IEEE Computer Society.IEEE Std.802.15.4-2006:Wireless Medium Access Control(MAC)and Physical Layer(PHY)specifications for Low Rate Wireless Personal Area Networks(LR-WPANs)[EB/OL].2006-9-8.Available:http://standards.ieee.org/getieee802/download/802.15.4-2006.pdf.

[8]郇极,刘艳强.工业以太网现场总线EtherCAT驱动程序设计与应用[M].北京:北京航空航天大学出版社,2010.

[9]Texas Instruments Incorporation.CC253x System-on-Chip Solution for 2.4 GHz IEEE 802.15.4 and ZigBee Applications User’s Guide(Rev.C)[EB/OL].2012-1-6.Available:http://www.ti.com/lit/ug/swru191c/swru191c.pdf.

[10]Shahin Farahani.ZigBee Wireless Networks and Transceivers[M].2008,9:1 -399.

[11]胡国珍,王泉,魏旻.基于ZigBee的工业无线网关研究[J].单片机与嵌入式系统应用,2009(5):25-28.

[12]Texas Instruments Incorporation.EtherCAT on Sitara AM335x ARM Cortex-A8 Microprocessors[EB/OL].November 2011.Available:http://www.ti.com/.

猜你喜欢
主站网关以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于S7-1200 PLC的DP总线通信技术在马里古伊那水电站泄洪冲沙孔门机上的应用
信号系统网关设备的优化
天地一体化网络地面软网关技术及其应用
基于ETC在线支付网关的停车场收费系统设计
EtherCAT主站与主站通信协议的研究与实现*
多表远程集抄主站系统
谈实时以太网EtherCAT技术在变电站自动化中的应用
县级配电自动化主站系统的设计
基于Profibus-DP/Modbus网关的双阶挤出机组温度控制系统设计