文献标识码:A
文章编号: 0258-7998(2013)03-0096-04
无线传感器网络WSN(Wireless Sensor Network)是信息科学的研究热点,它是一种自组织的多跳路由无线网络,通过在监测区域中部署大量低成本的无线传感器节点,节点间协同工作从而实现信息采集和传输。
随着传感器技术、微处理器技术、芯片技术和无线通信技术的发展,以及片上系统SoC(System on Chip)的出现,为无线传感器网络提供了单芯片解决方案,极大降低了无线传感节点的体积、功耗和成本。无线传感网络已被广泛地应用到军事、医疗监护、智能交通和仓储管理等领域。随着物联网应用的推广及成本降低,无线传感器网络将被更广泛的应用[1-3]。
1 系统结构
系统的主要功能包括传感器数据采集、ZigBee组网与通信[4]、网关管理与节点设备无线控制、传感器数据界面显示与计算等。本文主要工作包含无线节点硬件设计、节点程序设计、传感器网络组建和数据协议定义,以及节点低功耗设计。系统基于ZigBee无线通信技术组建树状网络,通过传感器节点采集并组建传感器数据帧,通过多跳路由汇集到网关设备上,实现环境信息监测。
系统网络拓扑结构如图1所示[5-6],系统主要包含了网关设备(协调器,Coordinator)、路由节点和传感器节点以及一些可扩展的接口。协调器主要负责启动和配置整个网络,通过扫描物理信道能量选择一个空闲信道作为网络的信道。路由节点(Router)主要功能为批准其他设备加入网络、多跳路由和协助其子节点完成通信。传感器节点主要为传感器数据的采集与传输。
2CC2530多传感器无线节点硬件设计
CC2530是一款符合ZigBee标准的SoC芯片[7-8],集成了无线电收发器、8051内核、串口、ADC和定时器等外设,利用CC2530作为无线传感器网络解决方案,节点成本、体积和功耗都能够得到大幅度降低。
CC2530射频模块主要完成无线信号的收发功能,负责ZigBee协议相关操作,并控制采集、存储和处理传感器数据。底板由供电模块及调试端口构成,传感器扩展板部署了温湿度传感器SHT11、加速度传感器ADXL202和压力传感器MCS5540。
2.2 CC2530射频模块设计
ZigBee无线通信模块以CC2530为核心,芯片工作电压为2~3.6 V,节点提供了标准I/O接口,容易嵌入到其他设备中,可以替代现有的无线控制方式,并获取设备工作记录。
2.3 传感器模块设计
温湿度传感器采用SHT11,CC2530以P1.6、P1.7分别与DATA和SCK线连接,CC2530通过程序控制实现SHT11控制和读写信号。
加速度传感器采用ADXL202实现,用来采集振动信号,ADXL202E分别从Xout和Yout输出两个方向的加速度信息,以不同的占空比表示,CC2530采用定时器口线P1.3、P2.0与ADXL202E连接,测量其占空比。
气压传感器采用MCS5540,提供气压测量和温度测量,以SCLK、DIN和DOUT组成读写总线,CC2530通过USART 0口与MS5540C连接。
3 基于Z-stack协议栈的节点程序设计
3.1 节点功能分析
节点程序基本功能如图3所示,基于协议栈应用层实现,具体的功能实现按照节点的逻辑关系有所区别。
节点设备输出控制:控制操作的发起者可以是网络中的节点,也可能是节点自己或者网关控制平台。如将ZigBee节点作为温度报警装置的控制器,当节点自身具有温度传感器装置时,节点可以在温度超过设置的范围时发起报警。
低功耗管理为感知节点发送功率自调整机制和休眠机制,以提高对能量的使用效率,避免不必要传输带来的能量损耗。链路检测为支撑子节点管理和节点低功耗管理功能,检测父子节点间链路可靠性、信号质量和获取接收信号强度指示RSSI(Received Signal Strength Indication)值。
3.2 数据结构设计
网络中传输的数据实体在应用层被封装成帧,对于协议栈为透明数据。数据帧在网络中透明传输,只有目的地址节点的相匹配的应用对象可对数据进行解析处理。
(1) 设备描述符数据结构
节点设备简单描述符向协调器报告节点属性、网络地址、扩展地址和节点父节点网络地址,以及支持的设备个数、类型、设备标号和控制/状态等相关信息。设备简单描述符结构如图4。
NWK_Addr锁定源/目标节点,再由C_ID锁定节点上对应设备,从而正确地解析/控制指定节点上特定设备。
(3) 设备控制命令结构
设备控制是对指定节点的指定外设控制的过程,用户可以通过网关发起控制,传感器节点也可以发起控制命令。控制命令结构如图6。
3.3 基于有限状态机的传感器控制程序设计
传感器节点周期性地采集并传输数据,通过进入休眠状态以节省节点能量。应用层程序对象通过osal_start_timerEx( )函数,设置传感器数据采集定时任务,基于有限状态机FSM(Finite State Machine)的程序设计如下。
while( FSMstate_S != IDEL )
{ switch(FSMstate_S)
{ case Sensor_RD_status: //传感器转换
{ if( 转换成功 )
{ ……
FSMstate_S = IDEL; //退出
}
else FSMstate_S = ResetSeriInterface ;
break;}
//其他状态
case ResetSeriInterface: //启动串行总线
{ ……
FSMstate_S= Sensor_RD_status; //转换
break;}
default: FSMstate_S= IDEL ; break;
}//--switch
}//--while
3.4 节点链路失效管理
Z-Stack协议栈的网络层支持节点路由管理和网络,而因突发事件如掉电、失效和重启等引发子节点丢失网络,协议栈没有提供完整的解决方案[10]。
节点失效链路管理,如图7所示为父节点死亡和重启后,造成子节点链路失效的情形。由于父节点因突发原因失效,如被破坏或供电中断等,节点不能通知其相邻节点,从而导致子节点仍然认为其父节点存在于网络中,并不断向其发送数据,若节点采用应答传输机制,则会长时间等待父节点的应答。上述两种情形都会导致子节点与网络的通信不可靠,节点网络地址分配混乱和重复。
节点移动链路管理,如图8为节点移动后造成通信链路中断、功耗增大等问题,如父子节点之间被加入障碍物。感知节点移动后,与R2的距离远远小于与R1的距离,原来只需较小的发射功率则可与R1建立可靠的通信连接,而此时感知节点必须提高发射功率。
父节点返回的匹配消息报告给节点应用层,子节点首先撤销正在执行的定时任务并判断消息。若消息为真则表明链路仍然可靠,并在定时T1结束后设置下一次传感器转换定时。否则节点将重启网络层重新加入网络。
3.5 基于RSSI的节点低功耗设计
无线传感器节点能量消耗主要在于节点无线通信[9],针对网络环境稳定且较少移动的节点,子节点可基于RSSI值调整发射功率,根据节点间的实际信道质量,调整不同节点间的发射功率,避免节点用固定的发射功率时因距离太近而造成能量浪费。
RSSI受节点之间的距离和障碍物等信道质量情况影响,不同的子节点与父节点建立可靠链路所需要的发射功率则不一样。图10所示为子节点与父节点建立最低功耗通信链路的流程,子节点向父节点发送发射功率校正的命令;在接收到父节点返回的RSSI值后,子节点则根据RSSI的大小调整自己的发射功率。
4 系统传输性能实验分析
4.1 点对点传输实验
点对点传输是节点性能的一个重要指标,本文针对节点的数据速率和丢包率做了大量的实验测试。在室内环境下,节点采用3.3 V直流供电,传输距离(视距)>30 m,发射功率0 dBm,收发节点分别统计数据帧,单次测试持续时间10~20 min。获得数据速率与丢包率关系如图11(a)所示。
图示数值为节点多次实验的平均值。当发射速率逐渐增大到21 kb/s时,接收节点丢包率明显增大。由图11可知发射速率低于20.88 kb/s时丢包率为0,速率为22.5 kb/s时丢包率约为6%。可得节点的数据速率实验典型值为20 kb/s。
4.2 多跳通信实验
多跳通信实验设置了源节点为设备终端节点,中转设备路由节点和目标设备协调器组成的2跳网络。测试环境与点对点通信一致,针对数据速率和丢包率完成大量实验,得到的目标节点数据速率与丢包率关系如图11(b)所示。
由图11(b)可知,经路由节点中转后数据传输可靠性大大降低了。在数据发送速率低于0.3 kb/s时丢包率为0,而大于这个值后则逐渐上升。所以在保证丢包率为0的前提下,两跳通信的数据速率的试验值可以达到0.3 kb/s。
本系统完成了以CC2530为核心的多传感器无线节点硬件设计,并基于Z-stack协议栈完成传感器程序设计,同时实现协议栈的低功耗改进和节点链路失效管理。通过实物测试获得节点单跳通信数据速率典型值为20 kb/s,多跳通信典型值为0.3 kb/s,能够较好地满足区域环境信息监测的应用。系统的硬件结构设计充分考虑了扩展性,数据协议定义充分考虑了上位机控制台显示信息的丰富性,支持控制台显示网络拓扑结构、节点设备信息和状态、节点移动动态更新,以及节点设备无线控制。
参考文献
[1] 郑凯.基于ZigBee无线传感器技术的心电监护网络的研究[D].吉林:吉林大学,2008.
[2] 陈涛,刘景泰,邴志刚.无线传感网络应用于研究综述[J].自动化与仪表,2005(7):41-46.
[3] 韩宾,黄玉清.基于蓝牙的机器人传感网络设计[J].通信技术,2008(6):164-166.
[4] GISLASON D. Zigbee wireless Networking[M]. Burlington:Newnes,2008.
[5] Wang Weixin, Sung Jongwoo, KIM D. Complex event processing in EPC sensor network middleware for both RFID and WSN[C]. 2008 11th IEEE, ISORC, 2008:165-169.
[6] Yang Huanjia, Yang Lili,et al. Hybrid Zigbee RFID sensor network for human-itarian logistics centre management[J]. Journal of Network and Computer Applications,2011(34):938-948.
[7] TI. CC253X User Guide.http://www.ti.com.cn.2011.
[8] TI.Z-Stack Developers Guide.http://www.i.com.cn/.2011.
[9] ESTRIN D. Tutorial“PartIV: sensor network protocols. Mobicom,2002. http://nest1.ee.ucla.edu/tutorials/ mobicom02.2011.