微波EDA网,见证研发工程师的成长!
首页 > 通信和网络 > 通信网络技术文库 > 无线HART数据链路层设计与实现

无线HART数据链路层设计与实现

时间:08-07 来源:电子设计工程 吴志盛 刘 枫 点击:

请求,若待定表中已无空余空间,调用失败,否则数据包进入待定表中的同时查询等待表是否存在相同目的地址的高优先级数据包,若不存在,数据包进入等待表中等待发送,否则保存在待定表中,待发送表根据目的地址的类型进行查询,邻居地址查询邻居表、图地址查询图表的基础上再查询邻居表,最终邻居地址、图地址、广播地址、代理地址的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单跳网络。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top