无线传感器网络时间同步协议的实现
2.2 时间同步协议的实现
在确保了每个节点都有了高精度的本地时间后,就可以进行时间同步协议的实现,使整个网络中各个节点的时间误差在一定允许范围内,时间同步协议的实现是建立在网络正常通信的前提下,具体是在应用层完成的,底层为用户提供的一个8 bit的接口,可以将要发送和接收的数据通过8 bit的接口来与网络层通信。发送数据的长度由安全层是否使用安全认证来决定。
时间同步主要依靠节点之间的通信,每次校时都是从节点发起的。首先,从节点向主节点发送同步命令,其次,主节点将自己收到同步命令的时间和响应从节点的发送时间通过单播方式传回给从节点,从节点依靠自身的两个本地时间(发送同步命令时间和接收到主节点响应的时间)以及接收到主节点的两个时间,可以汁算获取到通信延迟Delay和主从节点的偏差Offset,通过这两个量从节点就可以自行调整自己的时间,已达到与主节点的时间同步。
主节点主要是在形成网络后,监听信道,等待从节点的校时同步命令,再将收到同步命令和发送响应的两个时间发送个从节点。从节点主要是在加入网络成功之后,向其父节点发送同步命令(发送前记录发送时间),监听信道,有数据就记录时间,在判断是不是同步命令的响应。如果是就通过时间同步算法进行计算Delay和Offset,在获取从节点的当前时间,通过调整时间公式进行调整自身时间。
主从节点的具体流程如图6和图7所示。本文引用地址:https://www.eepw.com.cn/article/159475.htm
将程序下载后,将两个节点的定时器的比较输出管脚PA3连接到示波器的CH1、CH2上,就会获得未校时前的情况,两个时钟没有重合在一起。等待一会,就回出现校时后的结果,两个时钟重合在一起。具体实验验证两个节点的时间同步情况如图8所示。
3 结束语
ZigBee具有超强的生命力和优势,应用前景好,值得广大嵌入式应用的技术人员关注,并加入到它的应用行列。时间同步技术的研究是ZigBee无线传感器网络在实际应用中最需要关注的一个关键技术。
评论