基于ZigBee的室内无线定位设计毕业设计.doc_第1页
基于ZigBee的室内无线定位设计毕业设计.doc_第2页
基于ZigBee的室内无线定位设计毕业设计.doc_第3页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

目 录设计总说明.iintroduction.ii1 绪论 .11.1 课题研究的背景与意义.11.2 本文主要工作及组织结构.52 zigbee 技术的简介 .62.1 zigbee技术基础知识.62.2 ieee802.15.4协议栈和zigbee协议栈概述.82.3 zigbee网络构成.112.4 z-stack协议栈.143 无线传感网络中定位技术介绍 .193.1无线传感网络定位技术概述.193.2 无线传感网络定位技术的分类.213.3 无线传感网中基于测距的定位算法.224基于zigbee网络的室内定位系统设计.304.1定位系统结构图.304.2定位系统硬件设计.314.3定位节点软件设计.344.4节点和上位机间通信.405实验及结果分析. .445.1测试条件与环境.445.2测试结果分析.446 总结.46参考文献.48致谢.49华北科技学院毕业设计(论文)基于zigbee技术的室内无线定位技术设计设计总说明:无线定位广泛应用在导航、测量、自动控制等多个领域。目前,以gps 为代表的卫星定位系统已经非常成熟,但在小范围或室内无线定位系统中,定位的精度、成本、能耗等方面还不能完全满足需求。近年来,新兴的zigbee技术为无线定位注入了新的活力。zigbee 技术的低功耗、低成本、高扩展性的特点为构建无线定位系统提供一种很好的解决方案。本文以zigbee 技术为基础,完成了一种无线定位方案的设计与实现。该定位系统中有三种设备,分别为参考节点、控制器和需要求得其位置的移动节点。定位过程中使用的测量参数为接收信号强度指示rssi。各设备中采用的zigbee 无线模块为ti 公司生产的cc2530,这种芯片直接支持rssi技术。无线定位系统涉及到定位的测量参数、算法和通信这三种关键技术。本文首先讲解zigbee通信部分,包括各种设备的通信过程、定位通信的规范、用到的消息格式以及交互流程等。然后,本文介绍了无线模块中使用的rssi 参数特性,并以cc2530 的定位引擎进行定位计算为基础实现了一个定位系统,对该引擎在室内环境中的定位性能进行了测试和分析。最终完成的定位系统能实现:在低密度布网中,能定位出移动节点所在的区域,也能进行一维定位即求得移动节点的一个坐标,从而得出它所处的位置区域;而在高密度布网中,能进行二维定位,判断出移动节点在平面中的准确位置。根据对定位引擎的性能测试结果,提出改进意见。本文为进一步降低构建定位网络的成本和实现楼层空间内的定位提供了一种可行的解决方案。关键词:无线定位;zigbee;室内定位;cc2530;定位引擎;接收信号强度指示wireless location indoor systems based on zigbeeintroduction:wireless location has applications in navigation, measuring, automatic control and many others. at present, gps has been very mature, but in a small or indoor location system, the location accuracy, cost and many others cant fully meet the demands. in recent years, the appearance of the zigbee technology has injected new vitality for the wireless location. zigbee is a low-power, low cost, highly scalable technology, and which provides a good solution to build a location system.in this paper, we propose a wireless location system based on zigbee. there are three kinds of equipment in the systems which are the reference node, the mobile end device and the controllers. received signal strength indicator is the location parameters. the zigbee wireless module used in the equipment are ti cc2530, and both of this chips support the rssi.wireless location systems usually require three different key technologies, which are location parameters, algorithms and the communication. in this paper, we introduced the zigbee communications in the first. and then, we explain the rssi parameters in the wireless module. we use the calculation of the location engine in the cc2530 to build a location system, and we make a performance testing and analysis in the indoor environment.in thel location systems can do: in the low density of network, we can get one-dimensional locations and knows one coordinate of the mobile device; in the high density of network, we can get two-dimensional locations and know exact location of the mobile device.according to the test results of the engine, we give the advice of the location program in the indoor environment.at the end of this paper, we explain how we can further reduce the cost of building a location network and how to achieve a floor location system.key words: wireless location; zigbee; indoor location; cc2530; location engine; received signal strength indicator (rssi)1 绪论从古时开始,人类在交通运输、远洋航行等多种领域就对位置信息有着广泛的需求。星相学开始出现的一个重要目的就是满足人们对位置的需求,指南针的发明更是直接为定位提供服务。随着现代文明的发展,人类要求更好的定位技术来满足在交通、监控、调度、自动控制、跟踪导航等应用范围内对位置服务的需求。无线电出现后为定位提供了一个很好的工具,伴随着无线电在各种应用领域中的广泛使用,无线定位技术也得到了极快的发展。1.1课题研究的背景与意义1.1.1 无线定位的发展及应用随着现代移动通信技术和无线网络的蓬勃发展,人们对无线定位的需求与日俱增。无线定位服务是指通过无线终端和无线网络的配合,确定移动用户的实际位置信息,从而提供用户所需的与位置和方向相关的服务。无线电自出现后就广泛影响着人类的生产生活方式,它的应用领域不仅仅只是局限在语音通信、数据传送等通信服务领域,无线定位也是它的一个重要应用方面。无线定位是一种利用无线信号测量并为用户提供位置服务的技术。在无线定位中,无线电波的传播时间、信号场强、相位等特性会随着位置的改变而改变,得到这些特性后进行计算分析就可以得到未知点的位置。作为定位技术的一种,无线定位最早也是使用在导航方面。60年代中期正式投入使用的transit 系统第一次实现了全球范围内为用户提供高精度的二维定位服务。自此,无线定位开始出现在交通、调度、自动控制等多种应用领域。以transit 系统为基础,美国研制的gps 定位系统可以广泛应用在陆海空各区域的导航、高度测量、速度测量、自动控制、智能调度等各种领域,能够在全球范围内为用户提供全天候的三维定位服务。在军事以及民用上,gps 系统有极大的需求,它的出现加速推动了无线定位技术的发展,近年来欧洲和我国也分别开始建立类似的如伽利略定位系统和北斗定位系统。正是由于无线定位在安防、施救等方面的重要作用,因此当美国颁布e-911 后,更多的机构投入到对无线定位的一系列的研究和开发中。随后,美国又在对e-911的补充中明确规定了定位的精度。在现代信息社会,获取位置信息越来越重要,尤其是无线定位技术与自动控制技术、计算机技术、通信技术的结合使得无线定位拥有更广泛的应用前景。目前,无线定位的主要应用领域包括以下几个方面:(1)导航,目前最主要的应用领域,此项业务一年的产值达百亿美元。导航不仅能指示用户当前所在的位置,还能与计算机技术相结合为用户提供交通指示、导引,并实现对交通的智能调度、自动控制等。(2)安全,各种安全事故发生后,对位置信息的准确获取能够提供更快更好的帮助,减少不必要的伤害。比如对火灾现场对消防员的定位,矿井中对工人所处位置的定位等能极大的增加灾祸发生后的救援速度。(3)监测,对各种重要设备、物品以及人员的位置监测,可以防止盗窃、丢失、走失等。例如在超市、展馆等场所,对人员的无线定位可以随时得知儿童的位置,防止走失。而在各种保密部门中,也可以通过对人员的无线定位来直观、自动的得知人员的位置信息,监测人员的移动情况。(4)自动控制,自动驾驶、工业控制等。例如在超市、仓库实现对货品的无线定位后可以实现物流的自动管理。(5)测量与探测,高度测量、距离测试、速度测量等。无线定位的应用领域还有很多。随着定位精度、范围的提高,定位所需设备的成本进一步降低等,无线定位还将使用在更加广阔的领域。1.1.2 课题研究的背景无线定位服务的发展始于美国。1996年,美国联邦通信委员会(federal communications commission,fcc)制定了e-911法规,要求所有移动通信运营商,在移动用户发出紧急呼叫时,必须向公共安全服务系统提供用户的位置信息和终端号码,以便对用户实施紧急救援工作,并要求分阶段实施定位精度不断提高的用户定位服务。1999年fcc对e-911法进行修订,对定位精度提出新的要求,极大的促进了美国lbs(location based service)产业的快速发展。此后,日本、德国、法国、瑞典、芬兰等国家纷纷推出各种各具特色的商用定位服务。这些服务主要应用于:公共安全,如紧急救援;报警信息发布,跟踪业务,如犯罪嫌疑人的跟踪,走失老人和儿童的寻找,车辆的防盗报警,交通监控;基于位置的信息业务:如车辆导航服务,城市观光;基于位置的信息发布等。无线定位服务已经在军用、民用和商用领域证明了其重要性。现今实用的定位系统多半基于gps(global positioning system)技术,导致应用成本较高。低成本、高可靠性的新型定位系统的研究开发变得非常紧迫。另一方面,无线传感器网络(wsn)可以使人们在任何时间、任何地点和任何环境条件下获取大量详实而可靠的信息。因此,这种网络系统可以被广泛应用于国防军事、国家安全、环境监测、交通管理、医疗卫生、制造业、反恐、抗灾等领域,它是信息感知和采集的一场革命。由于wsn的低成本、便于大规模应用,使得以wsn为载体的定位研究被给予了广泛的关注。wsn的定位机制逐渐成为其主要技术之一。在无线通信协议体系中,ieee802.15.4是其中一种新兴的协议标准,因其优越性,它获得了快速的发展。它确定了低速个人局域网(lr-wpan)标准,定义了物理层(phy)和媒体接入控制层(media access control,mac)。2003年,zigbee联盟在物理层和媒体接入控制层的基础上对网络层(nwk)和应用层(apl)进行了具体定义,为用户提供了大量的api函数,从而形成了完整的zigbee协议。zigbee技术作为一种新兴的低成本、低功耗、低速率的短距离无线通信技术,它的独特技术特点使得其成为wsn中的理想通信技术选择。随着对zigbee技术研究的不断深入,大量的实用zigbee硬件、软件载体都相继被推出,使得基于zigbee技术的wsn和定位技术获得了迅猛的发展。尤其是基于zigbee技术的定位系统的研究与开发逐渐成为了一个研究热点。在所有的定位实现中,室内空间由于其环境的复杂性,一直是定位系统实现的一个难点。现今,成熟的室内定位系统仍然比较少、而且多数存在成本偏高等缺陷,不利于大范围广泛应用。本文试图利用zigbee技术实现一种较低成本、较低复杂度的室内定位系统。1.1.3 课题意义与目标不论在理论研究还是在实际应用中,定位问题一直都是人们研究的热点所在。由于运用无线传感器网络技术的大多数应用中都需要知道节点的位置,所以人们不断地寻找合适的定位问题解决方案,不断提高定位精度以便于无线传感器网络技术更好地服务于人类社会。到目前为止,对于无线传感器网络中定位问题已经有了一些比较令人满意的解决方案。但是对于定位问题的研究还需要不断深入。目前,gps(全球定位系统)可以算是人们所熟悉的定位问题解决方案,这种定位是利用卫星对地面上的物体进行位置的确定,可是该定位技术不但昂贵而且功耗大。无线传感器网络中由于网络的成本问题、耗电问题及网络中节点之间的距离有限,不能采用gps 技术实现定位。目前,研究人员通过研究设计了一些方案来解决无线传感器网络中的定位问题,这些解决方案有:基于信号接收强度值(rssi)的定位技术、基于到达时间(toa)的定位技术、基于到达时间差(tdoa)的定位技术和基于到达角度(aoa)的定位技术等。无线传感器网络中,已有的针对定位问题的解决方案或多或少都存在着一些缺点:基于rssi 定位中,接收信号强度值会随着距离的增长而变得不准确,利用该技术的定位只能解决近距离的定位问题;基于toa 定位中,到达时间的测量要求网络具备很好的时间同步,这大大增加了网络的开销,从而限制了基于达到时间定位技术的应用;基于tdoa 定位中,到达时间差的测量要么需要网络同步,要么需要利用到超声波。如果要求网络同步就会增大网络的开销,而如果利用了超声波,超声波的传播距离有限,这些问题都限制了基于到达时间差定位技术的应用;基于aoa 定位中,到达角度的测量要依赖昂贵的天线,这就制约了基于到达角度定位技术的应用。综上所述,研究出更好的无线传感器网络定位问题解决方案仍然是无线传感器网络领域具有挑战性的一项工作,这项研究将直接关系到无线传感器网络技术的应用领域是否能够更加广泛。在目前的局域定位系统中,还没有一种像卫星定位这样成熟且得到广泛使用的系统出现,在定位系统的精度、成本、可适用的布网环境等各个方面还有很多需要提升的地方。近年来,廉价的zigbee 模块构建的传感器网络开始使用在控制、监测、数据采集等多种应用领域,而zigbee 技术的低功耗、低成本、高容量、高可靠性的特点同样也为构建室外和室内定位系统提供一种很好的解决方案。本课题的目的是以zigbee 技术为基础构建无线传感器网络,完成对各种设备的控制、参数的测量、数据的传输等,实现定位设备之间的数据交互,定位计算,最终构建一个完善的无线定位系统。在完成的定位系统中,能通过与其它监控设备的协同工作完成数据的采集,以及对人员、物品等的位置监测。该系统在室内、室外环境中均能使用,且通过对定位系统的分析和研究提高定位精度,能够使系统在更多更复杂的环境中应用。1.2 本文主要工作及组织结构通过对定位技术的研究,本文以zigbee 无线网络技术为基础,详细讲解了怎样构建zigbee 无线定位系统。第一章:绪论。该章节首先介绍了无线定位技术的出现以及发展历程,并讲解了目前无线定位技术的应用领域。然后分析了本文的研究背景:在目前阶段,还没有如同卫星定位那样成熟的局域定位系统,而zigbee 技术的出现提供一个很好的解决方案。最后介绍了本文的组织结构。第二章:zigbee技术简介。该章简要介绍了zigbee技术的基础知识、ieee802.15.4协议栈、网络结构以及协议栈相关的运行环境。第三章:无线传感器网络中定位技术。无线定位系统中,定位的参数、算法以及通信技术三者必不可少。在本章中主要讲解了定位的基本原理、几种常用的参数以及算法,在下一章对zigbee无线通信技术做了介绍。第四章:cc2530定位引擎工作过程及性能测试。该章主要讲述了定位系统中所使用的参数特性,并对用来做定位计算的定位引擎的工作原理做了简要介绍。第五章,实验及结果分析。在室内环境中对引擎的定位效果进行了测试并分析测试结果。第六章:总结。对毕设完成的工作进行总结,并提出改进意见。2 zigbee技术简介2.1 zigbee技术基础知识2.1.1 zigbee发展概述近十年来,随着半导体技术和无线通信技术的不断发展,陆续出现了多种新的短距离无线通信技术。为了满足对低功率、低价格无线网络的需求,2000年12月,ieee标准委员会正式批准成立了802.15.4工作组,其目标是:在廉价的、倒定或便携的、移动的装置中,提出一个具有低复杂度、低价格、低功耗、低数据传输率的无线接入标准。也就是要开发一种低速率的wpan(lr-wpan,low-rate wireless personal area network)标准。2002年,英国invensys公司、日本三菱电气公司、美国摩托罗拉公司以及荷兰飞利浦等公司共同宣布组成zigbee技术联盟,共同研究开发zigbee技术。2003年11月,ieee正式发布了该项技术的物理层和mac层所采用的标准胁议,即ieee802.i5.4协议标准,作为zigbee技术物理层和媒体接入层的标准协议。2004年12月,zigbee联盟在ieee802.15.4协议基础上,正式发布了完整的zigbee标准。2006年ieee发布了ieee802.15.4协议标准修订版。2.1.2 zigbee技术特点ieee802.15委员会制定了三种不同的wpan(wireless personal areanetwork)标准,区别在于通信速率、qos能力等。802.15.1标准即蓝牙技术,具有中等速率,适合于从蜂窝电话到pda的通信,其qos机制适合于话音业务。802.15.3标准是高速率的wpan标准,适合于多媒体应用,有较高的qos保证。802.15.4标准也就是zigbee技术,目标市场是工业、家庭以及医学等需要低功耗、低成本无线通信的应用,对数据速率和qos的要求不高。zigbee的主要技术特征如表2-1所示。选择zigbee技术进行项目开发,是基于其具有的诸多性能优点。具体来讲,可总结如下:(1)数据传输速率低。zigbee技术的最大传输速率只有250kbps,专注于低速率传输应用。(2)设备省电,功耗极低。zigbee技术采用了多种节电的工作模式,可以确保两节五号电池支持长达6个月到2年左右的使用时间。表2-1 zigbee的主要技术特征特性取值/状态频段868/915mhz和2.4ghz数据速率868mhz:20kbps915mhz:42kbps2.4ghz:250kbps调制方式868/915mhz:bpsk2.4ghz:o-qpsk扩频方式直接序列扩频通信范围10-100m通信延时15-30ms信道数目868mhz:1915mhz:102.4ghz:16寻址方式64bitieee地址,16bit网络地址信道接入csma/ca和时隙化的csma/ca网络拓扑星形、树状、网状功耗极低状态模式激活/休眠 (3)通信可靠性高,数据安全。zigbee采用了csma-ca(carrier sense multiple access with collision avoidance)的避免碰撞机制,同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突;mac层采用了完全确认的数据传输机制,每个发送的数据包都必须等待接收方的确认信息,因此通信可靠性高。zigbee提供了数据完整性检查和鉴权功能,加密算法采用aes-128,同时协议栈的各层可以灵活确定其安全属性。(4)网络的自组织、自愈能力强。zigbee网络无需人工干预,网络节点能够感知其它节点的存在,并确定连接关系,构成结构化的网络。zigbee网络增加或者删除一个节点、节点位置发生变动、节点发生故障等,网络都能够自我修复,并对网络拓扑结构进行相应地调整,无需人工干预,保证整个系统仍然能正常工作。(5)时延短,设备接入网络快。通常时延都在15ms到30ms之间,因此设备接入网络和数据传送的延时时间很短,适合实时的监测和控制应用。(6)成本低廉,工作频段灵活。设备的复杂程度低,且zigbee协议是免专利费的,可以有效地降低设备成本。zigbee的工作频段灵活,使用的频段分别为2.4ghz(全球)、868mhz(欧洲)及915mhz(美国),均为免执照频段。(7)网络容量大。每个zigbee网络最多可支持65000个节点,也就是说每个zigbee节点可以与数万节点相连接,可以说网络容量极其庞大,尤其适用大规模无线传感器网络。2.2 ieee802.15.4协议栈和zigbee协议栈概述2.2.1 ieee802.15.4协议栈lr-wpan是一种结构简单、低成本、低功耗的无线通信网络,它的存在使得无线连接在低功耗和低数据吞吐量的应用中成为可能。为了满足这些需求,ieee802.15.4工作组为lr-wpan专门制定了物理层和mac子层的标准。它具备以下主要特征:(1)实现20kb/s、40kb/s、100kb/s、250kb/s四种不同的传输标准。(2)支持星型和点到点两种拓扑结构。(3)在网络中采取两种地址方式:16位地址和64位地址。其中16位地址是由协调器分配的,64位地址是全球唯一的扩展地址。(4)采用可选的时槽保障(gts,guaranteed time slots)机制。(5)采用带冲突避免的载波侦听多路访问(csma-ca,carrier sense multiple access with collision avoidance)的信道访问机制。(6)支持ack机制以及保证可靠传输。(7)低功耗机制。(8)信道能量检测(ed,energy detection)。(9)链路质量指示(lqi,link quality indication)。(10)工作在ism频段上,其中在2450mhz波段上有16个信道,在915mhz频段上有30个信道,在868mhz上有3个信道。(11)数据安全策略。ieee802.15.4网络协议栈基于开放系统互连模型(osi),如图2-1所示,每一层都实现一部分通信功能,并向高层提供服务。高层协议ieee802.2llcsscsphymac物理媒质图2-1 ieee802.15.4协议栈架构ieee802.15.4标准只定义了phy层和数据链路层的mac子层。phy层由射频收发器以及底层的控制模块构成。物理层的特性是激活和关闭无线收发器、能量检测、链路质量指示、空闲信道评估、通过物理媒介接收和发送分组数据。mac子层为高层访问物理信道提供点对点通信的服务接口。它的功能是进行信标管理、信道介入、保证时基于zigbee技术的室内定位系统研究与实现隙(gts)管理、帧确认、应答帧传送、连接和断开连接。此外,mac层为实现适当的安全机制应用提供一些方法。在mac子层之上的高层包括网络层和应用层,对于不同的高层协议,也可以通过逻辑链路控制子层(llc,logical link control)以及特定服务聚合子层(sscs,servicespecific convergence sublayer)来访问mac子层。2.2.2 zigbee协议栈概述zigbee技术作为一种新兴的低速率短距离无线通信技术,也是zigbee联盟(zigbeealliance)所主导的无线传感器网络技术标准。完整的zigbee协议栈有物理层、mac子层、网络层、应用汇聚子层和高层应用规范层组成。每一层为上层提供一系列特殊的服务:数据实体提供数据传输服务,管理实体则提供所有其他的服务。所有的服务实体都通过服务接入点(sap)为上层提供一个接口,每个sap都支持一定数量的服务原语来实现所需的功能。zigbee协议体系架构如图2-2所示。图2-2 zigbee协议体系架构图其中,ieee802.15.42003标准定义了底层:物理层(physical layer,phy)和mac层。ieee802.15.4定义的phy层分别工作在两个频段上:868/915mhz和2.4ghz。其中低频段物理层覆盖了868mhz的欧洲频段和915mhz的美国与澳大利亚等国的频段,高频段则全球通用。ieee802.15.4 mac层采用csma-ca机制来控制信道接入,主要负责传输信标帧,同步以及提供可信赖的传输机制。zigbee联盟在此基础上定义了网络层(network layer,nwk),应用层(application layer,apl)架构。网络层的主要职责包括提供设备用来加入网络和离开网络的机制,提供数据帧传输的安全机制和路由机制。另外,发现并保持设备间的路由,发现一跳邻居并存储潜在邻居信息也是由nwk层完成的。zigbee协调器的nwk层还必须负责启动一个新的网络,给新的关联设备分配地址等工作。应用汇聚层将主要负责把不同的应用映射到zigbee网络上,具体而言包括:安全与鉴权、多个业务数据流的会聚、设备发现、业务发现。zigbee应用层包括应用支持子层(aps),zigbee设备对象(zdo)以及用户定义应用对象。应用支持子层(aps)负责维护设备绑定表,以及传输在绑定的设备间传输数据。设备绑定表用于根据设备间提供的服务和需求来匹配设备并储存相关设备信息。zigbee设备对象(zdo)负责定义设备在网络中的角色(如zigbee协调器或中断设备),提出或响应绑定请求,以及建立网络设备间的安全关系。zigbee设备对象(zdo)还要负责网络设备的发现及判定对方提供服务类别。2.3 zigbee网络构成2.3.1 zigbee网络的设备类型zigbee网络支持ieee802.15.4定义的两种类型的物理设备:全功能设备(ffd)、精简功能设备(rfd)。ffd和rfd的不同是按照节点的功能区分的,一个ffd可以充当网络中的协调器和路由器,因此一个网络中应该至少含有一个ffd。rfd只能与主设备通信,实现简单,只能作为终端设备节点。在zigbee网络中,将两种物理设备定义成了三种逻辑设备类型:协调器、路由器、终端设备。一个zigbee网络包括一个协调器节点和多个路由器和终端设备节点。设备类型不会以任何方式限制可能应用在特定设备上的应用类型。图2-3 协调器功能模块示意图(1)协调器,这个设备“开启”一个zigbee网络。它是网络中的第一个设备。协调器节点选择一个信道和一个网络标识符(pan id)并开启网络。可选择地,协调器节点也能被用来设置网络中的安全性和应用水平的绑定。协调器的功能主要是开启和配置网络。一旦这些完成以后,协调器与路由器的功能就一样了(甚至可以断开)。由于zigbee网络的分布式本质,网络的继续运行不依赖于协调器的存在。图2-4 路由器功能模块示意图(2)路由器,路由器执行的功能有:允许其他设备加入网络;多跳路由;辅助它的电池供电的子终端设备通信。一般来说,路由器被期望能一直保持激活状态,因此它通常是由固定电源供电的。而不能使用电池供电。路由器为它的子节点缓存信息,直到子节点被唤醒并请求数据。当一个子节点需要发送一个信息的时候,这个子节点发送数据到它的父路由器。然后,路由器负责传输信息,执行所有相关的重发,以及如果需要的话,等待确认。这使得终端设备可以回到休眠状态,从而达到省电的目的。图2-5 终端节点功能模块示意图(3)终端设备,终端设备对维持网络结构没有特殊的责任,因此,它可以有选择的休眠和唤醒。终端设备仅仅周期性的向它的父节点发送或接受来自它的父节点的数据。因此终端设备能够使用电池供电的方式工作很长时间。在能量管理方面,网络协调器与路由器需要突发的处理一些请求,包括入网、退出网络以及数据中转等功能,一般情况下,使用永久性电源;若终端节点在大部分的时间里都处于休眠状态就可以采用电池供电。若对电池供电没有要求,网络中可以全部采用ffd设备。2.3.2 zigbee网络的拓扑结构zigbee网络主要有三种组网方式。星型网络,树状网络和网状型网络,其拓扑结构如图2-6所示。如图2-6中(a)所示,星型网络是一个辐射状系统,数据和网络命令都是通过中心节点传输。如果用通信模块构造星形网络,只需要一个模块配置成协调器节点,其他模块可以配置成终端节点。星状拓扑结构最大的优点就是结构简单,这种简单带来的是很少有上层协议需要执行、较低的设备成本、较少的上层路由信息和管理方便。中心节点需基于zigbee技术的室内定位系统研究与实现要承担更多的管理工作。由于把每个终端节点放在中心节点的通信范围之内,这必然会限制无线网络的覆盖范围,并且星形拓扑很难实现高密度的扩展。集中的信息涌向中心节点,容易造成网络堵塞、丢包、性能下降等。到目前为止,星形拓扑是最常见的网络配置结构,被大量的应用在远程检测和控制中。(a)星型(b)树状(c)网状协调器ffdrfd图2-6 zigbee网络拓扑结构树状拓扑是多个星形拓扑的集合,如图2-6中的(b)所示。若干个星形拓扑连接在一起,扩展到更广阔的区域。树形拓扑是可以实现网络范围内“多跳”信息服务的最简单的拓扑结构,树形拓扑最值得注意的地方就是它保持了星形拓扑的简单性:较少的上层路由信息、较低的存储器需求。但是树形结构不能很好的适应外部的动态环境。从图中可以看出,信息源与目的之间,有且只有一条传输路径,任何一个节点的中断或故障将会使部分节点脱离网络。树形拓扑的最佳应用是在稳定的无线电射频环境中,也可以很好的用在一些简单的低数据量的大规模集合的应用之中。如图2-6所示的(c)中,网状网络是一个自由设计的拓扑,具有很高的适应环境的能力。网络中的每个节点都是一个小的路由器,都具有重新路由选择的能力,以确保网络最大限度的可靠性,可以看出网络中任意两个节点的通信路径不是唯一的。网形拓扑与星形、树形相比,更加复杂,其路由拓扑是动态的,不存在一个固定的路由模式。这样信息传输的时间更加依赖瞬时网络连接质量,因而难以预计。2.4 z-stack协议栈2.4.1 z-stack概述为了适应zigbee产品开发的需求,德州仪器(ti)推出了一套完整的协议栈z-stack。z-stack是zigbee技术的核心软件,是开发ieee802.15.4/zigbee技术相关产品的关键软件,z-stack符合zigbee2006规范的要求,并且在硬件上支持cc2530,cc2530以及msp430平台。ti协议栈一直在不断的完善中,从最初的1.1.0版本到现在的1.4.3版本,无论从路由协议还是从地址分配模式都作了大量的改进。本文构建的定位系统是以z-stack协议栈为基础的,网络中按照节点完成的功能分为参考节点、定位节点。对z-stack协议栈的理解运用是项目开发的重点和难点之一,下面对z-stack协议栈进行了较详细的说明。z-stack运行在iar 7.20以上的集成开发环境,iar 7.20运用c51编译器,是一个与kellc51类似的,功能强大的c51编译器/ide/debug开发平台。在该集成开发环境中,可以看到个完整的z-stack协议栈包含的功能部分组成。z-stack是完全符合zigbee2006标准的,其协议栈结构也与zigbee规范完全吻合。包括最上层的应用层(app),在该层内主要完成应用程序的设计,外部任务的调用和执行,并可以通过api函数调用下层的函数完成相应的操作。hal(hardware abstract layer)层为硬件抽象层,在该层中根据用户硬件平台的不同,给出了各种不同的硬件资源,如按键、发光二极管、串口、定时器以及adc等各种硬件设各的功能函数定义。用户可以通过调用它的api函数实现应用程序功能的外部表征。mac以及nwk层主要实现了zigbee标准的媒体接入控制层和网络层。osal(operate system abstract layer)是操作系统抽象层,协议栈即运行在该操作系统之上。tools是配置文件,通过对其内部文件的修改可以设置网络的信道编号和pan id号,并且最重要的一个功能是通过设置其相应的文件包含可以预定义节点的逻辑类型,即协调器,路由节点或者是终端设备节点。zdo是zigbee设备对象的简称,在该层主要定义了网络内部设备的入网,绑定以及设备发现等功能实现。zmain是应用程序的主函数,每个应用程序都是从zmain函数作为入口,首先是硬件初始化,存储器初始化最后是操作系统无限循环。简单的说,z-stack协议栈就是用户的应用程序、zigbee标准以及各种用户配置结合起来的一套完整的具有堆栈格式的文件系统。各层之间通过各层的api函数实现相互连接和通信,最终达到完整有效的运行。z-stack协议栈结构较复杂,要想理解它的运行机制,很关键的一点就是要理解osal的运行机制。2.4.2 osal运行机制osal(operator system abstract layer,操作系统抽象层)层是与协议栈相独立的,但是整个协议栈都要基于本操作系统(os)才能正常运行,或者说协议栈运行在本层之上。osal提供如下服务和管理功能:信息管理、任务同步、时间管理、任务管理、内存管理、电源管理以及非易失存储管理。图2-8 osal操作系统任务调度流程具体来说,osal是一个基于任务调度机制的操作系统。它是通过对任务的事件触发来实现资源的调度。每个任务都包含若干个事件,每个事件都对应一个事件号。当一个事件产生时,对应任务的event就被设置为相应的事件,这样事件调度就会调用相应的任务处理程序。osal中的任务可以通过任务处理api函数添加到系统中,这样就可以实现多任务机制。osal任务调度流程如图2-8所示。2.4.3 zigbee组网协调器组建个人局域网(pan)成功后,频繁的以广播方式向外发送信标帧,用来表示它的存在。其它终端节点接收信标帧,以完成设备发现任务,终端节点要加入该pan,那么只要将自己的信道以及个域网标识符(pan id)设置成与要加入网络中的父节点的相同,并提供正确的认证信息,即可请求加入(join)网络。此时,父节点要检查自身的短地址资源,如果自身地址未满,那么就可以为该子节点分配短mac地址,只要节点接收到父节点为之分配的16位的短地址,那么在通信的过程中,将使用该地址进行通信。如果没有足够的地址资源,那么节点将收到来自父节点的连接失败响应,此时子节点即可以向其他父节点请求zigbee网络短地址来加入网络。网络层将不断重复这个过程直到节点成功加入到网络为止。组网算法流程如图2-9所示。在z-stack中,一个具体的sample应用组网过程如下:一个作为协调器编译的sarhple应用将会组建一个网络,该网络使用default chanlist中说明的信道之一。如果它没有定义zdapp_config_pan_id为0xffff的话,协调器将会建立一个以zdapp_config_pan_id 为pan id 的个域网。如果zdapp_config_pan_id=0xffff,则基于它自身ieee地址产生一个随机的pan id。一个作为路由器或终端编译的sample应用将会试图加入一个网络,它使用default_chanlist中说明的信道之一。如果zdapp_config_pan_id没有被定义为0xffff,路由器将被限制仅仅加入那些被定义的pan id。当zdapp_config_pan_id没有被定义为0xffff的时候,因为一个协调器和一个路由器或终端之间的行为上的差异,不可预料的结果就会产生。如果zdapp_config_pan_id被定义为一个有效的、小于或等于ox3fff的值,协调器将仅仅试图用这个特殊的个域网id建立一个网络。因此,如果协调器被限制在一个信道,并且特定的个域网id已经在那个信道里被建立起来,新的起始协调器将会做出连续的变化直到它产生一个唯一的个域网id。新加入的路由器和终端将不会知道建立的“不冲突”的个域网id值,因此仅仅会加入特定的个域网id。当被允许的信道屏蔽允许不止一个的信道并且由于pan id冲突,协调器不能使用第一个信道的时候,一个相似的、有挑战性的场景将会出现一在被允许的情况下,路由器和终端将会加入第一次信道扫描到的特定pan id。图2-9组网算法流程图2.4.4 z-stack协议栈运行机制一个完整的基于z-stack协议栈的应用程序主流程图如图2-10所示。由图可以看出,在z-stack开始运行之前,系统必须完成硬件设备及内部存储器的初始化,其间要判断节点的长地址,若此时长地址为全ff,那么要往存储器随机写入64位的长地址,然后进入操作系统的无限循环中。在该循环中,操作系统不断监视系统的任务列表,根据任务的不同,操作系统分别做出不同的处理。因此,必须首先在任务列表中添加任务,完成任务的初始化,在事件处理的回调函数中加入相应事件处理函数,如按键事件、状态转换事件、数据包发送确认事件、收到数据包的指示事件等,响应到某种事件,就转去执行相关的消息事件处理函数。事件的激发方法和执行顺序是值得注意的,协议栈中通常使用三种函数进行事件激发,三种函数为osal_start_timer()、osal_start_timerex()和osal_set_event()。其中,函数osal_start_timerex ()被用来开启一个在n毫秒后到期的时钟,当时钟到期时,调用任务将获得特定的事件,使用时需指明任务id。函数osal_start_timer()也被用来开启一个在n毫秒后到期的时钟,当时钟到期时,调用任务将获得特定的事件,但使用时不用指明任务id。函数osal_set_event()被用来设置任务事件标志,一旦程序执行到此处,就转入相应的消息处理函数。图2-10 z-stack的运行机制流程3 无线传感网络中定位技术介绍无线传感器网络技术的应用主要是把大量的传感器节点放置于需要监测的区域,让这些节点采集人们所感兴趣的数据,之后通过无线传输的方式把采集到的信息汇集到总处理器,总处理器通过分析数据得出所检测区域的状况。由此可以看出,位置信息对所采集的数据是非常重要的。对于无线传感网中定位技

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论