微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于无线通信的温度监测系统的设计

基于无线通信的温度监测系统的设计

时间:03-16 来源:互联网 点击:

单处理后传送给监控计算机,监控计算机负责数据的保存和温度值的显示。



图3 二级节点和主控节点硬件结构

4 通信协议的设计

系统采用如图1所示的分层结构,主节点采用数据请求工作方式,按顺序对二级节点进行数据请求,二级节点收到数据请求命令后,将采集的数据交给主节点统一处理,主节点把带有传感器地址的温度数据传送给上位机。NRF905每次只能收发32字节数据,因此底层传感器节点并不是无限多,根据DS18B20的通信协议,DS18B20采集的温度数据是用两个字节表示,而每个传感器有唯一的1字节地址,这样每个传感器传送给二级节点的数据都是三个字节,即两个字节的温度数据和一个字节的地址数据。二级节点一次最多传送32字节数据,为了保证数据传送的稳定性, 该系统每个二级节点对应10个底层传感器节点,共构建了20个二级节点,系统总的底层传感器节点的数目是200个。本系统的所有节点的通讯都是同一信道,当出现多个节点同时传送数据的情况时,会形成相互间的干扰导致数据无法正确的接收,因此需要一种机制来合理的分配信道资源,减少数据冲突。基于NRF905通讯的特点,即两个NRF905模块必需具有相同的频段和地址才能通讯成功,设计了通信协议,通信协议的算法如下:

(1)主节点M采用轮询数据请求工作方式,按顺序对二级节点进行数据请求,主节点对每一个二级节点发送完请求数据命令后都会进入信道侦听状态,一定的时间间隙T内主节点一直处于侦听信道状态。

(2)二级节点侦听信道,接收来自主节点的数据请求命令, 收到数据请求命令后结束侦听,发送应答信息。

(3)二级节点采用类似主节点M的工作方式,按顺序对传感器节点进行数据请求,二级节点对每一个传感器节点发送完请求数据命令后都会进入信道侦听状态,一定的时间间隙Tm内二级节点一直处于侦听信道状态。

(4)传感器节点侦听信道,接收来自二级节点的数据请求命令,收到命令后,结束侦听,发送温度数据信息。

(5)二级节点与传感器节点进行数据传输,接收数据包。

(6)主节点与二级节点进行数据传输,接收来自二级节点的数据包。

(7)主节点与监控主机通信,传送各个传感器节点采集的温度数据和传感器地址。

数据在系统中无线传输必须有统一的格式,数据包格式如下:



  其中,前导码由器件自动添加,占用1个字节;目的地址是表示数据包要到达的目的地址,占用1个字节;数据属性用来说明该数据包是数据包还是命令包,占用一个字节;有效数据包括节点的采集信息和地址信息可设定最大为32个字节; CRC校验系统自动完成,本系统采用16位CRC校验占用2个字节。

主节点发出的通信数据包格式如下:


其中,目的地址是二级节点的地址,命令字是指请求数据命令,用0AH代表数据请求命令,占用一个字节,有效数据长度为空。

二级节点的应答数据包格式如下:


其中目的地址是主节点的地址,应答字用0BH表示,占用1字节,有效数据长度为空。

二级节点发出的带有采集点数据的包格式如下:


  其中目的地址是主节点的地址,数据标志用0CH表示,占用一个字节,有效数据长度包括传感器节点的温度数据和传感器地址数据,占用30个字节。

系统中所有的节点都工作在同一信道,同一时刻只能有两个节点通讯,并且只有在主节点对某一节点有数据要求时通信才会连接,其他时间双方都处于未连接状态,通讯协议的实现有效避免了数据的冲突,降图4 主节点程序流程图低了系统功耗。



图4 主节点程序流程图

5 软件设计

遵循通信协议,本系统的软件程序主要包括主节点的程序设计,二级节点的程序设计和底层传感器的程序设计。主节点程序负责整个系统的协调工作,系统的数据请求命令都是由主控节点发出,数据的汇总最后也都是有主控节点完成。二级节点程序在整个系统起中转作用,底层传感器程序只负责数据的采集和发射。遵循通信协议,在进行各节点的程序设计时系统要有一个统一的规划,系统为除了主节点外的每个NRF905 模块都分配一个不同的地址,整个系统共有220个NRF905模块,对应了220个地址,地址的配置是实现整个通讯协议的关键。NRF905通讯的特点是两个NRF905模块必需具有相同的频段和地址才能通讯成功,这200多个具有不同地址的模块要通讯成功必须严格遵守软件流程,并且除了主节点以外其他各个节点在开机的时候NRF905都被配置一个唯一的地址,且置为接收模式。

主节点程序设计是整个通讯的关键,二级节点的软件设计思想和主节点程序设计相同。主节点程序流程图如图4所示,主节点控制器初始化NRF905模块,配置NRF905的地址为二级节点1的地址,主控制器置NRF905为发射模式,发送数

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

网站地图

Top