datasheet
超过460,000+ 应用技术资源下载
pdf

基于ARM的无线传感网络网关的设计

  • 1星
  • 日期: 2014-03-05
  • 大小: 4.54MB
  • 所需积分:1分
  • 下载次数:3
  • favicon收藏
  • rep举报
  • 分享
  • free评论
标签: 基于ARM的无线传感网络网关的设计

无线传感网络WSN(Wireless Sensor Network)的基本特性是:低功耗、自组织、异构互联,这些全新的形态传统的理论和模型难以描述,巨大的潜在应用使它成为理论和应用研究的热点。无线传感器网络是一种自组织网络,让物理环境的信息主动的以无线的方式发送到人类信息世界。人类根据获取的信息做出判断,利用无线传感网络反过来将我们一定的意图反馈到客观世界。这将是一种全新的人类和自然界的沟通方式。 无线传感网络不是孤立的,需要与现有的异构网络互联才有意义,而这方面的研究也比较少,本课题就是解决无线传感网络和异构网络互联的问题,设计了适用于无线传感网络的重要联网设备——网关。研究目标是设计一个无线传感网络和以太网互通互联的网关。在深入分析多种网关模型的基础上,提出了一个性能较好的网关的软硬件架构,硬件上使用基于ARM的嵌入式系统,软件上使用基于WindowsCE的嵌入式操作系统。在这个架构的指导下,设计了网关的硬件平台和网关的配套软件。在网关完成了两种网络协议相互理解,数据双向转发的任务。为了测试网关的软硬件性能,搭建了一个完整的无线传感网络,测试了网关的各项性能指标并提出了改进措施。

福建师范大学 硕士学位论文 基于ARM的无线传感网络网关的设计 姓名:程明传 申请学位级别:硕士 专业:光学工程 指导教师:王平 20090401 摘要 摘要 无线传感网络WSN(Wireless SensorNetwork)的基本特性是:低功耗、自组织、 异构互联,这些全新的形态传统的理论和模型难以描述,巨大的潜在应用使它成为 理论和应用研究的热点。无线传感器网络是一种自组织网络,让物理环境的信息主 动的以无线的方式发送到人类信息世界。人类根据获取的信息做出判断,利用无线 传感网络反过来将我们一定的意图反馈到客观世界。这将是一种全新的人类和自然 界的沟通方式。 无线传感网络不是孤立的,需要与现有的异构网络互联才有意义,而这方面的 研究也比较少,本课题就是解决无线传感网络和异构网络互联的问题,设计了适用 于无线传感网络的重要联网设备——网关。研究目标是设计一个无线传感网络和以 太网互通互联的网关。在深入分析多种网关模型的基础上,提出了一个性能较好的 网关的软硬件架构,硬件上使用基于ARM的嵌入式系统,软件上使用基于Windows CE的嵌入式操作系统。在这个架构的指导下,设计了网关的硬件平台和网关的配 套软件。在网关完成了两种网络协议相互理解,数据双向转发的任务。为了测试网 关的软硬件性能,搭建了一个完整的无线传感网络,测试了网关的各项性能指标并 提出了改进措施。 关键词:无线传感网络,网关,Windows CE,ZigBee 中文文摘 中文文摘 无线传感网络以其低功耗、低成本、异构互联全新形态出现在人们研究视野之 内。传感器网络(wsN)通常包括传感器节点(SensorNode)、路由节点(RouterNode)、 网关节点(Sink Node)和监控中心。网关是整个网络的“大脑”,其主要功能包括分配 网络地址、建立网络、维护网络和管理网络等。路由器和终端设备一般都是使用低 成本的控制器,只是软件上有所区别,路由节点具有路由功能,这样网络中的节点 就有了自组织能力,而终端节点没有路由功能。值得注意的是,对于小型网络,无 线传感网络中的三种设备可以使用相同的控制器。对于大规模网络,网关的负担加 重,需要强有力的硬件支撑。网络中核心设备的功能描述如下: · 终端节点通常是一个微型的嵌入式系统,它的处理能力、存储能力和通信能 力相对较弱,通过携带能量有限的电池供电。只负责数据采集功能,在路由 节点的协助下工作 ◆路由节点和终端节点相似,具有路由功能,是网络具有自组织构成大型网络 的基础 · 网关节点的处理能力、存储能力和通信能力相对较强,它连接传感器网络与 Intemet等外部网络,实现两种协议栈之间的转换,同时发送管理节点的监 测任务,并把收集的数据转发到外部网络上。 · 监控中心一般是PC机,资源丰富。主要实现数据显示、数据分析、数据存 储功能以及数据查询等。 无线传感网络的工作过程大致如下:大量的传感器节点随机部署在监控区域 (Sensor Field)内部或附近,能够通过自组织方式构成网络。终端节点采集的数据沿 着其他的路由节点,逐步的进行传输,在传输过程中监测数据可能被多个节点处理, 经过多跳后路由到网关节点,最后通过互联网将数据送达监控中心。用户通过监控 中心对传感器网络进行配置和管理,发送监测任务以及收集监测数据。 针对目前无线传感网络处于理论的高潮期,无线传感网络的无线协议芯片、网 络拓扑控制、网络控制协议、时间同步、定位研究、安全问题、数据融合技术和监 控中心技术等核心问题都处于全面的研究之中,无线传感网络的应用也将随之而来, 而无线传感网络要成为一个真正的大规模、自组织、以数据为中心的使用网络,它 V 福建师范大学程明传硕士学位论文 和现有常用异构网络(移动网、互联网、电话网等)的互通互联需求非常强烈,毕竟 ~个孤立无线传感网络没有什么意义,只有和其他网络结合,才能发挥最大的效能。 而这方面的研究目前还不是很成熟,本课题就是想解决无线传感网络和其他异构网 络的互联互通问题,研究无线传感网络和以太网的互联互通的网关设备。 网关从本质上是一个协议转换工具,形态上可能是软件的也可能是硬件的。现 在广泛使用的网络有互联网、移动网、固话网、广播和电视网。无线传感网络和互 联网、移动网、固话网的互联的需求比较强烈,无线传感网络可能需要和PC发生 交互,需要和手机发生交互,需要和固定电话发生交互。由于协议的异构,无线传 感网络并不能和异构网络直接交互,异构协议的理解就是网关的任务了。根据网络 的不同,文中详细对比了串口型、GPRS型、以太网型和多协议型网关的模型和功 能,并在此基础上提出了详细的以太网网关的软硬件架构。 无线传感网络的标准协议是ZigBee协议,为了构成一个完整的网络,设计了一 个符合ZigBee协议的节点,文中详细描述了该节点的软硬件设计。硬件采用 ATMEGAl28处理器和CC2420无线收发芯片,软件上完整的设计了协议的4层。 节点的设计也为网关的最后的性能测试提供了基础。 网关的设计和测试是本课题的核心,网关硬件由¥3C2240处理器、64M字节的 SDRAM、64M字节的NAND Flash和10M以太网卡组成,操作系统为Windows CE 嵌入式操作系统,为在网关上开发网关软件提供良好的软硬件基础环境。硬件采用 核心板加底板的模式,核心板采用现有模块(条件限制,没有高频电路设计能力), 底板扩展所有需要的外设。 在网关软件的设计上,主要实现了ZigBee数据的接收、解析、存储和转发,并 对网关的性能做了完整的测试,得到了一些基本的网关参数。最后找出了影响网关 性能的多种因素,同时提出了一些改进的构想。 vI Abstract Abstract The base specifications of wireless sensor network(WSN)ale low power consumption,self-organization and heterogeneous intercormection,and these newest morphology can’t be described by traditional theories and models.A large number of potential applications make it hot for researches of theories and application.Wireless Sensor Network is a self-organizing network,SO that the information of physical environment will take the initiative to send information to the human world by wireless network.According to information available to judge,wireless sensor networks Call help US feed back our intention into the objective world.This will be an entirely new means of human communication between beings and nature. Wireless sensor network is not isolated,intercormection研m existing heterogeneous will only be meaningful,and this research is also relatively small.The task of research is to solve interconnection issues between wireless sensor networks and heterogeneous network,and design essential networking equipment for wireless sensor networks (Gateway).Research goal is to design a gateway between wireless sensor network and Ethernet.Based on in-depth analysis of many gateway models,a better model of hardware and software architecture of the gateway is proposed,and hardware based on ARM-based embedded systems,software based on Windows CE embedded operating system.Under the guidance of this framework,gateway hardware platform and gateway software are designed。Two protocols Can be understood in the gateway,and data can be exchanged two—way.In order to test the performance of hardware and software of gateway,a complete wireless sensor network is built to test the performance of the gateway and get some measures for improvement. Keywords:wireless sensor network,gateway,Windows CE,ZigBee 1II 福建师范大学硕士学位论文独创性和使用授权声明 福建师范大学硕士学位论文独创性和使用授权声明 本人(姓名)猩明笾学号星QQ鱼QZ圣星专业 堂堂王猩所呈交 的学位论文(论文题目:基于ARM的无线传感网络网关的设计)是本 人在导师指导下,独立进行的研究工作及取得的研究成果。尽我所知, 除论文中已特别标明引用和致谢的内容外,本论文不包含任何其他个人 或集体已经发表或撰写过的研究成果。对本论文的研究工作做出贡献的 个人或集体,均已在论文中作了明确说明并表示谢意,由此产生的一切 法律结果均由本人承担。 本人完全了解福建师范大学有关保留、使用学位论文的规定,即: 福建师范大学有权保留学位论文(含纸质版和电子版),并允许论文被 查阅和借阅;本人授权福建师范大学可以将本学位论文的全部或部分内 容采用影印、缩印或扫描等复制手段保存和汇编本学位论文,并按国家 有关规定,向有关部门或机构(如国家图书馆、中国科学技术信息研究 所等)送交学位论文(含纸质版和电子版)。 (保密的学位论文在解密后亦遵守本声明) 学位论文作者签名:恻馋 鹤 指乜日导教师币 名 3钆 签字日期:≥伊哆年乡月2日 ≯ 青咱 签奎 字 日 期男 如 形 年 殳 ~A, , 绪论 绪论 一个典型的传感器网络系统主要包括:终端节点、路由节点、网关节点和监控 中心等。终端节点具有数据采集和无线收发功能,但是不具有路由功能;路由节点 具有数据采集、无线收发和路由功能,传感器节点一般和邻近的路由节点构成星形 网络;网关节点具有汇聚传感网络采集的物理信息,无线传感器网络与外部网络的 互联;监控中心具有配置管理、性能管理、故障管理和安全管理的功能。无线传感 网络的典型系统框图如图1.1所示。 ◇ 置. 扩№卜◇豇曩~矗~.o‰.一 .函 无线传感网络 薹◇ : 图0-1无线传感网络的典型系统框图 Fig 0—1 classic framework of wireless sensor network 在图0.1中,传感器节点和路由节点都具有数据采集功能,但仅传感器节点没 有路由功能,故传感器节点需要以邻近的路由节点为中心构成星形网络。路由节点 和路由节点通过多跳的方式将数据汇聚到网关节点,数据的存储和收发是由路由节 点中的路由协议控制的,路由节点之间一般构成网状网络,以提高网络的容错性。 从上面的系统可以看出无线传感网络在逻辑上将物理世界与信息世界更加紧密地融 合于一体。 无线传感网络呈现出以低功耗、自组网、异构互连、泛在协同为基本特征的全 新形态,成为理论研究和应用研究的一个研究热点。在缺乏通信基础设施或需要低 成本低功耗的应用环境,无线传感网络技术有很强的技术优势。无线传感器网络在 军事侦察、环境监测、医疗护理、智能家居、工业生产控制以及商业等领域有着广 阔的应用前景。 本课题的研究依托于福建省教育厅资助项目——基于嵌入式的网络便携式终端 福建师范大学程明传硕士学位论文 的研究。网络便携式终端,主要研究嵌入式网络终端的软硬件框架,以及丰富的网 络通信功能。在此基础上,本课题重点研究网络终端的功能扩展,将网络终端用于 无线传感网络网关。重点解决网关的软硬件模型、ZigBee协议实现、网关管理软件 的实现。无线传感网络网关是沟通无线传感网络和其他外部网络的桥梁,网关是网 络互联的重要的设备,设计出一个高性能的无线传感网络网关是无线传感网络技术 走向实用的重要一步,这也是本课题的意义所在。 传感器节点、路由节点和网关节点构成无线传感网络的硬件基础。传感节点和 路由节点承载着路由控制、数据存储和数据融合等任务,一个处理能力、存储能力 有限的高端8位处理器就可以出色完成这些任务。传感节点和路由节点的路由协议 也是研究的热点。网关节点负责连接传感器网络和外部网络(如以太网),实现两种协 议栈之间的转换,把收集到的数据转发到合法的远程网络。网关节点还要具有一定 的无线传感器网络管理配置功能。所以网关节点需要比较高的软硬件配置,以稳定、 高效的完成协议转化和配置任务。 “网关”一词来源于TCP/IP协议,又称网间连接器、协议转换器。网关的作用是: 在通信协议、数据格式或体系结构不同的两种系统之间,将收到数据转发,并按照 目标系统的要求重新打包,达到在异构的系统中交换数据的目的。网关是两个异构 系统之间通信的桥梁,在计算机网络中,网关可分为传输网关和应用网关。无线传 感网络网关要完成协议转换和无线传感网络配置的功能,从本质上和计算机网络中 的网关作用是一致的。 目前传感器网关节点的理论研究不是很多,无线传感网络网关的概念也比较模 糊。文献中无线传感器网关实现的主要方案从通信方式可以分为t串口型网关、GPRS 型网关和以太网型网关。串口型网关是一个带串口的路由节点,串口型网关不能独 立完成任务,一般串口接PC,通过PC机的处理能力实现网络管理的功能。串口型网 关主要用于实验室的理论研究。GPRS型网关是将无线传感网络的协议和GPRS协 议互转,将无线传感网络的数据转发到GPRS网络,将GPRS网络发来的管理指令 转发到无线传感网络。GPRS型网关适合有移动通信基础设置的应用。以太网型网 关是将无线传感网络协议和以太网协议互转,将无线传感网络的数据转发到以太网 网络,将以太网网络发来的管理指令转发到无线传感网络。以太网型网关适合基础 通信设施较好的场合。各种网关的性能如表1—1所示。 绪论 表O.1网关的性能比较 网关的形式 控制 可扩~ 健壮性 成本 功耗 功能 展性 特点 串口型网关 否 弱 否 低 低 适合实验,现场监控 GPRS型网关 是 最强 是 最高 高 要求有无线通信设施 以太网型网关 是 强 是 高 中 要求有以太网通信设施 文献中提到的典型网关有:宁波中科院的GAINS汇聚节点,这个节点属于串口 网关;GPRS网关在无线传感网络应用的比较多:因特尔的应用老龄化的科研项 目”Center for Aging Services Technologies”采用的网关属于以太网型网关。 GPRS型网关和以太网型网关需要独立的完成协议转换和网络管理任务,一般采 用嵌入式方案。一个嵌入式方案一般包括一个性能出色的硬件方案和一个合理的软 件方案。嵌入式的硬件有很多类型的处理器可供选择,如ARM,DSP,FPGA,MIPS 等。从开发难度、开发工具、开发原型、软件开发难度等方面考虑,ARM方案有 独特的优势。ARM是高性能、低功耗的RISC处理器,开发工具链完备,适合工业 控制、消费电子和移动式应用等。所有的ARM产品均采用一个通用的软件体系,不 同公司开发的ARM芯片使用的开发工具是一致的。典型的ARM内核包 括:ARM7/ARM7TDMI/ARM9TDMI/ARMl0。不同的芯片公司会在ARM内核的基 础上加入很多扩展功能,比如AD转换器、液晶控制器、RTC、串口等,形成了片 上系统,提高了集成度,降低了系统成本。 无线传感网络的研究主要集中在无线传感协议,时间同步,定位技术,数据融合, 数据管理等。网关技术和网络管理技术往往被忽视,鉴于无线传感网络网关在整个 系统中的重要作用,本文重点讨论无线传感网络网关的软硬件模型、网关管理的模 型以及如何软硬件实现。主要的研究工作如下: ·建立WSN网关的模型,比较多种实现方案的优劣; ·设计嵌入式无线传感器网关的硬件电路板, ·移植相关的驱动程序,剪裁合适的嵌入式操作系统; ·编写TCP/IP.协议和无线传感网络协议的转换的程序模块; ·编写网关的Web应用程序,使之远程可以查看和设置网关的参数。 论文的主要内容总结如下: 福建师范大学程明传硕士学位论文 第一章、无线传感网络网关的软硬件架构。主要分析常见的网关类型如:串口 型、GPRS型、以太网型和多协议型网关的特性,并对比优缺点。在综合比较的基础 上,详细介绍了实现以太网网关的软硬件架构,为后面系统的构建提供理论基础。 第二章:无线传感网络节点的设计。为了搭建一个完整的无线传感网络,设计 了一个符合ZigBee协议的节点,详细介绍了节点的软硬件设计,为网关最后的性能 测试提供了基础支撑。 第三章:无线传感网络网关的设计。详细介绍了网关的硬件结构,以及网关的 硬件测试。 第四章:网关管理软件的设计。详细介绍了嵌入式操作系统的移植,ZigBee数 据的接收、解析、存储和转发的流程等。 第五章:影响系统性能的因素分析和对策。在测试的基础分析了影响网关性能 的因素,并提出了相应的对策。 第六章:总结和展望。分析了系统的不足,和可以继续再做的工作。 第一章无线传感网络网关的软硬件架构 第一章无线传感网络网关的软硬件架构 第一节无线传感网络简介 无线传感网络【11(WSN,Wireless Sensor Network)的研究起源于20世纪70年代的 军事应用,网络一般采用分级处理结构,只能捕捉单一信号。1980年,时任美国国 防部高级研究计划局(DARPA)信息处理办公室主任的Robert Kahn发起了分布式传 感器网络项目(Distributed Sensor Network)。其主要设想是:建立一个由空间分布的 低功耗传感器节点构成的网络,这些节点之间相互协调,交互工作,将信息传送到 目标处理节点。该项目后来在多家美国顶级研究机构的努力下,在专用操作系统, 信号处理,目标跟踪,网络仿真等方面有很大突破。90年代以后,无线传感网络的 研究热潮在世界各地掀起。2006年初发布的《国家中长期科学与技术发展规划刚要》 提出信息技术三个前沿方向,其中两个智能感知技术和自组织网络技术就直接与 WSN直接相关。 在目标区域随机分布集成有传感器、微处理器和通信单元的微型节点通过一定 的协议构成网络,通过节点内置的传感器探测温度、湿度、气体、震动、光强、压 力和噪声等我们需要的物理参数。通信单元考虑到无损测量、安全性、部署等需求 一般要求无线通信。广泛接受的一个WSN的定义为:大规模、无线、自组织、多 跳、多分区、无基础设施支持的网络【2】,其中的节点是同构的、成本较低、体积较 小,大部分节点不能移动,被随意散布在工作区域,要求网络系统尽可能长的工作 时间。现在技术的发展,使传统的信息获取技术从单一化向集成化、微型化、智能 化和网络化发展。给传统的智能家居控制、工业控制、环境监控等应用注入了无限 的活力。 WSN的关键技术是: 1、网络拓扑控带UE31。通过拓扑控制可以生成和优化网络拓扑结构,能够提高路 由协议和MAC协议的效率。主要难题是:在满足网络覆盖率的前提下,如何生成 一个高效的数据转发的网络拓扑; 2、网络协议【4】。网络协议使各个节点形成一个多跳的数据传输网络,目前研究 的重点是网络层协议和数据链路层协议。路由协议不仅关心单个节点的能量消耗, 更关心整个网络能量的均衡消耗,这样才能使整个网络的生存期最大化; 福建师范大学程明传硕士学位论文 3、网络安全【5-7]。传感器网络作为任务型的网络,要完成数据采集、数据传输、 数据融合和协同控制等任务。每一环节都存在安全隐患,WSN需要实现一些最基本 的安全机制:机密性、点到点的消息认证、完整性鉴别、认证广播和安全管理; 4、数据融合【8.9】。节点采集数据时,可利用节点的本地计算和存储能力处理数 据的融合,去除冗余信息,较少数据量,有利于延长网络的生存期。 5、数据管理。从数据存储的角度来看,传感器网络可以看作一个分布式数据库。 用数据库的思想去管理数据,将数据的逻辑视图与网络的实现分立,可以改善网络 的易用性。 6、专用操作系统。传感器节点要完成多重任务,模块化程度很多,需要一个专 用的操作系统控制其资源分配、任务协调。目前典型的是美国加州大学伯克利分校 研制的TinyOS操作系统。 第二节无线传感网络网关的几种方案论证 无线传感网络网关的实现方案主要可以分为:串口型网关、GPRS型网关、以太 网型网关和多协议型网关。每种方案都有各自优势和劣势,方案的选取取决于系统 的功能要求和具体的应用场合。本系统在以上几种方案的论证和选择上,综合了系 统的成本高低,性能和稳定性的要求,可利用的现有资源等因素进行考虑。本论文 主要实现以太网型的网关。 串口型网关 串口型网关主要功能是:接收WSN中收集到的数据,协议解析获得数据,然后 按照特定的总线协议将数据重新组包,发送到目标网络,如图2-I所示。总线型网 关比较适合节点规模较小的WSN应用,WSN一般采用星形拓扑,总线网络一般采用 RS485或RS232总线。从实现的功能上来看,串口型网关的软硬件要求很低,一个 高档8位单片机就可以完成相应的任务。这种方案可以采用PICl8系列或AVRl28 系列高档8位处理器,避免了外扩大容量的存储系统和外接AD转换器:采用 CC2410,CC2420等ZigBee协议芯片作为无线收发单元;采用MAX232作为串口电平 转换芯片。串口型网关的数据汇聚,数据收发,协议分析,数据组包,数据转发等 工作由软件完成。 第一章无线传感网络网关的软硬件架构 J,,。,,‘。一~’·’、’,_ .·,‘’”…’‘+‘ j j .’ 1 wsN)◇(篙萎 j、 ,,J?串口网关’、 图I-i串口型网关 Fig.1—1 serial gateway 软件结构上采用微内核结构,在核心层实现基本的任务调度、中断处理、功耗 管理、协议控制、射频驱动和串口驱动等模块,应用层API实现数据采集、射频通 信和串口通信等模块。 这种软硬件的特点是:联网能力较弱,物理实现容易,编程模型成熟,可实现 WSN协议和串口总线协议的互转,软硬件的扩展性差,适合做产品原型或简单工业 监控。 GPRS型网关 GPRS网络n们是在现有的GSM网络中引入三种新的逻辑网络实体:包控制单元 (PCU)、GPRS服务支持节点(SGSN)和GPRS网关支持节点(GGSN)来实现的,使得用 户能够在端到端分组方式下发送和接收数据。SGSN提供GPRS网络与外部分组数据 网络之间的交互操作,PCU负责在基站子系统中分组控制、信道控制、编码方案、 质量控制、功率控制等。 GPRS型网关的主要功能是:汇聚WSN的数据,数据解包,按照GPRS协议重新组 包转发到GSM/GPRS网络。WSN的数据经过GPRS网络远程传送以后,可以传送到远 程PC机做数据的深度处理,也可以传送到移动终端,如图2-2所示。GPRS型的网 关硬件上主要包括:32位微处理器,无线协议芯片,GPRS模块,实时时钟和电源模 块等。GPRS型网关要求稳定性、可靠性比较高,硬件上能支持足够复杂的软件设计。 GPRS一般采用现有模块,处理器通过串口使用相应的通信指令即可收发数据,硬件 上有较多的参考设计方案。 福建师范大学程明传硕士学位论文 ,,,+,一’“’。、 ?‘ j、、 ÷ ?wWSsNN。j《,).Q■({ :.~…./,7GPRS网关、 。、. SU、GJSUN▲。、 、t ●~●●●●^…●。r-- GSM/GPRS网络 PC 囝 mobile 图卜2 GPRs型网关 Fig.1—2 GPRS gateway GPRS型网关的软件要求相对复杂,采用一个微型的实时操作系统,可以简化多 任务型程序的开发。在有嵌入式操作系统的情况下,软件的层次比较清晰,可分为: 硬件启动层,操作系统内核层,外设驱动和应用程序层。硬件驱动层和操作系统系 统内层不再介绍,应用程序层主要的几个任务是:无线数据接收;控制命令转发; GPRS数据转发和协议处理等。 这种方案的特点是:将WSN的数据转发到GPRS网络,将WSN网络和移动通信网 络联系起来。利用GPRS基础设施,可以远程监控WSN的数据并能远程管理WSN,而 且灵活性比较大软件上有很大的开发余地。 以太网型网关 以太网是现今局域网的核心协议之一nu,在工业、商业或家庭应用中广泛使用。 在以太网中,所有计算机被连接到一条双绞线上,采用CSMA/CD机制获取信道进行 通信。网桥、交换机和路由器是其重要的联网设备。无数的以太网通过防火墙接入 Internet,将全世界的电脑构成一个逻辑上的整体。 以太网型网关的主要功能是:获取WSN的数据包,按照以太网协议的格式重新 组包,转发到以太网。获取以太网传送的管理指令,解析指令并转发到WSN,实现 WSN的管理。为了满足远程管理的需求,以太网需要接入Internet,为了提高以太网 的安全性还需要使用防火墙将内网和外网隔离,如图2-3所示。以太网型网关硬件 上要求32位处理器,充足的存储空间,无线协议芯片,网络模块,电源,时钟等。 以太网型网关软件上要求稳定性、可靠性比较高,要给软件留足够大的开发余地。 第一章无线传感网磐网关的软硬件架构 图卜3以太阿型厢关 Fig 1—3 Ethernet gatewsy 以太网型网关一般有操作系统的支持。在嵌入式操作系统的支持下,以太网网 关可以提供B/S访问模式。监控中心可以远程通过浏览器访问网关,以管理WSN,网 关提供的Web Service也可以将数据传送到监控中心的数据库。WinCE,Linux都可 以为嵌入式系统提供轻量级的Web Service. 这种方案的特点是:以太同在生产、生活中分布最广,传输数据的费用低廉, 非常适合工业,商业和家庭使用。充分利用以太网和嵌入式操作系统的优势,可以 创建及其精致、实用的以太网型网关。 多协议型网关 多协议型网关“4顾名思义就是支持两种或两种以上通信协议的网关,可以实现 ZigBee协议和两种或两种以上的通信协议相互交互。目前主流的通信协议包括 GsM/GPRs、总线网络和以太网,而这些网络都可能有和无线传感网络交互的需求。 大型的监控中心可能通过以太网和无线传感网络交互用子监控大型公共建筑的安全 状况;手机用户可能通过GSM/GPRS网络可以实时掌握实验室环境参数以及安全状 况;工控用户可能通过总线网络汇聚无线传感网络的信息,用户监控和分析工厂机 器的运行状况等。多协议网关的出现使无线传感万路过网关具有了一定的通用性, 可以灵活地适应不同的应用需求,扩大其应用范围。多协议阿关通过配置可以支持 一种或多种协议,比如通过设置只支持GPRS网络,或设置为同时支持GPRS网络和 以太网。 多协议型网关一般内部集成了多种通信协议,可以实现多种协议互转的功能。 以上几种形式的阿关都是将WSN的数据发送到单一的异构网络,多协议网关则可以 将WSN的数据发送到多种异构网络,结构如图2—4所示。 福建师范大学程明传硕士学位论文 (.、,∑,≥毓G器SM/GPRS/,蕊愈 ‘、、…/多协议网关、 ,,,。、池 第一章无线传感网络网关的软硬件架构 所有操作系统都需要实现多种任务,所以有必要使用嵌入式操作系统,但是 以太网型网关和多协议网关对操作系统的依赖性更强,甚至没有操作系统的 支持,软件设计任务几乎短时间无法完成。 ·系统的总体成本,包括硬件开发成本和软件开发成本,硬件成本最高的是 GPRS型网关和多协议型网关。软件开发成本最高的是以太网型和多协议型 网关。 表卜l网关的综合比较表 Table 1—1 compositive compare of gateway 协议 复杂度 功能 嵌入式操作系统 成本 串口型 RS232 中 弱 必要 低 以太网型 TCP/IP 高 中 非常必要 低 GPRS型 GPRS 中 中 必要 中 GSM/GPRS/TCP/IP 多协议型 高 高 非常必要 高 总线网络等 第三节无线传感网络网关的硬件模型 网关是一个协议转换的工具【13】【141,主要负责接收一个网络中的数据,分析之后 按照目标网络的协议格式转发出去。所以通信单元是网关设计的一个核心。无线传 感网络网关的硬件主要包括以下几个模块:处理器模块、射频单元、远程通信模块、 存储模块、电源模块和调试模块等。网关硬件的总体方框图如图2.5所示。 :.翌竺兰苎净号 ’--____·_-_________..一, ∽ jFla三sh吲净 U 位 ---...............__.., 玉RTEC葛净 ■-_-_-_--_--_-.__-_, 处 理 器 画磊片 电源模块l}爿 图1.5网关的硬件模型 Fig.1—5 h锄.cw锄.e model of gateway 无线传感网络网关对各个模块的主要要求如下: · 处理器单元:主要选择功能较强的32位嵌入式微处理器,ARM、MIPS和 DSP都可以使用。其中MIPS比较适合网络设备使用,但是开发难度太高不 福建师范大学程明传硕士学位论文 宜一般开发者使用,ARM和DSP是不错的选择; ·射频单元:此模块主要负责和无线传感节点通信,汇集无线节点采集的物 理信息,将汇聚的物理信息通过一定的通信接口传给处理器处理,射频芯 片要求支持ZigBee协议; ·远程通信模块:这个模块具体设计是应用场合决定的,通信模块主要是 GPRS、以太网、总线网络等。由于现在以太网与科研、生产和生活的关系 日益紧密,本课题主要研究以太网方式的远程通信,值得一提的是以太网 的底层实现是相当复杂,有必要使用带TCP/IP协议栈的嵌入式操作系统的 支持: ·存储模块:网关功能上虽然是数据中转站,通常使用在以太网中的交换机 和路由器一般都不存储数据,但是无线传感网络网关的数据存储能力还是 非常必要的,特别是网络出现故障时,暂时存储数据还是相关重要的; · 电源模块:电源是任务嵌入式系统中必不可少的模块,稳定的电源模块是 系统稳定运行的基石。对于32位处理器而言一般需要提供5V和3.3V电压, 其中电源状态指示灯和电源保护也非常重要; ● 调试模块:这个是开发阶段需要的模块,下载程序、调试程序都需要调试 模块,现在很多处理器上集成了ICD(In Circuit Debug)功能,搭建少量的电 路就可以实现在线调试功能,而不需要购买专业的仿真器,以降低了系统 开发成本,但是简易调试器功能不够丰富。 第四节无线传感网络网关的软件模型 一个成熟的无线传感网络网关软件包括以下组件:系统驱动层、操作系统层和 应用程序层。系统驱动层除了一般的驱动外,一定要有和传输介质相关的网络驱动, 使用以太网传输要有以太网驱动,使用GPRS传输要有GPRS驱动。操作系统除了 一般的需求外,要确保操作系统的网络功能和数据存储功能,无线传感网络的数据 量是比较大的,所以对数据的临时存储或长期存储的要求比较高,最好操作系统有 嵌入式数据库的支持,以简化数据的存储和相关操作。操作系统的网络通信的可靠 性和稳定性,也是决定一个网关性能的一个重要因素。在应用层最重要的Zigbee协 议和TCP/IP协议之间的数据交换以及数据的存储等。协议转换和嵌入式数据库也是 本课题的一个重点。所以一个通用的无线传感网络网关模型如图所示。具体实现上 第一章无线传感两络网关的较硬件架构 主要是由于嵌入式操作系统的不同而有一定差别 图I-6厨关的软件模型 1∞6 Fig fhammodelofgateway 网关管理软件的方案 网关软件的核心是实现zigBee协议和TCP/IP协议相互交换数据。同时需要满 足功能稳定、方面易用的需求。有多种实现方案可以选择,第一种:采用Windows CE操作系统叫[10和Socket通信模式;第二种:Linux操作系统【1∞【‘目和Web Server 模式;当然其他的嵌入式操作系统也是可以实现的。这里主要比较一下这两种方案 WindowsCE是微软在嵌入式领域极重要的一个产品,是微软针对个人计算机以 外的产品所开发的操作系统家族统称。CE现在主要应用在PDA、智能手机、住宅 门禁、POS设备、机顶盒、VolP、收银机和工控终端上等。其中用在PDA或智能 型手机上的称为Windows Mobile;至于其他用途,如机顶盒、VoIP、排队机等则维 持WindowsCE的名称,其实产品的核心是相同的。目前最新版本的WindowsCE 6.0 是一个开源的版本。Windows CE操作系统有很多优点: ●实时的嵌入式操作系统; ·开放的通信平台 轻量级目录访问协议(LightweightDirectoryAccess protocol,LDAP); 远程访问服务(RemoteAccess Service,RAS); 网络驱动程序接口规范(NetworkDriverImerface Specification,NDIS) TCP/IP:使设备作为局域网或远程网络上的节点和服务器。 Winsock2.0:发现和使用底层传输协议的通信能力。 福建师范大学程明传硕士学位论文 网络桥接:(Network Bridging)将帧从一个以太网段转发到另一个网段 通用即插即用(Universal Plug and Play,UPP) 实时协作和通信。 远程桌面协议(Remote Desktop Protocol,RDP) ·系统的高可靠性和小内存体积占用; ·支持XML和SOAP等最新标准; ·支持.NET Compact Framework; ·强大而方便的系统定制软件Platform Builder; ·嵌入式数据库(SQL Server CE)和嵌入式浏览器的支持; ·支持多种语言开发应用程序C++/VB/C#,集成开发环境完善; 采用Windows CE操作系统和Socket通信模式完成网关的设计,主要需要实现 一下功能模块:串口接收模块、协议处理模块、数据存储模块(嵌入式数据库)、TCP 数据转发模块、TCP查询处理模块。数据处理过程是:串口接收终端节点的数据, 解析ZigBee协议,将实时数据存储到SQL Server CE数据库中,实时数据的显示功 能,通过TCP远程发送实时数据给远程监控服务器,等待监控服务器的查询和设置 指令,并接到时解释执行。 Application 厂==j厂1函in (内核](GWES.d11] 网络 【苎竺至竺J(i薹簋:) 协议栈 \———————_/\—』兰望三望旦-/ 飞【置艮l髓| APS NWK 疋 MAC 。 B。’ o。 。o。 。 t。l。 o。 。a。 。d。 。e—r—)‘。 D’。 。e。 ‘v。 。i。 e。 。e。 ‘.。d。 ‘l。l— ) PHY APS NWK MAC PHY Megal28 平台 图1-7 W'mdoWS CE实现网关管理软件的模型 Fig.1-7 Windows CE realized model of gateway management Linux操作系统是在Unix操作系统基础上发展起来的,源代码公开,网络功能 强大,开源社区的广泛支持,支持大多数嵌入式处理器。目前Linux主要用在服务 器上,在桌面操作系统和嵌入式操作系统方面,也越来越发挥着重要的作用。Linux 操作系统的主要优势是: 第一章无线传感网络网关的软硬件架构 ●超强的网络功能和极好的稳定性; · 良好的可扩展性与可维护性: · 具有系统资源的低占用率和在高性能运算的优势; ·很低的移植成本和软件成本; ·开放的标准,有众多开源软件的支持。 采用Linux操作系统和Web Server模式完成网关的设计,其中最核心的任务是 Linux操作系统的剪裁和Web软件的移植或编写。现在网页形式网关管理界面非常 普遍。Web服务器的支持是开发基于Web的网关管理程序的基础。这样用户就可以 远程通过浏览器来管理或配置网关了。网关汇聚的节点的数据也可以通过Intemet 发给有权限的客户。 受限于嵌入式系统的处理器能力和存储器容量,嵌入式Web服务器【l 9】应尽可 能减少对系统资源的占用,同时应该限制最大访问量(<5个),能实现HTTPl.1协 议的基本内容即可。要能够进行远程监控、管理网关,必须是网关有动态交互能力, 所以还必须提供CGI接口。嵌入式Linux的Web服务器选用支持CGI的boa服 务器。 CGI(Common Gateway Interface),即公共网关接口。它是一个规范,规定了外部 应用程序与W.eb服务器的接口标准。可以使用Perl,C语言,UNIX Shell等多种语 言编写CGI程序。由于C语言在嵌入式中的执行效率较高,所以在嵌入式系统中 一般采用C语言实现CGI程序。当Web服务器收到含有CGI程序的Http请求后,Web 服务器将请求的参数传递给CGI程序,做相应的逻辑处理。CGI程序在对请求进行 分析、处理后将运行结果反馈给Web服务器。最后Web服务器将CGI的输出结 果,按照特定的格式传回客户端浏览器。Linux Web架构的网关模型 福建师范大学程明传硕士学位论文 Application ,————————、/————————、,———————_、 l设备驱动I I内存管理ll进程管理j ’、-......................_/’-......................._/’、-....................._/ APS NWK MAC PHY Megal28 平台 图1-8 Linux Web架构的网关模型 Fig.1—8 gateway model in Linux Web framework Windows CE加Socket方案和Linux加Web服务器方案的优缺点比较如表1.2 所示。综合来说两个方案各有优劣,具体方案的选择还要看一下因素:对操作系统 的了解程序;开发工具链的熟悉程度,成本和时间的考虑等。 表1.2 W'mdows CE方案和Linux方案的比较 性能指标 Windows CE Linux 备注 系统稳定性 稳定 极稳定 Linux号称不死机 开发工具 齐全、易用 齐全 Linux开发工具乱 配套软件 主要微软提供 开源广泛支持 价格 较贵 免费 支持的开发语言 c|C抖NB c|C*|3ava Java程序需虚拟机 嵌入式数据库 SQL Server CE mySQL等 Web服务器 含可选组件 多种服务器可选 支持CGl 支持 支持 管理软件涉及的主要技术 网关系统包括硬件和软件两部分。硬件平台提供了丰富的资源,网关的功能是 否强大就取决于软件开发是否充分利用了硬件,是硬件功能最大化。软件部分包括 第一章无线传感网络网关的软硬件架构 支持实时和多任务操作的嵌入式操作系统和应用程序,应用程序控制着系统的状态 和交互,而操作系统控制着应用程序与硬件的交互作用。网关管理软件的编写设计 到以下几种技术:W'mdows CE内核的裁剪、串口通信、协议分析、数据库技术、 套接字编程等。其中也设计到开发工具的使用,这里简单介绍以下这种技术的细节。 ·Windows CE内核的裁剪 使用Windows CE操作系统提高了嵌入式系统开发的效率,使计算机软件领域 里最新的软件思想,都可以应用于嵌入式开发。Windows CE是一种紧凑、高效、 可伸缩的32位的操作系统,适合嵌入式开发。它的多线程、多任务、完全抢占式的 特性使之适合有严格资源限制的硬件系统。对于CE的定制和裁剪可以使用Platform Builder for CE.NET的集成开发环境。网关操作系统的裁剪注意要添加SQL Server CE模块、Web Server模块、TCWIP模块、.NET Compact Framework模块另外还要 其他的一些模块。对于嵌入式的应用软件,微软提供Embedded Visual Basic(EVB)、 Embedded Visual C++(EVC)、Visual Studio.NET等专门针对嵌入式操作系统的开发 工具。 · 串口模块 串行接口标准是计算机或终端的串行口与调制解调器MODEM等之间的连接标 准。目前串口在计算机、仪器仪表、控制系统中应用广泛,串口通信协议可以用于 获取远程采集设备的数据。串口传输数据有以下特点:串口按位bit发送和接收数 据;使用一根线采用异步模式同时发送和接收数据(非并行);通信距离最远达 1200m。串口通信电路设计简单,利用简单的线缆就可实现双向通信或恐慌子,适 用于低速远距离的应用场合。通信协议对数据格式有如下约定:空闲位、起始位、 数据位、奇偶校验位、停止位。在Visual Studio.NET中有功能强大的串口类加速串 口通信的开发;在Embedded Visual C++中没有串口类,只能调用Widows API实现 串口通信。在网关开发中,串口扮演一个很重要的角色,稳定的串口类对系统的稳 定性影响很大。 ·协议分析 协议分析是指通过程序分析网络数据包的协议头和尾,去掉协议格式,得到协 议中的负载数据,并对数据做必要的处理。网关软件系统里面的协议分析主要包括: ZigBee协议的分析和自定义协议的分析。协议的三要素是:语法、语义和同步,发 数据时按照协议格式打包数据将数据发送出去,接收数据时按照协议格式解析数据, 福建师范大学程明传硕士学位论文 取出负载中的数据。数据的打包和解包一个需要对协议的良好理解,一个需要对字 符串操作的熟悉。协议格式第三章有详细介绍,这里不再重复。 ·数据库技术【20】 数据库的作用是保证:数据始终可用、数据受到保护、访问权限控制、为应用 程序提供必要的伸缩性和支持性。在程序架构中使用数据库最重要的理由就是程序 总是需要将数据从一种形式转换为另一种形式以使数据形式适用于当前子任务,而 拥有数据库可以简化数据的管理、共享和传输。目前以数据为中心的应用程序多采 用三层架构,其中的数据访问层专门负责和数据库打交道,剩下两层通过和据访问 层交互来访问数据库,这样可以降低层与层之间的耦合性。现在对数据的编程,抽 象层次已经从逻辑级别提高到概念级别。抽象相对与逻辑来说是相对稳定的,我们 可以将概念架构层具体化来创建服务,这样这些服务之间就可以共享工具、定义和 模型。概念数据模型包含的要素有:实体和关系的扩展关系模型、EDM查询语言、 映射引擎等。Visual Studio 2005集成开发环境和ADO.NET技术提供开发数据库程 序强有力的支持。 ·套接字编程 Socket是网络通信的基石,是支持TCP/IP协议的基本操作单元。Socket有两种 不同的类型:流套接字(TCP)和数据报套接字(UDP)。套接字存在于通信域中,可以 将套接字视为不同主机间的进程进行双向数据传输的端点。使用Intemet进行通信, 需要一对一定模式的套接字,一个套接字工作在服务器端,一个套接字工作在客户 端。对于TCP套接字,套接字之间建立连接的过程分为:服务器监听,客户端请求, 连接确认。监听时,服务器处于等待客户端连接的状态;客户端请求时,客户端主 动提出连接请求,以IP和端口号连接服务器端的套接字;连接确认时,服务器收到 客户端的请求并响应,建立独立的连接线程,把服务器端套接字的描述发给客户端, 连接就建立了。这样服务器和客户端就可以双向通信了。Visual Studio 2005提供了 丰富的网络类库。 第二章无线传感网络节点的设计 第二章无线传感网络节点的设计 第一节ZigBee协议分析 为了搭建起一个完整的无线传感网络,充分测试网关的性能,网络节点的开发 也是必不可少的。ZigBee原指蜜蜂发现花粉资源时,跳Z字舞吸引同伴来采蜜的一 种通信方式。一种专注于低功耗、低成本、低复杂度、低速率的短距离无线网络通 信技术和蜜蜂的通信方式不谋而合,故人们称其为即ZigBee技术。 ZigBee联盟[211成立于2001年8月。最新的ZigBee规范是:ZigBee 2007。ZigBee 既有IEEE 802.15.4省电、简单、成本低的优点,又增加了网络层、安全层和应用层, 应用前景广阔。 ZigBee协议的框架 ZigBee协议由物理层、媒体访问层、网络层和应用层组成。IEEE802.15工作组 致力于WPAN(Wireless personal area network)物理层pHY)和媒体访问层(MAC)的标 准化,目标是为在个人操作空间内相互通信的设备提供通信标准。IEEE802.15.4标 准定义了ZigBee的物理N(PHY层)和媒介层(MAC层)c22】【231。ZigBee联盟在此基础 上建立了网络层(NWK层)以及应用层(APL层)的框架。APL层又包括应用支持子层 (Application Support Sub-layer,APS)、ZigBee的设各对象(ZigBee Device Objects,ZDO) 以及制造商定义的应用对象。 I ⅡB n(APL) nⅡ口 口 Ⅱ 口 口口 Ⅱ 0 口 Ⅱ 口 口 Ⅱ 口 APS)0口 {} I n nⅡ(NW旧 {} IEEE 802.15.4 IEEE 802.2 LCC SSCS IEEE 802.15.4 MAC {} IEEE 802.15.4 868/91 5MHz PHY lEEE 802.1 5.4 2.4GHz PHY 图2-1 Zig,Bee协议的框架 Fig.2—1 the Framework of ZigBee Protocol ZigBee协议的主要技术特点如下: 福建师范大学程明传硕士学位论文 ● 数据传输率低:只有10kbit/s一250kbit/s,适合传输率的应用场合: ◆ 低功耗:在低耗电待机模式下,两节普通5号干电池可使用6个月到2年; ● 低成本:ZigBee协议简单,且免收专利费; ● 网络容量大:每个ZigBee网络最多可支持255个设备。 ◆ 低时延:通常的时延在15ms.30ms之间。 ● 安全:ZigBee提供安全协议,采用AES.128加密算法,并可灵活确定其安全属 性。 ● 频段免费:使用频段分别为2.4GHz、8 68MI-Iz(欧洲)及915MHz(美国),均为免 执照频段。 队I≥‘k‘◎一均◇¨夏……旧 第二章无线传感网络节点的设计 在网状网络中,任何两个设备之间都可以直接通信,通过多跳路由的方式在网络中 传输数据。网络协调器负责管理链路状态,时间同步,设备身份认证等。网状网络 分布范围可以很大,适合在工业测控、智能农业、环境监控等应用。 任何类型的ZigBee设备均有一个64bit的IEEE地址,这是一个全球唯一的设备 地址。在子网内部,可以分配一个16bit的地址,作为网内通信地址,以减小数据 报的大小。地址模式有以下两种:星型拓扑采用网络号加设备标识的方式;点对点 拓扑采用直接使用源/目的地址的方式。 ZigBee协议的物理层 物理层定义了物理无线信道和MAC子层之间的接口,提供物理层数据服务和 物理层管理服务。物理层数据服务从无线物理信道上收发数据,物理层管理服务维 护一个由物理层相关数据组成的数据库。 物理层服务包括以下五方面的功能: (1)激活和休眠射频收发器; (2)信道能量检;测(energy detect); (3)检测接收数据包的链路质量指示(1ink quality indication,LQI); (4)空闲信道评估(clear channel assessment,CCA); (5)收发数据。 信道能量检测为网络层提供信道选择依据。它主要测量目标信道中接收信号的 功率强度,由于这个检测本身不进行解码操作,所以检测结果是有效信号功率和噪 音信号功率之和。 链路质量指示为网络层或者应用层提供接收数据帧时无线信号的强度和质量信 息,与信道能量检测不同的是,它要对信号进行解码,生成的是一个信噪比指标。 这个信噪比指标和物理层数据单元一起提交给上层处理。 空闲信道评估判断信道是否空闲。有三种方式:第一种是检测信号的强度,低 于一个阈值确定信道空闲;第二种是通过判断无线信号的扩频信号特征和载波频率 等信号特征确定信道空闲;第三种是通过综合检测信号强度和信号特征来判断信道 空闲。 IEEE802.15.4标准在PHY层定义了三个频段用于收发数据。这三个频段总共提 供27个信道:868MHz频段1个信道,915MHz频段10个信道,2.4GI--Iz频段16 福建师范大学程明传硕士学位论文 个频段。其中868MHz和915MHz频段,信号处理过程相同,868MHz频段的数据 传输速度为20kbps,915MHz频段的数据传输速率为40kbps。2.4GHz频段的信号处 理的方式和前两种不同,数据传输速率为:250kbps。2.4GHz的信道频率计算公式 为:Fc=2405+5取一11)in megahertz,for k=11,12,…,26 表2-1载波信道特性一览表 序列扩频参数 数据参数 PHY(MHz) 频段taVtHz) 片速率 (kchio/s) 调制方式 比特速率 符号速率 (kbps) (ksymbol/s) 符号 (symb01) 868~868.6 300 BPSK 20 868/915 902—928 600 BPSK 40 20 二进制位 40 二进制位 2450 2400 ̄2483.5 2000 O-QPSK 250 62.5 十六进制 IEEE802.15.4标准定义了物理层数据帧格式。物理帧第一个字段是四个字节的 前导码,收发器在接收前导码期间,会根据前导码序列的特征完成片同步和符号同 步。帧起始分隔符(start.of-frame delimiter,SFD)字段长度为一个字节,其值固定为 0Xa7,标识一个物理帧的开始。收发器接收完前导码后只能做到数据的位同步,通过 搜索SFD字段的值才能同步到字节上。帧长度有一个字节的低7位表示,其值就是 物理帧负载的长度,长度不会超过127个字节。物理帧的负载长度可变,称为物理 服务数据单元(PHY service data unit,PSDU)。 表2-2物理帧结构 4字节 1字节 1字节 长度可变 前导码 SFD 同步头 帧长度(7bit) 保留位(1bit) PSDU 物理帧头 PHY负载(MAC) ZigBee协议的介质访问层 在IEEE802.15.4标准中,数据链路层进一步划分为MAC和LLC两个子层。MAC 子层使用物理层提供的服务实现设备之间的数据帧传输,而LLC子层在MAC子层 的基础上,在设备之间提供面向连接和非连接的服务。MAC子层提供两种服务: MAC层数据服务和MAC层管理服务。前者保证MAC协议数据单元在物理层数据 第二章无线传感网络节点的设计 服务中的正确收发,后者维护一个存储MAC子层协议状态相关信息的数据库。 MAC子层主要功能包括下面六个方面: (1)协调器产生并发送信标帧,普通设备根据协调器的信标帧与协调器同步; (2)支持PAN网络的关联和取消关联操作; (3)支持无线信道通信安全; (4)使用CSMA-CA机制访问信道; (5)支持时槽保障(guaranteed time slot,OTS)机制; (6)支持不同设备的MAC层间可靠传输。 在IEEE802.15.4中,以超帧为周期结构组织LR-WPAN网络内设备间的通信。 每个超帧都以网络协调器发出信标帧开始,网络中的普通设备接收到超帧开始时的 信标帧后,就可以根据其中的内容安排自己的任务。一个信标帧包含活跃部分和不 活跃部分,活跃部分分成16个时槽,0.10时槽属于竞争访问时段,11—15属于非竞 争访问时段。 网络中存在三种数据参数方式:设备发送数据给协调器、协调器发送数据给设 备、对等设备之间的数据传输。星形拓扑网络中,数据只在协调器和设备之间交换, 不对等设备之间的数据传输。网状网网络拓扑中,三种数据传输方式都存在。协议 中有两种通信模式可供选择:信标使能通信(beacon-enabled)和信标不使能通信(non beacon-enabled)。在信标使能的网络中,PAN网络协调器定时广播信标帧;在信标 不使能网络中,PAN网络协调器不发送广播帧,各个设备使用非分时槽的CSMA-CA 机制访问信道。 在信标使能的情况下,网络设备发送数据给协调器的数据传输模型如图2.3所 示,网络设备监听网络中的信标帧,尝试和超帧同步,采用CSMA.CA机制竞争到 一个时槽,则将数据帧发送给协调器。协调器接收数据成功后,回发一个确认帧。 协调器发送数据给网络设备的模型如图2-4所示。信标帧含有属于某个设备的数据 时,目标设备在周期性的监听信标帧过程得到这个消息,这时会想协调器发送传送 数据的MAC命令。协调器收到请求,先回应确认帧在传送数据。网络设备成功收 到数据后,想协调器发一个确认帧。 福建师范大学程明传硕士学位论文 图2-3信标使能,网络设备发送数据给协调器 Fig 2-3 Beacon Enable,Network Equipment Sends Data to Coordination 图2.4信标使能,协调器发送数据给网络设备 Fig 2-4 Beacon Enable,Coordination Sends Data to Network Equipment 在信标不使能的情况下,网络设备发送数据给协调器的数据传输模型如图2.5 所示,网络设备应用无时槽的CSMA-CA机制,竞争到十几后就发送数据帧,协调 器收发数据后,回复确认帧。协调器发送数据给网络设备的数据传输模型如图2-6 所示,协调器只是存储相关的数据,等待网络设备的数据请求,数据帧和命令帧的 传送都使用无时槽的CSMA.CA机制。 图2-5信标不使能,网络设备发送数据给协调器 Fig.2-5 Beacon Disable,Network Equipment Sends Data to Coordination 第二章无线传感网络节点的设计 图2-6信标不使能,协调器发送数据给网络设备 Fig.2-6 Beacon Disable,Coordination Sends Data to Network Equipment MAC层帧结构的设计目标是用最低复杂度实现在多噪声无线信道环境下的可 靠数据传输。每个MAC帧包含帧头、负载和帧尾三部分组成,如表2.3所示。帧 头包含帧控制信息、帧序列号和地址信息组成。负载部分长度可变,帧尾是帧头和 负载数据的16位CRC校验序列。IEEE802.15.4标准定义了四种类型的帧:信标帧、 数据帧、确认帧和MAC命令帧。信标帧的负载数据单元有四部分组成:超帧描述 字段、GTS分配字段、待转发数据目标地址字段和信标帧负载数据组成。其他帧的 详细信息这里不再详细介绍。 表2.3 MAC的帧结构 字节数2 1 mlble 2-3 Frame Structure of MAC 0/2 0/2/8 0/2 o}2湛 可交 2 帧控制 信息 帧序 列号 目的设备 PAN标识 目的 源设备 源设各 地址 PAN标识 地址 地址信息 一 帧头√ . 帧数据 单元 MAC 负载 FCS 校验码 N皿R 帧尾 ZigBee协议的网络层 igBee协议将网络层分为数据实体层(Network Layer Data Entity,ELDE)和管理实 体(Network Layer Management Entity,NLME)。ELDE的作用是:向上层提供所需的 常规数据服务;NLME的作用是:向上层提供访问内部层参数、配置和管理数据的 机制。网络层的结构如图2.7所示。 福建师范大学程明传硕士学位论文 NLDE.SAP 7’———————弋 Ⅱ ⅡⅡ Ⅱ (NLDE) 等裂3 77————————'o— q 0ⅡⅡ口 、 口 (NLME)/ 口 NLDE.SAP 1 f NLME-SAP 图2.7网络层的数据实体与管理实体 Fig.2-7 Data Entity and Managemet Entity ofNetwork Layer 管理实体(NLMW)主要提供以下服务: · 配置新设备:通过一系列初始化工作配置协调器,配置协议或加入现有网络 在守占; ●建立网络:网络的形成是由一个全功能节点发起,它通过 NLME唧WORK。FORMATION.request原语来启动的。协调器利用MAC 子层提供的扫描功能以查找终端节点。协调器工作在合适的信道、PANID 以及网络地址后,开始发送信标帧,等待路由节点和终端节点加入网络。 · 加入网络:主要确定路由节点或终端节点如何加入网络,以及协调器和路由 器如何使一个设备退出网络; ·地址分配:定义了协调器和路由器如何为加入网路的设备分配地址,地址分 配依据3个网络参数:最多子设备数、最大网络深度和最大路由数; ·邻居发现:检测单跳范围内的设备,并维护一张邻居列表,将邻居节点的信 息记录在邻居列表中: ·路由发现:当目的设备不在单跳范围内,需要一个路由发现过程,查找网络 路径成功后,并其记录在路由表中; · 接收控制:控制射频接收器打开和关闭时间以控制系统的功耗,使能MAC 子层的数据同步以及数据接收功能。 ZigBee网络中定义了三种设备:协调器(Coordinator)、路由器(Router)和终端设 备(End device),针对一个具体的网络至少要求有一个协调器,有协调器建立并启动 一个网络。网络的形成和设备维护的简要过程是:Coordinator初始化后之后开始建 立网络,初始化动作包括:选择何时的射频通道,唯一的网络标识符等。Router和 End Device发现网络后加入网络。而后涉及到地址分配、路由选择、邻居列表维护 第二章无线传感网络节点的设计 和路由表维护等。Coordinator网络层功能示意图如图2.8所示。其他两种设备的网 络层的功能模块也是类似的,这里不再累述。 ㈦0I Ⅱ 0 J ’、-____.__-________一, 叫口11>◆ 日日巾DⅡ口 日日 Ⅱ口 ⅡⅡD 口DD Ⅱ口 Ⅱ口日 Ⅱ口Ⅱ 口n口 图2-8 Coordinator主要的功能模块 Fig。2-8 Main Function Models of Coordinator ZigBee的协调器和路由器都需要维护一张路由表,追踪相关的路由路径信 息。路由表的结构如表2-4所示。节点只能获得局部的拓扑信息,路由协议要 能在局部信息的基础上选择合适的路径【27】 表2-4路由表 名称 目的地址 状态 T{lble 2.4 Router Table 长度 描述 2Byte 该设备的目的设备地址 路由发现的状态 3 Bit 0x0:AC田【vE 0xl:DIS 下一跳地址 2Byte 通往目的设备路径上的下一跳设备地址 Zig,Bee协议的应用层 ZigBce协议的应用层是由应用汇聚子层(APS)、ZigBee设备对象(ZDO)和应用对 象三部分组成。APS子层负责维护绑定表,匹配设备之间的需求和服务,并绑定设 备之间传送信息。数据服务实体(APSDE)为网络层提供数据服务,在ZDO设备之间 提供传输应用数据单元的数据服务。管理服务实体(APSME)允许一个应用连接到 ZigBee系统,并提供绑定服务。APS子层就是通过调用APSDE和APSME的服务 实现的。应用层为ZigBee设备中的应用程序提供了运行环境。在框架内 部,APSDE—SAP被应用程序用来发送和接收数据,ZDO被应用程序用来实现应用程 序的控制和管理。APSDE.SAP提供四种传输原语:request,conftrm,response和 indication。request原语用于对等应用程序对象实体之间的数据请求;request原语之 福建师范大学程明传硕士学位论文 后,由confLrm原语进行确认;indication原语用于指示从APS到目标应用程序对象 实体的数据传输。应用层最多可以容纳240个相对独立的应用程序,程序是通过端 口号区分的。应用程序通过APSDE.SAP提供两种服务:键值对服务和通用消息服 务。APSDE.SAP有两个特殊端口:端口0分配给对ZDO的数据接口,端口255用 于对所有应用程序广播。 第二节ZigBee节点的硬件设计 AVR系列控制器 Atmel挪威设计中心的两位年轻设计师在1997年设计出一种增强型内置Flash 的RISC型高速8位单片机。由于出色的创新设计,它与51单片机、PIC单片机相 比具有一系列的优点: ·采用精简指令集,以字作为指令长度单位,指令执行周期短,流水线效率高, 在相同的系统时钟下AVR运行速度最快; ·芯片内部的Flash、EEPROM、SRAM容量较大,极大的方便了系统的设计、开 发、调试和更新; · 自带的看门狗功能、自动上电复位功能、低电压检测功能,多复位源等极大的 提高了系统的稳定性; ·每个IO口都有多种功能可供配置(上拉电阻/输入口/输出口/高阻输入/驱动),使 的得I/o口功能强大,根据应用可灵活配置; ● 内部资源丰富,一般都集成AD、DA模数器、PWM、SPI、USART、TM、12C 通信口;丰富的中断源等,这样既降低了系统的成本也提高了系统稳定性,为 分布式网络和实现多机通信系统的复杂应用提供了基础。 AVR系列单片机目前支持的编程语言有:汇编语言、C语言等。CodeVisionAVR、 AVRGCC、IAR、ICCAVR等C语言编译器是AVR系统软件开发的利器。高档ATmega 系列AVR单片机主要是:ATmega8/16/32/64/128和ATmega8515/8535等。AVR的 单片机可以广泛应用于计算机外部设备、工业实时控制、仪器仪表、通讯设备、家 用电器等各个领域口引。综合考虑性能、成本和开发的难易程度,ZigBee节点的选择 ATmegal28处理器。 ATmegal28L是采用精简指令集,以字作为指令长度单位,将内容丰富的操作 第二章无线传感网络节点的设计 数与指令码安排在一字之中的低功耗微处理器芯片。取指时间短,命令执行快,在 软/硬件开销、速度、性能和成本诸多方面取得了优化平衡。ATmegal28L的主要特 点[29】: ●32*8个通用工作寄存器和外设控制寄存器 · 工作在16Mhz下具有16MIPS的性能 ● 128KB在线可编程Flash,擦写次数10000次 ●4KB EEPROM,擦写次数100 000次 ·8通道10位A/D转换 ·主从SPI串行接口 对ATmegal28L单片机的控制基本上都是通过读写寄存器相关位来实现的。为 了最大限度的扩展芯片功能,IO口都具有多种功能,所有I/O及外围设备的控制寄 存器和数据寄存器都被放置在I/O寄存器空间中。常用到的寄存器包括:2个8位 和2个16位定时器/计数器相关的寄存器;2个通用同步和异步串行接收器和发送 器,模数转换器(ADC)相关寄存器等。 无线芯片选型 IEEE802.15.4标准发布以后,半导体芯片公司陆续推出了支持IEEE802.15.4标 准的无线收发芯片。典型的产品主要有:MCl3192(Freescale公司)、cC2420(c11ipcon 公司)和JN51210ennic公司)。Chipcon公司的CC2420芯片基于SmartRF03技术, 集成度极高。CC2420具有完全集成的压控振荡器,只需少量的外部电路就能在 2.4GHz频段工作。CC2420自带SPI接口和单片机连接,完成功能设置和数据收发 任务。符合IEEE802.15.4标准的协议芯片的特色如表2.5所示。 CC2420芯片是I"I.Chipcon公司推出的首款符合2.4GHzIEEE802.15.4标准的射 频收发芯片【30】。这款芯片使用简单,只需极少外部元器件就可以工作,性能稳定且 功耗极低。该芯片具有硬件加密、安全可靠、组网灵活、抗毁性强等特点,是家庭 自动化、传感网络、工业控制和智能玩具的理想解决方案。 福建师范大学程明传硕士学位论文 表2-5主要的IEEES02.15.4标准协议芯片 生产 厂商 Chipcon Freescale Jennie 国家 挪威.>美国TI 美国Motorola 英国 主要 CC2420/30/3l zDK MCl391/2/3 JN5121 产品 ZigBee开发组件 开发平台 ZigBee开发包 特色 CC2430系统级芯片 集成了ZigBeeRF前 端、存储器和 微控制器 BeeKit工具包旨在帮 助客户迅速开发和部 署Zi班ee解决方案。 软件开发环境包括一 个完整的应用开发工 具包,其中包括编译 器、汇编工具、调试 器和闪存编程器 CC2420有以下技术参数,CC2420芯片的外围接口电路如图2-9所示。 · 工作频带范围:2.牝.4835GHz,有十六个信道; ·采用IEEE 802.15.4规范要求的直接序列扩频方式 · 数据速率达250kb/s码片速率达2Mchip/s ·采用O.QPSK调制方式 ·超低电流消耗(RX:19.7Ma,TX:17.4mA)高接收灵敏度(。99dBm) · 抗邻频道干扰能力强(39db) · 开发工具齐全,提供有开发套件和演示套件 · 采用QLP.48封装,外形尺寸有7mm*7mm 第二章无线传感网络节点的设计 移;m~ 图2-9CC2420的外部电路 Fi92-90uterCircuitofCC2420 CC2420外部使用3.3V电源供电,片上集成了一个直流稳压器,将3 3V电压 转换成1.8V电压供内部使用。射频信号采用差分方式传送,最佳的差分负载是 115+{180欧姆,阻抗匹配电路应该根据这个数据进行调整。CC2420需要有16Mhz 的参考时钟用于250kbps数据的收发。CC2420与处理器通过SPI El相连交换数据和 命令,使用SFD、FIFO、FIFOP和CCA四个引脚表示收发数据的状态;收到物理 帧的SFD字段后,会在SFD引脚输出高电平,直到接受完该帧。FIFO和FIFOP引 脚标识FIFO缓冲区的状态。如果接收FIFO缓冲区有数据,FIFO引脚输出高电平; 如果接收FIFO缓冲区为空,FIFO引脚输出低电平。FIFOP在FIFO缓冲器超过临 界值或接收完一帧时输出高电平。CCA引脚在信道有信号时输出高电平。 CC2420芯片的物理层机制的正常工作是由状态机自动维护的,由内置的状态机 自动实现状态的切换。物理层状态包含:(o,1,2,3,4,5,6),物理层状态用户 基本不可见,状态由CC2420芯片自动维护。 typeAefenllm{ 福建师范大学程明传硕士学位论文 S_PHY_IDLE=0,//空闲状态 S_CSMA_CA,//CSMA—CA信道竞争状态 S TRANSMITTING FRAME,//数据包发送状态 S_WAITING ACK,//等待确认帧状态,其余任何数据包都将丢弃 S_WAITINQBEACON,//等待信标帧状态,其余任何数据包都将丢弃 S.INACTIVE PERIOD//f氐功耗状态,此时射频关掉或不接收发送任何包 }PHY.-cHA№咂L_STATE; 硬件的设计框图 ZigBee节点硬件上主要包括:处理器、无线模块、存储模块。处理器选用Atmel 公司低功耗的MTMEGAl28芯片,该芯片具有片内128KB的程序存储器,4KB 的SRAM和4KB的EEPROM;IEEE802.1 5.4标准芯片采用Chipcon CC2420芯片; 为了满足大容量存储的要求扩展了512KB的低功耗Flash存储器。主要的硬件资 源如图2.10所示。 , 1鲁> CC。芯24.片 。20J’7 辫】¨ 芯片J’7 面赢鬲沁 芯片卜~◆ L 、 乌 蚤 鲁 匿 。 图2。10 ZigBee节点硬件设计框图 Fig 2一10 Hardware Framework ofZigBee Node 无线传感器使数据的采集和统计变的容易,大大的降低了管理上的不方便和节 省了费用。传感器种类很多,可用于各种物理量的测量,比如:温湿度传感器,光 双圃蒜延基D一案孽回鬈一◆ 照传感器,气体传感器和压力传感器等。传感器一般包括了传感器探头和变送系统, 不同种类,不同精度的变送系统的要求也各不相同。传感器的工作原理如下图所示。 图2.1 l传感器应用一般电路结构 Fig.2-l l Common Circuit Of SensOr ApplicatiOn 在设计过程中首先要根据应用需求来选择参数,性能适合的传感器,并设计相 第二章无线传感弼络节点的设计 应的驱动电路以及信号处理电路(如放大和滤波等)。在设计中还要考虑信号的输入 和输出特性,本系统采用的是光敏传感器和热敏传感器。 节点的硬件电路的原理图和PCB图设计采用Protel DXP软件。原理图描述电 路的物理连接管理,为了方便理解采用模块化组织电路,这样便于原理图的理解和 差错。PCB图采用双面板设计,由于射频电路的需要工作在高频状态(需要设计四层 电路板实现1,所以射频部分采用独立的模块,其他部分都在双面板上,通过插针相 连。PCB扳原件的布局也采用模块布局,数字部分和模拟部分分开。晟终的电路板 如图2.11所示。 图2-1l zlgsee节点实物圈 Fig 2—11 PhotoofZigBeeNode 第三节ZigBee节点的软件设计 ZigBee节点的软件设计要比硬件设计复杂的多。节点软件的编写采用模块化思 想和状态机思想【”I,最终由状态机决定那个程序模块运行。软件的主要包括:系统 初始化模块、组包发送模块、接收数据模块、应答模块、空闲信道检测模块、 CSMA—CA算法模块等。下面详细介绍一下这些模块。 系统初始化模块 系统初始化有很多工作要做,主要包括:处理器硬件初始化、指示灯初始化、 串口初始化、OS调度初始化、CC2420初始化及相关设置等。系统初始化的目的是 福建师范大学程明传硕士学位论文 初始化软硬件,使软硬件达到一个确定的可知状态,固件可以在这个环境中正常运 行起来。值得注意的是节点可能的状态非常多,任务的调度和数据的同步和互斥都 是需要注意的,所以引入了微型嵌入式操作系统来简化这些问题。系统初始化的框 图如图2.12所示: 图2.12系统初始化 Fig.2—12 the Initialization of System 组包发送模块 数据组包发送模块对于协调器和终端节点是不同的,协调器发送不带负载数据 包到终端节点,终端节点一般发送带数据的数据包到协调器。组包发送过程是先完 成一系列的初始化动作,随后按照标准格式定义包的结构体,根据实际情况给结构 体赋值,数据包计数值初始化为O,延时后,数据包计数值自增1,调用CC2420的 [墨 发送函数将该数据包发送出去。数据帧序列号自增1。数据组包发送的流程图见图 2.13。 图2.13组包发送的流程图 Fig.2-13 the Diagram of Sending Packets 第二章无线传感网络节点的设计 节点发送的数据要求符合IEEE 802.15.4标准的帧格式,帧格式在3.1.4小节有 详细的介绍。数据包和地址的结构体定义如表2-6所示, 表2-6数据包和地址的结构体定义 Table 2.6 the Struct Defination of Data Packet and Address 数据包的结构体: 地址的结构体: typedef struct DataPacket { typedefstruct AddressField { uint8..t length; uintl 6j destination_pan; uintl 6—.t fef; uintl 6_t destination_address; uint8——t dsn; uintl 6_t source__pan; AddressField address; uintl 6_t source_address; uintl 6—.t payload; >AddressField; )Packet; /幸宰奉●+}+●●}木幸jI幸奉幸奉+●幸幸●奉枣●幸●●水幸}幸●+●枣木枣木幸+奉木,I+母●●宰宰木●}●木幸牛掌●宰'-●●+幸 ·组包发送结构体赋值代码片段(协调器端) 枣宰幸事幸幸事幸奉宰幸}木●奉宰}木木奉宰奉幸奉幸幸●●●枣木奉奉幸+幸宰串宰幸●幸●幸幸幸宰幸宰宰幸●+幸辜事奉幸幸宰事串奉●事/ des_address=OxO 1; demopacket--malloc(sizeof(Packet)); demopacket·>length=OxOf; demopacket->fcf=-0x8841; demopacket一>dsn=0x0 1; demopacket->address.destination__pan=0x000 1; demopacket->address.destination_address=des_address; demopacket->address.source_pan=Ox0001; demopacket一>address.source_address=0x0000; demopacket·>payload=Ox0000; uintl 6.t packet_number=O;….. 接收数据模块 CC2420能够将数据按照IEEE 802.15.4的标准帧发出去,同样也可以利用它的 .35. 福建师范大学程明传硕士学位论文 地址译码功能来接收基于IEEE 802.15.4的标准帧。在接收帧时,当接收完最后一个 字节时,FIFOP引脚将变成高电平,从而触发微处理器的外部中断程序,通过中断 程序来处理接收到的数据。CC2420在硬件上支持地址译码,符合下面的条件的帧 才会被译码: ·帧类型子域合法 ·如果是信标帧,源panID必须和macpanID匹配,信标帧应无条件接收 ·如果帧内包含目的节点的panlD,需和macpanlD匹配 ·如果目的地址为短地址,则它为macshortAddress或0Xffff · 如果目的地址为长地址,则它必须为aExtendedAddress · 如果源地址区域包含在数据帧或者MAC帧中,则协调器接收此帧 接收帧的过程简单描述如下:软硬件系统初始化,设置CC2420的信道,设置 CC2420的接收模式,使能CC2420地址译码,打开对FIFOP的中断支持,当有FIFOP 中断发生时,调用接收处理函数,编写接收处理函数时,要注意转义字符的处理。 系统初始化 ’ 设CC2420的信道 及接收模式 图2-14接收数据流程图 Fig.2—14 the Diagram ofReceving Data 应答模块 IEEE802.15.4标准定义了四种类型的帧:信标帧、数据帧、确认帧和MAC命令 帧。应答模块是以标准的ACK帧格式,准确的回复ACK帧。CC2420固件提供自 动回复确认帧的固件,确认帧紧接着被确认帧发送,不需要使用CSMA-CA机制竞 争信道。帧确认机制是一种可选机制,发送帧的设备可以要求目的设备在接收数据 第二章无线传感网络节点的设计 后发送确认帧,也可以不要求发送确认帧。一般设备发送一帧后,在一定时间内没 有收到确认帧,则认为发送失败,在需要时又会从新发送原有数据。确认机制的作 用是保证数据传输的鲁棒性。确认帧的发送有以下要求: ◆使能CC2420芯片的地址译码和CRC校验功能; ●接收帧需经过地址译码和CRC校验: ◆在接收帧的帧控制域中ACK request=1,表示该帧需要确认; · 确认帧的序列号应该与被确认帧的序列号相同,且不带任何负载字段。 表2.7 IEEE 802.1 5.4帧控制域字段 Table 2—7 Contr01 Field of Frame in IEEE802.1 5.4 位 0-2 3 4 5 6 7.9 10.“ 12—13 1扣15 字段含 义 Frame Type Security Frame Ack Intra- enabled Pending Request PAN Dest Address mode Source address mode 确认帧有CC2420自动生成,帧序列号从接收帧复制过来,表明确认帧是该接 收帧的确认,帧控制域中的Frame pending由命令选通寄存器SACK和SACKPEND 决定。如果选通SACK则Frame pending=0;如果选通SACKPEND则Frame pending =1;无论选通哪个寄存器,确认帧都将发送出去。 l 系统初始化 ◆ 设CC2420的信道 耋 ■ 及接收模式 图2—15确认帧的发送流程 Fig.2—15 the Diagram of Sending acknowledgement frame CSMA.CA算法模块 为了尽量减少数据碰撞和重发,需要防止各站点无序地争用信道,CC2420芯片 采用了与以太网CSMA-CD类似的CSMA/CA(Cartier Sense Multiple Access/Collision 福建师范大学程明传硕士学位论文 Avoidance)。由于无线产品的适配器不易检测信道是否存在冲突,因此802.15全新 定义了一种新的协议,即载波侦听多点接入/避免冲撞CSMA/CA。这个协议有两个 作用:一是载波侦听,用于查看介质是否空闲:二是避免冲撞,通过随机的时间等 待,使信号冲突发生的概率减到最小。为了提高系统的鲁棒性,802.15还提供了带 确认帧AcK的CSMA/cA。 当一个无线站点需要发送数据时,需要先监听无线信道空闲的时间。如果空闲 时间大于某一帧的间隔,则立即发送该信息,否则继续监听信道。为了保证某一时 刻只有一个站点发送,以实现网络系统的集中控制,CSM刖CA将时间域的划分与 帧格式紧密联系起来。 在判断数据是否发生碰撞的机制上,CSMA/CA和传统的CSMA/CD是不一样的。 CSMA/CD通过检测电缆中电压的变化来判断是否存在数据碰撞,当数据传输发生 碰撞时,电缆中的电压就随着发生变化;而CSMA/CA的传输介质是空气,碰撞检 测机制就不同了。CSMA/CA采取了三种检测信道空闲的方式:能量检测(ED)、载 波检测(CS)和能量载波混台检测。 · 能量检测:接收端通过一定的装置测量接收到的信号能量,以能量强弱为判 断标准,当功率大于某一确定值时,认为信道繁忙,否则认为信道为空。 ·载波检测:接收端将接收到的信号与本机的伪随机码进行运算比较,如果其 值超过某一确定值时,认为信道繁忙,否则认为信道为空。 ·能量载波检测。它是能量检测和载波检测方法的综合。 在IEEE 802.15.4 CSMA/CA机制中,网络协调器在自己建立的网络中,发出信 标给所有正在工作的终端节点。在一段时期内只能有一个设备能向网络协调器传输 数据,这样所准备要传输数据的节点设备都需要通过CSMA/CA机制来竞争传输媒 体的使用权。在IEEE 802.15.4 CSMA/CA算法中有三个重要的参数由每个要传送数 据的设备去维护:Nb、CW和BE。 ·Nb(Number OfBack):CSMA/CA机制中允许的回退次数。№的初始值为0, 当节点要传送数据时,经过一段后退时间后,如果检测到信道忙,则Nb自 加1。在IEEE 802.15.4中,Nb值最大值为4,4次没有发送成功,则放弃 发送以减少系统开销。 ●CW(content window length):后退延迟时间的长度,单位是Backoff,定义 了竞争传输前需要的aUnitBackoffPeriod的数目。CW的初始值为2,最大 第二章无线传感网络节点的设计 值为31。数据传输前CW为2,当信道为忙时,CW重置为2。 ·BE(Backoffexponent)-后退指数。取值范围为0---,5,默认值为3。当BE设 为O时,相当于禁用CSMA/CA机制。 <CSMMCA> ’ 一叫髓=‰E ◆ 延时随机时间长度 ÷ CCA]睑测 T l司唾面>J……1 ≯ NB=NB+l, BE=min(BE+l,aMaxaE) CW=CW.1 已一M翎适蔓多><≤≥岁 p IrY 传输失败 发送成功 图2-16 CSMA/CA算法沉程 Fig.2—16 algorithm flow chart of CSMA/CA MAC层状态机模型 在嵌入式软件复杂性达到一定程度时,软件框架的设计就比较重要了。一使用更 好的分析设计方法得到一个优良的软件架构,就可以使应用程序结构性更好,运行 效率更高,易于维护。有限状态状态机(STATE MACHINE)被广泛用于软件架构建模、 行为建模、VI-IDL建模、网络协议、编译器等方面。状态机模式在处理复杂嵌入式 系统的时候,优势更加明显,我们可以用简明的状态机模型来描述复杂的系统,这非 常有利于从总体上把握问题,从而减低软件开发的难度。 IEEE802.15.4协议中物理层和MAC都有很多状态,由此本课题采用状态机原理 实现802.15.4协议栈。下面简要说明一下什么是状态机,以及状态机的工作原理。 有限状态机表示有限个状态以及在这些状态之间的转移和动作等行为的数学模型, 它在任何时刻,都处于一个特定的状态。状态机包括四个基本要件,状态(STATE)、 福建师范大学程明传硕士学位论文 事件(EVENT)、转换(TRANSTION)、动作(ACTION)。 ·状态:指的是对象在其生命周期中的一种状况,“状态”是相对稳定的,没有 外部条件触发,一个状态会一直持续下去。处于某个特定状态中的对象必然 会满足某些条件、执行某些动作或者是等待某些事件。 ·事件:又称“条件”,指的是在时间和空间上占有一定位置,并且对状态机有 一定意义的事件。当是一个事件被触发时,通常会触发状态的变迁,促使状 态机从一种状态转换到另一种状态。 · 转换:指的是状态和状态之间的一种关系,当有事件发生时并且条件得到满 足时状态从初态转换到次态。 ·动作:指的是状态机中可以执行的那些原子操作,对原子操作的要求是:运 行时不能被其他消息中断,直到完成。但是动作不是必需的,当条件满足后, 也可以不执行任何动作,直接迁移到新状态。“动作”是不稳定的,有时没有 条件的也会触发,“动作”一旦执行完毕就结束了。 有限状态机一般用状态转移表和状态转移图来表示建模。状态转换表就是用一 张表格表示一个状态机;状态转移图用几种约定的图示来描述状态机。有限状态机 (FSM)可以用严格的数学模型来表示,是一个五元组M=(Q,∑,6,q0,Z),其中: ·Q:表示所有状态的集合; ·∑:表示状态可响应的所有事件的集合; ·6:表示变迁函数,它描述了状态机从一个状态转换到另一状态的可能性。 一般用式子8(ql,a)=q2表示在q1状态下在事件a的作用下,转入新状态 q2; ·q0∈Q表示状态机启动时的初始状态; ·Z∈Q表示终结状态的集合。 状态机的概念是非常简单的,一个好的状态机的设计,关键是如何定义状态, 状态少了,则意味着每一个状态中要处理的事务多了,状态多了,则整个状态机就 变的复杂了。状态机是软件编程中的一个重要概念。比这个概念更重要的是对它的 灵活应用。在一个思路清晰而且高效的程序中,必然有状态机的身影浮现。CC2420 芯片中定义了15个状态寄存器,从指定的地址跟踪这些状态,就可以确定芯片的工 作状态。CC2420中有两个很重要的寄存器,发送O-XFIFO)和接收(RXFIFO)。寄存 器TXFIO(Transmit FIFO Byte Register)的地址为0x3E是只写的;寄存器 第二章无线传感网络节点的设计 RXFIFO(Receiver FIFO Byte Register),地址为0x3F是可读写的。 表2-8 CC2420主要的状态表 Table 2.8 Main States of CC2420 地址 ‘状态 一 ·“ 描述 -‘ OxOO SNOP 空操作,空闲状态(除了读出状态位以外无其他操作) 0x01 SXOSCoN 打开晶体振荡器(设置XOSCl6M—PD=0;BIAS_PD=0) Ox02 STXCAL 使能并校验TX的频率合成器 仅当合成器运行时从TX/RX转换到等待状态 Ox03 SRXoN 接收使能RX,驱动CC2420进入接收状态 0x04 STXoN Ox05 STXONCCA Ox06 SRFOFF 校验之后使能Tx,如果SPI_SEC_MODE≠o启动TX 假如CCA指示为一个空闲信道,使能校验并传输, 如果SPI_SEC MODE≠o则启动传输,负责不做任何事 射频关闭状态(禁用RX/TX和频率合成器) 0x07 SXOSCOFF 关闭晶体振荡器和射频收发器 Ox08 SFLUSHRX 刷新发送F正。缓冲区(RX FIFO)并重启解调器 在SFLUSHR开关之间总是读取RXFIFO一字节数据 0x09 SFLUSHlX 刷新发送FIFO缓冲区(TX FIFO) 0x0A SACK 发送确认帧并清空pending域 0x0B SACKPEND 发送确认帧并设置pending域 0x0C SR)(DEC 开始Io口ⅢO的内嵌式加密/鉴权(通过设置SPI_SEC_MODE) 0x0D STXENC 开始TXFⅢO内嵌式加密/鉴权(通过设置sPI_SEC_MODE) 且不开启TX 0x0E SAES AES加密选通.SPI SEC MODE不必为0 CC2420内置状态机,能方便地实现不同状态之间的切换。指令开关或事件驱动 都可以引起状态的改变。在测试或调试时,可以读取FSMSTATE状态寄存器(地址 福建师范大学程明传硕士学位论文 oxac),读取内部状态机的状态。CC2420内置状态机的状态转换图如图2.17和图 2.18所示。 ● 晶体振荡器由SXOSCON/SXOSCOFF指令寄存器控制 ·为了测试目的时,使用STXCAL控制寄存器,频率合成器也能手动校验和 启动 ·使用控制寄存器STXON or STXONCCA时,才会启动一个传输过程 · 使用控制寄存器SRFOFF or SXOSCOFF可以方便地关闭一个射频收发器 ·从其CC2420是,其处于掉电模式 ·CC2420的开启时间很快,只有在传输开始的时候才上电 · 晶振启动了才能访问RAM和FIFO中的数据 图2.17右半边显示了CC2420发送数据时的状态转换图,准备工作完成后,进 行数据校验,接着传输前导码和SFD(帧起始分隔符),SFD固定为0Xa7,标识一个物 理帧的开始。前导码的作用是位同步,SFD的作用是字节同步。最后传输数据负载, 负载传输完成后,返回; 图2.17左半边显示了CC2420发送数据时的状态转换图,准备工作完成后;进 行数据校验;12个码元周期之后,搜索起始码分隔符(SFD)以确定信道是否空闲, 如果空闲则接收数据帧,否则继续检测空闲信道,超过一定次数认为接收失败;成 功接收数据之后,校验确认帧,发送校验确认帧前导码,发送校验确认帧,发送完 成则返回。 第二章无线传感网络节点的设计 图2—17 CC2420芯片的状态转换图 Fig.2·17 State Convertion ofCC2420 图2.17的状态机中,状态是CC2420自动维护的。我们想根据自己的需求构建无 线传感网络,需要在这个状态机的基础上,创建自己的状态机,按照应用的需求对 状态进行调整。由此我们定义MAC状态空间包含:(O,1,·毒料,18)。在这些状态 中,有些是用户不可见的,有些是返回上层(网络层),由高层根据当前状态做出相 应的下一步调整。在main函数中使用循环判断网络状态来驱动整个协议栈的运行, 在macs.c文件中,协议栈运行后的返回值将直接反馈给各个用户接口函数,由用户 根据返回值,调整网络状态,作出相应的下一步调整。 福建师范大学程明传硕士学位论文 typedef enum{ S MAC MAC S ASSOC STARTED,//开始关联协调器过程 MAC S ASSOC REQ SENT,//关联请求已经发送 MAC S ASSOC WAIT FOR RESPONSE,//等待关联请求回复 MAC S ASSOC S_MAC_ENERGY_SCAN,//正在做ED_SCAN S_MAC_ENERGY_SCAN_FINISHED,//ED_SCAN结束 S MAC ACTIVE PASSIVE SCAN,//正在做主动或被动SCAN S_MAC_ORPHAN SCAN,//孤点扫描 MAC S ORPHAN MAC S ACTIVE PASSIVE SCAN ,主动或被动 SCAN MAC S ID CONFLICT,//协调器ID冲突 结束.FINISHED// S MAC_REALIGNMENT, MAC S DISASSOCIATED,//正在取消关联 MAC S SYNING,//正在做同步 S MAC SYNING END#同步结束 S MAC IDLE∥射频芯片空闲 MAC S INACTIVE//射频部分关闭,处于低功耗状态 S MAC START TO SLEEP,//进入基于事件驱动的休眠,不保持与信标同步 )MAC_STATE_TYPE; 在MAC包含很多状态,使用状态机可以方便的实现,状态机由事件触发,由 两个中断例程控制状态机。MAC的行为是由存储在不同寄存器中的参数决定的。 软件的高层可以通过C函数和MAC交互。 在初始化后,MAC处于睡眠状态,射频芯片处于省电模式;最短的初始化时间 要求5ms,这样晶体振荡器才能达到稳定状态。射频收发器被唤醒之后处于空闲状 态。在发送数据时,数据负载和目标地址被加载到相应的寄存器。如果采用CCA 模式的,收发器在发送数据之前要先检测信道是否空闲。 如果接收的DQD(数据质量检查)检查显示FSK传输失败,则停止传输;在传输 完成之后,会到Idle状态。在空闲模式时,收到一个接收指令,则进入接收模式; 第二章无线传感网络节点的设计 接收搜索一个可用的信道;信道可得时,开始接收数据包:当高层读走数据包后, MAC返回空闲状态或睡眠状态。 图2.18.MAC的基本状态机 Fig 2-18 Base State Machine ofMAC 软件模块的整合 对于终端节点,传感器采集到的数据量达到负载要求就和帧序列号一起构成 数据包的动态部分,数据帧的基础结构构成帧的动态部分,两部分有处理器组 合起来构成一个完整的数据包,启动一次发送过程。在发送前检测信道是否空 闲,如果空闲则占用此信道将数据发送出去。其数据流图如图2.19所示。 图2.19RFD数据流程 Fig.2-19Diagram ofRFD 福建师范大学程明传硕士学位论文 终端节点软件设计参考了数据流图,先完成系统的初始化工作,使能定时器中 断,设置终端节点的基本节点信息,这些工作完成之后进入睡眠状态。当有定时器 中断发生的时候,发送ZigBee帧并启动一次AD转换。节点的802.15.4的协议维护 是由状态机控制的。 初始化I/O、Uart、SPI ● 使能Timer3中断 t 设置RFD的zigbee帧格式、地址、 目标地址等信息 ◆ 进入睡眠模式 图2.20 RFD软件流程图 Fig.2-20 the Sottware Diagram of RFD 表2-9终端节点的文件组织 文件 序号 文件名 主要作用 l mam.C 主函数 2 Phy.c 3 Mac.c 4 Macs.c 物理层主要函数操作 MAC层主要函数操作 MAC状态操作函数 5 Router.c 路由层相关函数 6 Led.c 指示灯控制函数 7 Adc sensor.c AD转换相关功能 8 AvrHardware.c 处理器硬件相关函数,初始化等 9 CC2420.C 射频芯片相关操作函数 10 oS.c 操作系统相关操作 第二章无线传感网络节点的设计 11 Kertimer.e 定时器 12 Interupter.e 中断相关操作 13 Systime.c 14 Thner3.c 系统时间函数 定时器函数 15 Uart0.c 串口相关操作函数 16 TimerQueue.c 定时器队列相关操作 17 Top.h 头文件管理文件 18 Generic.h 通用定义文件 第四节ZigBee节点的测试 节点测试包括硬件功能测试和软件功能测试。硬件测试主要测试硬件是否可以 正常工作,以排除硬件错误或提高系统稳定性,测试包括以下部分:晶体起振、指 示灯、ADC、射频收发、串口通信、EEPROM存取等。软件测试主要测试软件的 功能是否达到设计要求或达到某种标准,测试项目包括:数据组包测试、接收数据 测试、应答帧测试、CCA测试、MAC状态机测试、整合测试。所有测试项目如表所 示。 表2.10节点测试项目汇总 硬件测试 测试项目 问题 晶振起振 正常 指示灯 正常 ADC 稳定 射频收发 正常 串口通信 正常 EEPROM存取 正常 软件测试 测试项目 问题 数据组包测试 正常 接收数据测试 正常 应答帧测试 正常 CCA测试 正常 MAC状态机 正常 整合测试 正常 第三章无线传感网络网关的设计 第三章无线传感网络网关的设计 第一节网关的硬件实现 无线传感网络网关的核心工作是收集传感节点采集的数据,然后将数据转发到 其他网络。本设计主要关注如何把ZigBee协议的数据转发到Intemet,将私有的无 线传感器网络和Intemet(公有网络)联系起来,利用功能强大、分布广泛的Intemet 远程分发、控制私有的无线传感网络。要实现这些功能,对硬件提出了一定的要求, 最低的要求是:性能较强的嵌入式CUP、无线接口、网络口、内存和电源等。又考 虑到软件要完成的功能复杂(多任务),任务之间的调度、任务之间数据的同步132]、 任务的并发、数据的存储问题[331和TCP/IP协议【34】的复杂性等问题,这些问题在没 有操作系统的情况下,解决是不可想象的。所以在硬件设计需有足够的存储空间存 储操作系统。网关硬件由两部分组成,一是现成的ARM9核心板,二是独立设计的 外围电路底板。 核心板的组成 Sumsung的¥3C2440A主频最高530Mhz,要充分发挥这款芯片的能力,就要尽 可能地让它工作在较高的主频。在高频的情况下,PCB板上的走线要看成传输线, 信号在传输线上传输,如果传输线上阻抗不匹配,传输线上会发生信号的反射现象。 为解决这个问题一般高频工作的数据电路要采用四层板的设计,外层走信号线,中 间层走电源和地,这样不仅解决了走线的阻抗要求,也解决了电源和地的问题。四 层本布线时要先布数据地址线,和需要保证的高速线。四层的划分如图3-1所示。 层 定义 1 信号层 2 地层 3 电源层 4 信号层 层 定义 l 信号层 2 电源层 3 地层 4 信号层 图3-1四层板的一般结构 Fi93—1 the Common Structure ofFour Layer Board 核心板采用广嵌的¥3C2440A,其采用四层板工艺,将微处理器、存储器、网 卡芯片等需要高频信号阻抗匹配的部分集成在一块核心板(最小系统)上。这块核心 板的主要参数如下: 福建师范大学程明传硕士学位论文 ●ARM9芯片采用Sumsung的¥3C2440A,系统可稳定运行在405MHZ; ·“M字节的SDKAM,由两片K4S561632芯片构成; ●“M字节的NAND Flash,芯片为KgFl209; ●10M以太网接口.采用的是CS8900Q3,带传输和连接指示灯: ●Embedded—ICE(20脚标准YrAG)接口,支持ADS调试和Flash烧写 国i11阐 匝巫回 第三章无线传感网络网关的设计 图3-3底板结构框图 Fi93·6 Diagram ofBase Board 使用Protel DXP软件设计电路的原理图,绘制部分元件库里没有的元件;原理 图多次检查无误的基础上,布PCB板。布板采用模块化布局,和一个模块相关的所 有元器件都放在一起,这样有利于快速布线;电路中电源部分是模拟电路,布线时 数字地和模拟地要分开布线,最终模拟地和数字地只有一个0欧电阻相连。 第二节网关的驱动程序设计 驱动程序用于硬件初始化【351。网关底板设计完成之后,需要对网关底板各个功 能模块编写或移植驱动程序,测试各个功能是否能够正常、稳定地工作。网关需要 的驱动程序包括:SDRAM驱动、Flash驱动、LCD驱动、网卡驱动、串口驱动、IO 驱动、芯片驱动。这些驱动程序的设计都是与硬件相关的,不同的芯片寄存器不同, 所以这些驱动都需要根据芯片手册手工编写或移植相近驱动。由于核心板采用的第 三方设计的,提供的配套资料里面提供了大部分的驱动程序,这降低了驱动程序开 发的难度,只需要在第三方驱动的基础上做少量修改即可。由于底板是独立设计的 在移植第三方驱动之后(对一些控制寄存器进行修改),对底板所有功能模块进行了 硬件测试,检查各个功能是否能够正常工作。 在底板的硬件测试过程中,发现部分管脚电压不正常,电源和运行指示灯不亮, 经过和原理图核对,检查出稳压芯片布线有误。这个失误排除后,电源和运行指示 等正常工作。而后测试后了LCD和串口,串1::131作正常,LCD无法正常工作,并 且有发热现象。对照原理图发现布线没有问题,将问题锁定在LCD控制器的焊接问 题上,LCD控制器芯片是贴片的,可能出现虚焊现象,补焊之后LCD正常工作。 主要测试项目如表3.1所示。 表3-1主要测试项目列表 模块 指示灯 SDRAM FLASH 测试项目 闪烁、亮灭 复制、擦出、读取 复制、擦出、读取 测试结果 不正常 正常 正常 存在的问题 稳压芯片布线问题 无 无 福建师范大学程明传硕士学位论文 定时器 LCD 时钟、中断 图片切换显示 正常 不正常 无 LCD控制器 焊接问题 串口 收、发数据 正常 无 硬件测试正常后,需要根据底板的特点,移植BootLoader程序。对于嵌入式系 统,整个系统的启动任务完全由BootLoader完成,类似与PC机中的BIOS的作用。 它的主要作用是初始化硬件、建立内存空间的映射图、将系统引导到一个合适的环 境。另外为了满足系统调试的需求在BootLoader还加入一些附加功能如:读写内存 的任意位置、通过通信接口下载二进制文件到内存的任意位置等。 第四章网关管理软件的设计 第四章网关管理软件的设计 第一节Windows CE操作系统的定制 Windows CE操作系统是微软公司针对嵌入式系统开发设计的一段嵌入式操作 系统【361,它具有实时性、稳定性、高效性、模块化和可定制等优点。网关最终选择 Windows CE作为操作系统,为了满足网关的设计要求,需要使用Platform Builder 5.0 为网关的CE操作系统定制以下特性: “ ● .NET Compact Framework 2.0以支持C挣应用程序运行: ● SQL Server CE以支持嵌入式数据库; ·Web Server以支持W-eb网页程序; ·设定中文环境; ·TCP/IP协议的全面支持; ·其他定制,如开机画面等。 Bootloader先于操作系统启动,将系统带到一个可以的软硬件环境【37】【38]Windows CE操作系统定制完成后,系统是否稳定和很多因素有关。如:BSP是板级支持包 是否稳定无缺陷;PB定制过程中参数设置时候合理等,下面是我定制Windows CE 操作系统的过程。 ·根据硬件改动修改BSP包,编译BSP包(介于主板硬件和操作系统之间的一 层),命名为SMDK2440A; · 加载BSP包:将SMDK_2440A复制到WINCE500\PLATFO壬UⅥ目录下,打 开Platform Builder,进入窗口,先添加smdk2440a.cec文件,选择File菜 单下的Manage Catalog Items,选择Import,添加SMDK2440A目录下的 smdk2440a.cec文件; ●按照上面需要的操作系统特性,使用Platform Builder可视化的添加必须的 特性或减少冗余的特性; ●编译操作系统,选择“Build OS”菜单下的“Build and Sysgen'’。当编译出非文 件性错误时,可选上“Clean Before Building”,再编译一次即可。编译完后, 得到的NK.nb0和NK.bin文件; ◆ 使用USB方法进行烧录下载内核(NK.nb0和NK.bin)。 福建师范大学程明传硕士学位论文 第二节 串口通信和协议分析模块的设计 串口接收的是ZigBee终端设备发送过来的数据,要解析收到的数据就要理解数 据的格式。数据有MAC帧格式和ZigBee帧格式构成。MAC帧格式基本组成为: ·MAC层头帧(MAC Header,MI-m),包含帧控制域、序列号和地址信息; ·MAC净载荷(长度可变),包含的信息指定了帧的类型; ·MAC层帧尾(MAC footer,MrR),包含了一个帧校验序列。 在ZigBee终端节点中,Zigbee设备采用16位短地址,负载来自光敏电阻的采 样电压值,为2个字节,FCS由CC2420自动校验。在节点的嵌入式软件中,定义 zigbee帧的数据格式如下: typedef struct_demo_addressfield //zigbee帧地址域格式 { uintl 6 t destination /目/ 的PAN 2字节_address; 标识符,2字节_pan; uintl6 t destination uintl6 t source pan; uintl6 t source address; // 目的地址, //源PAN标识符,2字节 //目的地址,2字节 }demo addressfield; typedef struct_demo_datapacket //zigbee数据包格式 { uint8一t length;//帧长度域,用于发送控制,不包含在zigbee帧 uintl6 tref;//帧控制域,2字节 uint8 tdsn; //帧序号,每发送一帧自增l,1字节 demo addressfield address;//帧地址域,8字节 uintl6j payload[10]; //帧负载,20字节 )demo_datapacket; 将节点和PC通过串口连接起来,通过串口编程得到的终端节点的原始数据类似 下面的格式: ”214188050100000001000300cb03c403bd03c303c503bd03c103c503c003bf 03f6ec~B!’30’1P’30’30’30’30’30’1”;其中”214188050100000001000300cbO 3c403bd03c303c503bd03c103c503c003bf03f6ec”是MAC层的数据,数据格式是十六 第四章网关管理软件的设计 进制。4l 88 05 01 00 00 00 01 OO 03 00 cb 03 c4 03 bd 03 c3 03 c5 03 bd 03 c1 03 c5 03 cO 03 bf03 f6 ec这一组数据中(注意字节顺序问题),前2个字节(88 41)为帧控制域, 第3字节(05)为帧序列号,第4、5字节(00 01)为目的地址的PAN ID,第6、7字 节为目的地址(oo oo),第8、9字节(00 01)为源地址的PAN ID,第lO、11字节(00 03)为源地址,第12、13字节(03 cb)为负载,以后每两字节是一个负载,负载共十 组。第32、33字节(f6 ec)为校验位。 数据”—B!’30’1P’30’30’30’30’30’l”转化为十六进制为:7E 42 21 02 03 03 01 05 03 03 03 03 03 03 03 03 03 03 01 01 7E。这个属于应用层数据,其中: · 7E为起始符和结束符; ·42 21 02 03 03的第五个字符是节点号03; · 第七个字符开始,每连个字符构成一个数据(05 03)(03 03)(03 03)(03 03)(03 03)(03 01)。 .NET Framework的基础类库提供了串口类1391,在namespace System.IO.Ports 下,类名是SerialPort。它提供了串口操作所需的所有方法,还提供了三个事件 DataReceived,ErrorReceived,PinChanged。由于使用起来不方面,根据应用需要对 SerialPort类进行了重新包装。创建了Comm类和Serial类,Comm类负载管理串口 所有的属性定义,Serial类管理网关串口的全部操作。 图4.1 Comm类和Serial类的属性和方法 Fig.4-1 Properties ana Method ofComm all Sedal 福建师范大学程明传硕士学位论文 串口接收数据的过程是:主线程中初始化并打开串口,订阅数据接收事件, 在事件处理函数里面,处理接收到的数据,解析出原始数据中,节点号,光照强 度值等信息。使用多线程技术,将数据处理部分放在单独的线程中处理,以提高 程序的运行速度。串口接收数据的过程,如图4.2所示。 O开始 图4—2串口接收数据的过程 Fig.4·2 the Processing of Receiving Data 协议处理是这部分最复杂的部分,下面详细介绍应用层的数据解析。应用数据 的协议是7E为起始符和结束符,接下来五个字节是节点编号,第七个字符开始, 每两个字符构成一个数据,共10个数据。rawData是原始字符串,IslnHanding函数 确定协议解析是否完成,如果完成bStartRecv=false,字节计数清零。bStartRecv为 true,字节计数,计数到5取得节点编号;计数到7,开始读取数据;计数到20解析 完毕。 public void ProtocolHandle(string rawData) { chard data=rawData.ToCharArray0; for(knt i=0;i<data.Length;i抖) { string singleData=((short)data[i]).ToString(”x2”); IslnHandling(singleData);//协议状态维护 if CoStartRecv) { Count(singleData);//字符计数 GetNodelD(singleData);//得到节点号 if(nRecvCharCount一7) //将要接受传感数据 第四章网关管理软件的设计 { bRecvData=true; nDataCount=0; ) GetData(singleData); } ) } . 第三节数据的存储设计 数据的存储是程序核心组成部分,数据库是数据管理的一个重要工具14"。数据库能 解决数据的并发读取,数据同步,数据存储,数据转换,访问控制等【42】【431。网关的 数据存储参考信息系统常用的三层架构,将系统分为表现层、逻辑层和数据访问层。 表现层主要负责数据的输入、输出和显示等界面功能;逻辑层负责数据的验证、加 工和转换;数据访问层负责数据库的访问。表现层和逻辑层交互,逻辑层和数据访 问层交互,数据访问层和数据库交互,并且一般不允许跨层调用。使用三层架构Ⅲ】, 降低了层与层之间的耦合,使系统更加符合高内聚低耦合的要求;使软件的复用性 得到大大的提高。一个明显的好处就是,如果哪一层修改了,不会影响其它层的正 常工作,例如系统由SQL Server 2005数据库换成Oracle数据库,只需要修改数据 访问层的代码,逻辑层和表示层的代码完全不需要修改[451。 网关的数据存储需求最主要的储存光照信息,以备查询、显示或分析。所以最 少可以只设计一张表,就可以满足这个存储要求。其他的信息,如串口配置信息, 权限信息,错误信息,日志信息等,也可以在数据库中建立相应的表来存储,简化 设计,这些信息都不存在数据库中。光照信息的数据项:信息ID,节点D,时间和数 据。其概念设计如图4-8所示。 图4-3光照信息实体E.R图 福建师范大学程明传硕士学位论文 Fig.4—3 Entity E-R of Illumination Information 图4-4权限管理实体E.R图 Fig.4-4 Entity E-R of Permission Management 逻辑结构设计【46】的任务就是把概念结构设计阶段的实体关系图转化为具体数据 库支持的逻辑结构。数据库中光照数据表设计如表4.3所示,存储终端节点的光照 信息数据。 表4-1光照信息表 mable 4.1 Illumination Information Field ID Type int Null Key Extra Commont Pri IDENTITY(1,1) 主键 NodeID int Time datatime 传感器编号 采集时间 Datal int YES 数据1 Data2 int YES 数据2 Data3 Data4 int YES int YES 数据3 数据4 Data5 int YES 数据5 表4-2用户信息表 亿出le 4—2 User Information Field ID User Type Null int int Key Pri Extra Comment IDENTITY(1,1) 主键 用户名 Password char 密码 Level int 权限等级 第四章网关管理软件的设计 第四节远程通信程序设计 远程通信在WinCE中可以采用Wleb Service[47】,Remoting[48】【491或Socket[501三种技 术,从开发难度上Socket最复杂,需要开发自定义的协议,Web Service最简单, 集成化程度最高。从性能和效率上来讲,Socket效率最高,Web Service效率最低。 考虑到网关可能短时间内汇集到大量数据,对效率的要求更高,并且协议要求也不 高,所以采用Socket开发远程通信模块。网关的远程通信程序提供三种功能,远程 登陆验证,接收查询请求返回查询数据,主动发送实时数据给指定PC,远程主机和 囤 网关交互模型如图4.5所示。 固 : 请求登录 : ! 登录反馈 :、 : : : :, 实时传感器数据 : :. 查询结果 : : : 图4.5网关和远程主机的交互图 Fig.4-5 Interaction Between Gateway and Remote Host 使用原始套接字进行远程通信的时候,需要开发一定的应用协议。这里规定远 程主机只能像网关发送SQL语句,语法格式要符合SQL规则。网关向远程主机只 发送传感器数据,格式如表4.3,记录和记录之间使用“;”号隔开,当没有查询结果 为空时,返回的格式为’'Result:Idle”。通信模式采用C/S模式,网关为服务器。 第五节网关软件的调试 网关软件包括:数据采集、数据存储、数据显示(可选,测试用)和远程数据传输。 数据采集功能负责会聚从串口传过来的数据,当接到数据包时产生事件,在事件处 理函数里按照ZigBee格式的定义解析数据,得到采集到的数据。接受到原始数据包 的测试界面如图4-6所示。接收原始数据包测试主要测试串口程序是否工作异常, 串口工作模式的控制等。网关测试软件采用VS2005的C#N言开发【5l】,测试软件 采用流行的三层架构【521。 福建师范大学程明传硬士学位论文 —oMⅦ,l 黼国崮鬟雾紫薷一 《l 羞篷茎一至一 =疆擘=l{l 图4石网关接收原始数据包测试 Fig 4-6 TesIingGatewaybyRe,eyingRawDataPacket 网关的数据包解析测试包含:ZigBee数据包的解析,取出原始数据包中的数据: 将解析到的数据存储到数据库中,在定时器中读取最近一定时间内的数据(比如:5 秒钟)以表格方式显示出来。如果一个节点超过5秒钟没有发数据,那么这个节点的 信息就将在这个表格中消失。效果如图4-7所示。 图}7网关数据包解析测试 Fig 40 ParseTestlngofDataPacket 弟四章网关管理软件的{殳计 网关解析数据包动画显示测试包括:解析数据和存储数据的过程和解析数据包 表格显示测试相同.也采用一个定时器以一定的间隔读一次数据库,读取最近一段 时问内有数据记录的节点信息(比如;5秒)。如果1个节点超过5秒没有发送数据, 则该节点将会消隐,中心节点表示网关,四周节点表示终端节点。终端的节点均匀 的分布在圆周上,当有节点增加时节点重新分布,均匀地分布一定半径的圆周上 q涌黼 藏 --:,。? 固固固 f1 益 、嘲, jj V ‘ 、6懈 蠹。 、◆ 置! ,‘16137 篱荔蠢簟,螽I 捌ss(磊 图+8厨关解析数据包的动画显示 F蟾4{cai恤i]Di印rayofDataPacketAiderpaBingbyGateway 第五章影响网关性能的因素分析 第五章影响网关性能的因素分析 无线传感网络网关的核心功能是完成协议转换和数据中转,即将ZigBee格式的 数据转成以太网格式的数据,并在ZigBee网络和以太网之间无障碍的交互数据。衡 量无线传感网络网关性能的主要因素总结如下: · 网关的硬件处理能力,衡量的指标主要是微处理器主频和存储器容量等 ·协议转换程序的效率 ·可服务节点的数量以及单位时间内能处理数据包的极限 ·ZigBee协议实现的稳定性和健壮性 ·远程通信的灵活性 本课题实现的网关的一些重要特性主要包括: · 网关硬件处理能力强,使用主频400M的¥3C2440A处理器,64M的SDRAM 和64M的Flash · 网关扩展灵活,使用底板加核心板的结构,底板上扩展了需要的外扩芯片满 足应用需要 ·采用嵌入式实时操作系统Windows CE,它为软件开发提供了很多基础功 能,简化了软件设计的工作 · 实现了ZigBee格式的数据和以太网格式的数据的互转,为了达到实时的要 求,使用了多线程提高程序转换效率 ·远程通信提供了基于Socket的远程访问API,只要参照通信协议就可以获 取网关中的数据 第六章结论 第六章结论 无线传感网络拉近了人和自然的距离,改变了人和自然界交互的方式,但是自 然界物理量数据是如此丰富,以至于传统的通信方式在这个领域无法施展开来。无 线传感网络的出现给我们提供了全新的方式去感受自然界的物理量,使我们与这些 物理量之间可以交互。比如无线传感网络用于智能家居,在家庭中分布着温度传感 器、光照传感器、煤气传感器、湿度传感器、红外传感器等,这些传感器的数据以 一定的时间间隔通过无线的方式传送到中央控制,由中央控制器决定是否要对室内 环境施加影响。当窗口的湿度超过限制时,中央控制器判断有雨自动关闭窗户;室 内温度超过限制时,中央控制器自动开启空调调节温度;煤气浓度超标时,中央控 制器自动开启窗户,并向主人报警等。从这里可以看出,在无线传感网络的帮助下, 我们和物理环境交互的方式发生了革命性的变化。物理环境可以主动将数据发送给 人,人也可以根据情况对物理环境做出反应(改变环境或视而不见)。 随着无线传感网络研究和应用的深入,无线传感网络和传统网络(Internet, GPRS、CDMA或电话网等)交互的需求越来越强烈。网关起到一个协议转换和数据 中转的作用,无线传感网络网关就可以将无线传感网络中的数据和传统网络联系起 来,将物理环境的数据发送到社会网络,以供存储、分析、显示和控制。无线传感 网络也只有和传统网络联系起来,相互能交换数据,无线传感网络的数据才有意义, 才能达到人和物理环境交互的目的。 本课题主要完成了两个主要任务:一个是ZigBee节点的制作,一个是网关的制 作。ZigBee节点采用ATMEGAl28和CC2420为核心,并实现了ZigBee软件协议 栈,该协议栈只支持星形网络,暂时不支持网状网络。网关是在核心板的基础上开 发网关底板,增加了需要的外设;移植了嵌入式操作系统Windows CE;实现了 ZigBee协议和以太网协议的互转。经过测试ZigBee节点可以稳定工作,网关软硬 件工作正常,数据采集和数据存储很稳定,数据的远程传输也很稳定。 本课题中也存在一些等待解决的问题,主要包括: · 如果网关直接通过SPI口和无线模块通信,如何将ZigBee协议在Windows CE中实现,这个网关就不需要串口模块。 · 如何扩展网关支持的协议,使网关支持多协议,比如蓝牙、GPRS、CAMA、 福建师范大学程明传硕士学位论文 固定电话等网络。 ·如何实现一个更好的的用户配置网关参数程序。本课题中远程主机只能对网 关进行简单的配置,但是可以实现一个功能更加完善的配置网关的程序。比 如远程主机使用浏览器浏览网关的配置网页,在网页中配置地址的分配方 式、最大容纳的节点数、数据采集的频率等。 ·如何是协议转换程序更加健壮,在大数据量的时候,也能稳定工作。当系统 出错时,能够自动重启,继续工作。 参考文献 参考文献 【1】马祖长,孙怡宁,梅涛.无线传感网络综述【刀.通信学报,2004,25(4):114.124. 【2】李凌云.无线传感器网络定位技术研究田.信息技术,2008(12):148.150 【3】杨宁,田耀.无线传感器网络拓扑结构研究【J】.无线电工程,2006(2):11.13 【4】郑增威,吴朝晖等.可靠传感网聚类路由算法研究m.浙江大学学报(工学版),2005,00): 1461—1464 【5】程宏兵,费国臻.基于身份的无线传感器网络密钥系统叨.计算机科学,2007,(10): 116.119 [6】6 赵绍刚,肖征荣.移动无线Ad Hoe网络中的路由安全问题啊.世界电信,2004(2):53.56 [7】 周贤伟,施德军,覃伯平.无线传感器网络认证机制的研究叨.计算机应用研究, 2006,(12):108—1 11 [8】毕艳忠,孙利民.传感器网络中的数据融合叨.计算机科学,2004,31(7):10l一103. [9】 雷昕,鄢楚平等.无线传感器网络数据融合技术的研究与仿真叨.计算机工程与设计,2008, 29(18):4669-4671 【lO】李旭升.GPRS在东方热电远程监控系统中的应用【J】.现代电信科技,2004,(10):38-41 [n】赵谦.基于Linux下的网络监听技术明.贵州科学,2007,(S 1):339.343 [121吴金鹏,张鹏,王庭宽.多协议网关在PLC系统升级中的应用叨.电气传动, 2008,(08):69-7 1 【13】刘述,孙明俊.家庭网关在家庭网络中的作用与功能闭.电信网技术,2005,(06):9.12 【14】王平,程明传.嵌入式无线家庭网关的设计与实现[J】.微计算机应用,2008,(1 1):53.56 [15]朱晓武。基于Windows cE的移动GIS开发明.计算机系统应用,2002,(09):9.12 【16】陈显楚,郭其一.基于Windows CE的嵌入式车载监控系统设计[J】.计算机测量与控制, 2007,(o 1):85-87 [17】徐蔚文,陆鑫达.身份认证协议的模型检测分析[J】.计算机学报,2003,(02):195.201 [18】王文义,武华北.Linux中进程间信号通信机制的分析及其应用叨.计算机工程与应用。 2005,(03):108-l lO 【19】黄小猛,刘磊.基于Web的远程监控系统设计与实现明.计算机工程与科学, 2004,(02):97-98,1 07 【20】李素萍.分布式数据库的同步更新技术研究[刀.中国科技信息,2008,(16):94.95 .67. 参考文献 【2 1】Zigbee Alliance.ZigBee Smart Energy Public Application Profile.http://www.ZigBee.org. 【22】洪晖,王建明,郦亮.基于TUV认证的IEEE802.15.4 MAC测试方案实现与改进叨.电子测 量技术,2006,(03):6.9 [23】黄本雄,李雅芳等.改进的IEEE 802.15.4组网协议算法【J】.华中科技大学学报(自然科学 版),2008,(05):27.30 【24】张倩,王福豹.无线传感器网络CMR路由协议的设计与实现【J].计算机应用,2006(4):932-934 [25】董挺挺,沙超,王汝传.基于CC2420的无线传感器网络节点的设计叨.电子工程师, 2007,(04):67-70 【26】张任,王坚锋,严海.基于ZigBee的无线传感器网络节点设计[J】.机电工程, 2008,(08):1 8—20,28 【27]Akyildiz I F,Su WSankarasubramaniam Y,Cayirci E.A survey on sensor networks[J].IEEE Communications Magazine,2002,40(8):102-1 14 [28】杨俊春,孙坤,赵国良.AVR单片机中的SPI接口【J】.应用科技,2005,(02):43—46 【29】Atmel Inc.ATmegal 28L Datasheeet v 1.0. [30】Chipcon Inc.CC2420 Datasheet v1.0 【31】吴键,袁慎芳等.无线传感器网络节点的设计和实现[J].仪器仪表学报,2006,27(9): 1120.1124 [32】雷航,熊光泽.实时多任务软件可靠性评价模型叨.计算机应用,2000(I 1):9.1 1,14 【33】张以维,宁洪.无线传感器网络数据库的研究明.计算机工程与科学,2006,(1 1):73-75 [34】孔栋,郑建宏.嵌入式TCPIP协议栈LWIP在ARM平台上的移植与应用阴.通信技术, 2008,(06) 【35]滕秋琴.ARM嵌入式系统网络接口设计叨.电讯技术,2008(10):84-88 【36】车晓萍.基于W'mdows CE.net嵌入式软件开发平台的研究【D】西北大学,2006 [37】陈为伟,王治森等.基于¥3C2410一WinCE.NET的Bootloader的设计与实现[J丁.工业仪表与 自动化装置,2007,(04):23-26 【38】刘林真;刘大茂.基于WinCE.NET的Boot Loader的原理与启动分析[J].计算机与数字工 程,2008,(10):11l一113,128 【39】Microsoft Inc.MSDN.www.microsoR.com/China/msdn [40】赵耀,李迪,赖乙宗.基于W'mdows CE的便携式售票机的开发[J】.华南理工大学学报(自然 科学版),2003,(04):66.69,77 .68. 参考文献 【4l】刘思军.主流存储技术的研究与应用叨.实验室科学,2007,(06):73-75 【42】黄笑鹃,余颖.大规模数据存储的系统结构研究叨.计算机与现代化,2003,(10):18.21 【43】汪志云,陈培杰。网络数据存储技术的分析和应用朔.现代计算机,2003,(06):18-21 [44】刘志海,史大光,鲁青.基于三层架构的静止图像传输软件的设计[刀.微计算机信息, 2007,(30):3 1 0·3 1 2 【45】李纲,冯娟,苏厚勤.基于三层架构的描述性数据统计分析叨.计算机应用与软件, 2007,(08):95—96,1 02 [46】胡奎,宋善德.逻辑数据库设计的口—S转换方法川.计算机工程与应用,1988,(09) 【47】王珍,王红等.基于Agent和Web Service的企业应用集成研究【J】.信息技术与信息 化,2006,(03):136-138 【48】肖伯杉,龚晓峰,王旭.基于.NET Remoting的分布式监测系统设备驱动开发【刀.计算机应 用,2008,(08):21 17-2120 【49】周韩,刘东,陈红平.基 .NET Remoting的电能质量监控数据的发布叨.微计算机信 息,2007,(33):90—92 【50】杜根远,张永,谭水木.与协议无关的Socket程序设计方法研究明.计算机工程与设 计,2008,(14):3826—3828 [50郑泉,陈黎卿等.基于C撑.NET的电力系统报表管理系统的开发【J】.工业控制计算 机,2008(1 1):61—62,65 [52】吴丽平,赵卓.基于三层架构的系统管理软件的研究与设计叨.计算机工程,2006(17):283.284 .69. 攻读学位期间承担的科研任务与主要成果 攻读学位期间承担的科研任务与主要成果 承担的科研任务: [1]基于嵌入式的网络便携式终端的研究(福建省教育厅资助项目) 发表的论文: [1】王平,程明传.嵌入式无线家庭网关的设计与实现,微计算机应用,29(11),2008 [2】程明传,王平.有害气体监测中无线传感网络节点的设计与实现,电子测量技术,23(1),2009 [3】王平,程明传.Research on Data FusionAlgofithm in ZigBee Protocol,ISCSCT2008, 【4】4王平,程明传.智能控制系统主控模块的设计与实现电子与信息工程(10月发表) 【5】王平,程明传.两层数据融合算法在zigB∞中的应用计算机工程7月发表) 致谢 致谢 在研究生学习阶段,在王平老师的指导和同学们的帮助下,帮助我顺利从光学 跨入了嵌入式开发领域。在学习中掌握了嵌入式软件、嵌入式硬件和高端软件开发 技巧,具备了一定的开发能力。 王平老师灵活的思路、风风火火的做事风格,诲人不倦的指导风格对我各方面 的成长都大有裨益,让我学会了思考、学会了做事、学会了做人。身边的同学对我 的帮助也非常大,他们和我一起学习、一起研究、一起娱乐,让我深刻感受到“三 人行必有我师”,学习他们的长处,一起在求学的道路上前进。感谢陆生贵、高瑞、 陈圣群、林义芳、余松林和曾超对我的鼓励和帮助。 感谢家人对我学习的支持,希望对我的家人有所回报。 程明传 2009-3-28 个人简历 个人简历 基本情况: 姓名: 籍贯: 大学:. 研究方向: 英语: 导师: 教育经历: 程明传 湖北谷城 福建师范大学 嵌入式软件 六级 王平副教授 性别: 民族: 学历: Emaih 爱好: 男 汉族 硕士 hzmingchuan@1 63.com 阅读、软件 ·2006年9月--2009年6月福建师范大学物理与光电信息科技学院 光学工程研究生研究方向:嵌入式软件 ·2002年9月--2006年6月中国计量学院信息工程学院 光信息科学与技术本科。 。 外语和计算机认证: ·国家英语六级考试(CE■6)证书;具备良好外文资料的阅读能力。 ·软件设计师证书 主要技能: ·有良好的面向对象编程思想,熟练掌握常用算法、数据结构; ·具有数电、模电基础、单片机、通信原理等相关基础; ● ·精 熟通悉CA语RM言嵌编入程式;软件编程和开发,熟悉SAMI烈G删7/ARM9; ●熟悉Linux操作系统和UCOS.II操作系统; ·熟悉UML(VISIO 2003)做项目分析; ·熟悉常见接口的驱动开发(串口、USB); ●有良好的编写文档的习惯。 最受益的名言: ·再长的路也自己走! 基于ARM的无线传感网络网关的设计 作者: 学位授予单位: 程明传 福建师范大学 相似文献(10条) 1.期刊论文 汪胜辉.刘波峰 无线传感网络空气质量监测站的设计 -科技咨询导报2007,""(3) 以无线传感网络技术设计空气质量监测站的传感器节点和网关节点,采用CC2420和MC55作为节点的无线模块进行数据的收发,采用ATMEGA128八位 AVR微处理器进行数据的处理和控制.文中论述了监测站的基本结构以及传感器节点和网关节点的硬件设计和基本工作流程. 2.学位论文 李建波 无线传感网络拓扑控制若干问题的研究 2009 无线传感网络通常具有如下特点:大规模、自组织、传感器节点能量受限、部署环境恶劣等。这些特点决定了必须设计能量有效的协议来减少传感 器节点的能耗以延长无线传感网络的寿命。拓扑控制问题作为无线传感网络中的核心问题之一,对于延长网络的生存时间、减小通信干扰、提高MAC协议 和路由协议的效率以及促进数据融合、提高网络的可扩展性、可靠性、安全性等其他性能等具有重要意义。因此如何进行拓扑控制以优化拓扑结构并延 长传感网络的寿命已经成为重要的研究方向。 本文主要研究能量有效的拓扑控制算法:(1)应用于静态密集部署传感网络的一种基于完全图的分簇算法(2)一种在上述分簇算法基础上加入移动节 点担当网关的算法(3)应用于稀疏移动传感网络的传输功率控制算法(4)应用于大规模部署移动传感网络的分簇算法。 无线传感网络的某些应用,例如生态监护、军事侦察等,为了能够准确的对数据进行收集并保持覆盖性,通常会在监测区域部署大量冗余的静态节 点。在这种情况下,为了能够延长传感网络的寿命,通常选取一定的节点保持活动,由它们构成数据传输的主干网,而其他节点在没有任务时可以进入 睡眠状态,这正是层次分簇算法所应用的场合。针对分簇算法过程中的重新分簇所带来的高负载问题,本文提出了一种基于完全图的能量有效的分簇算 法CGCA(Complete Graph based Clustering Algorithm)。CGCA利用完全图中节点之间互相等价的性质,只在系统启动的时刻执行分簇算法,而在以后的 重新分簇阶段,簇头只需要在每个簇的内部节点间进行轮换,而不像以前的分簇算法需要进行全局性的触发来选举新的簇头。因此CGCA从根本上消除了 重新分簇所带来的“涟漪”效应。仿真试验表明:在节点密集部署的情况下,CGCA产生的消息交换个数远小于HEED(Hybrid Energy Efficient Distributed clustering)分簇算法。最后簇头均匀分布方面,CGCA也明显优于LEACH(Low—Energy Adaptive Clustering Hierarchy)分簇算法。 在一个分簇算法中,一个网关节点(gateway)除了要完成负责基本的感知数据之外,还要在相邻的簇之间承担起数据转发的任务。由于簇之间的数据 流量相对较大,因此相对于普通节点来说,网关节点更容易耗尽自己的能量,因此这些网关节点容易成为系统的瓶颈(bottleneck),从而严重影响传感 网络系统的性能表现。本文在CGCA分簇算法的基础上的加入了一些资源和配置丰富的移动节点来担当簇之间的网关,以把普通节点从转发簇间数据的繁 重任务中解放出来,籍此达到延长传感网络寿命的目的。除此之外,由移动节点来担当网关可以显著的提高系统的稳定性和容错性,这是因为由配置丰 富的移动节点代替能量受限的普通节点来担当网关可以减少系统出现故障的概率,从而可以进一步的提升系统的整体性能表现。实验表明,在密集部署 传感器节点的网络中,本算法产生的消息交换个数只是传统的基于最小标号分簇算法LIC(Low Identifier Clustering)的20%左右。另外,本算法所取 得的系统时间也是LEACH算法的两倍左右。 无线传感网络在军事和紧急搜救的应用促使了移动传感网络的兴起。由于这些被监控对象本身所具有的移动性,使得底层的拓扑在不断的发生变化 ,因此很难应用传统的拓扑控制算法或者简单的对它们改进使之适用于移动传感网络。本文提出了在给定移动网络模型VRMN(Variant Rate Mobile Network)下的一种基于传输功率控制的拓扑控制算法,并分别给出了它的集中式和分布式版本。本算法首先求出每个节点的一跳邻居集合,然后利用类 似于XTC的方法把可由较近邻居节点中继到达的最远邻居节点删除,这样在不损失连通性的前提下就可以减少节点的发射功率,从而达到节省节点能量以 延长传感网络寿命的目的。理论证明,本算法是高效的,它具有O(n3)的多项式复杂度时间。实验结果表明,本算法在减少节点传输功率和保持网络连通 性方面也取得了较好的性能。 在一个大规模移动传感网络中,由于分簇算法能够形成一个层次结构以及能够较好的支持网络的可扩展性并在节点移动时能够较好的维护拓扑结构 的稳定性,这就使得分簇算法比较适合于对这种大规模密集移动传感网络进行拓扑控制。本文分簇算法首先将部署区域划分成小的单元格,在每个单元 格的中心位置事先指定一个节点担当簇头,其他的移动节点只需要监听簇头的”Hello”消息并通过比较消息的信号强弱就可以加入到相应的簇头中。在 簇形成阶段,本文分簇算法的时间复杂度和消息复杂度均为O(N),从而较大的节省了节点的能耗并取得了较好的能量有效性。而在簇维护阶段,簇的维 护是由事件触发并且异步进行,不会产生“涟漪”效应,因此本文算法能够取得一个较为稳定的簇结构以适应节点的移动和底层拓扑的变化。仿真实验 表明,本文算法能够产生了较少的消息个数和较长的系统寿命。 本文的主要贡献和创新点如下: 1)针对重新分簇所带来的大量计算和通信负载以及“涟漪”效应,本文提出了一种基于完全图的分簇算法CGCA,使得重新分簇只是异步的局部触发 ,从而维持了簇结构的稳定性以延长系统生命期。 2)在上述分簇算法的基础上,通过加入资源丰富的移动节点来担当转发簇间数据的网关,从而使得普通节点能够集中到收集或者探测等任务上,这 能够进一步的节省能量从而延长整个传感网络的工作寿命。 3)在一个给定的移动网络模型VRMN下,提出了一种多项式时间的基于功率控制的拓扑控制算法,本算法能够在保持网络连通性的前提下,减少了节 点的发射功率,从而达到节省节点能量的目的。 4)在一个大规模移动传感网络中,提出了一种能量有效的分簇算法,它具有简单的簇形成和维护过程,使得节点移动可能对簇结构的影响局限在一 个较小的范围内,从而形成了一个较为稳定的簇结构。 3.学位论文 戴国强 Ad Hoc网络AODV协议在无线传感器网络上的仿真与实现 2007 无线传感网络集成了传感器、嵌入式计算、网络和无线通信四大技术,被认为是21世纪最重要的技术之一,它将会对人类未来的生活方式产生深远 影响。它在军事、医疗、家用等多个领域均有广阔的应用市场。 本文首先对无线传感网络的特点做了介绍,同时将无线传感网络同传统的无线网络进行了对比。衡量无线传感网络优劣的最重要的指标之一是网络 的能量消耗特性。提高无线传感网络的性能,最重要的是要减少网络的能量消耗,提高网络的能量有效性。 我们应该从网络层和物理层来减少节点能量消耗。网络层是以能量消耗来优化路由.物理层主要通过调整、优化发送功率和接收功率的参数,来达 到减少能量消耗的目的。在多跳路由协议中,系统寿命取决于最近节点的能耗。因此本文提出了两种改进方案。方案一是,提高网关节点周围节点分布 密度;方案二是,采用冗余网关节点。两种方案都达到了减少网关附近节点的数据包转发流量,最终增加了无线传感网络总的生存时间。 其二,详细介绍了AODV路由算法,并且分析了AODV在无线传感网络中应用的一些特点。例如,由于无线传感网络只有一个网关节点,所以别的传感 节点的路由表项很少,关键表项只有一条,除了寻路过程中建立的反向路由表项。 其三,介绍OPNET仿真工具,并对方案二进行了仿真实验。实验结果表明,通过采用冗余方法,增加了网关附近节点的生存时间,从而达到了增加系 统的生存时间。最后,对本论文的工作进行总结。 4.期刊论文 石军锋.马永昌.陈建.Shi Junfeng.Ma Yongchang.Chen Jian 一种基于无线传感网络的温室Web监控系 统 -农机化研究2009,31(5) 无线传感网络以自组织、部署方便的优点使其在温室自动监控领域具有广阔的应用前景.为此,提出了一种基于MOTE-KIT2400的温室Web监控系统,开 发了网关接口程序,给出了数据解析算法,实现了传感数据的获取;同时,利用ASP.NET 2.0技术开发了Web应用程序,实现了对温室环境的远程监控. 5.学位论文 张任 基于无线传感网络的温室环境监控系统研究 2008 随着新技术的不断进步,温室环境监控系统迅速向智能化方向发展。计算机技术和无线传感器网络技术的发展为我们在温室中的应用提供了可靠的 技术支持。作为新兴的网络监控技术,无线传感器网络能够实现自主数据采集、融合和传输。无线传感器网络将逻辑上的信息世界与真实的物理世界紧 密联系在一起,改变着人与自然的交互方式。本文对温室监控系统进行了研究,结合了无线传感器网络技术,设计了基于无线传感器网络系统的温室环 境监控系统。 本实验室已经具备了基于CAN总线的温室测控系统,实现了温室环境因子(温室气候)的自动检测与自动控制。本文在此基础上进一步研究了无线传感 节点及其相应的无线监控系统。系统总体是由无线传感器数据采集节点,无线网关节点,远程数据检测三部分组成。无线数据采集节点主要由传感器等 器件组成,可以独立采集和发送温湿度数据;无线网关节点可以实现数据的汇总,并通过以太网把数据传到终端;远程数据检测实现数据的存贮和分析 。实验结果表明将传感器无线化、网络化能够给农业信息的获取带来更大的便捷,将无线传感器网络技术应用到农业领域,并加以推广使用,这具有重 大意义。最后把实验结果加以分析,总结了无线监控系统的不足,并提出了后续的工作,同时对无线传感器网络未来发展做出了总结性、初探性研究。 6.学位论文 马力 基于ZigBee技术的矿井安全生产监测网络的研究 2007 矿井安全生产问题始终是制约现代采掘业快速健康发展的首要瓶颈。传统的矿井安全生产监控系统主要构建于电缆通信设施的基础之上,信息交换 过程没有脱离人工参与,这样不但通信链路容易受现场环境影响,而且主观因素较多,无法为矿井安全生产管理提供客观、及时和准确的依据。工业级 无线网络技术的不断进步为解决传统矿井安全监测系统的弊病提供了新的契机。新一代无线网络技术ZigBee以其低功耗、低单位成本、组网自适应、网 络容量大等特点,广泛应用于低数据传输速率的工业场合。 这里提出一种基于ZigBee无线网络平台的矿井安全生产监测网络的设计,用于实现工况传感,人员定位以及安全告警等功能,包括矿井组网模型分 析、无线传感网络设备开发和监控中心管理软件设计三大部分内容。其中矿井组网模型分析部分包括井下无线网络拓扑、井下自适应组网模式和抗干扰 策略的分析,无线传感网络设备开发部分包括无线路由器、协调器和应用网关的设计,监控中心管理软件部分包括前端实时监控界面、任务控制逻辑和 后端数据库的开发。最后给出了本设计的实验室样机网络系统。关于矿井无线网络理论上存在的一些特殊问题也在文中进行了探讨并提出了初步的解决 方案。 7.期刊论文 王焱.颜语.马勇.WANG Yan.YAN Yu.MA Yong 基于无线传感网络的煤矿采空区温度检测站设计 -煤矿机 电2009,""(3) 利用现有无线传感器网络和GPRS网路,设计了煤矿采空区温度监测站.重点介绍监测站的基本结构、传感器节点和网关节点的硬件设计及基本工作流 程. 8.学位论文 逄坤 无线传感网络预警系统方案预演 2008 科技发展的脚步越来越快,人类已经置身于信息时代。而作为信息获取最重要和最基本的技术——传感器技术,也得到了极大的发展。 传感器信息获取技术已经从过去的单一化渐渐向集成化、微型化和网络化方向发展,并将会带来一场信息革命。无线传感网络是集分布式信息采集 、信息传输和信息处理技术于一体的网络信息系统,以其低成本、微型化、低功耗和灵活的组网方式、铺设方式以及适合移动目标等特点受到广泛重视 ,是关系国民经济发展和国家安全的重要技术,被公认为将是未来改变人们生活的十大技术之首。无线传感器网络的网络结构是组织无线传感器的成网 技术,有多种形态和方式:无线传感器网络的集中式结构类似移动通信的蜂窝结构,集中管理;无线传感器网络的分布式结构,类似AdHoc网络结构,可 自组织网络接入连接,分布管理;无线传感器网络的网状式结构,类似Mesh网络结构,网状分布连接和管理。典型的无线传感器网络结构为,无线传感 器节点经多跳转发,通过网关接入网络,在网络的任务管理节点对传感信息进行管理、分类、处理,再把传感信息送给应用用户使用。 祖国版图辽阔,预警防卫十分重要。目前防卫手段单一,设备落后、科技含量低、防卫效果不明显,且周边局势错综复杂,高效、可靠的防卫体系 日显重要。本文所研究的防卫预警系统是以无线传感器网络技术为基础的方案。论证了利用无线传感网络集分布式信息采集、信息传输和信息处理技术 于一体的优势、以及其低成本、微型化、低功耗和灵活组网的方式、适合移动目标监测等特点在防卫预警中应用的意义。根据目前无线传感器网络化的 防卫预警系统尚属国内空白的情况,着眼我国预警防卫的发展趋势,重点分析了组建无线传感网络预警系统的基本框架,分析了要解决的关键技术,实 现方案等相关内容。为今后实施无线传感器网络预警系统奠定必要的基础。 9.期刊论文 何成平.龚益民.林伟 基于无线传感网络的设施农业智能监控系统 -安徽农业科学2010,38(8) 无线传感网络是在微机电系统、片上系统、无线通信和低功耗嵌入式技术基础上发展而成,由部署在监测区域内大量的廉价微型传感器节点组成,通 过无线通信方式形成的一个多跳自组织网络.结合设施农业实际,提出了基于无线传感网络的智能监控系统方案设计,采用基于ZigBee协议的CC2530芯片作 为传感器节点和网关/汇聚节点,进行监控参数传输、汇聚和融合;结合数据库技术和专家决策系统,实现了农业生产自动化和精细农业. 10.期刊论文 刘泉.梁小宇.LIU Quan.LIANG Xiao-yu 一种基于被动分簇算法的能源有效WSN模型 -计算机工程与应 用2007,43(16) 提出了一种基于被动分簇算法的能源有效无线传感网络模型.该模型采用被动分簇策略,即仅当网络中有数据通信要求时才在网络中建立分簇网络拓 扑,而且网络拓扑的建立与维护都在本地完成,不需要单独的控制命令以节省能量开销.分簇策略簇首选举采用"先声明者胜"的选举机制,网关节点选择依 据网络健壮性和能源有效性之间平衡的原则来确定.详细地描述了网络模型的建立和维护过程,并在NS2上仿真了该模型用于定向扩散路由协议时的能源有 效性.实验结果表明,使用该模型后的定向扩散路由比没有采用前具有更好的能源有效性.而且在节点大规模增加时,仍然具有良好的性能. 本文链接:http://d.g.wanfangdata.com.cn/Thesis_Y1550559.aspx 下载时间:2010年5月25日
更多简介内容

评论

下载专区


TI最新应用解决方案

工业电子 汽车电子 个人电子
$(function(){ var appid = $(".select li a").data("channel"); $(".select li a").click(function(){ var appid = $(this).data("channel"); $('.select dt').html($(this).html()); $('#channel').val(appid); }) })