1 引言
无线传感器网络(Wireless sensor network)是由大量体积小、成本低的传感器节点(Sensor node)构成的无线网络[1]。节点通过内置的各种类型传感器收集外部环境中的声音、图像、温度、湿度、压力和地震波等信息,以无线短距离、低功耗、多跳的通信方式,将采集到的数据传输到数据处理中心。传感器节点为了达到缩小体积、降低成本和功耗的目的,它可使用的实际资源很受限制;此外,传感器节点通常需要连续工作很长一段时间,在无法经常人力修复的情况下,一旦节点损坏或是电源失效的情况下就不能得到准确的监测数据。因此,无线传感器网络的主要设计目标就是在非常有限的硬件资源约束下,实现低能耗、低成本的平台。本文根据无线传感器网络的特点,基于TinyOS操作系统,对无线传感器网络平台的硬件和软件实现给出了详细的解决方案。[1]DSP2407开发板
2 TinyOS简介
TinyOS是美国加州大学伯克利分校专门针对无线传感器网络设计的开源操作系统,它采用面向组件的结构确保快速响应和执行,同时减小了代码大小(一般核心代码和数据大概在400Bytes左右),能够突破传感器存储资源少的限制。。它运行在每个传感器网络节点上,是上层应用和协议运行的前提。TinyOS提供一系列可重用的组件,一个应用程序可以通过连接配置文件将各种组件连接起来,以完成它所需要的功能。基于TinyOS的开发者可以选择所需要的组件,组件库包括网络协议、分布式服务、传感驱动器和数据采集工具,这些组件都可以作为进一步开发的基础[2]。DSP2407开发板
3 系统的硬件实现
无线传感器网络中的节点大致可分为两类:一类是传感器节点,它的作用是采集周边环境数据,进行相应的存储及处理,并通过短距离无线通信把消息发送到网关节点,同时,每个节点都是一个路由器,具有自组网的能力;另一类是网关节点,它的作用是充当网关,连接传感器网络和其它外部网络。本文主要介绍的是传感器节点的硬件平台,下面是该平台的硬件实现。
传感器节点的硬件平台一般由以下几部分组成:传感模块、处理控制器模块、通信模块和电源模块组成[3],如图1所示。
图1 无线传感器节点结构
传感模块由不同类型的传感芯片组成,负责进行采集感知对象的信息,采集到的数据经过A/D转换送往处理控制模块;处理控制模块包括微控制器(MCU)、存储器等,处理控制模块实现数据的分析、处理和存储等功能,并控制整个传感器节点的运行;通信模块负责建立无线信道,实现节点间的短距离无线通信;电源模块为系统各模块提供运行时所需的能量。
3.1 微控制器
本系统中,传感器节点的处理控制模块采用的是TI公司的MSP430F1611单片机,它是MSP430系列单片机的一种。MSP430系列单片机是TI公司推出的16位系列单片机,由于它具有极低的功耗、丰富的片内外设和方便灵活的开发手段,最近几年在国内得到了很广泛的应用。MSP430系列单片机最显著的特点就是它的超低功耗,在1.8~3.6V 电压、1MHz的时钟条件下运行,活动模式时耗电电流仅为280µA,在等待模式时耗电电流仅为1.6µA,关闭模式下仅为0.1µA,并且具有五种省电模式以及很短的唤醒时间,仅需6µS内就可从等待状态唤醒[4]。同时,MSP430F1611带有60 KB+256字节FLASH,2 KB RAM,可以方便高效地进行在线仿真和编程。MSP430 还具有多个AD接口和I/O 数据线,外部不用扩展存储器和I/O 口,外围设备得到了简化。DSP2812
3.2 射频模块
传感器节点通信模块的功能由Chipcon公司的CC2420射频收发器实现。CC2420是一款符合IEEE802.15.4标准的射频收发器,它基于Chipcon公司的SmartRF 03技术,以0.18µmCMOS工艺制成,只需极少外部元器件,性能稳定且功耗极低。
CC2420工作的工作频带范围为2.400-2.4835GHz;它采用IEEE802.15.4规范要求的直接序列扩频方式,数据速率达250kbps,码片速率达2Mchip/s;它具有超低电流消耗(RX:19.7mA,TX:17.4mA),高接收灵敏度(-94dBm)和很强的抗邻频道干扰能力(39dB)等指标;采用低电压供电(2.1-3.6V),且输出功率编程可控;IEEE802.15.4 MAC层硬件可支持自动帧格式生成、同步插入与检测、CRC校验;它采用QLP-48封装,外形尺寸只有7*7mm2。[8]
3.3 传感模块
传感模块采用了加速度传感器ADXL210与温度传感器AD7416。ADXL210可测量双轴向加速度,输出循环数字信号,还可与单片机直接接口,无需放大电路;它的功耗低于0.6mA,单电源供电范围为+3~+5.25V;测量范围为±10g。MSP430F1611的定时器Timer_A有三个捕获器,可以选择两个用于对ADXL210输出的两路循环数字信号进行测量,实现与加速度传感器方便的接口。DSP2812
AD7416是一种10位温度数字转换器;它具有漏极开路超温掉电输出;I2C兼容的串行接口;可选的串行总线地址,允许在单一总线上连接多达8个AD7416;低功耗掉电方式(典型2mA);400ms更新速率;-55℃~+125℃温度测量范围等特性。
3.4 电源模块
本系统使用两节Panasonic公司生产的CR2054干电池为节点供电,CR2054储存了560mAh的电能,且体积较小。通过测试发现,节点接收数据和发送数据大致相等,在每个节点每隔3分钟与网络交换一次同步信号的情况下,节点寿命能达到大约三年的时间。