- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
无线HART数据链路层设计与实现
通过式(1)和式(2)可得出延迟时间以及漂移时间:
节点将根据式(3)和式(4)所求出的延迟时间以及漂移时间进行时钟的主动同步与被动同步。
时钟同步由两步骤完成,首先选取时钟源,网络管理节点作为时钟服务器,并选取若干节点作为网络时钟源:然后在同步过程,每一个节点通过与时钟源进行被动或主动的时钟同步。其中,主动同步为当高层节点向低层节点发送数据时,低层节点记录数据包实际到达时间与计算达到时间的偏移调整本地时钟;被动同步为当低层节点向高层节点发送数据时,底层节点等待并接收高层节点的应答数据包,并利用应答数据包中所包含的时钟偏移信息进行时钟调整。
高层节点发送邀请数据包,待加入节点接收邀请数据包并完成一次被动同步过程;高层节点发送侦听数据包,判断临近节点是否处于网络并完成一次被动同步过程;低层节点通过接收一次数据包完成一次被动同步过程;底层节点通过接收高层节点的应答数据包完成一次主动同步过程。整个同步网络低层同步高层,整个网络时钟以根时钟源为基准实现整个网络的时钟同步。根时钟源可根据实际情况采用可行方法(如GPRS等)与理想时钟同步。
3.3 数据链路调度实现
3.3.1 调度
数据链路层在实现无线HART网络全网时钟同步的基础上,主要负责链路的调度,控制着数据的发送和接收,从而保证网络的正常通信。链路调度通过查询活动超帧表、链接表、数据等表从而决定下一个将要通信的时隙。所有的接收链接将会被允许通信。网络层发出发送数据请求,若待定表中已无空余空间,调用失败,否则数据包进入待定表中的同时查询等待表是否存在相同目的地址的高优先级数据包,若不存在,数据包进入等待表中等待发送,否则保存在待定表中,待发送表根据目的地址的类型进行查询,邻居地址查询邻居表、图地址查询图表的基础上再查询邻居表,最终邻居地址、图地址、广播地址、代理地址的4种都将查询链路表获得相应链路并设置为发送类型(TX=1),之后进入等待状态。
当ASN到达相应时隙,数据包根据TX\RX的值进入发送、接收、休眠状态。如图2所示。
3.3.2 状态机
图3为TDMA状态机,该状态机建立在逻辑链路层所建立的四张调度表以及调度机制的基础上,TDMA状态机开始于节点加入无线HART网络,加入的同时建立状态机所需要的超帧表、图表、链路表,开始从邻居节点接收数据并以此为基础建立邻居表。节点维护存储着一列待发送数据包,当一个发送时隙发生,节点将会尝试发送数据包。发送数据包包括发送数据包和接收ACK应答两个过程。当一个发送时隙产生,进入发送状态。成功发送一个广播地址的数据包在数据包发送之后结束,并从等待表中删除。成功发送一个非广播地址的数据包,节点将等待ACK应答数据包,ACK数据包将表明数据包是成功接收还是出现接收错误。如果目的地址是广播地址,将不会有ACK应答数据包,发送完成并进入空闲状态进行调度表的更新;成功发送一个非广播地址数据包,进行数据完整性和权限完整性检验,TDMA状态机进入等待ACK状态,如果无ACK应答表明发送失败。如果是一个共享链接,将启动重发机制,若最终依然失败,进入空闲状态更新调度表。如果一个ACK应答数据包被成功接收,节点根据ACK确定发送是否成功,若发送成功,进入空闲状态更新调度表。如果显示发送错误,将启动重发机制。所有的接收链接都将在没有发送请求的基础被全部服务,节点接收数据有三种可能:1)数据包的目的地址就是节点地址;2)数据包目的地址是路由地址;3)数据包目的地址非以上两种情况。每一次接收数据,邻居表都将被更新维护。
4 结论
以无线HART协议为基础根据工业现场的特点,设计并实现了数据链路层协议模型。在以无线HART适配器节点为平台的实验结果表明,模型所实现的时钟同步精度达到30μs,满足工业现场要求的前提下降低了节点的能耗,以模型为基础的无线HART节点成功组建形成无线HART单跳网络。
来源:维库开发网
上一篇:无线小容量站点动力配套方案的现状及建议
下一篇:实现高质量的室内覆盖