无线传感器分簇网络实验系统设计

2013-08-31 06:08杨卫军
实验科学与技术 2013年4期
关键词:能量消耗报文串口

杨卫军,许 哲,樊 莉

(第二炮兵工程大学 理学院,西安 710025)

当前无线传感器网络(Wireless Sensor Network,WSN)被大量铺设,可以实时监测、感知和采集环境数据。传感器节点通过自组织的无线通信方式,相互传递信息,协同完成特定功能[1-2]。由于节点能量有限,网络各节点要求低能耗[3-4],而持续无线发射、无线通信和系统运行将会有比较大的能耗。因此,必须设计合理的分簇拓扑结构,减少整个网络数据通信量,降低能量消耗。设计的分簇网络结构是否合理,除了进行工具软件仿真验证之外,也必须建立实际的实验系统,通过网络的实际运行考察结构和算法的优缺点。本文介绍了针对设计分簇网络结构和算法建立的实验系统的通信协议和节点硬件、主机软件实现方式。

1 无线分簇网络系统

在无线网络系统中一般采用分簇网络结构,在该结构中每个簇由一个簇头节点和多个簇叶节点组成,簇头节点负责簇间数据的转发、协调和管理,使簇内各节点合理工作。依据所采用的分簇算法,簇头可以预先指定,也可以由网络按照分簇算法自动选举产生。实验系统中簇头节点将数据传输到主机节点,主机节点进行实时计算网络能量消耗、绘制数据传输路由和簇头节点分布,如图1所示。为分析分簇网络的性能和算法的合理性,实验系统重点对四点进行分析。

图1 分簇网络结构

1.1 簇叶、簇头节点的确定,簇头节点的负载

传感器节点采集数据之后以多跳中继方式将数据传送到簇头节点,簇头节点将收集到的数据传送至主机节点进行处理。因此,建立合理的簇分布,均衡簇的大小,使簇头节点能合理完成通信任务,不至于负担过重。

1.2 整个网络的覆盖通信能力

由于节点的分布范围较广,簇头节点作为路由和转发节点,其通信必须能够覆盖整个网络。

1.3 网络改变,分簇重构能力

网络动态性强,因为传感器节点出现故障或失效、无线通信链路带宽变化或者节点移动性、新节点加入,都会导致网络的拓扑结构发生变化。

1.4 分簇网络中的能量消耗

网络中的簇头节点由于承担较多的通信任务,所以能量消耗较大。因此,必须实时衡量网络的能量消耗,根据节点的现有电池能量合理切换节点,均衡整个网络的能量消耗。

实验系统由三个簇头节点和三个簇叶节点组成。

2 通信报文设计

通信报文对通信过程和节点通信处理时间进行记录,并按分簇方式将数据传输到主机节点,数据报文包括数据传输路径、节点能量消耗、簇头和簇叶信息,应用层数据传输协议的数据报文格式见表1。所有报文均采用累加-取反-校验和方式,即从报文头到有效数据域的末字节按字节算术累加,抛弃高位,只保留最后单字节,将单字节取反作为校验和。

表1 数据报文基本格式

3 节点设计

网络节点由主控制器、无线通信模块、A/D转换器、传感器构成。节点硬件结构如图2所示。

主控制器采用TI德州仪器生产的16位RISC超低功耗混合型微控制器MSP430单片机芯片,主程序运行在嵌入式操作系统上,完成传感数据获取、设备状态控制、任务调度、能量计算、通信协议。

图2 节点硬件结构

无线通信模块采用CC2420芯片,CC2420是支持IEEE802.15.4标准的2.4 GHz有源RF芯片,支持数据传输速率250 Kbit/s,有效传输距离(视距直通)不小于50 m,功耗低,并可根据需要进行功率调整。

电源管理芯片采用TPS60210,是由德州仪器生产3.3 V具有低功耗管理能力的线性稳压芯片,集成电池电量监测功能。工作电压:输入1.8~3.6 V;工作温度范围-40℃~+85℃。能够有效地管理相关功能元器件,并延长节点的使用时间。

而传感器根据需要可选用温度、湿度、压力、热量等的传感器。

节点采用动态功耗管理(Dynamic Power Management,DPM),根据工作负载的变化情况将系统中不再使用的组件转入低功耗模式或者关闭[5]。记录各节点各模块的不同状态持续时间,特别是CPU和无线芯片的工作状态,组成能量消耗数据,以发送给主机节点。

4 主机软件系统设计

主机与无线模块通过串口连接,主机软件采用Visaul C++开发,通过串口实时接收数据,依据数据绘制节点路径和节点能量消耗。在软件系统中应用了多线程技术,主要由主线程、无线数据接收线程、显示线程组成。在系统启动时创建主线程,主线程响应用户的菜单栏、工具栏功能选择。无线数据接收线程完成无线节点通过串口发送来的数据,在运行中监测到串口有数据、流控制事件或其他串口事件后,接收数据到字节数组中,并检查是否为一个完整的数据包。如为完整的数据包,就以消息方式通知主线程。主线程对数据包进行CRC检查,检测接收的当前帧号,判断是否丢失数据,并形成返回给无线节点的应答帧。如正确,经格式转换放入浮点数组中,通知显示线程实时绘图,完成一个数据接收过程。节点能量消耗根据发送的报文长度确定,节点除发射时间外处于休眠状态,减少能量消耗。主机节点数据接收流程如图3所示。

图3 主机节点数据接收流程

5 结束语

在该实验系统上可进行分簇算法验证、通信报文设计、路由算法验证、网络时间同步等实验项目。实践证明效果良好。

[1] Heinzelman W.Application-specific Protocol Architectures for Wireless Networks[D].USA:Massachusetts Inst.,2000.

[2]孙利民,李建中,陈渝.无线传感器网络[M].北京:清华大学出版社,2005.

[3]张智广,郭忠文.无线传感器网络中基于分簇的自适应介质访问控制协议[J].计算机应用,2006(11):2528-2530.

[4]姜华,袁晓兵.无线传感器网络分簇网络中MAC协议的研究[J].计算机应用研究,2007(3):265-266.

[5]王晓东.无线传感器网络节能算法研究[D].杭州:浙江大学,2007.

猜你喜欢
能量消耗报文串口
基于J1939 协议多包报文的时序研究及应用
太极拳连续“云手”运动强度及其能量消耗探究
中年女性间歇习练太极拳的强度、能量消耗与间歇恢复探究分析
浅谈AB PLC串口跟RFID传感器的通讯应用
没别的可吃
CTCS-2级报文数据管理需求分析和实现
浅析反驳类报文要点
ATS与列车通信报文分析
数字电源内部数据传输的串口通信方法实现
USB接口的多串口数据并行接收方法探索