1 引言
无线传感器网络(Wireless Sensor Network,WSN)是一种特殊的Ad-hoc网络,是由许多无线传感器节点协同组织起来的。这些微型节点具有无线通信、数据采集和处理、协同合作等功能,可应用于布线和电源供给困难或人员不能到达的区域(如受到污染、环境不能被破坏或敌对区域)和一些临时场合等。无线传感器网络的节点可以随机或者特定地布置在目标环境中,它们之间通过特定的协议自组织起来,能够获取周围环境的信息并且相互协同工作完成特定任务。在军事、国防、工农业、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多重要领域都有潜在的实用价值,具有十分广阔的应用前景。
本文在简要介绍传感器网络体系结构的基础上。设计了一种基于Zigbee协议的无线传感器网络节点,详细讨论了传感器节点的硬件组成和软件设计。
2 Zigbee协议和无线传感器网络
2.1 Zigbee协议
lEEE802.15.4规范是一种经济、高效、低数据速率、工作在2.4 GHz和868/928 MHz的短距离无线技术,用于个人区域网和对等网状网络,是ZigBee应用层和网络层协议的基础。ZigBee是一种新兴的近距离、低复杂度、低功耗、低数据速率、低成本的无线网络技术,主要用于近距离无线连接。它依据lEEE无线个人区域网(Wireless Personal Area Network,WPAN)工作组的一项标准——IEEE802.15.4标准,在许多个微小的传感器节点之间相互协调实现通信。这些传感器节点只需要很少的能量,以接力的方式通过无线电波将数据从一个传感器传到另一个传感器,从这个意义上说,它们有较高的通信效率。
2.2无线传感器网络
无线传感器网络典型的体系结构如图1所示,包括分布式传感器节点(群)、网关、互联网和监控中心等。节点具有传感、信号处理和无线通信功能,它们既是信息包的发起者。也是信息包的转发者。通过网络自组织和多跳路由,将数据向网关发送。网关可以使用多种方式与外部网络通信,如lnternet、卫星或移动通信网络等,大规模的应用可能使用多个网关。
在不同应用中,传感器网络节点的组成不尽相同,但一般主要包括传感单元(包括传感器和模数转换模块)、电源、微处理器(包括CPU、存储器和嵌入式操作系统等)和通信单元(由无线通信射频模块组成)等,能完成数据采集、信号监测和传送信息的任务 。此外,可以选择的其他功能单元包括:定位系统、移动系统以及电源自供电系统等,典型无线传感器节点结构图如图2所示。被监测物理信号的形式决定了传感器的类型,节点采用电池供电,一旦电源耗尽,节点就失去了工作能力。为了最大限度地节约电源,在硬件设计方面,要尽量采用低功耗器件,处理器通常选用嵌入式CPU,射频单元主要由低功耗、短距离的无线通信模块组成。
3 基于Zigbee协议的无线传感器网络节点总体方案
整个网络由若干无线传感器节点和监控中心组成,其中,无线传感器节点分布于需要监测的区域内,执行数据采集、处理和通信等工作。监控中心由1台计算机和1个无线传感器节点组成,可以在固定建筑物内,也可以是一个移动的平台。
无线传感器网络节点是一个微型化的嵌入式系统,构成了无线传感器网络的基础支持平台。目前。国内外已经出现了许多种网络节点的设计,它们在实现原理上是相似的,只是分别采用了不同的微处理器或者不同的通信或协议方式,例如采用自定义协议、IEEE802.11协议、Zigbee协议、蓝牙协议以及UWB通信方式等。典型的节点有SensoriaWINS、SmatNesh Dust mote、lntel iMote以及Intel XSale nodes,ICTCAS/HKuST的BUDS 等。下面着重介绍本文设计的一种基于Zigbee协议的无线传感器网络节点。
这种基于Zigbee协议的无线传感器网络节点由下列部件组成:低功耗微处理器、低功耗通信模块、电源、复位电路等,节点功能模块示意图如图3所示。
4 软硬件设计和实现
4.1 硬件组成
无线传感器节点的硬件组成如图4所示,微处理器采用STC公司的单片机89LE516AD:内部有8位精度的高速A/D转换器。可以按照I2C总线协议访问: 作在3 V/5 V混合系统;内嵌有用于存储数据的512字节的SRAM。用于存储程序代码的64 K的Flash和定时器/计数器;具有在系统可编程(ISP)特性可以实现远程下载升级,不需再有编程器,有3种模式:正常工作模式、掉电模式和空闲模式。
在掉电模式下,除了内部看门狗和唤醒所必须的串口中断逻辑外,其他电源都切断,它可由外部中断唤醒,中断返回后继续执行原程序;在空闲模式下。会停止CPU的工作,但是SRAM、定时器/计数器和中断系统保持工作。合理利用这几种模式,可以获得理想的节能效果。
值得注意的是:89LE516AD中I/O 口的P1口不要接到5 V系统,只能接3.3 V系统;对于A/D转换寄存器,当开始转换时需将ADC启动控制位(ADC_START)置为1,而当转换结束时需将ADC结束标志位(ADC_FLAG)置为1;用外部专用复位电路时,RESET管脚不要加任何上拉/下拉电阻;另外尽量将P1.0/P1.1中的一个管脚空着,免得不需要进入系统ISP监控程序时,由于P1.0/P1.1=0/0而复位后进入系统ISP监控程序。
通过使用STC232的RS232转换器连接电脑直接下载程序,而不需再有编程器。一定不要用通用编程器,否则有可能将单片机内部已固化的ISP系统引导程序擦除。
外部专用复位电路器件采用STC6345,它有3个功能:只有当电压高于设定电平时。时钟振荡稳定,单片机才开始工作;确保掉电前有足够的时间保存数据;当电压低于设定电平时提供复位脉冲。
无线通信模块是节点的重要组成部分,选用Helicomm公司的基于Zigbee协议的IPLinkl200无线传感器通信模块。IPLink1200模块的射频工作频率选在2.4 GHz上,采用全双工方式及直接序列扩频(Direct Sequence Spread Spectrum,DSSS)技术。采用四相频移键控(Quadrature Phase Shift Keying,QPSK),抗干扰能力强,最大传输速率可达250 kbit/s,这对于以低速率传输为主的无线传感器网络来说是足够的。最大通信距离为100 m,采用串口为3.3V UART。即通用异步接收和发送器。
在没有信号需要发送时,可以通过控制信号将发送部分的电源切断,以节省电能。采用单片机串行接口与无线通信模块连接。使用通信模块时,必须注意:当发送完成后,一定要将发送使能引脚(GPIO4)和发送数据引脚(TXD)置为低电平,这样既可以节约电能,也可以避免通信模块一直发送一个载频信号而干扰周围节点的通信;无线通信模块从待机状态转变为发送状态之间有延时,而在延时期间通信模块的数据是不能被正确发送的,所以在发送之前应提前将发送使能引脚置为高电平。
4.2 软件设计
在网络中,每个节点都有一个固定的地址。数据的传送采用主从节点方式。与计算机连接的无线传感器节点作为主节点,采用I/O引脚模拟串行接口与计算机通信。其他传感器节点作为从节点,可以向主节点发送中断请求。无线传感器网络中。传送的基本上都是短消息(Message)。信息的格式如图5所示,包括帧头、目的地址、数据大小、数据内容和校验位。其中,目的地址可以是一个指定的传感器节点 主节点或者广播地址。采用比较简单的异或校验,当信息包出现校验错误时,只是简单地将出错信息包丢弃,而不执行任何的纠错,主节点可以根据响应结果要求从节点重新发送或报错。
传感器节点打开电源,初始化、建链后直接进于休眠模式。当主节点收到中断请求时触发中断,激活节点,发送或接收信息包,处理完毕后继续进入休眠状态,等待有请求时再次激活。若有多个从节点同时向主节点发送请求,主节点来不及响应处理而丢掉一些请求,则从节点在发现自己的请求没有得到响应后几秒钟再次发出请求直到得到主节点的响应为止。
节点采用串行口通信模式,在程序设计中主要是采用中断的方法来完成数据的接收和发送。整个软件系统模块大致分为主程序处理模块、初始化模块、查询模块、建链模块、处理模块、打包发送模块、中断接收模块等。主程序处理模块用来调用其它模块完成应该实现的功能;初始化模块用来初始化单片机串口、JPLinkl200模块,包括内部各种寄存器的设置、工作模式的设置(如波特率的设置);查询模块用来查询邻设备的信息;建链模块用来建立主、从节点问的数据链;处理模块用来接收并分析无线传感器节点发来的事件,然后做出处理;打包发送模块是当信息打包后需要发送时,利用串行口中断可以将信息包逐字节发送出去:中断接收模块是用来接收串行口发来的数据,信息包接收完成后执行校验,并根据校验结果决定是丢弃该帧还是做出相应的反应。节点主程序处理流程如图6所示。
节点的串行口初始化程序如下:
SCON=0x50; //0101,0000,8位数据位,无奇偶校验
T2CON=0x34;//0011。0100,由T2作为波特率发生器
RCAP2H=0xFF://时钟11.0592Hz,9600波特率
RCAP2L=0xDB:
ES=1: //允许串口中断
发送一个字节程序如下:
do
{TI=0; //清零串13发送中断标志
SBUF=one_byte;}
while(TI==0);
TI=0: //清零串口发送中断标志
5 结束语
在系统研制中。我们构造了10个节点和1个中心的小型网络。无线传感器节点在硬件组成上采用无线通信模块JPLinkl200进行通信。以低功耗51单片机为核心。采用主从节点方式,一般处于休眠状态。当有中断请求时激活节点工作,采用串行中断的方法接收和发送数据。初步实验结果表明:采用这种模式建立的无线传感器网络具有较好的稳定可靠性和较高的通信效率。