基于以太网的实时业务(共7篇)
基于以太网的实时业务 篇1
以太网技术高速、低成本、易使用的优势,使其成为局域网络中应用最广泛的技术。随着其确定性传输问题的解决,近年来也发展成为工业控制网络的主流技术。根据广泛的应用概念,工业以太网[1]是指以太网协议在工业环境下的自动化和过程控制中的应用。其关键特征是实现以太网协议的芯片和机电接口具有适应温度、湿度、振动、腐蚀及防爆等恶劣环境的能力。显然这样的工业以太网只是强调以太网的应用范畴和环境要求,并未对以太网技术本身有什么改变。但众所周知以太网是个具有不确定性传输机制的非实时性网络,所以这种概念下的工业以太网只能用于非实时性或者实时性要求比较低的自动化和过程控制中。对于大部分要求实时响应的自动化和过程控制应用来说,工业以太网必须改造为具有确定的实时能力,成为实时以太网。
实时以太网是带有时间约束的以太网,指能在有限的、确定的时间内完成传输任务的工业以太网[2]。它除了要满足工业以太网的适应工业环境的基本要求外,更重要的是要满足传输的确定性和可预测性,即满足实时性要求。
1 以太网的实时性改造技术
在工业控制网络中流动的数据必须满足实时性的要求,而传统的以太网采用了CSMA/CD的介质访问控制机制,各个节点采用BEB算法处理冲突,具有排队延迟不确定的缺陷,每个网络节点要通过竞争来争得数据包的发送权。通信时节点监听信道,只有在信道空闲时才能发送信息;如果信道忙则需要等待。信息开始发送后,还需要检查是否发生了碰撞,信息如果发生了碰撞,就要退出重发,甚至在通信繁忙时,还会存在信息丢失的危险,因此无法保证排队延迟和通信响应时间的确定性,不能满足工业控制过程在实时性方面的要求,从而限制了它在工业控制中的应用。
实时性是工业控制的最基本的要求。将以太网技术应用于工业控制领域,首先要解决的问题就是改造以太网的传输不确定性。目前国际IEC接受的工业以太网标准包括:CPF2 Ethernet/IP;CPF3 PROFINET;CPF4 P-NET;CPF6 Interbus;CPF10 VNET/IP;CPF11 TCNET;CPF12 EtherCAT;CPF13 Ethernet Power Link;CPF14 EPA(中国);CPF15 MODBUS-IDA;CPF16 SERCOS总共11种实时以太网行规集。这众多的工业以太网行规,它们所采取的实现实时传输的方法主要是各种时分复用技术,都是在不破坏以太网的核心特征,保证兼容商用以太网的软硬件资源的情况下,将以太网的CSMA/CD(带冲突检测的载波侦听多路访问)改造为CSMA/CA(带冲突避免的载波侦听多路访问),从而将以太网的不确定通信变为确定的实时通信。
在现有实时以太网规范中,可按照它们和ISO/IEC8802-3以及TCP/IP之间的关系,将它们分为“在TCP/IP之上”、“在Ethernet之上”和“修改了Ethernet”,共3大类型。
“在TCP/IP之上”的实时以太网,是指只开发了基于TCP/IP的工业控制网络应用协议,而对TCP/IP和Ethernet协议及结构不做任何改变,直接将其软硬件(只在防震、防潮、防爆、耐温及耐腐等方面对芯片和物理接口作环境适应性处理)用于工业现场环境的工业以太网。属于这类工业以太网的有:德国施耐德公司提交的Modbus/TCP(RTPS)、美国罗克韦尔公司提交的Ethernet/IP(CIP)[3]、丹麦国家标准委员会提交的P-net、日本横河公司提交的Vnet/IP,它们都只是利用以太网的高速(100Mbit/s以上)、交换式连接、全双工通信,以及Ethernet的虚拟网(VLAN)和其优先级(PrioriTy)技术,避免了终端节点的直接冲突,提高了网络的吞吐量和节点的响应速度,呈现出传输的及时性。但由于它对标准TCP/IP和Ethernet的协议软硬件未作任何改变,所以当交换机的输出端口出现队列(多个报文的转发目的地是同一个端口方向)时,就会出现延迟,由于队列长短的不确定性,而导致了这种延迟的不确定性。如果交换机是非存储转发式的,当来自多个端口的报文的转发目的地是同一个端口时,就会出现丢包,丢包就会导致TCP重传,而在终端的重传处理过程同样导致传输的不确定性,因此完全基于标准TCP/IP和Ethernet协议的工业以太网,实质上不具有严格意义的实时性。但这类工业以太网是最严格意义的以太网,因为它完全保留了标准的以太网协议及其标准软硬件。
“在Ethernet之上”[4]的实时以太网,是指基于Ethernet的硬件之上,也即MAC层之上的MACControl协议,对Ethernet的硬件(MAC层),以及Ethernet的LLC层,不作改变的以太网。属于这类工业以太网的有:奥地利的贝加莱(Benecher+Rain)公司提交的EhternetPowerlink(EPL)、日本东芝公司提交的Tcnet、中国EPA联合开发组提交的EPA [5]和德国西门子公司提交的Profinet CBA。它们都是定义了自己独特的EtherType,加入了实现确定性传输的MAC Control协议,对MAC层进行周期性实时调度。这类实时以太网中的节点,通过严格的时钟同步(通常采用IEEE1588时钟同步协议),在MAC Control协议的作用下,实现了每个入网节点的严格分时传输,从而保证了每个节点的确定性传输。因而这类以太网是真实的实时以太网。由于ISO/IEC8802-32000增加了可选MAC Control(option)子层,所以这类工业以太网还算是满足标准以太网协议的以太网。
“修改了Ethernet”的实时以太网,是对标准Ethernet的硬件和基础结构进行改变的以太网,它唯一保留的只是ISO/IEC8802-3的MAC帧的组成及结构。标准以太网的拓扑都是以交换机为核心的星形拓扑或多层星形构成的树状结构,这类“修改了Ethernet”的实时以太网,实现了总线形或环形的线式拓扑结构,为此它要求每个节点都要含有一个交换机电路。属于这类工业以太网的有:德国赫优讯(Hilscher)公司提交的SERCOS III、德国倍福(Beckhoff)公司提交的EtherCAT、德国西门子公司提交的Profinet IO[6]和德国菲尼克斯公司提交的Interbus(实际它上没有自己的实时以太网规范,它将Profinet IO作为自己的实时以太网规范)。这几类以太网对Ethernet的硬件都做了较大改动,实际已不再使用标准Ethernet的MAC芯片,而是各自设计了自己专门的实时以太网芯片。所采用的交换机也是各自专门的实时以太网交换机。其之所以还叫以太网,是因为网络中还保留着以太网的帧结构,传输的数据格式以及物理层的传输信号依然遵循着以太网协议规范。
以上3大类实时以太网的核心技术主要体现在各自不同的实现网络传输实时性的技术措施:
“在TCP/IP之上”的实时以太网,将确定性传输措施置于应用层,由用户程序自己预先确定网络访问时刻和顺序,由于包含多层过程,访问延迟中包含大量节点处理延迟,节点处理延迟严重依赖节点的硬件配置(CPU和存储器)和软件配置(操作系统)。所以可实现的最大时间确定性只能以最坏情况下网络延迟为计算基础。因此实时性能比较差。只能用于大于100ms的实时级别的自动化和过程控制应用;“在Ethernet之上”的实时以太网,将确定性传输措施置于贴近底层的硬件之上,是用最小的代价来获取最好的实时性的方法。由于增加了实时调度子层协议,又在精确时间同步协议的支持下,故实时性级别可达小于1ms。可适应于大部分实时自动化和过程控制应用;“修改了Ethernet”的实时以太网,将确定性传输措施放到最底层,通过对以太网硬件的改变,同时加上访问调度措施,使得网络访问的实时性级别可达100μs。
2 基于令牌技术的以太网实时调度方法研究
不论是集线式还是交换式的以太网,由于各站点发送报文是随机的,报文发往的目的地是随机的,所以总是存在发送报文碰撞的问题。为了解决碰撞问题,必须有控制的发送报文,即不允许各站点自由地发送报文。令牌技术[7]即是一种有效的报文发送控制技术,其指导思想就是在各站点间专门设计一种称作令牌的特殊控制帧,只有持有该令牌帧的站点才可以发送数据,站点发送完数据之后,随即释放令牌,传给其他站点,供其他需要发送数据的站点获取并持有,以发送它的数据。令牌按一定的顺序在各站点间传递,顺序在前的节点显然优先获得发送权利,所以令牌传递顺序即为节点发送数据的优先级顺序。
在工业以太网中,节点间传输的数据多为周期性数据,为了满足传输的实时性,各个节点的新生数据应在其周期结束之前发送完毕。设有n个节点构成的以太网,其节点数据发送周期分别为Ti(i=1,2,…,n)。采用令牌技术控制各站点的数据发送。并设令牌在n个节点之间轮流传递一次,各节点完成一次数据发送所需的时间为T,则T应满足T
数据帧(图2)的帧始符和帧尾符的字段格式和令牌中的起始定界和结束定界的字段格式对应相同,为JK0JK000;帧控制字段格式也是PPPTMRRR(PPP始终保持为111),以使数据帧的优先级始终高于令牌帧的优先级来抓获令牌,进而把数据发送出去;T设置为1,表示是数据帧;RRR为保留位,这里也全部设置为111,作为优先级设置的一部分,用来区别在数据传输过程中的非周期性数据与周期性数据。其它的各字段和令牌总线中的数据帧对应字段相同,因此就不一一介绍了。
主站产生令牌以后,然后封装成令牌帧,由于组装成的令牌帧不像正常的以太网帧那样具有确定的源地址和目的地址,也就不能确定令牌帧在节点间的具体传递顺序。为了使令牌帧能够在上面已经初始化的逻辑环中依逻辑号顺序循环传递下去,因此在初始化时必须在各节点内保持一个表格,该表格用于记录此次初始化的逻辑环中各个节点的地址,一经初始化后,表格中的这些地址就按节点在环中的先后顺序排列起来,这样每个节点就知道其前驱节点和后继节点了,所以令牌帧就能按节点的逻辑顺序传递了。即使逻辑环重新初始化时,只要简单的调整一下表格中的地址先后顺序,就能够再次实现令牌在逻辑环中的顺序传递。
3 基于令牌技术的实时以太网的数据传输
在工业以太网中,节点间传输的数据多为周期性数据[8],因此每个节点产生周期性数据是靠定时器实现的,即设备i的定时器到达时间Ti时,就立刻触发该站点设备产生周期性的数据信息;而在0~Ti内触发产生的数据就是非周期性的数据信息。由于在控制网络中传输的绝大部分信息是短帧的周期性信息,因此整个网络上各节点采用调度的方式发送周期性的数据信息。在没有节点要发送数据帧时,令牌就在逻辑环的各节点设备间循环传递,直到它到达有数据需要发送的节点设备。当有一个节点设备要发送数据帧时,在处于空闲状态的令牌通过该节点时,就捕获令牌并把令牌的T位修改为1,使令牌处于忙状态。此时,如果该节点要发送的数据是在定时器时间到Ti时刻触发产生的数据,即周期性数据,则该节点把数据帧的帧控制字段中的RRR位设置为000,紧接着把数据帧发送出去。当数据帧通过其它节点时,该节点将以太网帧的目的地址和本站的地址相比较,如果相符合就接收,否则将以太网帧重新送入逻辑环中。发送的以太网帧循环一周后再回到发送站,并将该帧从逻辑环上取走,再把令牌重新修改为空闲状态传递给后面的节点,使它们都有发送数据的机会。
在实时控制网络中的非周期性信息主要是一些事先无法预知的事件,如报警信号、异常处理等信息,这些信息的发生时刻也是突发性的或随机的,但是必须在一定的时间内给予处理,否则会造成系统出现异常,甚至是瘫痪。对于在0~Ti时间段内产生的非周期性数据信息,应将其优先级设置为最高,由于定时器的时间没有记录到Ti,此节点将不会触发使该数据帧的帧控制字段中的RRR位清零,除TM位外的所有位处于全1的状态,优先级最高,这将立即屏蔽掉其他现场节点设备捕获令牌的能力,直接让产生非周期性数据的设备捕获令牌,使该设备被孤立出来,因此控制网络的紧急情况得到及时处理,保证控制系统的稳定性。
4 结束语
工业以太网以其自身的优势在工业界得到了大规模的使用,是工业网络研究的核心,将传统的商用以太网移植到工业自动化领域,需要解决的问题还很多,我们应该充分利用信息网络的现有的技术和可用的新技术来改善工业以太网的性能,从而逐步推进工业以太网的研究和应用。
参考文献
[1]冯冬芹,金建祥,褚健.工业以太网及其应用技术讲座[J].自动化仪表,2003,24(4):59~93.
[2]缪学勤.实时以太网技术新进展[C].中国仪器仪表学会学术年会第二届智能检测控制技术及仪装置发展研讨会论文集,2008.
[3]吴爱国,李长滨.工业以太网协议EtherNet/IP[J].计算机应用,2003,23(11):9~11.
[4]郑萍,潘世永,李英.基于Ethernet的全开放工业控制网络[J].工业仪表与自动化装置,2001,(3):6~9.
[5]高路,于海斌,王宏等.EPA网络体系结构[J].计算机工程,2004,(17):81~83.
[6]陈在平,岳有军.工业控制网络与现场总线技术[M].北京:机械工业出版社,2006.
[7]田丰,田玲.现代计算机网络实用技术[M].北京:冶金工业出版社,2003.
[8]张庆灵,邱占芝.网络控制系统[M].北京:科学出版社,2007.
基于以太网的实时业务 篇2
近年来,多轴运动控制系统[1,2]在制造自动化领域中发挥日益重要的作用,广泛应用于集成电路制造、电子装配、数控加工、机器人、高速印刷、包装等领域。为适应快速变化的市场需求并具备足够的竞争力,运动控制系统必须具备开放性、柔性和可重构性等特点。网络化控制系统的提出正适应了这一趋势。在网络化运动控制系统中,运动控制器和数字智能驱动器之间通过串行控制网络来交换控制及传感等信号。将控制网络集成到运动控制系统中以取代传统的点对点连线,具有很多优点,如:布线成本的降低,传输信息量的增加,安装过程的简化以及可靠性的提高等等。由此,便于实现系统的诊断和维护,同时也可提高系统的柔性。
多轴运动控制系统需要在控制器和各个运动轴驱动器之间高频率、无抖动(Jitter)地交换控制和传感数据,以保证加工的高速度和高精度。目前工业上广泛采用的现场总线,通信速率一般不超过20Mbps,其带宽难以满足高速高精同步运动控制的需要。由于具备高带宽、低成本、开放性好、技术成熟等特点,高速以太网有望成为未来的高速运动控制网络标准。目前,国际电工委员会正在制定实时以太网的国际标准,而全世界几乎所有重要的运动控制厂商都积极参与了实时工业以太网标准的制定。工业以太网在运动控制系统中获得广泛应用,极大地提高制造自动化的生产效率和可维护性。
本文首先简单介绍网络化多轴运动系统模型,然后讨论了多轴运动系统对网络通信的需求,最后提出了一种基于实时以太网的运动控制网络的模型。
1 网络化多轴运动控制系统模型
用控制网络连接运动控制系统中的所有设备,就形成了网络化运动控制系统。控制网络在网络化运动控制系统的作用绝不仅仅是用数字通信代替了模拟接口,它深刻地改变了运动控制的结构,拓宽了其应用范围,使得构建更大的、更复杂的控制系统成为可能。网络化多轴运动控制系统的结构基本上可分为集中式结构和分布式结构2种。在集中式结构中,每个轴的位置环位于运动控制器中,从而组成基于网络闭环的控制系统。在分散式结构中,每个轴的位置环位于轴伺服控制器中,不构成网络闭环。针对不同的系统结构,网络的通信模型也有所不同。
1.1 集中式控制
集中式控制结构如图1所示,每个运动轴的位置环位于运动控制器内。在每个控制周期,运动控制器通过控制网络接收各个轴的位置反馈,计算每个轴的速度给定值并通过网络发送给各个轴伺服控制器。
集中式控制结构的主要应用场合是CNC、机器人等设备。由于位置控制算法集中在运动控制器内实现,因此可实现比较复杂的控制算法,如可通过采用交叉耦合控制方法补偿各运动轴动态特性的差别和扰动,从而有效减小同步误差。
1.2 分布式控制
分布式控制结构如图2所示,在分布式控制系统结构中,每个运动轴的位置环和速度环都位于伺服控制器内。根据应用场合不同,分布式结构又可分为3种:
(1)集中插补、分散位控:运动控制器完成插补功能,伺服控制器实现每个运动轴的位置环和速度环。由于闭环控制在伺服控制器内实现,从而避免了网络延迟和抖动的影响。
(2)分散插补和位控:每个运动轴的伺服控制器内都有独立的插补器和位置环。为保证多轴协调动作,运动控制器只需同步地向各个伺服控制器发送运动命令。
(3)主从同步控制:某一运动轴作为主动轴,其他轴作为从动轴,在每个控制周期,所有从动轴通过控制网络接收主动轴的实际位置值作为自己的位置给定值,此时可不需要运动控制器。也可由运动控制器作为“虚拟主轴”产生位置给定值,从而实现电子齿轮、电子凸轮等功能。
分布式控制结构的主要应用场合是印刷、包装生产线等设备。这类设备中往往有大量数目的运动轴,采用集中式控制是不合适的。由于控制算法分散在各伺服驱动器内实现,每个机械单元可以独立工作,用户可以对机械进行灵活的配置,实现柔性生产。
2 多轴运动控制对通信网络的要求
2.1 数据量、通信周期、时间同步性
多轴运动控制对通信网络最核心的要求是实时性,除此之外,还要考虑数据交换的频繁度(通信周期),各个站点之间的通信关系,数据包的大小,站点间的时间同步精确度等因素。
集中式的控制模式中,要交换的数据主要是传感器反馈的实际值和主控单元发出的设定值,这些数据被放在在很小的数据包里,很频繁地穿梭在主控单元和各驱动器之间,系统偶尔可能要读取一下如驱动器温度等诊断参数。这样,通信周期越短越好,通常在50µs或更小。通信关系是主控单元对各个驱动器单元间的双向通信,驱动器单元之间无需数据交换,如图3所示。
在分布式控制模式中,位置、速度、电流闭环在各驱动器单元内部完成,为了协调各轴的动作,需要交换的数据包就相对要大一些,主要包含位置、速度、电流等信息。由于像闭环控制这样的对运行周期时间和精度都要求很高的任务已经在驱动器单元内部完成,它们之间的数据交换就可以相对慢一些,速度信息通常每400µs左右交换一次,位置信息1~2ms交换一次即可。各站点之间通信关系可以是任意的,主控系统和驱动器单元以及驱动器单元间应该可以任意点对点通信,如图4所示。
2.2 维护和诊断
在对设备的检测维护过程中,上位系统必需可以对驱动器中任何变量和参数进行访问,需要时还要进行修改。所以,通信系统除了传输同步信息外,还要为这类非同步信息留下空间。
集中式控制模式中的绝大部分相关参数已经存在主控单元中,各驱动器单元的诊断数据主要是一些少量的状态信息,显示系统是否正常运行。所以,通信网络在集中控制模式中不需要为诊断信息预留很多带宽。
分布式控制模式由于控制智能被分散到各个驱动器单元,相应数据也是存储在各个驱动器中,驱动单元各自独立完成复杂的运动过程,自行对运动过程做出响应,各驱动器中存储了大量信息。所以,在一个分布式的控制模式中通信网络必须给诊断数据,参数下载等非同步信息预留比较大的带宽空间。
3 基于以太网的多轴运动控制网络
3.1 确定性的实时以太网模型
传统以太网使用带有冲突检测的载波侦听和多路访问(CSMA/CD)调度方法,该方法是一种非确定性的通信调度方式,网络每个节点要通过竞争来取得数据的发送权,即节点监听信道,只有发现信道空闲时才能发送信息。信息开始传送后,还需要检查是否发生碰撞,即多个节点同时检测到信道空闲而同时发送数据而产生的冲突。如果发生碰撞,则需等待,等待的时间取决于来自“二进制指数退避算法”而得出的随机延迟。随机延迟的产生只是暂时回避了当前数据传送的冲突,下次发送数据的时候仍有可能信道忙或者再次产生冲突,因此我们说传统以太网的调度通信机制是非确定性的。
运动控制是典型的同步控制系统,要求控制系统的采样、计算和执行按照严格的同步时序进行,要求相应的控制网络必须为控制器和各伺服控制器提供固定的同步信道,因此,我们必须建立确定性的实时以太网模型。
主要可以通过以下2种方法实现:
(1)修改MAC层协议来获取以太网确定性调度方法,如图5所示。它的主要思想是通过改动以太网的MAC层,即改变原始的载波侦听、多路访问和冲突检测(CSMA/CD)的运行机制,来达成确定性的以太网实时通信目的[3~6]。
(2)增加实时调度层来获得以太网的实时确定性方法,如图6所示。同修改以太网MAC层来获取确定性实时调度的方法相比,另一种更为可取的方案是在保留标准以太网接口的基础上,通过在MAC层上增加一个实时调度软件层,来实现以太网实时性的方法。该方案基于标准的以太网IC芯片,仅通过修改既有的软件协议来达成目的。这种方法既可满足工业通信的实时性要求,又可保证以太网的兼容性,本文采用的就是这种方法。
3.2 实时调度方法
本文提出了一种基于动态时隙的分时调度协议。该协议是一个严格周期性的通信协议,它按照IEEE1588标准进行时钟同步[7],可以保证所有站点时间同步精度小于1µs。其中一个站点作为管理站控制整个实时域的时间特性。每个通信周期开始时,管理站会发出一个非常精确的同步信号。
传统的时分多路访问策略(TDMA)是通过事先给每个节点预先分配一定的带宽,使节点只有在分配给它的固定时间片内才能向网络上发送信息,可以保证每个节点的信息确定发送时间[8,9]。由于TDMA采用的是基于节点的方法,不能反映每个节点的实际带宽需求。为了解决这个问题,我们采用动态分配时隙的方法来满足各个节点的实际带宽需求,它的基本思想是在传统以太网通信栈MAC层上增加一层协议,用于统一调度数据传输的方法,并通过时间管理站点根据各节点的需求实时动态的分配各节点所占用的时隙数。
分时调度通信模型是将一个传输周期分为启动、同步数据传输、非同步数据传输和保留4个时段,如图7所示。各时段在不同时间启动,执行不同的任务,从而保证应用数据传输的调度控制。
启动时段:调度通信的开始时段,主要是进行必要的数据准备和时钟的同步。
同步数据传输时段:用于处理的同步实时数据传输。将整个时段划分为多个时隙,各个节点仅在分配好的时隙内才能发送数据。
非同步数据传输时段:用于异步数据的数据传输,这时主要进行TCP/IP数据等非周期性数据的传输,时隙的请求或注销。
保留时段:空闲时段,主要用于控制时钟同步的伸缩和意外状况的发生情况。
通信机制采用广播形式,所有站点都可以同时接受信息,这样,可以实现多个站点中的横向数据交换,如驱动单元间的直接数据交换。这样,集中式和分布式两种控制模式的要求都可以得到满足。
数据报文格式完全符合IEEE802.3标准帧格式,可以使用市场上任何一种以太网芯片,成本非常低廉。使用完全以软件方式实现的系统,结合标准报文,最短通信周期可以达到100µs。单个报文最长可以有1500个字节的有效数据长度。通信周期的最短时间、时隙的数量以及单帧报文的长短都可以由用户自由设置。
3.3 时隙同步技术
为了使时分网络能够正确工作,网内各节点对时隙的划分必须有统一的标准,使每次发送都以同一时隙起点作为定时基准。因此时隙同步就成为时分网络的关键技术。
时隙同步的过程,就是各从站将自己的时隙起始时刻,与主站的时隙起始时刻对准的过程。这需要主站周期性地在自己时隙起始时刻发送一个同步信号,各从站利用这个同步信号校准自己的时隙起始时刻。图8所示为时隙同步过程。
图8中,主站在T0时刻开始发同步序列,到T1时刻发送完毕。设同步序列长度为P(bit),发送速率为R(bit/s),则发完同步序列所需的时间为∆T=T1-T0=P/R。从站i在t0时刻开始接受同步序列,到t1时刻接受完毕。对于从站而言,它并不知道在t0时刻已经开始接受同步序列,当接受完毕,从站能判断已经接受同步序列,因此可以反推出开始接受时刻:t0=t1-∆T=t1-P/R。
从T0到t0,还有一段∆T',为传播延时,设主站到从站的距离为L(Km),则∆T'=L/C,C为光速。如网络站点比较集中,则∆T'在同步过程中可以忽略,但要记入保护时间。这时从站可将t0作为自己时隙的起点。
在一个时隙中,并不是将所有时间都用来传输数据,还有一定的保护时间,如图9所示。由于各种时间的计算都是有误差的,因此从站校准后的时隙起始时刻,也不可能完全一致。为了使各站发送数据不冲突,必须在时隙中留有一定的保护时间,当然这会降低网络传输效率。
在一个时隙中,保护时间分为二部分。一是发送起始保护时间,即从时隙的起始时刻到开始发送数据之间。这段时间是为了保证某站发送数据时,其他每个站都进入该时隙;二是发送完成保护时间,即从数据发送完成到该时隙结束。这段时间是为了保证每个站在进入下一个时隙前,都能接收完所有数据。
最大同步误差=最大信号传播时延+(一个同步周期内时钟的最大抖动)*2
发送起始保护时间≥最大同步误差
发送完成保护时间≥发送起始保护时间+最大同步误差+最大信号传播时延
4 总结
本文提出了一种基于实时以太网的多轴运动控制网络,该网络采用基于动态时隙的分时调度协议,有效地克服了传统以太网的非确定性,完全符合多轴运动系统所要求的实时性,能够在控制器和各个运动轴驱动器之间高频率、无抖动地交换控制和传感数据,以保证加工的高速度和高精度,并且由于数据报文格式完全符合IEEE802.3标准帧格式,可以使用市场上任何一种以太网芯片,成本非常低廉,因此本网络是一种低成本高性能的多轴运动控制网络,具有很广阔的应用前景。
参考文献
[1]王家军,齐冬莲.运动控制系统的发展与展望[J].电气时代.2004,(10):54-56.
[2]云利军,孙鹤旭,等.运动控制网络的研究现状及发展趋势[J].控制工程.2006,13(4):289-293.
[3]Lann,Gerard,Rivierre,Nicolas.Real-time Communications over Broadcast Networks:The CSMA-DCR and The DOD-CSMA-CD Protocols[J].INRIA Report RR-1863.
[4]K.K.Ramakrishnan,H.Yang.The Ethernet Capture Effect:Analysis and Solution[J].19th Local Computer Networks Conference,1994,228-240.
[5]Kensuke Fukudaa,Hideki Takayasub,Misako Takayasuc.Origin of critical behavior in Ethernet traffic[J].Physica A287,2000,289-301.
[6]Kenneth J.Christensen.Performance Evaluation of the Binary Logarithmic Arbitration Method(BLAM)[J].Proceedings21st Conference on Local Computer Networks,1996,396-03.
[7]IEEE-1588.Standard for a Precision Clock Synchronization Protocol for Networked Measurement and Control Systems[S].IEEE Instrumentation and Measurement Society,2002.
[8]I.Rubin and Z.Zhang.Message delay and queue-size analysis for circuit-switched TDMA systems[J].IEEE Trans.Commun.,vol.39,no.6,pp.905-914,Jun.1991.
基于以太网的实时业务 篇3
实时Linux操作系统基于Linux内核,将Linux内核进行重新改造和编译,通过扩展而构建开放、标准、高效、便宜的实时双内核操作系统,使其适合实时性的要求。目前已经实现的实时Linux主要有RT-Linux、RTAI(Real-Time Application Interface)等[1]。RTAI通过在Linux上定义实时硬件抽象层RTHAL(Real-Time Hardware Abstrction Layer)和Linux内核沟通,这样可以将直接修改Linux核心的程序代码减至最小,使RTHAL移植到新版本Linux的工作量减至最少。
RTnet是基于RTAI的开源实时网络协议栈,利用其开发成本低、便于移植。而且RTnet支持RTAI/LXRT(Linux Real Time)模块的特性,在用户空间可以使用RTAI的内核API开发实时任务,因而研究并实现基于RTAI/RTnet的网络图像传输具有一定的研究与现实意义。
1 RTnet的结构
RTnet由德国汉诺威大学研究开发,其基于标准以太网硬件,支持常用的网络接口控制芯片组,且已经在实时Linux操所系统RTAI上实现[2]。RTnet实时网络协议栈实现了时间确定性的UDP/IP、ICMP和ARP协议,并向实时用户空间进程和内核模块提供了遵守POSIX标准的套接口API,可以进行大量可预测的通信,比较适合用于时间要求严格的工业应用等领域,其应用程序主要由以内核模块形式可加载的周期任务组成,也可以利用LXRT模块以用户进程的形式实现,本设计利用的是后者。
RTnet的主要思想是通过把Linux内核的UDP/IP协议栈移植到RTAI系统中,且静态地址解析协议取代动态地址解析协议,在以太网或其他非实时网络介质上使用软件方式来达到时间确定性的数据传输。为了避免以太网中不可预测的冲突,RTnet网络协议中增加了RTmac层,从而有效地控制介质访问,可以进行实时、非实时的网络传输。从MAC层来看,通过改变MAC层的协议可以得到所需的网络实时性。由于MAC层的协议大都固化在硬件芯片中,修改MAC层协议意味着必须对网络芯片重新进行设计,从而导致与原来网络的兼容问题。但是在标准以太网中可以通过保留标准以太网接口,在MAC层增加一个实时调度软件层,达到以太网的实时性。
由图1可以看出,RTnet协议栈中底层是网络设备的实时驱动程序。在RTmac协议上有两个协议栈,一个是RTnet的实时协议栈,实现了UDP/IP协议;另一个是非实时栈,RTnet利用Linux的网络协议栈实现TCP/IP协议。
1.1 RTmac层
从RTnet网络协议栈来看,RTmac层作为一个可选的模块,若介质访问层没有其他实时的访问算法,RTmac是强制加入内核的。本次设计RTnet采用RTnet-0.7.0,该版本RTmac层中采用介质访问协议TDMA,该协议把时间分成一系列的时间片,给物理网络段内的每个节点都分配一个时间片,相应地每个节点在各自固定的时间片内发送信息,进而保证每个信息的确切发送时间。该协议具有可靠性、可预测性、高效率和充分利用总线等优点,并具有不同的通信方式(如周期或非周期)。
1.2 RTnet中的UDP/IP协议
RTnet中的UDP/IP协议类似于传统的UDP/IP协议,链路层中的最大传输单元限制了数据帧的最大长度,如果IP层要发送的数据包超过该值,那么IP层就要对数据包进行分片操作。当这些IP分片数据包到达目的端时,在IP层要进行相应的IP分片数据包的重组。完成重组后,把整个数据包传递给上层。RTnet的UDP/IP协议中包含了用于提高IP分片重组效率的机制。为了达到该目的,第一个分片用于解析目的套接字的地址,然后这个信息和IP分片一起存放在收集器数据结构中,通过IP地址和ID号识别后继到达的IP分片,IP分片将以升序的顺序到达,否则整个IP分片链将被丢弃。当相关的套接字关闭后,清除不完整的IP分片链。同时为了限制查询整个链的延时时间,限制了收集器的数量,当前设置为10[3]。
1.3 RTnet中的缓冲区
RTnet协议栈和实时网络驱动程序使用统一的数据结构rtskb(类似Linux系统中的sk_buff结构)处理接收和发送数据包。RTnet为了满足实时的要求使用了不同常规网络协议的机制。首先,启动RTnet时,预先分配rtskb。目前RTnet不支持在多个用户间共享缓冲区。其次,每个rtskb都有固定的大小,而且能容纳最大的物理数据包。运行期间,从这些缓冲区池中分配新的rtskb。当rtskb释放时,返回到原缓冲区池中。
2 LXRT(Linux Real-Time)模块
LXRT模块向RTAI实时任务和Linux用户进程提供对称的API,即在用户空间LXRT模块允许用户使用RTAI的内核API开发实时任务。这样做的好处是,①在用户空间开发的实时任务,其所占用的内存受到保护,并且运行在用户空间的任务可以完全使用Linux的系统调用,但当要切换到内核空间时,就要慎用这些系统调用。当开发者对用户空间的实时任务调试过后,就可以把该用户空间的实时任务重新编译成内核模块,作为强实时任务运行。②实时任务不再以模块方式实现,因此也不再依赖内核的版本,方便了实时应用程序的移植。与模块方式加载的实时任务不同,LXRT中的实时任务运行在自己独立的内存空间,这样为实时任务提供了内存保护功能。在用户空间运行实时任务前,需要加载RTAI主模块、RTAI调度模块和LXRT模块,运行RTnet时,需要加载rtai_rtdm.o,rtnet.o,tdma.o,rtmac.o,rtcfg.o和实时网络接口驱动模块等。
用户进程的实时性能通过调用rt_make_hard_real_time()函数为普通Linux用户进程创建一个agent实时任务而实现(见图2),同时还须使用系统调用mlockall()对该用户进程所使用的内存加锁,以防被置换出内存。完成从用户空间到内核空间的切换后,把该agent实时任务插入到实时调度器处理的队列中去。
3 基于RTnet实时网络协议栈图像传输的实现
当前版本的RTnet网络编程仍遵守BSD套接口界面编程标准,与标准Linux的套接口函数相比,RTnet套接口函数都带“_rt”后缀[4]。
本设计中,采用了客户机-服务器模型,由客户机发出请求信息,服务器响应客户机的请求后,由服务器端的LXRT用户进程进行实时图像采集,并将采集到且经过压缩的信息通过RTnet中的实时UDP/IP协议传送给客户机;客户机接收到传输过来的图像信息后,由客户机端的LXRT用户进程完成对接收到的图像处理功能,并向服务器返回确认信息。由于文章篇幅有限,在此省略采集部分,只讨论对采集并压缩后的JPEG图像信息的传输(注:本设计中,使用1/3寸CCD摄像头,采集图像分辨率设置为320×240,调色板类型是RGB24格式,对原始采集到的图像信息进行了JPEG压缩,压缩过后的图像信息大小约为5K(压缩质量设为40),保存在用户进程与内核任务间的共享内存中)。图3显示了本次设计系统软件的层次结构。
本设计中,服务器端的传输图像工作流程如下(客户端的工作流程类似于服务器端):
(1)socket_rt(AF_INET,SOCK_DGRAM,0) ;创建一个套接字。
(2)ioctl_rt(sockfd,RTNET_RTIOC_EXTPOOL,&add_rtskbs) ;扩展该套接字的缓冲区。
在实时网络传输部分,由于传输的信息量大,需要使用RTNET_RTIOC_EXTPOOL命令控制字来扩展套接字的缓冲池,否则在传送过程中会出错。
(3) bind_rt(sockfd,struct sockaddr *, socklen_t addrlen) ;此函数用于服务器端,服务器使用它来指明已知的端口号并在已知的端口号上等待连接。
(4)recvfrom_rt(sockfd,void *buf, size_t len,int flags,struct sockaddr *, socklen_t *fromlen);等待接收客户机的请求。
(5)rt_task_init(RT_TASK *task,void (*rt_thread) (int),int data,int stack_size, intpriority,int uses_fpu,void (* signal) (void));创建实时任务,并初始化其任务函数的入口、传递给该任务的参数、所使用的堆栈大小、优先级以及是否使用浮点数等。在创建的实时任务中进行图像信息的传送,服务器端的实时任务结构体为:
(6)rt_task_make_periodic_relative_ns(rt_thread, RTIME start_delay,RTIME period);设置服务器端实时任务的周期以及相对的开始执行时间。
4 结束语
LXRT模块的出现,可以使实时任务不再以模块方式实现,方便了实时任务的开发和调试。但LXRT下的实时还是与内核模块实现的实时有着本质区别,LXRT模块通过RTAI_PROTO为用户态下进程提供调用内核API的捷径,并且利用LXRT模块实现用户态和内核态的切换而且也需要一定的时间开销。内核模块实时任务的任务上下文切换时间一般低于40us(依赖于硬件),LXRT的任务上下文切换时间则低于100us[4]。由此,可以看出LXRT模块提供的实时性能低于以内核模块实现的实时任务的性能,但LXRT模块给开发实时任务带来极大的便利和诸多好处,只有正确合理的应用才能最大程度的发挥其优势。
本文主要探讨了在RTAI/RTnet平台下对网络传输中利用实时操作系统和实时网络协议的技术,利用RTnet网络协议传送一个5K字节的图像信息数据包,需要12ms左右,在网络环境复杂的情况下,通信时间会有所增加。本文虽然完成了基于RTAI/RTnet静态图像传输的基本设计要求,但仍有许多有待改进之处,需进一步研究。
参考文献
[1]郭强,张宏科.Linux系统实时性能增强技术的研究.微计算机应用,2005,26(4):481~483
[2] Jan Kiszka,Bernardo Wagner.RTnet-A Flexible Hard Real-Time Networking Framework.10th IEEE Conference on EmergingTechnologies and Factory Automation,2005,(9):19~22
[3] Jan Kiszka,Bernardo Wagner.Securing Software-Based Hard Real-Time Ethernet.IEEE(2004)216~222
[4] Jan Kiszka.RTnet Application Programming Interface[EB/OL].http://www.rts.uni-hannover.de/rtnet/doc.html.2004
基于以太网的实时业务 篇4
随着工业生产现场控制对象的增多、数据量的增大、数据实时性和可靠性要求的不断提高,设计高效、可靠的冗余控制系统具有重要的实际意义。冗余控制是一种可满足实时不间断控制、提高系统可用性的有效手段,使用冗余系统可以有效地保证控制系统的安全运行,是提高整机及系统可靠性的一种重要设计技术,特别是对于要求不停机维修的控制系统或设备和有高可靠性、长寿命要求的大、中型设备。由于数据的处理集中于控制器中,因此本文采用了热备硬件控制器基于RTnet实时以太网完成任务、IEC程序、数据、时钟同步和软件冗余程序设计PAS200控制系统冗余。主控制器采用AMD Geode LX Processor高性能、低功耗嵌入式专用处理器,Linux+RTAI+RTnet的实时平台方案。专用实时操作系统虽可满足广泛的实时系统需求,但应用开发环境缺乏、价格昂贵,而基于Linux开发的RTAI是一个开放的、标准的、高效廉价的实时系统,在此基础上,利用RTnet构建实时网络。
1 系统整体架构
PAS200控制系统由控制网络、控制器模块和I/O模块构成,如图1系统结构图所示。工程师站软件组态后通过控制网络将组态的相关信息下载到控制器,控制器运行时加载组态内容。操作站通过控制网络获取连接在各个I/O模块上装置的运行情况,实时监测并进行现场报警。PAS200控制系统冗余的核心部件是控制器模块。控制器采用模块化架构,由电源、控制器、通信卡等构成。对下,通过两路冗余的RS485总线和I/O模块进行数据通信;对上,通过两路冗余的高速以太网实现数据传输。控制器之间通过背板总线进行冗余数据的交换。正常情况下,主控制器和从控制器同步刷新输入数据、执行程序。但只有主控制器进行输出I/O设备的控制。从控制器不断地监测主控制器状态。如果主控制器出现故障,从控制器立即接管对输出I/O的控制,从而实现对系统的冗余控制。
2 系统硬件设计
PAS200冗余控制系统中控制器硬件由电源卡件、控制器卡件、通信卡件、底座等4部分组成。其中,控制器卡件架构如图2所示,其采用AMD Geode LX Processor高性能、低功耗嵌入式专用处理器,主频500MHz,在板包含DMA控制器、中断控制器、定时器、实时时钟、256MDDR内存。外部接口有2个串口、3个10/100M自适应网口。其设计充分考虑了恶劣环境下的应用,采取了多种措施,确保系统在各种应用环境中均能稳定、可靠、高效的运行。它采用工业级器件,高智能布线系统,运用防静电及抗干扰电路,尽可能的降低了功耗,提高了可靠性及宽温操作能力。
3 控制器冗余
3.1 主从冗余分配
PAS200冗余控制系统中的冗余控制器包括一个主控制器和一个从控制器。主从控制器角色的分配按控制器冗余上电启动两种可能出现的情况进行。
一种是两个系统同时上电;在上电后,两个系统将通过同步通道发送信息来相互检测。在一个可配置的时间内一个系统检测到另一个系统,另一个系统回复并且在各自的日期和IEC程序的有效性的基础上,两个系统将协商他们的角色(主或从)。协商首先是根据操作站的联机信息进行主从分配,失败之后再根据自定义条件进行分配。如果必要会建立一个从主系统到从系统的IEC程序同步。然后,两个系统将运行此IEC程序。
另一种是一个系统正在运行且另一个系统上电,此情况出现在一个系统掉电并重启的时候。当前,一个系统运行在独立模式且另一个系统上电。已经在运行中的系统成为主系统,上电系统将与主系统程序同步并成为从系统。主系统将在两个任务执行间隙短暂停止,与从系统同步数据。然后,两个系统都执行IEC程序同步。
3.2 主从冗余实时通道
PAS200冗余控制系统中的两个控制器都基于Linux+RTAI+RTnet软件平台运行实时系统,并且通过一个实时同步通道同步。实时同步通道基于RTnet实时以太网实现。RTnet是一个基于RTAI的实时网络子系统,其利用标准以太网的硬件设备,支持常用的网络接口控制芯片组,实现了时间确定性的UDP/IP、ICMP和ARP协议,为实时系统的开发提供了一个稳定、实时性高的软件开发平台。这样,通过RTAI及其之上的RTnet就构建了一个实时通道在主从进行数据传输。
两个完全相同的控制器并行运行,假设一个系统出现故障,那么另一个系统可以接管,接管使得两个系统紧密的同步在一起。
另一个通信通道用于同步实时系统间的时钟源,使两个系统上的调度程序可以选择相同的任务来运行。
3.3 主从冗余同步
冗余控制器同步按内容主要划分为任务同步、IEC程序同步、数据同步、时钟同步、RS485通信同步几大部分。其中,任务同步是由主系统的调度程序开始,任务号和全局变量数据发送到从系统;从系统响应一条回复信息;当一个任务完成后,第二个任务同步开始执行。而在RS485通信同步点主系统和从系统都需等待他们的触发信息,此触发信息来自在达到同步点后的主系统。当从系统达到RS485通信同步点后,如果不能收到来自主系统的同步信息,从系统将检测系统状态是否发生变化,如果系统状态未发生变化则报错。当主系统达到RS485通信同步点后,如果不能收到来自从系统的同步信息,主系统记录错误并正常通信。
4 RS485通信冗余
控制器通信扩展卡上有两路RS485通信,系统启动阶段通过诊断获取两路RS485通信状态。如果主控制器上两路RS485均能正常通信。主控制器则选择其中一路RS485作为通信链路,另一路RS485作为诊断链路;从控制器两路RS485都进行监听。如果主控制器上一路RS485能正常通信,另一路RS485不能正常通信。主控制器以能正常通信的那路RS485作为通信链路;从控制器两路RS485都进行监听。如果主控制器上两路RS485均不能正常通信,且从控制器上RS485能正常通信,则主从控制器进行切换。
运行阶段,如果主控制器两路RS485通信正常工作,从控制器两路RS485通信就监听。如果主控制器通信链路失败且另一路诊断成功,则切换诊断为通信链路。如果主控制器通信链路失败,另一路诊断失败,且从控制器监听成功,则主从切换。
5 结束语
文中,根据工业自动化对控制系统可靠性、稳定性的实际需求,设计了以RS485总线通信为基础的PAS200冗余控制系统。实际测试结果表明所设计冗余控制系统不仅灵活地支持多种冗余链路,且具有较高的可靠性及稳定性,特别适用于工业自动化领域的控制应用。
参考文献
[1]陈光景,张建军,张金萍.霍尼韦尔Master Logic-200冗余PLC在隧道监控系统中的应用[J].电子世界,2012(10):106-107.
[2]袁积德,黄文君,陆卫军.高性能集散控制系统主控制器设计[J].计算机工程,2012(5):215-216.
[3]王剑,赵海燕.基于CPLD的控制器冗余设计[J].微计算机信息,2005(8-2).
[4]胡田力,张云鹏.PLC冗余系统与性能分析[J].工业控制计算机,2013(10):121-122.
[5]刘洋,许宏伟.基于CAN总线的DCS小型化控制系统设计[J].自动化与仪器仪表,2014(1):35-36.
基于以太网的实时业务 篇5
随着我国煤矿开采规模也逐渐增大, 工况条件也越来越复杂, 对人员的安全威胁也越来越大, 因此, 建立工作面视频监控系统, 实现对采煤工作面的远程可视化监控, 为煤矿安全生产、调度和决策指挥提供直观可靠的手段就显得尤为重要和迫切, 也是进一步实现工作面无人化或少人化的重要基础。
以太网具有应用广泛、价格低廉、通信速率高、软硬件产品丰富、技术成熟等显著优点, 目前在工作面传输网络组建中得到了广泛应用。由于以太网所采用的IEEE802.3规范, 属于非确定性的网络协议, 当多节点同时发送时引起的冲突可能导致数据帧时延上界不确定甚至丢帧;虽然交换技术的引入, 解决了以太网冲突域的问题, 使传输实时性有所提高, 但随着承载业务量的增大, 交换设备中的排队延时同样具很大的不确定性[1,2], 这对于以自动化设备远程控制为核心的实时视频监控是无法忍受的;所以, 对基于以太网传输实时性的深入研究, 是矿井综采工作面视频监控性能评估的重要方面。
1传输实时性理论模型介绍
1.1端到端时延构成
在图1中描述了网络端到端传输过程中延时组成, 其中Tprocess、Tp rot l-resolution可称为端节点内部时延[3], 其值主要取决于软件和处理器的性能, 在端节点给定时可以通过分析或测试得出。端节点内部时延大小与网络运行状态及网络的传输性能无关, 所以不作为本次研究的关注点。
而除去端节点内部延时外的部分 (即Tseri1、Tseri2、Tqueue、Tpropagate) 称为网络传输延时, 又可划分为固定时延和可变时延两类。固定时延由数据串行化时延Tseri1、Tseri2和传播延时Tpropagate组成, 由数据包长度、信道数据速率、传输介质信号速率及线路长度来确切计算, 具有确定性;另外, 由于相邻节点间数据帧串行化的发送与接收 (Tseri1、Tseri2) 为同时发生, 所以上述Tseri1与Tseri2之和可计为数据帧的一次串行化时间Tserial。
可变时延主要由数据在中间交换节点的出口缓存中的排队延时Tqueue决定, 其与网络运行状态极为相关, 例如:是否已经达到甚至超过网络资源能够承载的容量, 是否由于负载不均衡或突发流量而导致局部拥塞等, 因此很难精确给定。
1.2时延计算模型
综合上述分析, 假定网络中间交换节点数量为n, 则网络传输延时计算模型可以表示为:
进一步, 定义数据帧长为Ldata-len (bytes) , 网络信道速率为R (bit/s) 、传输介质中电磁波传输速率为V (m/s) (以真空中光速率为基础, 可取系数0.6) 、相邻节点间的链路长度均为Ddis (m) , 则网络传输延时Ttr ansimit能够确切计算如下:
接下来, 以100M以太网为例, 设定传输链路长度为最大值100米, 载荷数据长度为帧允许最大值1 500 Bytes, 可计算此数据帧不经过任何中间转发节点的情况下, 即n取零时, 经历的传输延时最大值Ttransimit-max为:
在上式1-3中, 由于网络状态与拥塞程度具有时变性, 所以即使已知传输介质、信道数据速率及各网络设备与组件性能, 由于网络存在拥塞、排队转发的随机性, 网络可变延时Tqueue的计算也具有很大的不确定性[4]。
假定网络上仅有测试数据包, 无其他负载数据影响、无排队时, 可取Tqueue为零, 由式 (3) 分析可知, 此时, 点对点间的传输延时可取得最小值120.56μs, 加入中间交换节点后其传输延时将线性增长, 即120.56 (n+1) μs。此外, 由上式还可以看出, 在网络固定时延中, 其主要成分是数据串行化转换时间Tserial。
2视频传输系统时延测试
2.1系统概述
为验证交换式以太网在级联拓扑下传输实时性, 本文主要从以下四个方面来评估:总体有效带宽测试、不同数量交换节点下的传输延时、不同负载时的最大传输延时分布、总体图像延时。测试系统结构如图2, 包括100M交换机23台、高清摄像仪10台、视频监控PC1、测试配套电脑PC2、网络性能测试软件及网络流量监测软件。2.2测试内容
2.2.1无负载数据时的传输时延
首先关闭所有摄像仪, 由PC1上向PC2发送测试包, 帧长1 500 bytes、无间隔、总数100包, PC2接收立即回传给PC1, 随机抽取10包统计其接收回传延时。通过测试数据整理, 可得到传输延时随中间交换设备数量的关系, 如图3。
从图3可以看出, 每增加一个交换节点, 其接收回传延时的增长量约为240μs, 如果按50%考虑单向延时, 则可以得出网络中单个交换节点所引入的延时可按120μs估算, 这也进一步验证了1.2节中的理论计算模型。
2.2.2不同负载时的最大传输时延
将10路高清摄像仪接入测试网络, 调节摄像仪码率, 将接入的总流量由0调整至80 Mbit/s, 同时在不同负载流量下, 进行时延测试, 测试包的特性与2.2.1节相同, 并记录其时延情况。
依据测试数据整理如表1, 以下分别选取80 Mbit/s、65 Mbit/s、50 Mbit/s、25 Mbit/s、0 Mbit/s五种不同负载条件, 进一步整理出不同负载大小下的时延波动的分布情况, 分别如图4 (a) ~ (e) 所示。
通过分析上述不同负载条件下的传输时延波动曲线, 可以看出, 当网络无负载时, 其传输时延由固定延时部分决定, 极为稳定, 具有确定性, 如图4 (e) ;但是当网络负荷逐渐增加时, 其传输延时波动的频率及最大值都在不断上升, 特别是当某个时刻, 网络上出现突发性数据流量, 导致网络局部拥塞、交换设备内部资源耗尽时, 此时延时情况将会极度恶化、甚至出现丢包, 如图4 (a) 。由此, 也可以看出, 在多业务共网传输时, 在对接入数据没有管理与合理调度的情况下, 其最大传输时延将是无确定性保证的, 这也是制约以太网进入工业控制领域的关键因素。
2.2.3视频图像时延
本文在上述传输延时测试的基础上, 进一步对系统整体图像延迟的具体表现进行测试, 以验证系统视频显示的总体实时性。首先对无中间交换设备的直连摄像仪进行图像延时测试, 测试结果如图5 (a) 所示;然后按最多交换结点及最大负载条件, 再次进行图像延时测试, 其结果如下图5 (b) 。
由上述图5 (a) 、 (b) 可以看出, 在直连电脑时的图像延时约为220 ms, 而在80 M负载量及23个交换结点时的图像延时为240 ms, 显然, 此时图像延时主要为图像解码与显示处理的软件算法所消耗的时间, 传输延时不足10%, 所占比重极小。
2.2.4有效传输带宽测试
利用Iperf网络性能测试软件, 对图2所示测试系统进行实际有效带宽的测试, 先按最大带宽设置测试码率, 如有丢包, 则逐渐下调测试码流, 当丢包率为零时的最大测试码率即为系统有效传输带宽。测试结果如图6, 可以得出, 由23个交换节点构成的网络, 其总体有效传输带宽可达90.4 Mbit/s。
3结果分析
比较上述测试结果, 并结合传输时延理论分析, 可以得到以下结论:
(1) 在交换式以太网中, 传输延时由固定延时和可变延时构成, 其固定延时主要由数据包长度和信道数据速率决定, 具有确定性, 例如单个100 M交换节点引入的最大固定时延约为120μs;
(2) 网络可变时延与网络运行状态相关, 当负载量大或局部拥塞时, 则可变时延长, 反之, 则延时短, 是导致网络延时不确定性的主要因素。
(3) 在100 M以太网中, 中间交换节点数量在23个以内时, 其有效传输带宽可达90 M以上, 但当传输负荷超过85 Mbit/s时, 其延时波动性极大, 个别包延时超过100 ms、甚至会出现丢包;当传输负荷控制在80M以内时, 延时波动范围得到一定程度的缓解, 基本可以控制在20 ms以内, 可满足视频传输的要求。
为进一步评估, 对工作面最大交换节点下的理论时延进行计算。按照工作面摄像仪100个、每2个摄像仪占用一个交换机、数据包长1500 bytes、传输线长100米的极端情况考虑, 则中间交换设备数量n为50个, 由式 (2) , 可计算该系统传输时延的理论值为:
上式中网络排队时延Tqueue主要与网络负载相关, 在相同负载条件下基本相同。参考表可知, 当负载量控制在70 M以内时, 由负载引入的可变时延Tqueue波动范围在20 ms以内, 则此时整个系统理论最大传输时延约在30 ms以内。所以, 在系统最大组网交换节点50个时, 在7700 MMbbiitt//ss负荷量下, 仍可满足对整体图像传输的实时性要求。
摘要:首先构建了交换式以太网端到端时延模型, 对网络传输延时进行了理论计算, 提出了影响时延的关键因素;然后针对不同数量中间交换设备和不同负荷大小下的传输延时进行了测试与分析, 对系统整体图像延时进行了验证;最后, 以工作面最大系统为极端情况, 通过固定延时计算与可变时延分析, 得出了工作面视频传输系统在最大中间交换设备数量时满足实时性条件下, 所允许的最大通信负荷。
关键词:交换式以太网,视频传输,固定延时,可变时延,通信负荷
参考文献
[1]侯昉, 沈琪.工业以太网的实时性分析及其改进对策[J].工业控制计算机, 2004, 17 (8) :20-25.
[2]刘宁.EPA工业以太网实时性分析及调度方法的研究[D].大连:大连理工大学, 2010.
基于以太网的实时业务 篇6
关键词:以太网,SDH,GFP,EOS
0 引 言
随着人们对数据业务需求的不断增长,以太网作为全世界应用最为广泛的网络通信技术之一,在全世界得到了大规模的普及。SDH是电信部门常用的通信传输设备,具有高可靠性和高安全性的特点。EOS(Ethernet over SDH)技术即借现有的SDH传输设备实现以太网业务的传输,具有非常重要的现实意义。
基于以太网的七层架构,在第二层数据链路层传输的是以太网的MAC帧。由于以太网和SDH系统的传输速率不匹配,需要通过封装进行速率调整后才能映射到SDH的虚容器中。目前来讲,常用的是GFP(Generic Framing Procedure)封装。GE(千兆以太网)信号在SDH系统中的映射可以分为相邻级联和虚级联两种模式。相邻级联是在整个传输过程中保持连续带宽,各个级联的VC是相邻的,在SDH网络系统中需要有能够进行相邻级联处理的中间设备,而虚级联的应用方式比较灵活,将连续带宽分解到多个VCs上传输,不一定相邻,在传输的终端再将多个VCs重新组合成连续带宽。因此,虚级联方式有效地节省了带宽,在系统中只需能够进行处理的终端设备即可。在实际使用中,这种方式的应用比较广泛。
1 FPGA收发模块设计
本文实现的传输方式是在STM-16中传输1路GE信号,需要对以太网MAC帧进行GFP封装。GFP帧分为GFP-F和GFP-T两种模式,本设计采用的是GFP-F封装模式。STM-16的传输速率是2.488 32 Gb/s。STM-16一共包括16路STM-1信号,STM-1的传输速率是155.52 Mb/s。STM-1信号采用虚级联方式,利用VC-4-XV(X=1~7)最多采用7路STM-1信号即可传输1路GE信号。剩余STM-1通道的信号用来传输其他数据业务。
以太网数据在SDH设备中传输过程如下:在SDH发送部分中,以太网通过接口处理芯片产生MAC数据帧,通过GMII接口传送给FPGA。FPGA将MAC帧进行GFP协议的封装,然后映射到SDH的虚容器VC当中,再通过添加复用段和再生段开销,生成STM-16数据帧,发送给光模块再上到光网络;在SDH接收部分中,光接收模块从光网络将STM-16数据帧接收下来发送给FPGA,FPGA在内部处理相关的开销,再将GFP数据帧从VC虚容器中提取出来,通过解帧处理,将以太网的MAC帧还原出来,经过处理后发送给以太网。
FPGA的内部设计可以分成发送模块和接收模块两部分。其中,发送模块可以分为以太网数据接收预处理模块、GFP成帧模块、SDH成帧模块;接收模块可以分为 SDH解帧模块、GFP解帧模块、以太网数据发送处理模块。发送和接收模块示意图分别如图1和图2所示。
发送部分的三个模块的功能分别如下:以太网数据接收处理模块利用FIFO缓存模块存储每一个有效MAC数据帧的数据和长度。同时实现数据从以太网时钟域到SDH时钟域的转换;GFP成帧模块对以太网MAC帧进行GFP封装,通过调整GFP数据帧和GFP空闲帧的插入,将以太网MAC帧映射到SDH的高阶VC-4虚容器中;SDH成帧模块对虚容器进一步处理,添加开销字段,生成STM-16数据帧,再利用FPGA内部的GTP接口将16位155.52 MHz的并行数据转化为一路2 488.32 MHz高速LVDS差分信号发送出去。
接收部分实现的过程是发送部分的逆过程。
GFP成帧模块分为GFP数据帧产生模块、空闲帧产生模块、插入帧选择模块、GFP扰码模块;GFP解帧模块分为GFP帧同步模块、GFP解扰模块、GFP接收帧处理模块。
GFP数据帧产生模块在去掉MAC帧8 B前导码后,将剩余部分的数据封装为GFP数据帧。按照GFP协议添加4 B的核心头部和4 B的净负荷域头部,将非定长的以太网MAC帧添加到净负荷信息字段,在帧尾添加4 B的净负荷帧校验序列(FCS)。
空闲帧实际上属于GFP用户管理帧的一种,没有净负荷域,只包含一个GFP核心帧头,是4 B的全0比特与序列“B6AB31E0”异或所得。
插入帧选择模块根据流量情况调整数据帧和空闲帧的插入,在没有数据帧要发送时,插入空闲帧,以保证GFP数据流的连续性。
在整个FPGA设计中,接收端的帧同步模块是比较重要的,它主要进行GFP帧的帧头搜索和同步保持处理。同步状态转移图如图3所示。
用一个状态机表示三种状态,即搜索态、预同步态和同步态。在预同步状态和同步状态时都只取1帧进行状态跳转判断。状态机在FPGA初始化时默认处于搜索状态,然后在连续的GFP数据流中进行帧头的搜索判断,将连续的数据流在每个时钟周期按字节存入缓存器中,在每个时钟周期进行4 B的扰码判断,即连续的4个字节与扰码序列“B6AB31E0”进行异或,得到的4 B数据中前2个字节根据扰码多项式G(x)= X16+X12+X5+1生成2个字节的校验值,然后与后2个字节进行比较,如果一致则表示找到了帧头,进入到预同步态。在预同步态继续在一帧帧头的相应时刻进行帧头的判断,如果正确则跳转到同步态,否则重新跳转到搜索态,继续寻找帧头。如果进入到同步态,和预同步态一样,也在一帧帧头的相应时刻进行判断,如果正确则继续保持在同步态,否则跳转到搜索态,重新在数据流中进行帧头的搜索。只有在处于同步状态时才能继续对数据进行后续处理。
在SDH和GFP协议的成帧解帧里都要进行扰码和解扰处理。SDH的扰码多项式为G(x)=X7+X6+1,GFP对核心头部PLI的扰码多项式为G(x)= X16+X12+X5+1,GFP净负荷域的扰码多项式为G(x)=X43+1。这些扰码器都为串行扰码器,对于GE这种速率的数据如果也采用串行处理方式的话,FPGA内部是无法实现的。经过转换处理,可以将串行扰码器变为并行扰码器再进行扰码,即可降低处理速度,满足时序要求。
2 仿真综合及实现
本设计采用VHDL硬件描述语言,使用的是XILINX公司带有高速SERDES接口的SPARTAN-6芯片,利用ISE 12.1和仿真软件进行了综合和仿真。由于FPGA的内部资源较为丰富,本身自带的IP核具有可靠性、方便性和灵活性的特点。时钟部分使用了XILINX芯片内部的DCM时钟管理模块,双端口RAM以及FIFO缓存器都使用了FPGA的内部IP核资源。高速数据接口部分使用的是芯片内部的GTP模块,去掉了外部高速接口转换芯片,简化了电路板的设计,不但提高了设计效率,也提高了系统设计的稳定性。
图4和图5表示的是对EOS数据进行VC-4-7V虚级联后的部分时序仿真图。
图4中,data_frm_state信号表示的是帧同步状态机。在数据流中,状态机一开始处于hunt状态,一旦找到帧头,则进入到presync状态;如果帧头检测没有错误,则继续跳转到sync状态;如果帧头判断正确,那么状态机就一直保持在sync状态。
图5中,s_datain信号表示的是解码前的数据,s_dataout信号表示的是根据扰码多项式G(x)=X43+1解扰后的数据。
3 结 语
综上所述,利用FPGA可以实现千兆以太网MAC帧在SDH数据帧中的封装和映射,配合外围接口电路的使用,可以实现GE在STM-16中的传输。EOS技术既增强了以太网传输的覆盖范围,也丰富了SDH设备的传输接口,极大地方便了用户的使用。同时,利用FPGA进行设计,大大缩短了开发的周期,也便于以后的升级和维护。
参考文献
[1]肖萍萍,吴健学.SDH原理与应用[M].北京:人民邮电出版社,2008.
[2]杨庚,章韵,成卫青,等.计算机通信与网络[M].北京:清华大学出版社,2009.
[3]田耕,徐文波,胡彬.XILINX ISE Design Suite10.x FPGA开发指南[M].北京:人民邮电出版社,2008.
[4]Xilinx.Spartan-6family overview[M].[S.l.]:Xilinx,2010.
[5]杜凯.基于FPGA的GFP成帧协议实现[J].世界电子元器件,2004(11):46-49.
[6]刘方楠,孙力军,白瑶晨.EOS的原理及其关键技术[J].通信技术,2007(7):19-21.
[7]李玲,李惠君,史晓飞,等.EOS中高阶虚级联的设计与实现[J].光通信技术,2008(10):42-45.
基于以太网的实时业务 篇7
在过去的二十年, 追随庞大的现场总线系统变得愈发困难, 太多特定用于工厂生产过程目的的总线被开发出来, 然而, 不同系统的局限性仍然阻碍了性能的发挥, 新的需求更多的在于强调通信系统的可用性, 提供高灵活性和板级的兼容性, 一个新的允许持续改善和性能升级的方案加入了这个队伍。
以太网快速应对这种挑战, 它已经被证实和应用且广泛标准化的技术, 而且它是一个免专利费的技术, 此外, 他还是一个具有保持一致性潜力的集成或通信方案。例如, 它允许在过程和现场级的互联, 然而, 融洽了Internet协议和TCP/IP的标准以太网并不适合硬件实时的数据传输。SMA/CD (载波侦听多路访问冲突、冲突检测) 机制导致了数据不可预知的堵塞。作为Ethemetl EEE802.3的一部分, 这个机制有助于消除总线上由于以太网传输先天性所决定的数据冲突。
一个网络面向所有系统
什么是“一个网络面向所有系统”的含义?POWERLINK是一个实时工业以太网方案, 设计能够给用户一个独立的, 一致的并且集成用以处理各种现代自动化中通信任务的方法。它适合所有可以想象的应用;机器制造和工厂工程, 同时也可以在过程控制中应用, POWERLINK网络集成所有工业自动化组件, 如PLC, 传感器、I/O模块、运动控制、安全控制、安全传感器、执行机构积极HMI系统。
一个POWERLINK循环不仅能够提供有效实时载荷, 并且可以在异步阶段传输异步数据, 同事, 一个固定时隙用以传输多种用户数据, 那些对时间要求不高的数据也可以被传输, 如用于节点监控和访问控制的视频。此外, 相应的网关也允许非POWERLINK总线的非实时数据在一个异步循环里进行传输, 也就是说, 该协议可以集成不同的网络。
构架
由于其高宽带、极短的循环时间以及协议的灵活性等性能特点, POWERLINK既适合集中式有适合于分布自动化概念, 机器和工厂设计为分布式架构基于用户改装和扩展非常大的灵活性, 但是需要一个通信系统非常良好的满足这一架构, POWERLINK是一个显然适应这种需求的技术, 因为它良好地继承了Ethernet标准的两个非常关键的特性使它可以用于分布式环境, 即交叉通信和信任的拓扑结构设计。
交叉通信使得在各个组件间的通信无需通过主站, 所有的设备可以以广播形式直接发送数据到整个网络, 所有其它节点可以接受这些数据。
自由的拓扑对于模块化系统的扩展是非常必要的, 之前采用固定拓扑时, 机器升级、工厂扩容和持续的新设备添加要么几乎不可能, 要么支付高昂的费用。不仅有卓越的可量测性, POWERLINK使得在系统扩展的同时却丝毫不影响其实时能力等级。
POWERLINK拓扑结构
Ethemet的, 同样也是POWERLINK非常重要的一个特性是, 用户可以100%自由的选择任意网络拓扑结构, 网络可以是星形、树形、菊花链或者环形结构, 以及任意的这些拓补的组合, 而无需配置, 在应用层和物理层也没有相互依赖的逻辑连接, 网络的改变包括动态调整可以在任意时刻以任意方式进行, 而不会削弱应用。
POWERLINK循环的同步阶段应用于时间要求高的有效数据传输, 之后是异步阶段, 它使用整个循环的剩余时间, 在这个阶段, 比较大的数据包, 时间不紧迫的数据包可以以标准以太网帧的方式传输。如果一个设备数据量很大, 以致不能在一个循环期间内完成, 网络有能力将数据分配到几个异步阶段来完成。路由器或网关可以被用来将异步数据从POWERLINK网络的实时域分割出来, 而且, 这些数据可以向两个方向流动, 因此也可以从外部对实时域的设备进行访问和配置。任何数据如, SDO-用于设备配置和诊断, 应用数据如监控摄像头, 协议如TCP/IP设备配置或者从WEB浏览器来的维护数据都可以在异步阶段传输。这也是一种连接那些没有实时要求的网络节点的方法, 同时这意味着可以在网络中集成其他总线的组件和设备, 此时, 非POWERLINK的设备与POWERLINK节点通过网关连接, 非POWERLINK总线数据在异步阶段发送。这种数据传输模式对于热插播至关重要, 新添设备或者替换标识时, 它们自己通过在异步阶段向管理节点发送他们的设备数据来实现。
POWERLINK类型
(1) 环形冗余
经典的环形冗余是一个简单且非常经济的机器工程应用选择, 节点以环形连接, 远离数据线路中心的外部终端也被连接到控制器 (对于这种设计, 一根额外的数据电缆足够满足将一个菊花链接转为环形, 控制器提供两个接口支持冗余操作) , 当一个线路失效被检测到后, 系统在一个循环周期里从失效单元切换到冗余单元, 这种类型的冗余典型的应用于暴露在外的机械恶劣的环境。
(2) 主站冗余
【基于以太网的实时业务】推荐阅读:
以太网音视频实时传输08-13
基于单片机的线阵CCD实时检测系统的开发05-15
以太网技术的宽带接入05-20
以太网通信05-23
以太网传输07-29
新型以太网09-24
以太网协议02-17
千兆光纤以太网05-29
工业以太网技术08-13
千兆以太网设计10-13