孙健波,孙 强,申 巍,张婷婷
(1. 北京交通大学 电子信息工程学院,北京市 100044;2. 中瑞典大学 信息科技媒体学院,松兹瓦尔市 85170)
HART(Highway Addressable Remote Transducer),可寻址远程传感器高速通道的开放通信协议,是美国公司于1985年推出的一种用于现场智能仪表和控制室设备之间的通信协议。HART协议采用基于Bell202标准的FSK频移键控信号,在低频的4-20mA模拟信号上叠加幅度为0.5mA的音频数字信号进行双向数字通讯,数据传输率为1.2Mbps。HART通信采用的是半双工的通信方式,在现有模拟信号传输线上实现数字信号通信,经过20多年的发展,HART技术在国外已经十分成熟,并已成为全球智能仪表的工业标准。
根据无线HART网络层协议,有源路由和图表路由2种算法。源路由只能用于检测错误,最常用的是能保证无线HART网络冗余性和可靠性的图表路由算法,无线HART网络层协议只是简单的规定了它的定义和特点。本文在TinyOS下运用nesC语言对图表路由算法进行仿真,并且在吞吐量、延迟2个方面与AODV协议进行了对比评估,TinyOS仿真评估结果证明图表路由算法非常适用于无线HART网络。
无线HART是网状拓扑结构网络,如图1。一个基本的无线HART网络由网络管理员,网关和现场设备组成。这些装置的特点和功能如下:
网络管理员是无线HART网络的“大脑”,负责网络配置,分配通信任务,路由表的管理以及监视和报告无线HART网络的健康情况。现场设备用来连接进程,所有的现场设备必须能发送和接受数据包。当网络中的设备需要其他设备为它传送数据包,并完成此请求。网关含有一个或多个接入点,用来连接无线HART网络和工厂自动化网络。
图1 无线HART网络
图表路由算法是无线HART网络的主要路由方法。每一个网络都有拓扑结构,由所有设备以及设备间的直接链接组成。图表路由是为源节点和目的节点提供冗余通信的直接链接和设备的子集。当在无线HART网络中使用图表路由算法时,所有的网络设备必须首先配置然后使用,因为数据包中只包含图表路由的ID。网络管理员包含和管理所有的路由信息,在路由开始之前,它会为每一个设备分发相对应的路由表,因此在图表路由中每一个设备都包含可以使用的所有链接的列表。在一个配置好的无线HART网络中,每一个设备至少包含2个可以发送数据包的邻居设备,这一办法用来保证图表路由的冗余度和可靠性。
图2 简化的图表路由
图2 为一个简化的图表路由过程图,在路由开始之前,网络管理员已经为每一个节点配置了相应的路由表,所以现在该无线HART网络中的所有节点均包含相应的路由信息,包括到每一个节点所对应的graphID以及邻居列表。当Node1作为源节点欲发送数据包给Node6,它将首先查找自己的路由表,找到对应的garphID,将其写入数据包,然后根据路由表中邻居列表的提示,将数据包发送给Node2和Node3。当Node2和Node3接收到此数据包时,它们会首先查找数据包头部的graphID,然后在自己的路由表中查找它的所有信息,最重要的是查找其对应的邻居列表信息,然后按照此邻居列表将数据包转发给相应的邻居,此图中Node2的邻居为Node4和Node5,Node3的邻居为Node4 和Node6,此时Node1→Node3→Node6的连接已经建立,继续进行的转发过程将会建立Node1→Node3→Node4→Node6和Node1→Node2 →Node4→Node6以及Node1→Node2→Node5→Node6的连接。
在TinyOS中运用nesC语言实现图表路由,包括对节点进行编程从而使节点具备接收、判别、转发数据包的能力以及通过设定拓扑结构和加噪声从而建立仿真环境2个步骤。具体架构图如图3。
图3 实现图表路由的架构图
在TinyOS中运用nesC语言对每一节点进行编程从而使节点具备接收、判别、转发数据包的能力是核心目标。TinyOS是加州伯克利大学为无线嵌入式传感器网络专门设计的开源操作系统,它是基于一种组件的架构方式,使得能够快速实现各种应用。TinyOS的程序采用模块化设计,它的程序核心往往都很小,能够突破传感器存储资源少的限制,让TinyOS很有效的运行在无线传感器网络上并去执行相应的管理工作等。NesC是一种扩展C语言,主要用于传感器网络的编程开发,尤其应用于TinyOS中。NesC程序由组件组成,包括配置和结构。
图表路由主要在网络层进行,负责定义常量、数据包格式和规定路由表列表,接口、组件和组件之间的连接也是在网络层完成。应用层定义了可以应用的组件以及高层命令,如某源节点欲发送数据包给某目的节点。
仿真环境的建立包括拓扑结构的建立和加入噪声2个过程。在真实的无线HART网络中,节点的数目通常不是固定的。在此研究中,最终想得到的是对图表路由的仿真,因此建立数百个节点是没有必要的,此研究使用的是32节点的拓扑结构图。图表路由中为了保证冗余度,每一个节点至少含有2个邻居节点。网关与任一节点的通信是图表路由中最常见的通信模式,分为上行通信和下行通信,在此拓扑中,节点32被设定为网关。节点拓扑结构图如图4。
图4 拓扑结构图
仿真环境的建立离不开噪声干扰的加入,每一个网络都含有干扰。噪声干扰可以分为普通干扰和强烈干扰,在此研究中,为了体现真实性,普通噪声干扰被加入仿真环境。
按需距离矢量路由协议(AODV)是广泛应用于Ad Hoc网络中的反应时路由协议,为了评估无线HART网络中图表路由协议性能,利用开源式操作系统TinyOS,对无线HART网络中节点的吞吐量和端到端的延迟2个方面作了详细的仿真和结果比较。
发送速率对性能有较大的影响,此拓扑中网关为节点32,选取任一节点(如节点30)为实验节点,考察网关与此节点通信的吞吐量性能。实验结果如图5。
由图5可以看出,随着发送速率的减小,图表路由和AODV的节点吞吐量均减小,但在同样发送速率时,无线HART网络中应用图表路由协议的节点的吞吐量始终比应用AODV的大。
图5 吞吐量比较
无线HART网络中节点之间的跳数有限,因此在此仿真的拓扑中,任意节点之间的跳数分别为1跳、2跳和3跳。选取无线HART网络中最为典型的通信模式:网关与任意节点的通信进行延迟比较,实验结果如图6。
图6 延迟比较
从延迟比较结果可以看出,随着通信节点之间跳数的增加,应用图表路由协议和AODV的延迟均变大,但是,图表路由协议的延迟明显比AODV小的多,这说明图表路由协议在延迟方面的性能比AODV好很多。
本文主要对无线HART网络中典型的图表路由协议与AODV协议进行了详细而全面的仿真比较。利用TinyOS仿真软件,搭建各种仿真场景,通过实验对比说明了发送速率对吞吐量的影响以及跳数对延迟的影响,更重要的是通过实验结果分析,证明了图表路由算法的部分性能在无线HART网络中优于AODV。
[1]2.4GHz DSSS O-QPSK Physical Layer Specification, HCF SPEC 065, Revision 1.0. HART communication foundation. 1 September, 2007.
[2]TDMA Data Link Layer Specification, HCF SPEC 075, Revision 1.1. HART communication foundation. 17 May, 2008.
[3]Network Management Specification, HCF SPEC 085, Revision 1.0. HART communication foundation. 27 August, 2007.
[4]Rosa, N.S.; Cunha, P.R.F.; “Behavioural Specification of Wireless Sensor Network Applications,”Global Information Infrastructure Symposium, 2007. GIIS 2007. First International, vol., no., pp.66-72, 2-6 July 2007.
[5]Gowrishankar, S.; Sarkar, S.K.; Basavaraju, T.G.; “Performance analysis of AODV, AODVUU, AOMDV and RAODV over IEEE 802.15.4 in wireless sensor networks,”Computer Science and Information Technology, 2009. ICCSIT 2009. 2nd IEEE International Conference on, vol., no., pp.59-63, 8-11 Aug.2009.
[6]Prathaban, M.; Kohlenberg, J.;“Dynamic NAK Timer Algorithm to Improve Delivery Latency of CCSDS File Delivery Protocol in Deferred NAK Mode,”Telecommunications, 2009. AICT”09. Fifth Advanced International Conference on, vol., no., pp.304-309, 24-28 May 2009.