杨林举 詹宜巨 王荣杰
无线传感器网络技术融合了无线通信、计算机、传感器和微电子等多个学科领域,由传感器节点和读写器组成。传感器节点可以感知现实世界中的物理量,能量有限,工作可靠;读写器具有更充足的能量,主要负责收集传感器节点的信息并发送到控制终端。安装有温度传感器的无线传感器网络布线灵活、功耗低并能在恶劣环境下工作,在环境监测、温室控制和冷链监控等领域具有广阔的应用前景。
目前,无线传感器网络领域已经有国内外学者做了大量研究工作,并取得成果。周铭等人设计一种超高频无线温度传感系统,该系统传感器节点的控制芯片采用 LPC938,传感器采用数字温度传感器DS18B20,精度可以达到 0.125℃,射频模块采用nRF2401,系统使用了硬件本身提供的低功耗功能实现节能[1]。梁健等人设计一种基于GSM无线传输的温室温度监控系统,该系统采用GSM通信方式将温度信息通过手机短信发送给管理人员,管理人员通过手机短信就可以实现数据查询和参数修改等功能,该系统的传感器节点通过有线(RS232总线)通信的方式将采集到的温度数据发送到控制终端[2]。王明合等人设计一种基于 Zigbee的温度无线传感器网络,该无线传感器网络采用 PIC18F4580微控制器芯片和CC2420无线芯片搭建,工作于2.4GHz频段,采用Zigbee协议组建星形无线传感器网络,通过分站节点将温度探头所采集的温度信息发送到中心节点来实现温度检测[3]。Hu H.等人设计一种基于CC430芯片的无线火灾探测器,传感器节点包括一氧化碳传感器、烟雾传感器、温度传感器等多个类型的传感器,节点内的软件包括组网协议和BP算法等,探测器的传感器节点通过BP算法对采集到的数据进行计算,直接判断是否发生火灾[4]。
由 DASH7联盟倡导的 DASH7技术基于ISO18000-7标准,采用433.92MHz的ISM频段进行通信,具有功耗低、通信距离远的特点。采用DASH7技术的无线信号可穿透墙壁、混凝土和水等物质[5]。因此本文采用 DASH7技术构建温度无线传感器网络。作为DASH7联盟的成员,TI公司的CC430系列芯片支持DASH7技术,其中CC430F5137芯片集成了MSP430微控制器核和CC1101射频核,采用超低功耗设计,支持不超过1GHz频率的无线通信,并具有射频发射功率可调的功能,非常适合在无线传感器网络中使用[6]。
本文采用DASH7技术,以CC430F5137芯片为主控芯片,设计出温度无线传感器网络。
本文提出的温度无线传感器网络采用星形拓扑结构,如图1所示,主要由传感器节点和读写器组成。读写器通过无线通信方式访问传感器节点收集温度信息,通过 RS232总线与控制终端通信,向控制终端发送收集到的温度传感器数据。传感器节点通过无线通信方式应答读写器,通过AD转换获取传感器信息,并将该信息回传到读写器,工作过程如图2所示。
为了实现传感器节点和读写器之间可靠、有效、快速地进行无线通信,两者之间需要遵循一定的协议。传感器节点的能量仅由一块不可充电的电池供应,非常有限;而读写器的能量来自电网供应。本文提出一种通信协议,也对通信中的能量消耗进行了优化,将在第四部分介绍此内容。
图1 温度传感器网络拓扑结构
图2 温度传感器网络工作流程
读写器和传感器节点均选用 CC430 F5137,CC430F5137芯片内部包含 16位的微控制器核MSP430和射频核CC1101,两者之间通过专用的命令和数据通道进行通信。芯片内的UCS统一时钟模块可以向芯片提供三种可用的标准数字时钟信号:辅助时钟 ACLK、主时钟 MCLK和子系统主时钟SMCLK。功率管理模块PMM 主要通过对三种时钟信号的开、关状态进行控制,从而实现对整个芯片的功耗控制,提供了功耗从高到低的五种低功耗模式:LPM0、LPM1、LPM2、LPM3、LPM4。此外芯片具有ADC模数转换器模块、REF参考电压模块、TimerA定时器等等功能。CC430F5137的主要功能模块如图3所示。
图3 CC430F5137主要功能结构
芯片中的射频核CC1101是一个提供1GHz以下频率的无线通信核,也采用低功耗设计,通过控制CC1101核的时钟源可以将其关闭或者打开,其内部硬件结构已经实现射频收发功能。射频核CC1101支持休眠、空闲、发送和接收等状态转换的内部状态机,发射功率在一定范围内可调,具有自动唤醒功能[7]。
CC1101核受MSP430核的控制,二者之间的通信通过四组寄存器 RF1AINSTRx、RF1ADIN、RF1ADOUT、RF1ASTAT实现。MSP430核通过RF1AINSTRx向射频核发送命令,通过RF1ADIN向射频核发送需要被处理的数据,射频核执行命令、处理数据的结果通过RF1ADOUT返回给MSP430核,同时将执行的状态写入 RF1ASTAT。这样就可以设计满足要求的无线通信功能。
本文提出的温度无线传感器网络采用热敏电阻作为温度传感器,读写器选择增益较大的弹簧天线,传感器节点选择体积较小的陶瓷天线,总体结构如图4所示。
图4 传感器节点和读写器结构图
软件部分主要是温度无线传感器网络的通信协议。根据硬件提供的资源,在物理层上选择433.92MHz的载波频率,调制方式选择GFSK。数据包采用可变长度格式,选择4字节前导码,4字节同步子,拥有地址、数据长度和CRC校验和字段,如图5所示。使用地址字段,接收方可以利用芯片内的硬件资源判断数据包中的地址是否与自己的地址匹配,如果匹配则继续接收,否则自动过滤掉该数据包。使用CRC校验和字段,发送方芯片在发送数据时自动计算校验和,并把校验和附加到该字段,当接收方芯片收到数据包的时候自动根据 CRC校验和进行CRC 校验[8]。
图5 数据包格式
文献[6]中,TI公司提供的CC430芯片的发送与接收电流消耗均在17mA以上,而休眠时最低可到达1.0μA。因此,实现降低系统功耗需要减少发射与接收的时间,延长休眠的时间。温度无线传感器网络基于星形拓扑结构, MAC协议选用TDMA比较合适。读写器首先广播同步消息,实现全部节点在时间上同步,然后为每一个传感器节点分配时隙。传感器节点在给定的时隙内与读写器通信,完成传感器数据采集,其他时间则处于休眠状态,达到降低功耗的目的,下一个时隙到来的时候由传感器节点内的定时器将传感器节点唤醒,继续与读写器进行通信。
无线传感器网络中传感器节点能量非常有限,节能是一个非常关键的问题,已经有学者对无线传感器网络协议的能耗进行研究[9,10]。由于所有传感器节点在空间中随机分布,到达读写器的通信距离差别较大,对传感器节点的发射功率需求不同,能量消耗也不同。距离读写器较近的传感器节点需要较低的发射功率,距离读写器远的传感器节点则反之。在保证可靠通信的前提下,如果全网中的传感器节点采用同一功率发射,将造成部分节点的能量浪费。因此本文针对星形拓扑结构的无线传感器网络提出一个能量模型,在此基础上对传感器节点的发射功率进行优化,达到节能的目的。
提出的传感器节点能量模型如下:
式中,Ptr是发射功率;Ttr是发射1bit数据需要的时间;Etr是发射nbit数据消耗的总能量;Prev是接收功率;Trev是接收1bit数据需要的时间;Erev是接收nbit数据消耗的总能量。
读写器能量无限,将读写器的发射功率调到最大即可,不需要再作调整。温度无线传感器网络在开始收集温度数据之前,所有传感器节点需要进行发射功率匹配,发射功率在minPtr~maxPtr范围内可调,匹配步长设为Pgap,匹配过程如下:
① 传感器节点在自己的时隙内向读写器发送一个匹配指令数据包;
② 读写器收到匹配指令数据包后在一定的时间内马上向传感器节点回传确认数据包;
③ 如果传感器节点在一定时间内收到读写器回传的确认数据包则继续,否则进入第④步。将自己的发射功率减少Pgap,如果减半后的功率小于minPtr,则将发射功率设为minPtr,进入第⑤步,如果匹配轮数超过maxC则进入第⑥步;
④ 如果是首轮发射功率匹配,则将自己的功率增大到maxPtr;否则将自己的发射功率设为上一轮匹配前的发射功率。进入第⑤步,如果匹配轮数超过maxC则进入第⑥步;
⑤ 一个轮次的功率匹配结束,计算剩余能量和通信覆盖半径,进入第①步进行下一轮次匹配;
⑥ 整个功率匹配过程结束,所有传感器节点按照匹配后的发射功率进行通信。
其中maxi为一个传感器节点的功率匹配最大轮次数,maxC越小,则温度无线传感器网络越快速完成功率匹配,进入温度采集状态。设计一个评价函数,通过仿真计算出最优的功率匹配最大轮次数maxC。
最优的maxC必须满足:① 传感器节点的剩余能量尽量多;② 传感器节点通信覆盖半径与距读写器实际距离之差的绝对值尽量小。每轮匹配结束,记录传感器节点的剩余能量RE,通信覆盖半径r。由r可以计算出该节点与读写器间的实际距离之差d。因此设计评价函数F:
式中与分母相乘的数字1000是为了调整计算的精度,F将随着匹配轮次的增加而变化。当F达到最大值,此时传感器节点的剩余能量较多,同时传感器节点通信覆盖半径与距读写器实际距离之差的绝对值较小。仿真计算共进行60个轮次的功率匹配,计算出所有轮功率匹配中所有传感器节点的平均评价函数值,记为meanF,如图6所示。
从图6中可看出评价函数的平均情况,平均评价函数随着匹配轮次的增加首先呈上升趋势,然后到达第16次匹配时达到最大值,之后开始震荡,震荡的峰值逐次递减。从全网络的平均情况看,评价函数在第16次匹配时达到最大。因此可得每个传感器节点的发射功率匹配最优轮次数为maxC=16次。
将上述协议用 C代码编译后运行在前文提出的硬件系统中,读写器通过发送同步广播数据包,实现全网时间同步,然后为每个传感器节点分配时隙,每个传感器节点在自己的时隙内与读写器进行16次匹配,所有传感器节点匹配结束后,传感器节点开始进入各自的时隙内向读写器发送温度数据。经测试,该系统具有工作可靠、功耗低、使用寿命长的特点。
本文提出了基于 DASH7技术的无线传感器网络,该系统基于星形拓扑结构,节点上安装有温度传感器,实现温度信息采集。在软件上,系统遵循选用硬件提供的物理层通信协议,设计了基于TDMA的MAC层协议,同时优化了传感器节点的发射功率,实现节能。在实际应用中,该系统可以实现可靠的温度监控,功耗低。但是该系统的通信距离不理想,下一步工作将研究该芯片的天线设计与阻抗匹配问题。
[1] 周铭,颜锦奎,吉美凤.超高频无线温度传感系统[J].传感器与微系统, 2007, 26(7): 96-98.
[2] 梁健,戈振扬,齐亚峰.基于 GSM 无线传输的温室温度监控系统的设计[J].湖南农业科学,2010,(7):135-136.
[3] 王明合,王立华.基于Zigbee的无线温度传感器网络设计[J].微计算机信息(嵌入式与SOC),2010,26(7-2): 68-70.
[4] Hu Haibing, Wang Jinjun, Fang Jun. Design A Low Power Wireless Fire Detector Based on CC430[C]. 2010 International Conference on Intelligent Computation Technology and Automation. Changsha, China: IEEE,2010:1107 - 1110.
[5] http://www.dash7.org.
[6] CC430F5137.pdf. http://focus.ti.com/docs/prod/folders/print/cc430f5137.html.
[7] CC1101.pdf. http://focus.ti.com/docs/prod/folders/print/cc1101.html.
[8] CC430 Family User's Guide.http://focus.ti.com/lit/ug/slau259b/slau259b.pdf.
[9] Heinzelman W R, Chandrakasan A, Balakrishnan H. Energy Efficient Communication Protocol for Wireless Microsensor Networks[C]. Proceedings of the 33rd Annual Hawaii International Conference on System Sciences. Hawaii, USA:[s.n.], 2000:1-10.
[10] Heinzelman W B, Chandrakasan A P, Balakrishnan H. An Application-specific Protocol Architecture for Wireless Microsensor Networks[J]. IEEE Trans. on Wireless Communications, 2002, 1(4):660-670.