基于MSP430F1611的无线传感器…
扫描二维码
随时随地手机看文章
无线传感器网络综合了传感器技术、遥测技术、嵌入式计算技术、分布式信息处理技术和无线通信技术等。它是一种特殊的无线自组织网络,由成千上万的具有感知和路由功能的无线传感器节点组成,能够协作地实时监测、感知和采集各种环境对象的信息,将其通过多跳转发传送回主机进行分析、处理。无线传感器网络作为一种全新的信息获取和处理技术,将在国防军事、反恐抗灾、环境监测、交通管理、工程安全和医疗卫生等领域得到广泛的应用[1]。
本文在简要介绍无线传感器网络节点体系结构的基础上,从实际应用考虑,设计了一种基于MSP430F1611的无线传感器网络节点,详细介绍了节点的硬件设计方案。
1 无线传感器网络节点的体系结构
无线传感器网络节点是网络的基本单元,节点的稳定运行是整个网络可靠性的重要保障。在不同应用中,传感器网络节点的组成不尽相同,但都由数据采集模块(传感器、A/D转换器)、数据处理模块(微处理器、存储器)、数据传输模块(无线收发器)和电源模块(电池、DC/DC能量转换器)四部分组成[2]。被监测物理信号的形式决定传感器的类型,处理器通常选用嵌入式CPU,数据传输模块主要由低功耗短距离的射频收发器组成。因为需要进行复杂的任务调度与管理,需要一个微型化的操作系统,UCBerkely为此专门开发了TinyOS操作系统。传感器网络节点的组成如图1所示。
2 无线传感器网络节点的硬件设计
为了实现对温度、湿度、光等多种物理信息的精确采集,并将采集信息进行采样、数模转换,以及根据应用需求进行相应的处理,把处理后的信息通过多跳转发传送回PC机进行处理;同时为了满足节点寿命和工作性能的要求,综合考虑能耗、传输距离、数据速率、安全性和通用性等因素,本文所设计的无线传感器网络节点硬件平台选用如下设计方案。
数据采集模块选用了Sensirion公司的数字温湿度传感器SHT71以及光传感器S1087和S1087-01;数据处理模块选用了TI公司的16位超低功耗单片机MSP430F1611;无线通信模块选用了RFM公司低功耗、短距离的433.92MHz单频点RF收发芯片TR3000;电源模块采用CR2032纽扣电池为整个节点供电。传感器网络节点硬件平台如图2所示。
2.1 数据采集模块
节点的数据采集部分可以根据实际需要和被监测信号的物理特征选择合适的传感器,如:温度、湿度、光强、压力、振动等,本节点的设计可以对外界温度、湿度、可见光、红外光信号进行精确采集。
2.1.1温湿度数据的采集
本节点的设计采用了Sensirion公司的数字温湿度传感器SHT71[3]。它是一款将温/湿度传感器、信号放大调理器、A/D转换器和总线接口全部集成于一个芯片上的单片全校准数字输出传感器,可以直接提供温度在-40℃~120℃范围内且分辨率为14bit以及湿度在O~100%RH范围内且分辨率为12bit的数字输出。
SHT71采用串行时钟输入线SCK与单片机保持通信同步,串行数据线DATA收发通信协议命令和数据。其控制流程如下:程序开始用一组"启动传输"时序表示数据传输的初始化(当SCK时钟为高电平时,DATA翻转为低电平,紧接着SCK变为低电平,随后在SCK时钟高电平时DATA翻转为高电平);然后发送一组测量命令('00000011'表示温度,'00000101'表示相对湿度)后释放DATA线,等待SHT71下拉DATA值低电平,表示测量结束,同时输出采集数据到MSP430F16ll,读取测量数据后可以通过下式计算出相对湿度和温度值。
温度计算公式为:温度=d1+d2XSOT
相对温度值如下:
相对湿度计算公式为:Rlinear=c1+c2xSORH+c3xS0RH2
相对湿度值如下:
2.1.2 可见光与红外光数据的采集
本节点的设计除了能够对外界环境中的温湿度数据进行精确采集外,还可以通过光传感器S1087和S1087-0l[4]来采集可见光数据和红外光数据。该光传感器是一种陶瓷包装的光电测量计,它的测量输出为标准电流信号,陶瓷封装可用于光密封,因此背光和侧光不能到达测量活动区,从而可以得到可靠的可见光和红外光范围的光信号测量。
从传感器输出的是标准电流信号,由于A/D转换基准为电压,所以ADCl2转换的是电压。因此采集电路通过100kΩ负载电阻将传感器输出的电流信号转换为电压信号后送入MSP430F1611的片内ADCl2模块进行转换,ADCl2转换输出的最大值为4095。
在进行光强值计算时,通过读取处理器转换存储寄存器值可以得到转换结果,由(1)式计算出电压Vin,进而得到电流值。再根据S1087/S1087-01的输出特性曲线得到光强值。图3给出了实际光信号与传感器输出电流信号的关系曲线。
其中:VR+为参考电源正端,VR-为参考电源负端,Vin为ADCl2转换得到的电压值,NADC为处理器转换存储寄存器值。
模拟量采集部分具有一定的通用性,只要连接不同类型的传感器就可以采集不同信号源的数据。
2.2 数据处理模块
数据处理模块是传感器网络节点的核心部分,一方面接收来自传感器的测量数据,按要求对数据进行处理和计算等,交给通信模块发送;另一方面读取通信模块送入的数据信息,对硬件平台其它模块的操作进行控制。
本节点选用TI公司的16位超低功耗单片机MSP430F161l[5]。该单片机电源采用1.8V~3.6V的低电压,RAM数据保持方式下耗电仅为0.1μA,可以在低电压下以超低功耗状态工作。其中48KB Flash存储器可以支持在线编程和仿真,并具有较强的处理能力和丰富的片内外设,具体如下:
看门狗可以在程序失控时迅速复位;16位定时器(Timer_A和Timer_B)具有捕获/比较功能;大量的捕获/比较寄存器可以用于事件计数、时序发生等;多功能串口(USART)可以实现异步、同步和I2C串行通信,可以方便地实现多机通信的应用;具有较多的I/O端口,最多达6x8条I/O口线,Pl、P2端口还可以接收外部上升沿或下降沿的中断输入;12位A/D转换器有较高的转换速率,最高可达200kbps,能够满足大多数数据采集的应用。
单片机的接口电路非常简单,通过片内的A/D通道实现模拟量的采集。通过片内的A/D转换部分不仅可以降低系统设计的复杂性,而且还可以提高系统的可靠性,避免接口的复杂性,同时还可以减小PCB板的面积;设计中采用一般I/O口实现数字量的采集电路接口;其中串口通信通过单片机内的UART。
实现;在单片机的时钟设计上,考虑到通信速率的要求,MSP430F1611单片机采用一个4MHz的时钟信号,该系统的时钟部分均采用晶体振荡器实现;考虑到电源的输入纹波对单片机的影响,在电源的管脚增加一个O.1μF的电容来实现滤波,以减小输入端受到的干扰。
在网络中,节点需要处理的信息和数据大致可分为四类:管理控制信息、网内组网交互信息、需转发的数据和采集的数据。它们在节点中的处理流程如图4所示。
2.3 无线通信模块
基于无线传感器网络所要求的数据传输速率不高及传输距离相对节点能耗控制要求严格的特点,综合研究比较了几类无线收发芯片,选用RFM公司的TR3000[7]来完成通信模块的设计。它是RFM公司推出的一款433.92MHz单频点无线RF收发器,TR3000工作稳定,尺寸小,功耗低,在采用ASK调制方式时最高通信速率可达115.2kbps。在通信速率较低的情况下,通信距离可达100米,是短距离无线数据传输的理想选择。
TR3000可以很容易地与MSP430超低功耗微处理器相连接并通过软件对TR3000进行控制,使其处于不同的工作模式。控制管脚CNTRL0和CNTRL1的状态与工作模式的对应关系为:00一休眠模式;01一OOK发送模式;10-ASK发送模式;11一接收模式。TR3000电路原理图如图5所示。
2.4 串口通信模块
该节点的串口通信模块主要负责PC 机与传感器网络节点之间的通信。在网络中只有网关节点(Sink节点)中含有串口通信模块。Sink节点是网络中所特有的,主要向下级节点发送查询命令,同时散布在外界环境中的网络节点将采集到的信息通过多跳转发送回Sink节点并通过串口送至PC机进行处理。
MSP430F161l具有片内UART,因此实现串口通信相当容易。由于单片机与上位机进行通信的接口电平不同,因此需要进行接口电平转换,串口通信电路的设计采用MAX3221实现单片机的TTL电平与PC机的RS232接口电平的转换。
2.5 电源模块
在节点的设计中采用CR2032纽扣电池为整个节点供电,CR2032在大于2.8V的条件下能提供大约200mAh的能量。
为了及时了解节点的能量存储和消耗状况,并根据节点能量状态来调整节点的通信策略[6],本文将来自电源正极的电平值输入到MSP430F1611的ADCl2模块内,与参考电平进行比较,通过读取处理器转换存储寄存器值可以得到转换结果,同样由公式(1)可以计算出电压Vin,从而掌握电源电压的变化情况。
3 节能策略的设计
在整个硬件平台的设计中,节能一直是本文考虑的一个重要因素,它决定着传感器网络的寿命。节点节能的最主要方式是休眠机制。当节点目前没有传感任务并且不需要为其他节点转发数据时关闭节点的无线通信模块、数据采集模块等以节省能量。
这样,一个传感任务发生时,只有与之相邻的区域内的传感器节点处于活动状态,才能形成一个活动区域。活动区域随着数据向Sink节点传送而移动,这样原先活动的节点在离开活动区域后可以转入休眠模式从而节省能量。另外,由于处理器系统中有一种活动模式和五种低功耗模式,所以通过指令控制处理器时钟的打开与关闭(即采用不同的工作模式),实现对总体功耗的控制来达到节能的目的。
在采用各种节能策略之后,整个硬件平台的整体能耗如表1所示。
本文主要介绍了以MSP430F1611单片机为核心,实现对外界环境中温度、湿度及光信号进行精确采集的无线传感器网络节点的硬件设计方案。在实际的组网测试中,笔者将其应用于黄河地区生态环境监测,构建了15个节点和1个Sink节点的小型网络,一般情况下节点处于休眠状态,当有中断请求时激活节点工作,采用中断方式接收和发送数据,将采集到的数据传输给主机。实验表明,采用这种方式建立的无线传感器网络具有稳定可靠的性能,能以及低的电能消耗进行工作,使功耗达到最低,从而满足设计要求。