引言
无线传感器网络能够实时监测、感知和采集网络分布区域内的各种环境或监测对象的信息,并对这些信息进行处理,获得详尽而准确的数据,并传送到需要这些信息的用户。
目前,这一领域主要的研究方面是MAC层协议和网络层路由协议。而要进行这两方面的研究,物理实验平台是必需的。
总体设计
本文设计并实现了一个比较完整的无线传感器网络演示系统,主要包括节点机、网关机和数据库系统。此系统实现了远程环境数据的采集、传输、处理及数据库管理。并且在节点数大量增加后,还可作为传感器MAC层和网络层协议的开发平台。
系统组成框图如图1所示,在传感器节点网络部分,有两个子网,各网独立工作,运行在不同的频段,一个是2.4GHz,另一个是900MHz,都是 ZigBee标准规定的频段。2.4GHz硬件主要采用89lV52单片机加RFwave公司的RFW102射频模块。900MHz采用的是89lV51 单片机加NRF905射频模块。而传感器部分,两个节点都设
图1 系统组成框图
节点机的设计
本文设计了两种节点机,一种工作在2.4GHz频段,另一种可以工作在868MHz和915MHz两个频段。
2.4GHz频段节点机设计
硬件部分如图2所示,包括电源、MCU、传感器、RFW-D100和102。其中MCU是主要控制器件,传感器设计成可分离式,可以插多种传感器。RFW -D100和102联合组成射频部分,完成无线数据收发。UART可以在调试硬件时使用,在板子作为网关机的射频模块时,UART完成与ARM板的通信。电源设计成电池和外接电源两种供电方式。
图2 2.4GHz节点机硬件框图
1. 电源部分
为了方便调试,将电源设计成双路供电模式,即外接稳压电源供电和电池供电。这样设计的好处是在板子调试的时候可以用外接稳压电源供电,可以不用电池,减少开发费用,也更稳定。而在板子调试成功之后,实际运行的时候就可以选用电池供电。当然,这样设计也会使板子面积增大、器件增多,在做实际产品的时候就可以去掉稳压电源供电电路,减小体积和成本。
稳压电源电路采用9V直流输入,通过7805转换成5V,再通过AAT3221电源转换芯片转换成3.3V。在电池稳压部分选用TPS60101。这是一种特别适合对电池供电系统进行稳压的芯片。至于用哪路供电由跳线决定。
2. MCU
MCU选用52单片机,型号是89lV52。它有256Byte的RAM和8kB的flash,3个16位定时器,对于本应用比较合适。
3. 射频部分
射频部分选用RFwave 公司的RFW102,这是一款工作于2.4GHz频段的射频模块,功耗较低,而最高速率能达到1Mbps。配合RFW-D100使用,简单方便。
4. 传感器
传感器部分的接口设计成可插拔式通用接口,便于扩展其他传感器,以温/湿度传感器为例,本文选用了Sensirion公司的SHT71,它是一种数字传感器,低功耗,温/湿度一体,使用方便。
868MHz和915MHz频段节点机设计
nRF905 1.0以9V直流电源和电池两种方式供电,一个单片机作为中央控制单元,控制传感器和无线收发模块。并外加了存储器,可以实现存储转发功能。
nRF905 1.0可分为5大部分:
1. 中央控制单元:使用一片AT89LV52作为中央控制单元。其中,R1OUT,T1IN引脚用于串口通信。
2. 电源:可选择直流9V电源和电池两种方式供电,供电方式可用跳线切换。
3. 存储器:使用一片AT24C21作为存储器,当数据量超出单片机容量,或无线信道不正常时,可将数据暂存于存储器,待以后转发。
4. 传感器:使用Sensirion公司的SCH7x温/湿度传感器。
5. 无线
图3 射频模块的软件流程图
网关机设计
硬件设计
网关机硬件采用基于ARM7TDMI的嵌入式系统开发板,外加两个基于RFW-D100和102以及nRF905的无线射频模块。其结构示意图见图1的中间部分。这样设计的主要考虑是节约开发时间。两个射频模块子板和ARM板之间通过串口通信。
ARM板硬件组成
1. 微处理器S3C44B0X
S3C44B0X是三星公司推出的16/32位RISC处理器,它采用了ARM7TDMI内核,0.25mm工艺的CMOS标准宏单元和存储编译器。它的低功耗和全静态设计特别适用于对成本和功耗敏感的应用。S3C44B0X还采用了一种新的总线结构,即SAMBAⅡ。
2. UART异步串行接口
S3C44B0X的UART(通用异步收发器)单元提供两个独立的异步串行I/O端口,每个都可以在中断和DMA两种模
3.以太网控制器RTL8019AS
由Realtek公司生产的RTL8019AS高集成以太网控制器芯片集成了介质访问控制子层(MAC)和物理层的性能,可以方便地设计基于ISA总线的系统,简单的与通用单片机进行接口。另外,它还具有与NE2000兼容、软件移植性好,价格低廉等优点,在市场上的10Mbps网卡中占有相当的比例。在本系统中,网口与以太网相连,将网关收集到的数据上传到PC的数据库中。
4. Flash存储器
本系统中采用的Flash是具有16Mb(2MB)、单一5V供电的存储器。2MB的数据区被分为32个64kB的区段,因而具有灵活擦除功能。Flash在本系统中用来存放程序代码。系统上电或复位后从此处获取指令并开始执行。
射频模块硬件组成
从图1中可以看出,网关机部分是由ARM开发板和两个射频模块共同组成的,完成两个子网的数据采集处理和上传任务。射频模块没有单独设计,而是两个频段的节点机的简化版本,将其中的数据采集部分去掉,以缩短开发周期,提供了通用性。在硬件一致的情况下,只要对两个模块的软件进行修改就可以完成无线数据收发的功能。具体硬件设计可以参考前面节点机的硬件设计。
软件设计
无线传感网网关机如前面所介绍的,在硬件上分成相对独立的三个单元,因而软件也分为三个相对独立的部分。
1. ARM板软件
ARM核心板的软件包括初始化,处理上层PC传来的采样命令,通过两个串口向两个子网发送采样命令。然后等待节点上传来的数据信息,其中的关键在于怎样处理好两个子网通过两个串口上传来的数据信息。不漏不重。限于篇幅,具体流程就不在这里详述了。
2. 射频模块软件
射频模块的软件流程如图3所示。ARM板通过两串口分别与两个子网不同的射频模块相连,以具备与两个子网进行通信的能力。
数据库系统设计
选用Access数据库平台和ADO数据库连接技术,并使用Delphi编程语言实现界面、管理、查询操作及internet上的数据收发。Delphi 是一种功能强大的快速应用软件开发程序,它集成了ADO数据库连接的控件和网络处理等控件,可以快速方便地进行软件开发。
结语
经过半年左右的努力,在小组成员的共同努力下,我们完成了无线传感网实验演示系统第一版的设计实现,并成功地将远端4个节点的温度/湿度信息通过两个频段的信道传送到数据库中,并可以进行查询管理。当然,第一版还有很多需要完善和改进的地方,如底层硬件操作函数的模块化,节点机选用功能更强的MCU,数据库的完善等等。