日期:2023-01-24 阅读量:0次 所属栏目:通讯论文
以太网技术的通信系统,可以满足大部分工业控制系统在通信速率、组网方面的要求,但是以太网采用的CSMA/CD介质访问机制造成了通信延迟的不确定。在实时性要求较高的通信场合,以太网技术已经无法满足实时通信的要求。
Ethernet Powerlink实时以太网标准在2001年由奥地利贝加莱公司设计规划,目标是利用以太网技术构建一个实时、高速、确定性强的网络协议。PowerLink是一项开源技术,无购置成本,基于标准的以太网,无需专用硬件支持,速度快,支持10M-1000M的以太网,支持所有以太网的拓扑结构,布线灵活自由,刷新周期可达到100μs,抖动小于1μs,每个网段可以连接超过200个从站,节点距离可达到100米并支持光纤连接[1][2]。
1 PowerLink协议
Powerlink的通信协议模型如图1所示。Ethernet Powerlink在CSMA/CD的基础上引入SCNM(Slot Communication Network Management)管理网络通信机制。在网络中某个节点作为管理节点,通过管理节点控制其他节点的数据收发,节点的数据只有在规定的时间片内才能发送到网络上,保证了在同一时刻只有一个设备可以占用网络资源,从而避免了介质共享冲突,这样就可以使数据在限定的时间内被传输。
Powerlink物理层采用标准的以太网,遵循IEEE802.3以太网标准。数据链路层是Powerlink的核心,主要实现构建/解析数据帧、帧定界、同步、流量控制、差错检测、网络状态机等功能。
应用层采用了CANopen的机制作为网络配置和实时数据传输的接口。Powerlink协议在TCP/IP协议基础上进行了一定的实时扩展,增加了Async中间件来传输异步数据,采用ISOchron中间件来传输实时性较强的周期性数据[2][3]。
2 PowerLink主站设计
PowerLink是一个软协议,可以运行在各种操作平台之上。PowerLink 是基于普通以太网的实时通信协议,物理层采用标准的以太网,而数据链路层的控制和应用层的CANopen协议都是C语言编写的开源代码。PowerLink协议栈可运行在各种支持C语言的硬件平台和操作系统上。
本文将PowerLink主站建立在Linux操作系统之上,并运行于通用计算机硬件平台。Linux 操作系统开源且免费,在Linux 系统下有免费开源的实时补丁,大大增强了Linux 的实时性,其最小循环周期可达到十几微秒。
先下载开源的PowerLink主站协议栈,然后使用openCONFIG URATOR进行参数配置,并给Linux打一个RT-preempt的实时内核补丁,可大大提高性能并减少抖动。
3 PowerLink从站设计
3.1 netX网络控制芯片
德国Hilscher公司的netX是一种高度集成的网络控制器,适合工业通讯和大规模的数据吞吐。支持目前所有主流的实时以太网和现场总线系统,如Ethernet/IP、EtherCAT、Powerlink、CANOpen等协议。
netX50的结构如图2所示[3][4],netX50网络控制器内部集成ARM 966的CPU核,netX50具有双端口内存DPM接口,用于连接外部CPU,片上集成112KB的RAM和64KB的ROM,并包含引导区装载和实时内核。netX50 具有多个可以自由定义的智能通讯接口,可以配置为实时以太网或者现场总线通道。内部集成了各种实时以太网协议所需的ASIC硬件资源,如Hub、Switch、IEEE1588等。
3.2 基于netX芯片的开发模块comX
comX是德国Hilscher公司开发的嵌入式实时以太网模块,通过加载不同的协议栈可实现Ethernet/IP、EtherCAT、Powerlink等实时工业以太网协议。comX模块是基于netX50网络控制芯片的开发模块,主机通过双端口内存DPM接口来进行数据交互,通过对DPM读和写来实现网络通信及模块控制。DPM是netX50控制器和主机之间共享的存储区,应用程序通过DPM来实现PowerLink数据通讯、配置netX50系统和诊断信息的获取。模块上带有2个RJ45接口,用于连接以太网。如图3所示。
PowerLink从站设计方案如图4所示,主要由主控芯片和comX及接口组成,主控芯片负责处理应用程序,netX50实现网络通讯。主控芯片采用STM32F103,是一款基于STM32的处理器(ARM Cortex-M3内核)。STM32F103通过FSMC总线读写comX的DPM,在comX上实现PowerLink从站协议。STM32F103实现用户接口和应用,从站的各种用户和业务都通过STM32F103接入实时以太网,comX上的两个以太网接口为PowerLink网络接口,STM32F103上可扩展一个标准以太网接口,因而从站方案可实现标准以太网和PowerLink实时以太网之间的相互通信。
4 PowerLink通信网络
PowerLink网络是一个实时网络,PowerLink网络中各个节点的通信,有着严格的时序性。各个节点在哪个时间段得到总线的使用权,是由主站统一分配的。每个PowerLink网只能有1个主站MN。
搭建的PowerLink通信实验网络如图5所示,3个从站CN和1个主站MN组成了星形网络,为了保证实时性,网络中只能使用集线器,各个站点通过RJ45端口与集线器相连,各个站点之间可实现延时极小的实时通信,主站可以实现对所有从站的控制和通信。
5 结语
采用PowerLink组建实时以太网通信系统组网简单,网络延迟小。主站采用PC搭建,并移植Linux下的PowerLink主站协议栈,从站采用嵌入式STM32F103和实时以太网模块ComX搭建,模块内装载PowerLink从站协议栈。给出了采用集线器搭建的PowerLink星型网络拓扑方案。此通信网方案可应用于工业控制、军事通信、电网控制等需要实时通信的领域。
参考文献
[1]奚清漪,麦云飞.基于Ethernet PowerLink的伺服通信控制.工业控制计算机,2006,19(7):23-24.
.http://,2008.
[3]林志磊.基于netX芯片实现实时以太网通讯的研究与开发.北京工业大学硕士论文,2010.
[4]Hilscher Gesellschaft for System automation mbH. Technical Data Reference Guide:netX50,2008.