《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 一种用于无线传感器网络的模块化设计方法

一种用于无线传感器网络的模块化设计方法

2009-07-02
作者:高 超,张 頔,罗 嵘

    摘  要: 针对无线传感器网络应用多样化的特点,建立了基于ZigBee技术的无线传感器网络节点与网关节点的模块化软、硬件设计方案。该硬件方案具有模块化与集成度高的特点,软件方案基于嵌入式操作系统进行多种功能的模块化设计,具有良好扩展性以及可维护性。实现了一种基于单芯片平台的传感器节点与ARM平台的网关节点,讨论了当前与未来适用的各种嵌入式设计关键技术。 

    关键词: 无线传感器网络;网关;嵌入式系统

 

    无线传感器网络WSN(Wireless Sensor Network)是用来采集部署在目标区域内的传感器节点所监测数据,并以无线通信方式进行数据传输的自组织网络,通常由传感器节点、网关节点(汇聚节点)、后台数据处理中心组成[1]。随着技术的进步与市场的发展,无线传感器网络呈现多样化、复杂化的趋势。针对目前繁多的不同WSN平台,设计一种满足无线传感器网络应用的基本要求,在开源基础上具有良好软、硬件扩展特性的模块化WSN设计方案,能够简化WSN的系统设计流程,提高软、硬件的设计与使用效率。 

    WSN节点往往是能量受限的[2],并且节点还可能部署在维护人员无法接近的区域,因此高效利用节点能量是传感器网络设计的一个基本要求。WSN网络已发展成为涉及网络通信、无线通信、传感器技术、嵌入式系统、软件技术、数据库技术、分布式信息处理等诸多技术的综合性科技领域,同时,令WSN具有良好的设计结构性与可扩展性、可维护性等特点也开始受到重视。以往的设计应用方案针对性强,硬件架构不具可扩展性,软件设计差异化巨大。鉴于此,提出了一种扩展灵活的无线传感器网络模块化架构。本文不考虑不同WSN应用下具体技术细节的设计差异,如应用于不同环境的网络MAC及路由协议设计、减少通信流量的休眠与时间同步策略、网络的拓扑管理实现方式等,它们都可以自由地嵌入这种模块化架构之中。 

    基于IEEE 802.15.4的ZigBee是一种短距离、低复杂度、低功耗、低数据速率、低成本、具有精简协议栈的无线通信技术,本文所做的论述全部基于ZigBee标准。 

1 设计概念 

    系统设计包括硬件设计与软件设计。硬件设计主要考虑WSN的功能兼容性及应用的可配置性,并限定WSN系统在各工作模式下的最大功耗;软件设计则考虑代码模块化、应用接口规范化以及执行效率等因素,并考虑如何动态地降低WSN能量消耗。 

    传感器节点的功能是采集数据并将其逐跳传输给网关节点。由于传感器节点功耗平均占WSN系统工作总功耗的90%左右,所以需要尽量简化其硬件结构,以降低硬件功耗及系统开销;网关节点要面对复杂多样的应用环境与设计要求,必须考虑可配置的多功能平台设计。 

    本系统软件全部建立在开源嵌入式操作系统之上。操作系统可以获取所有应用程序的性能需求并能直接控制底层硬件资源,负责调度给定的任务集合使其满足各自的时间和性能需求,可以在性能和功耗控制之间进行按需折中,采用统一的规范管理及扩展当前应用。 

    网关是建立在传输层之上的协议转换器,网关节点还用以汇聚传感器节点的数据信息并下发操作命令。由于本设计网关节点通信覆盖范围广且采用有源供电,将协议转换与数据汇聚功能由网关节点统一实现,避免了单一汇聚功能的网关节点由于工作负荷远远大于普通节点而导致的节点快速消亡,简化了网关节点自组织选举算法的设计。基于上述概念的无线传感器网络系统结构如图1所示。网关节点具有模块化的WSN本地化管理、MANET[3]、多协议转换、本地化数据库以及Web Server远程访问功能。这些模块已经或将要应用到WSN之中,它们是未来不同WSN应用中不可或缺的重要部分。本文实现的WSN方案给出了一种面向这些关键技术的模块化设计。 

 

 

2 传感器节点的设计 

    传感器节点硬件结构包括电源、电源管理、处理器、传感器、无线通信、天线、Balun匹配、存储器以及扩展接口几部分。传感器节点采用PCB微带天线、体积能量比高的锂聚合物电池、便携式电源管理以及集成无线通信、存储器、处理器功能的面向ZigBee通信标准芯片 CC2431进行设计,拥有丰富的接口控制器资源,如ADC、RTC、IIC、SPI、IO等。图2为基于CC2431设计的无线传感器节点设计示意图,它拥有丰富的系统资源及优良的功耗特性。 

 

 

    节点中将传感器模块设计为板载EEPROM的子板。SPI、IIC以及模拟输出为目前大部分传感采集器的输出接口,这些接口在CC2431中可以统一控制。设计者只需将不同类型的传感器按接口标准设计为子板扩展使用,并在EEPROM中正确设置传感器配置信息表即可兼容所有传感器模组,CC2431在每次上电运行时读取EEPROM中的内容并对传感器模块进行识别与配置。配置信息表包括数据类型、接口方式、地址逻辑、控制逻辑信息。 

    在采用休眠机制的无线传感器网络中,空闲运行与休眠状态功耗约占节点工作总功耗的30%,无线通信收发过程功耗约占60%[3]。受限于当前半导体技术,所有设计都很难降低无线通信时的功耗,降低休眠及空闲运行功耗成为硬件设计中实现节能的有效策略。经测试,对于休眠占空比高的无线传感器网络,本节点的功耗特性具有优势。表1列出节点在不同工作条件下功耗等参数与目前各主流无线传感器节点的比较。 

 

 

    无线传感器网络操作系统与软件设计应满足代码简单、功耗低、并发操作、系统健壮等要求,而大多数应用对数据的实时性要求不高[5],在TinyOS、BTnodeOS、Nut/OS等众多非抢占式操作系统中,本节点将TinyOS2.X移植于传感器节点之上。其轻量级线程、主动消息通信与组件化编程技术能有效提高传感器节点工作效率;两层调度方式、事件驱动模式能降低系统运行功耗;最短通信距离与最小开销确认机制使ZigBee通信效率得到提高;高度模块化结构为各种MAC层、网络层协议提供高度可移植。为将TinyOS 2.0.2移植到CC2431的MCS51内核中,在编译工具链中用IAR代替GCC。将通过nesC编译器生成的APP.C文件进行IAR可编译格式重写,最后经过IAR编译器生成HEX文件。 

    TinyOS 2.X中将物理硬件抽象为三层结构,硬件描述层(HPL)、硬件抽象层(HAL)、硬件独立层(HIL),操作系统在底层硬件操作或响应触发事件后建立任务于FIFO任务队列[7]。由于会有多个任务同时访问同一硬件资源,应用软件在使用该层的组件前要经过资源器进行仲裁,节点按图3所示的模块化组织系统软件结构。 

 

 

3 网关节点的设计 

    在图4所示的网关节点的硬件结构中,网关节点显示部分采用SHARP LQ084系列LCD屏,基于CC2431的可定位设计可实现WSN多功能本地化管理。MANET应用模式用以应对某些应用网关节点无法实现Internet网有线接入的环境,选择SIMCOM内置TCP/IP协议的SIM300 GPRS通信模块实现Internet双模式接入。 

 

 

    网关处理器选择NXP基于ARM7TDMI内核ARM LPC2468作为网关节点的主控制器。LPC2468集成10/100 Mb/s自适应以太网MAC控制器,提供外部SDRAM控制器以及丰富的外部接口资源以便功能扩展。选择支持帧处理、数据缓冲、突发传输、数据加密、数据鉴权、空闲频道检测、连接质量指示以及帧定时信息功能的ZigBee/IEEE 802.15.4射频收发器CC2520为无线通信控制器,CC2520内部集成PA可使网关节点的最大数据传输距离达400 m,从而扩大传感器子网的物理范围,优化WSN网络结构。 

    由于ARM7TDMI内核不集成MMU控制器,设计网关节点基于内核定制、具有高度灵活性且源码开放的μClinux2.6.X内核操作系统。网关提供HTTP服务将管理接口转化成Web Server,用户可以使用浏览器访问嵌入式设备。Web Server采用μClinux下BOA单任务小型HTTP服务实现,可省去以往应用中的专用管理软件;采用可移植于μClinux下的简洁TCP/IP协议栈LwIP,LwIP支持多网络接口下的IP转发、TCP快速转发、ICMP协议、扩展UDP、DHCP协议,支持动态分配节点地址;嵌入式数据库采用基于模块化设计的SQLite,它依据SQL92标准实现SQL语句解析,能够实现事务管理、数据同步、数据备份和恢复等功能,对实际数据的访问功能则需结合硬件驱动实现。SQLite用ANSI C编写,能与μClinux嵌入式操作系统内核一同编译;对于Web Server应用中数据的 XML归档及传输处理,本网关节点采用基于哈夫曼编码格式的Bzip2压缩算法对网关节点与数据中心所交换的数据进行编解码。对于处理大量强相关性的WSN监控与通信数据,Bzip2具有10倍以上的压缩比,能有效节省网关节点通信开销与功耗。 

    将网关节点按图5所示软件结构进行四层划分。数据采集层:依既定工作机制采集传感器节点数据与信息;节点管理层:依工作模式、拓扑管理原则配置WSN;数据解析层:对汇聚到网关节点的数据进行数据分析处理,这些数据包括节点信息、网络信息与网关操作信息等;应用层:主要面向数据处理中心与本地化管理的各项用户操作,提供软件接口。图5中将诸如Bzip2、协议栈、协议转换等工作进行模块化设计,以最小化WSN异构设计开销。其中的操作信息处理、节点信息处理、传感器数据采集三个模块共享嵌入式数据库,但需设置互斥量进行资源仲裁。 

 

 

    网关节点实现了透明双向协议转换,用户可以不关心出入网关节点的具体协议类型。如图6所示,将网关网络协议的转换分为两层,即控制层与数据层。控制层通过不同配置字对协议转换进行控制,由监控模块实现对工作过程中的TCP/IP、ZigBee数据包收发以及协议转换状态的监控,通过配置接口API生成配置字上传或接收相应配置字并下发给各模块执行。 

 

 

    数据层主要实现协议转换的具体工作,设计中采取中断服务程序的形式实现。当有数据包需要进行相应的协议转换时,系统要求首先生成服务请求,同时对转换请求以及转换服务进行注册记录,以监控工作状态。TCP/IP与ZigBee编解码部分实现对两格式数据包以及预订义数据格式的解包和打包。网关节点所传递的信息除了需交付后台数据中心处理的传感监控数据外,还包括用于定位以及无线传感器网络管理的数据流量负载、节点位置与网络状态信息等[6]。在μClinux中采用两个进程分别对协议转换的数据层及控制层分别控制,以加强控制层的操作响应;对数据层的控制进程采用多线程程序并行处理。 

    如图7所示,数据处理层采用操作表以记录提交给数据中心及从数据中心收到的数据与命令的处理情况;数据解析部分实现对数据的预定义格式编解码;数据压缩部分处理Bzip2压缩解压工作;本层数据库实现对数据与应答的查询、控制记录的存储。 

 

 

    节点管理层实现无线传感器网络的管理,通过它将来自数据中心的Web查询请求分配到具体各个节点并等待反馈信息。节点管理层在μClinux下将每一次查询请求以时间为单元生成ID,并进行优先级队列管理与记录;利用各节点提供的定位位置信息可以实现应用层的定位管理功能,还可通过LCD实现所见即所得的操作模式。本层数据库主要记录传感器节点与网络运行信息。 

    数据采集层的用途即数据传输,它包括输入、输出队列管理以及响应查询表三部分。由于节点一般采用基于能量有效的睡眠运行模式,在网关节点进行查询的过程中,所设定的命令在其生命周期内不一定能够得到响应,因此采用响应表来记录与WSN网内众多节点通信的状态与结果。输入输出队列对基于TCP/IP与ZigBee协议栈的数据采集信息进行管理,对数据进行Database中的ADD、DEL操作。 

    本文提出的WSN设计方案以低功耗与高扩展性为基本要求,基于当前相关前沿技术与应用需求进行模块化设计,并介绍了一种可行的传感器与网关节点实现方案。它具有软硬件重组灵活、代码可重用性高、API接口规范统一、可维护性高等特点,为WSN的广泛商用提供了新的设计模式。在未来的研究工作中,随着科技的不断进步,WSN的结构有可能会进一步演进,例如符合IEEE 1451.X新标准的ZigBee标准上的WSN结构平台设计[7],甚至不含后台PC的WSN新架构。 

参考文献 

[1] ROMER K,MATTERN F.The design space of wireless sensor networks.IEEE Wireless Communications,2004(11):54-61. 

[2] SMITH G A J,Wicker S B.Design challenges for energy constrained adhoc wireless network.IEEE wireless communications,2002. 

[3] JENKINS A,HENKEL D.Sensor data collection through gateways in a highly mobile mesh network.WCNC 2007 proceedings,2007. 

[4] DEBORAH E.Sensor network protocols.Wireless sensor networks tutorial,2002. 

[5] HILL J,SZEWCZYK R,WOO A.System architecture direction for network sensors.International conference on architectural support for programming languages and operating systems,2000. 

[6] GIGAN G,ATKINSON I.Sensor abstraction layer:A unique software interface to effectively manage sensor networks.IEEE ISSNIP2007,2007. 

[7] RANDAL V T.Software development environment for prototyping IEEE 1451 smart sensors.IEEE Sensors Applications,2007. 

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。