无线HART是一种专门为过程控制领域而设计的网络通信协议,是HART现场总线在无线领域的延伸,其通信模型主要由应用层、网络层、数据链路层、物理层组成。其中数据链路层在物理层提供服务的基础上向网络层提供服务,其最基本的服务就是将来自节点网络层的数据可靠的传输到相邻节点的网络层。数据链路层协议主要用于建立可靠的点到点的单跳通信。在层型的拓扑结构上实现无线HART数据链路层通信协议,这里所设计的算法已成功应用于无线HART单跳网络。
1 无线HART拓扑结构
无线通信网络拓扑主要包括星型和网状两种结构,星型单跳网络支持高可靠性的网络通信,而网状多跳网络支持远距离通信,无线HART协议支持网状拓扑结构和星型拓扑两种结构,用户可根据实际需要选择星型或网状拓扑结构,或者介于二者之间的拓扑结构。本文根据工业现场的实际要求,采用星型和网状结合的两层网络拓扑结构,第一层是网状结构,由网关和路由设备构成;第二层是星型结构,由路由设备以及现场设备构成。其中,网关负责无线HART网络与工厂内的其他网络的协议转换与数据映射。簇首作为网络管理者的代理,负责构建由现场设备和路由设备构成的星型结构,监测星型结构性能;作为安全管理者代理,负责合并及转发簇成员的数据;负责转发其他簇首的数据。簇成员负责获取现场数据并发送到簇首。
2 无线HART数据链路层协议
无线HART数据链路层包括逻辑链路层协议(LLC)和介质访问控制层协议(MAC),数据链路层主要定义数据帧格式,介质访问控制层主要负责管理和协调通信资源的分配和使用。
2.1 逻辑链路层
2.1.1 帧格式
其中,地址指示为无线HART网络支持两种地址格式,一种用于局域网的短地址,一种用于广域网的长地址。其中短地址由16位二进制组成,用户可自行定义:长地址由64位二进制数组成,64位中高24位表示设备ID,低24位表示0UI地址(由IEEE STD 802.15.4协议分配,其中无线HART的OUI地址为0x00181E),中间16位表示设备类型(设备生产厂家确定);时序号为绝对时序号的最低8位;网络ID为无线HART根据网络应用类型确定的网络ID号:数据包指示为数据包指示由8位二进制数组成,低3位表示数据包的类型,第4位表示网络密钥,第5、6位表示数据包的优先级。
无线HART数据包分为ACK、Advertise、Keep alive、Disconnect、Data5种类型,分为命令、过程数据、一般、报警4种优先级。发送数据来自网络层并需要发送的数据。MIC为网络授权检测。CRC为数据完整性检测。
2.2 MAC协议分析
无线HART链路调度主要通过以邻居表位核心的五张表实现,其中超帧表记录超帧的分配和使用状态;链路表记录链路(通信资源)的分配和使用状态;邻居表记录着节点本身的邻居节点(处于节点单挑通信范围之类的节点称为该节点的邻居节点);路由表记录着多跳网络中的路由信息;缓冲表存储着待发送的数据同时记录优先级以及等待时间等状态。
无线HART网络中每一个节点都支持多个超帧,网络管理者完成超帧的构建和维护,并根据网络需求进行时隙链路的分配。每一个超帧包含一定数量的时隙。超帧一旦建立,网络管理者为该超帧增加、删除、优化链路时隙。一旦分配时隙,超帧应该使能从而允许链路的调度。链接表中一个链接表示一个通信机会,通过链接表实现目标邻居节点的识别,时隙、超帧序列号、发送接收方向、链路类别、信道。邻居表维护并记录着一组能与节点直接通信(单跳)邻居节点,通过邻居表可查询邻居节点地址、时钟源标志、通信数据量、节点最后通信时间、通信节点状态、节点通信优先级。图表提供上行和下行多跳网络的路由信息,其元素主要由多个路由路径节点信息,图标主要由网络管理者实现管理。缓冲表主要用于节点存储待发送数据,记录着数据包的ID、优先级、目的地址类型、保存时间。
3 无线HART数据链路层设计与实现
3.1 通信资源分配
无线HART网络采用频分多址(FDMA)和时分多址(TDMA)混合的信道访问机制。无线HART协议采用集中式资源分配方式,即通信资源由网络管理器统一分配。无线HART网络工作于2.4 GHz射频频段。为了保证系统能在非常恶劣的工业现场通信环境中实时、可靠的工作,无线HART
采用TDMA和FDMA的混合信道分文机制。TDMA技术将每一个时隙复用到2.4 GHz的16个信道上,使系统的有效带宽提高了16倍。
为了进行资源分配,首先建立通信资源矩阵。纵坐标表示信道频率,横坐标表示时隙,矩阵中的每个单元表示一个通信资源,每个通信资源用频率和时隙的二元组来唯一标示。每个矩阵元素包含如下通信资源和链路的信息:占用标志位,链路的源节点、链路的目的节点、链路的类型。矩阵中每个元素都被初始化为0,当某个通信资源已经被分配,矩阵中对应元素的占用标志位被置为1,并填充相应的通信资源信息。
无线HART网络中,通信资源有NORMAL、ADVERTIS、JOIN和DISCOVERY 4种类型,NORMAL通信资源主要用于过程数据和管理命令的传输,ADVERTISE通信资源用于广播网络信息以方便新节点加入网络,JOIN通信资源用于新设备加入,DISCOVERY通信资源用于邻居发现。其中NORM-AL类型的通信资源与路由路径相关,其他的资源都与路由路径无关,重点考虑NORMAL通信资源的分配。NORMAL通信资源分配以所建立的拓扑结构为基础,以图表和邻居表为分配图,根据所建立的两层结构进行两层分配。
1)簇内通信 簇内所有的通信节点的通信资源位于矩阵的同一行,并按照时隙进一步分配。对于下行通信,每一资源的源地址为簇首节点,目的地址为节点地址;对于上行通信,每一分资源的源地址为节点地址,目的地址为簇首节点。
2)簇间通信 簇间通信主要是负责簇首与网关之间的通信,而其资源主要占据矩阵中两行,其中上行网络通信资源,一行为下行网络通信资源。在资源不满足的情况下,可以根据资源分配的具体情况进行拓展,但必须以双行网络为前提,而且上行还有下行资源不能占据同一个时隙。分配的路径以图表和邻居表为分配路径,进行上行和下行节点的分配。
3.2 时间同步实现
整个网络的时钟同步对于无线HART的TDMA通信是十分必要的,设备间的时钟偏移是不可避免的,TDMA网络节点实现全网完全同步并不现实,而且精确度越高能量消耗就越大,因此无线HART节点需要在精确度与能耗之间取得平衡,在满足网络TDMA时隙通信要求的基础上尽可能的降低能耗。
无线HART为工业环境的无线通信协议,其对稳定性、可靠性有着比一般通信网络更高的要求;而无线HART作为一个mesh的无线通信网需要实现全局的时间同步,但是由于硬件设备以及能量等问题,使得传统的有线时间同步的算法以及常规的WSN时间同步算法无法在无线HART中实现。为此以最小能耗为设计目标,设计一个多层次、全局、不问断的同步策略应用简易但有效的同步算法实现无线HART-TDMA时间同步。图1为相邻节点通信。
图1中描述了无线HART节点A与节点B间的一次通信,节点A在T1时刻发送一个数据包给节点B,节点B在T2时刻接收到A所发送的数据包,节点B在T3数据包发送一个应答数据包,节点A在T4时刻接收到B所发送的应答数据包。T1、T2、T3,T4为节点时钟,四者存在以下关系:
式中,表示A到B的时间延迟,表示B到A的时间延迟。在整个通信过程中,延迟主要发送在层与层间数据传送以及点与点之间数据传输过程中。式(1)中以及式(2)中分别表示T1时刻节点A对节点B的时钟漂移和T4时刻节点A对节点B的时钟漂移,尽管由于环境因数(如温度、压力等)的影响,时钟漂移每一个时刻都在发生,二者并不完全相等,但一般情况二者一次通信进行的时间间隔较短,可以认为二者几乎相等。同样假定和相等。