zigbee通信模块的设计论文

上传人:daj****de2 文档编号:155747198 上传时间:2022-09-24 格式:DOCX 页数:49 大小:348.23KB
返回 下载 相关 举报
zigbee通信模块的设计论文_第1页
第1页 / 共49页
zigbee通信模块的设计论文_第2页
第2页 / 共49页
zigbee通信模块的设计论文_第3页
第3页 / 共49页
点击查看更多>>
资源描述
科技大学本科毕业论文zigbee通信模块的设计The design of zigbee communication module科技大学毕业论文(设计)任务书学院:电子信息学院专业:电子信息工程学号:姓名:指导教师:职称:副教授2010年3 月1 日毕业设计(论文)题目:ZigBee通信模块的设计一、毕业设计(论文)容与要求(包括原始数据、技术要求、达到的 指标和应做的实验等)1提供条件:DSP开发板,CCS开发环境、MATLAB、PROTEL99软件等;2设计容与要求:(1) 调研收集分析有关资料,总结ZigBee通信模块的结构特点、;八、;(2) 确定ZigBee通信模块的结构设计总体原则;(3) 进行ZigBee通信模块的统结构规计算;(4) 绘制ZigBee通信模块的电路框图、程序流程图等;(5) 设计ZigBee通信模块的电路图和C原程序。二、完成后应交的作业(包括各种说明书、图纸等)1. 毕业设计论文一份(不少于1.5万字);2. 外文译文一篇(不少于5000英文单词);3. ZigBee通信模块的电路图和C原程序。三、完成日期与进度自2010年3月1日起至2010年6月27日止进度安排:第一一三周(3月1日-3月21日):1、熟悉课题;2、查阅资料;3、翻译外文文献;4、完成开题报告。第四一八周(3月22日-4月25日):1、熟悉DSP单片机硬件结构,掌握常用模块的设计原理;2、硬件、软件设计。第九一十一周(4月26日-5月16日):1、硬件、软件调试(若有条件)。2、完成中期检查报告。第十二一十五周(5月17日-6月13日):撰写毕业设计论文。第十六周(6月14日-6月20日):1、交论文;2、完成毕业设计验收。第十七周(6月21日-6月27日):毕业答辩。五、主要参考资料(包括书刊名称、出版年月等):1. 电子技术基础 高等教育1998。72. 模拟电子线路2电子科技大学2004.73. MSP430系列16位超低功耗单片机原理与实践 建华编著 航 空航天大学2008.74. MSP430单片机基础与实践 兴红编著 航空航天大学 2008.15. DSP集成开发环境 启琮 编著 电子工业2004.76. TMS320X28XXX原理与开发 奎峰 编著 电子工业2009.37. TMS320X281XDSP应用系统设计 编著 航空航天大学2008.58. MATLAB R2006a基础篇 岩 编著 化学工业2008.29. 精通MABLAB接口与编程王世香 编著电子工业2007.110.Simulink动态系统建模与仿真基础 颖 编著 电子科技大学2004.711. MATLAB仿真应用详解 影乐 编著 人民邮电2001.712. 从Matlab/Simulink模型到代码实现 永春 清华大学2002.10系(教研室)主任:(签章)年 月 日学院主管领导:(签章)年 月 日Zigbee是一种新兴的短距离,低速率无线网络技术。它是一种介于无线标记 与蓝牙之间的技术提案,此前被称作HomeRF Lite或firefly无线技术,主要用 于近距离无线连接。它有自己的无线标准,是通过数千个微小的传感器之间相互协调 来实现通信的。这些传感器只需要很少的能量,以接力的方式通过无线电波将数从一 传感器传到另一个传感器,所以通信效率非常高Zigbee技术应用广泛,包括智能 家居,建筑自动化,自动仪表读取,工业自动化,冷冻管理和货柜防护。这些应用让 企业节省能源,带来经济和环保效益;智能家居提升家居安全,舒适度和娱乐享受; 监测如道路与桥梁等公用基建的损耗,避免设施损坏甚至人员伤亡。Zigbee协议栈 由一组特定的服务;一个数据实体提供数据传输服务;一个管理实体提供全部其他服 务。每个服务实体通过一个服务接入点为上层提供服务接口,并且每个SAP提供一 系列的基本服务指令完成相应的功能。关键字:短距离;智能家居;协议栈;AbstractZigbee is a new short-range, low-rate wireless network technology. It is a cross between tag and Bluetooth wireless technology between the proposals, had been called HomeRF Lite or firefly wireless technology, mainly used for short-range wireless connection. It has its own wireless standard, through thousands oftiny sensors to achieve coordination between the communications. The sensor requires very little energy to relay the number through radio waves transmitted from one sensor to another sensor, so the communication efficiency is very high. Zigbee technology is widely used, including smart home, building automation, automatic meter reading, industrial automation, refrigeration management and container protection. These applications allow enterprises to save energy, bring economic and environmental benefits; smart home improve home safety, comfort and entertainment; monitoring. such as roads and bridges and other public infrastructure losses, to avoid equipment damage and even casualties. Zigbee protocol stack by a specific set of services; a data entity to provide data transmission services; a management entity to provide all other services. Each service entity through a service aCCess point to provide services for the upper interface, and each SAP order to provide a range of basic services to complete the functions of the corresponding.Key Words: short-range; smart home; Zigbee protocol stack;目录第一章绪论11.1 zigbee无线网络的研究背景11.2 zigbee无线网络的研究现状11.3 zigbee无线网络的研究前景2第二章zigbee协议栈32.1认识zigbee协议栈32.2设备类型52.2.1协调器62.2. 2路由器62.2.3终端设备62.2.4栈配置72.3寻址72.3.1地址类型72.3.2网络地址分配72.3.3 Z-Stack 寻址 82.3.4单点传送102.3.5间接传送102.3.6广播传送102.3.7组寻址112.3.8重要设备地址112.4绑定112.4.1建立绑定表122.4.2 ZigBee Device Object Binding Requests2.4.3启动申请122.4.4Zigbee设备对象终端绑定请求132.4.5设备应用层绑定管理142.4.6配置源绑定152.5路由152.5.1 概述 152.5.2路由协议152.5.3路径的发现和选择162.5.4路径保持维护172.5.5路径期满172.5.6表存储172.5.7路由表172.5.8路径发现表182.5.9路径设置快速参考182.6安全182.6.1 概述 182.6. 2 配置 192.6.3网络访问控制192.6.4更新密码202.6.5快速参考202.7本章小结20第三章zigbee开发平台213.1 zigbee软件开发平台213.2 zigbee硬件开发平台223.2.1 CC2530 芯片介绍 223.2.2开发板原理错误!未定义书签。3.3小结24第四章家庭自动化应用264.1软件设计原理264.2管理器(灯)设备334.3终端(开关)设备344.4小结34结论37致37参考文献38第一章绪论1.1 zigbee无线网络的研究背景无线传感网络技术是典型的具有交叉学科性质的军民两用的高科技技术,可以广 应用于军事,国家安全,交通管理,灾害预测,医疗卫生,制造业和城市信息化建设 等领域。无线传感网络由许许多多功能一样或不同的的无线传感节点组成,每一个传 感节点又由数据采集模块(传感器,A/D转换器),数据处理和控制模块(微处理器, 存储器),通信模块(无线收发器)和供电模块(电池,DC/AC能量转换器)等组成, 近期微机电系统(MEMS)技术的发展为传感器的微型化提供可能,微处理技术的发 展促进了传感器的智能化,通过MEMS技术和射频(RF)通信技术的融合促进了无线 传感器与其网络的诞生。传统的传感器正逐步实现微型化,智能化,信息化,网络化, 正经历着一个从传统传感器到智能传感器再到嵌入式web的涵不断丰富的发展过程。1.2 zigbee无线网络的研究现状无线传感器网络是新一代的传感网络,具有非常广泛的应用前景,其发展和应用。 将会给人们的生活和生产的各个领域带来深远的影响。各国都非常重视无线传感网络 的发展,IEEE正在努力推进无线传感网络的应用和发展,波士顿大学还于最近创办 了传感器网络协会,期望能促进传感器联网技术开发。美国技术评论杂志在论述 未来新兴十大技术时,更是将无线传感器网络也加入其中。在“中国未来20年技术 遇见研究”中总共157个技术课题,其中有7项是直接论述传感网络的。2006年初 发布的国家长期科学与技术发展规划纲要为信息技术确定了三个前沿方向,其中 两个与无线传感器网络的研究直接相关,即智能感知技术和自组织网络技术。可以预 计。无线传感网络的广泛应用是一种趋势,它的出现将会给人类社会带来极大的变革。国际上比较有代表性和影响力的无线传感器网络使用和研发项目有遥控战场传 感器系统,网络中心战与灵巧传感器网络,智能尘埃,行为习性监控项目和美国皇家 网络等,尤其是最新试验成功的低成本美军“狼群”地面无线传感器网络标识着电子 战领域技术的最新突破。俄亥俄州正在开发“沙地直线”无线传感网络系统。这个系 统能够散射电子绊网到任何地方,以侦测运动的高金属含量目标。民用方面,美国, 日本等国家在对该技术不断研发的基础上在多领域也进行了应用。英特尔公司与加利福尼亚州大学伯克利分校正领导“微尘”技术的研究工作。他 们成功创建了瓶盖大小的全能传感器,可以执行基数按,检测与通信等功能。2002 年,英特尔研究实验室人员将处方药瓶大小的32个传感器连进互联网,以读出缅因 州“大鸭岛”上的气候,评价一种海燕巢的条件。而2003年第二季度,他们换用150 个安有D型微型电池的第二代传感器来评估这些鸟巢的条件。他们的目的是让全世界 各国研究员实现无人侵入式与无破坏的,对敏感野生物与其栖息地的监测。目前,已 有公司开发出了用于家庭福利的无线传感器网络系统,根据演示,该系统通过在鞋, 家具,以与家用电器中嵌入半导体传感器,帮助老人,阿尔茨海默病患者以与残障人 士的家庭生活,该系统利用无线通信将各传感器联网。在日本,日立制作所与Yrp泛在网络化研究所于2004年11月24日宣布开发出 全球体积最小的无线传感网络终端,该终端为安装电池的有源无线终端,可以搭建温 度,亮度,红外线,加速度等各种传感器。设想应用与大楼与家庭的无线传感网络以 与安全管理方面。在旧金山,200个联网“微尘”,已被部署在金门大桥上,这些微尘用于确定大 桥从一边到另一边的摆动距离(在强风中可以精确几ft,1ft=0.3048m)。当微尘检 测出移动距离时,它将把信息通过微型计算机网络传递出去。信息最后到达一台强大 的计算机进行数据分析。任何当前天气情况不吻合的异常读数都可能预示着大桥存 在隐患。1.3 zigbee无线网络的研究前景微电子技术,计算机技术和无线通信技术的进步,推动了低功耗多功能传感器的 快速发展,使其在微笑体积能够集成信息采集,数据处理,和无线通信等多种功能。 无线传感器网络就是由部署在监测区域大量的廉价微型传感器节点组成,通过无线通 信等多种方式组成的一个多跳的自组织的网络系统,其目的是协作和感知,采集和处 理网络覆盖区域中感知对象的信息,并发送给观察者。传感器,感知对象和观察者构 成了传感网络的三个要素,。如果说Internet构成了逻辑上的信息世界,改变了人 与人之间的沟通方式,那么,无线传感网络就是将逻辑上的信息世界与客观上的物理 世界融合在一起,改变人类与自然界的交互方式。人们可以通过传感器网络世界直接 感知客观世界,从而极扩展现有网络的功能和人类认识世界的能力。未来移动通信网络除了以低成本实现数据的传输外,还要求在无专用通信基础设 施的场景下,网络具有适应性和生存能力,因此无线传感器网络和自组织网络将因器 灵活性而在未来移动通信网络中起重要作用。无线传感器网络是由分布在给定局部区域足够多的无线传感器节点构成的一种 新型信息获取系统。并且具有一定的计算能力,。各节点之间通过专用的网络协议实 现信息的交流,汇集和处理,从而实现给定局部区域目标的探测,识别,定位和跟踪, 随着通信技术,嵌入式计算技术和传感器技术的飞速发展和日益成熟,具有感知能力, 计算能力和通信能力的微型传感器开始在世界围出现,由这些微型传感器构成的传感 器网络引起了人们的极大关注。无线自组织网络是一种没有预定技术设施支撑的自组织可重构的多级无线网络。在 该网络中,网络拓扑,信道的环境,业务的模式随节点的移动而动态改变。无线自组 织网络可以快速地为名用和军事应用建立通信平台。第二章zigbee协议栈2.1认识zigbee协议栈Zigbee协议栈由一组子层构成。每层为其上层提供一组特定的服务:一个数 据实体提供数据传输服务;一个管理实体提供全部其他服务。每个服务实体通过一个 服务接入点(SAP)为其上层提供服务接口,并且每个SAP提供一系列电额基本服务 指令来完成相应的功能。Zigbee协议栈的体系结构包括zigbee应用层,IEEE802.15.4MAC层和IEEE802.15.4 PHY层。它虽然是基于标准的7层开放式系统互联(OSI)模型,但仅对那些涉与zigbee层予以定义IEEE802.15.4 2003标准定义了最下面的两层:物理层(PHY)和戒指介入控制子层。Zigbee联盟提供了网络层和应用层(APL) 框架的设计。其中应用层的框架包括了应用支持子层(APS),zigbee设备对象(ZDO) 和由制造商制定的应用对象。相对于常见的无线通信标准,zigbee协议套件紧凑而简单,具体实现要求很低, zigbee协议套件的最低需求估计:硬件需要8为处理器,如80C51;软件需要32kb 的rom,最小软件需要4kb的rom,如CC2530芯片是具有8051核的,存为32-128kb 的zigbee无线单片机;网络主节点需要更多sdram,以容纳网络中所有节点的设 备信息,数据包转发表,设备关联表,与安全有关的密钥存储等。Zigbee联盟希望建立一种可连接每个电子设备的无线网。它预言zigbee将很快成 为全球高端的无线技术,到2007年zigbee节点可达到30亿个。具有几十亿个节点 的网络将很快耗尽已不足的IPV4的地址空间,因此IPV6与IEEE802.15.4结合 是传感器网络的发展趋势。IPV6采用128位地址长度,几乎可以不受限制地提供地 址。使用IAR for c8051 7.5在工程中打开zigbee协议栈,可以看到如图2.1的 整个协议栈的框架。App :应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用 层的容和这个项目的主要容,在协议栈中一般是以操作系统的任务实现的。HAL :硬件抽象层,包含有与硬件相关的配置和驱动与操作函数。MAC:MAC层目录,包含了 mac层的参数配置文件与其mac的LIB库的函数接口文件。 mt:实现通过串口可控制各层,并与各层进行直接交付。NWK:网络层目录,包含网络层配置参数文件和网络层库的函数接口文件与aps层库 的函数接口。OSAL:协议栈的操作系统。PROFILE:AF层的目录,包含af层处理函数文件。Security:安全层目录,包含安全层处理函数,比如加密函数等。Tools:工程配置目录,包含空间划分,与z-stack相关配置与信息。Zdo: zdo 目录。Zmac: mac目录,包括mac层参数配置与mac层lib库函数回调处理函数。 Zmain:主函数目录,包含入口函数与硬件配置文件。Output:输出文件目录,这是IAR ew8051 IDE自动生成的。综上所示,真个协议栈中对于zigbee功能已经全部体现,在此基础上建立一个 项目的方法主要是改动应用层。2.2设备类型NWK在ZigBee网络中存在三种逻辑设备类型:Coordinator(协调器),Router(路 由器)和End-Device(终端设备)。ZigBee网络由一个Coordinator以与多个 Router和多个End_Device组成,如图2.2,zigbee网络拓扑结构。WorkspaceXSirnpleSensorEElFiles广Hi?,ISil QJ SimpleApp - SimpleS.El _|AppY _|HAL_|MT5Jr-H3 IY _|0汛 El _| Profile El _| Security E _| Services S _|Tools 如。S _|ZMac El _|ZMain T3 Output图2.1 zigbee协议栈图2.2 zigbee网络拓扑结构2.2.1协调器协调器负责启动整个网络。它也是网络的第一个设备。协调器选择一个信道和一 个网络ID(也称之为PAN ID,即Personal Area Network ID),随后启动整个 网络。协调器也可以用来协助建立网络中安全层和应用层的绑定(bindings)。注意,协调器的角色主要涉与网络的启动和配置。一旦这些都完成后,协调器的 工作就像一个路由器(或者消失)。由于ZigBee网络本身的分布特性,因此接下来整 个网络的操作就不在依赖协调器是否存在。2.2. 2路由器路由器的功能主要是:允许其他设备加入网络,多跳路由和协助它自己的由电池 供电的儿子终端设备的通讯。通常,路由器希望是一直处于活动状态,因此它必须使用主电源供电。但是当使 用树群这种网络模式时,允许路由间隔一定的周期操作一次,这样就可以使用电池给 其供电1。2.2.3终端设备终端设备没有特定的维持网络结构的责任,它可以睡眠或者唤醒,因此可以可以 是一个电池供电设备。通常,终端设备对存储空间(特别是RAM的需要)比较小。注意:在Z-Stack 1.4.1中一个设备的类型通常在编译的时候通过编译选项 (ZDO_COORDINATOR和RTR_NWK)确定。所有的应用例子都提供独立的项目文件来 编译每一种设备类型。2.2.4 栈配置栈参数的集合需要被配置为一定的值,连同这些值在一起被称之为栈配置。ZigBee联盟定义了这些由栈配置组成的栈参数。网络中的所有设备必须遵循同样的 栈配置。为了促进互用性这个目标,ZigBee联盟为ZigBee2006规定义了栈配置。所 有遵循此栈配置的设备可以在其他开发商开发的遵循同样栈配置的网络中。2.3 寻址2.3.1地址类型ZigBee设备有两种类型的地址。一种是64位IEEE地址,即MAC地址,另一种 是16位网络地址。64位地址使全球唯一的地址,设备将在它的生命周期中一直拥有它。它通常由 制造商或者被安装时设置。这些地址由IEEE来维护和分配。16为网络地址是当设备加入网络后分配的。它在网络中是唯一的,用来在网络 中鉴别设备和发送数据。2.3.2网络地址分配ZigBee使用分布式寻址方案来分配网络地址。这个方案保证在整个网络中所有 分配的地址是唯一的。这一点是必须的,因为这样才能保证一个特定的数据包能够发 给它指定的设备,而不出现混乱。同时,这个寻址算法本身的分布特性保证设备只能 与他的父辈设备通讯来接受一个网络地址。不需要整个网络围通讯的地址分配,这有 助于网络的可测量性。在每个路由加入网络之前,寻址方案需要知道和配置一些参数。这些参数是 MAX_DEPTH,MAX_ROUTERS和MAX_CHILDREN。这些参数是栈配置的一部分,ZigBee2006协议栈已经规定了这些参数的值:MAX_DEPTH= 5, MAX_ROUTERS = 6 和MAX_CHILDREN = 20。MAX_DEPTH决定了网络的最大深度。协调器(Coordinator)位于深度0,它的儿子 位于深度1,他的儿子的的儿子位于深度2,以此类推。MAX_DEPTH参数限制了网络 在物理上的长度。MAX_CHILDREN决定了一个路由(Router)或者一个协调器节点可以处理的儿 子节点的最大个数。MAX_ROUTER决定了一个路由(Router)或者一个协调器(Coordinator)节点可以 处理的具有路由功能的儿子节点的最大个数。这个参数是MAX_CHILDREN的一个子 集,终端节点使用(MAX_CHILDREN - MAX_ROUTER)剩下的地址空间。如果开发人员想改变这些值,则需要完成以下几个步骤:首先,你要保证这些参数新的赋值要合法。即,整个地址空间不能超过216,这 就限制了参数能够设置的最大值。可以使用projectsZStacktools文件夹下的 CSkip.xls文件来确认这些值是否合法。当在表格中输入了这些数据后,如果你的 数据不合法的话就会出现错误信息。当选择了合法的数据后,开发人员还要保证不再使用标准的栈配置,取而代之的 是网络自定义栈配置(例如:在nwk_globals.h文件中将STACK_PROFILE_ID改 为 NETWORK_SPECIFIC。然后 nwk_globals.h 文件中的 MAX_DEPTH 参数将被设 置为合适的值。此外,还必须设置nwk_globals.c文件中的Cskipchldrn数组和 CskipRtrs数组。这些数组的值由MAX_CHILDREN和MAX_ROUTER构成。2.3.3 Z-Stack 寻址为了向一个在ZigBee网络中的设备发送数据,应用程序通常使用AF_DataRequest()函数。数据包将要发送给一个 afAddrType_t (在 ZComDef.h中定义)类型的目标设备。typedef structunionuint16 shortAddr; addr;afAddrMode_t addrMode;byte endPoint; afAddrType_t;注意,除了网路地址之外,还要指定地址模式参数。目的地址模式可以设置为以下几 个值:typedef enumafAddrNotPresent = AddrNotPresent,afAddr16Bit = Addr16Bit,afAddrGroup = AddrGroup,afAddrBroadcast = AddrBroadcast afAddrMode_t;因为在Zigbee中,数据包可以单点传送(unicast),多点传送(multicast) 或者广播传送,所以必须有地址模式参数。一个单点传送数据包只发送给一个设备, 多点传送数据包则要传送给一组设备,而广播数据包则要发送给整个网络的所有节 点。这个将在下面详细解释。2.3.4单点传送Uicast是标准寻址模式,它将数据包发送给一个已经知道网络地址的网络设 备。将afAddrMode设置为Addr16Bit并且在数据包中携带目标设备地址。2.3.5间接传送当应用程序不知道数据包的目标设备在哪里的时候使用的模式。将模式设置为 AddrNotPresent并且目标地址没有指定。取代它的是从发送设备的栈的绑定表中 查找目标设备。这种特点称之为源绑定。当数据向下发送到达栈中,从绑定表中查找并且使用该目标地址。这样,数据包 将被处理成为一个标准的单点传送数据包。如果在绑定表中找到多个设备,则向每个 设备都发送一个数据包的拷贝。上一个版本的ZigBee(ZigBee04),有一个选项可以讲绑定表保存在协调器 (Coordinator) 当中。发送设备将数据包发送给协调器,协调器查找它栈中的绑定 表,然后将数据发送给最终的目标设备。这个附加的特性叫做协调器绑定 (Coordinator Binding)o2.3.6广播传送当应用程序需要将数据包发送给网络的每一个设备时,使用这种模式。地址模式 设置为AddrBroadcast。目标地址可以设置为下面广播地址的一种:NWK_BROADCAST_SHORTADDR_DEVALL(0xFFFF)数据包将被传送到网络上的 所有设备,包括睡眠中的设备。对于睡眠中的设备,数据包将被保留在其父亲节点直 到查询到它,或者消息超时(NWK_INDIRECT_MSG_TIMEOUT 在 f8wConifg.cfg 中)。NWK_BROADCAST_SHORTADDR_DEVRXON(0xFFFD)数据包将被传送到网络上 的所有在空闲时打开接收的设备(RXONWHENIDLE),也就是说,除了睡眠中的所有 设备。NWK_BROADCAST_SHORTADDR_DEVZCZR(0xFFFC)数据包发送给所有的路由器,包括协调器。2.3.7组寻址当应用程序需要将数据包发送给网络上的一组设备时,使用该模式。地址模式 设置为 afAddrGroup 并且 addr.shortAddr 设置为组 ID。在使用这个功能呢之前,必须在网络中定义组。(参见Z-stack API文档中的 aps_AddGroup()函数)。注意组可以用来关联间接寻址。再绑定表中找到的目标地址可能是是单点传送或 者是一个组地址。另外,广播发送可以看做是一个组寻址的特例。下面的代码是一个设备怎样加入到一个ID为1的组当中:aps_Group_t group;group.ID = 0x0001;group.name0 = 0;aps_AddGroup( SAMPLEAPP_ENDPOINT, &group );2.3.8重要设备地址应用程序可能需要知道它的设备地址和父亲地址。使用下面的函数获取设备地址(在ZStack API中定义): NLME_GetShortAddr()返回本设备的16位网络地址 NLME_GetExtAddr()返回本设备的64位扩展地址使用下面的函数获取该设备的父设备的地址: NLME_GetCoordShortAddr()返回本设备的父设备的16位网络地址 NLME_GetCoordExtAddr()返回本设备的父设备的64位扩展地址2.4绑定绑定是一种两个(或者多个)应用设备之间信息流的控制机制。在ZigBee2006 发布版本中,它被称为资源绑定,所有的设备都必须执行绑定机制。绑定允许应用程序发送一个数据包而不需要知道目标地址。APS层从它的绑定表 中确定目标地址,然后将数据继续向目标应用或者目标组发送。注意:在ZigBee的1.0版本中,绑定表是保存在协调器(Coordinator当中)。 现在所有的绑定记录都保存在发送信息的设备当中。2.4.1建立绑定表有三种方法可以建立一个绑定表: Zigbee Device Object Bind Request个启动工具可以告诉设备创建一个绑定记录 Zigbee Device Object End Device Bind Request两个设备可以告诉协调器它们想要建立一个绑定表记录。协调器来协调并在两个设备中 创建绑定表记录。 Device Application个设备上的应用程序建立或者管理一个绑定表2.4.2 ZigBee Device Object Binding Request任何一个设备都可以发送一个ZDO信息给网络中的另一个设备,用来建立绑定 表。称之为援助绑定,它可以为一个发送设备创建一个绑定记录。2.4.3启动申请一个应用程序可以通过ZDP_BindReq()函数(在ZDProfile.h),并在绑定表 中包含两个请求(地址和终点)以与想要的群ID。第一个参数(目标dstAddr)是绑定 源的短地址即,16位网络地址2。确定你已经在ZDConfig.h允许了这个功能(ZDO_BIND_UNBIND_REQUEST)。你也 可以使用ZDP_UnbindReq()用同样的参数取消绑定记录。目标设备发回ZigBee Device Object Bind 或者 Unbind Response 信息,该信息是ZDO代码根据动 作的状态,通过调用ZDApp_BindRsq()或者ZDApp_UnbindRsq()函数来分析和通知ZDApp.c的。对于绑定响应,从协调器返回的状态将是ZDP_SUCCESS,ZDP_TABLE_FULL 或者 ZDP_NOT_SUPPORTED。对于解除绑定响应, 从协调器返回的状态将是ZDP_SUCCESS,ZDP_NO_ENTRY或者 ZDP_NOT_SUPPORTED。2.4.4 Zigbee设备对象终端绑定请求这个机制是在指定的时间周期(timeout period),通过按下选定设备上的按钮 或者类似的动作来绑定。协调器在指定的时间周期,搜集终端设备的绑定请求信息, 然后以配置ID(Profile ID)和群ID(Cluster ID)协议为基础,创建一个绑定表 记录作为结果。默认的设备绑定时间周期(APS_DEFAULT_MAXBINDING_TIME)是16 秒钟(在nwk_globals.h中定义)。但是将它添加到f8wConfig.cfg中,则可以 更改。你应该注意到,所有的例程都有处理关键事件的函数(例如:在TransmitApp.c 中的 TransmitApp_HandleKeys()函数)。 这个函数调用 ZDApp_SendEndDeviceBindReq()。这个函数搜集所有终端节点的请求信息,然 后调用ZDP_EndDeviceBindReq()函数将这些信息发送给协调器。协调器调用函数ZDP_IncomingData() ZDProfile.c中函数接收这些信息, 然后再调用 ZDApp_ProcessEndDeviceBindReq () ZDObject.c 中函数分析这 些信息,最后调用ZDApp_EndDeviceBindReqCBZDApp.c中函数,这个函数再 调用 ZDO_MatchEndDeviceBind() ZDObject.c 中函数来处理这个请求。当收到两个匹配的终端设备绑定请求,协调器在请求设备中启动创建源绑定记录 的进程。假设在ZDO终端设备中发现了匹配的请求,协调器将执行下面的步骤:发送一个解除绑定请求给第一个设备。这个终端设备锁定进程,这样解除绑 定被首先发送来去掉一个已经存在的绑定记录。等待ZDO解除绑定的响应,如果响应的状态是ZDP_NO_ENTRY,则发送一个ZDO绑定请求在源设备中创建一个绑定记录。如果状态是ZDP_SUCCESS,则继续前进到第一个设备的群ID。 等待ZDO绑定响应,如果收到了,则继续前进到第一个设备的下一个群id。 当地一个设备完成后,用同样的方法处理第二个设备。 当第二个设备也完成之后,发送ZDO终端设备绑定请求消息给两个设备。2.4.5设备应用层绑定管理另一种进入设备绑定记录的方式是应用自己管理绑定表。这就意味着应用程序需 要通过调用下面的绑定管理函数在本地进入并且删除绑定记录: bindAddEntry()在绑定表中增加一个记录 bindRemoveEntry() 从绑定表中删除一个记录 bindRomoveClusterIdFromList()从一个存在的绑定表记录中删除一个群ID bindAddClusterIdToList()向一个已经存在的绑定记录中增加一个群ID bindRemoveDev()删除所有地址引用的记录 bindRemoveSrcDev()删除所有源地址引用的记录 bindUpdateAddr()将记录更新为另一个地址 bindFindExisting()查找一个绑定表记录 bindIsClusterIdInList()在表记录中检查一个已经存在的群ID bindNumBoundTo() 拥有一样地址(源或者目的)的记录的个数 bindNumEntries()表中记录的个数 bindCapacity() 最多允许的记录个数 bindWriteNV()在 NV 中更新表2.4.6配置源绑定为了在你的设备中使能源绑定在f8wConfig.cfg文件中包含REFLECTOR编译 标志。同时在f8wConfig.cfg文件中查看配置项目NWK_MAX_BINDING_ENTRIES 和 MAX_BINDING_CLUSTER_IDS。NWK_MAX_BINDING_ENTRIES 是限制绑定表中 的记录的最大个数,MAX_BINDING_CLUSTER_IDS是每个绑定记录的群ID的最大 个数。绑定表在静态RAM中(未分配),因此绑定表中记录的个数,每条记录中群ID的 个数都实际影响着使用RAM的数量。每一条绑定记录是8字节多(MAX_BINDING_CLUSTER_IDS*2字节)。除了绑定表使用的静态RAM的数量,绑 定配置项目也影响地址管理器中的记录的个数。2.5路由2.5.1概述路由对与应用层来说是完全透明的。应用程序只需简单的向下发送去往任何设备 的数据到栈中,栈会负责寻找路径。这种方法,应用程序不知道操作是在一个多跳的 网络当中的。路由还能够自愈ZigBee网络,如果某个无线连接断开了,路由功能又能自动寻 找一条新的路径避开那个断开的网络连接。这就极大的提高了网络的可靠性,同时也 是ZigBee网络的一个关键特性眼2.5.2路由协议ZigBee执行基于用于AODV专用网络的路由协议。简化后用于传感器网络。ZigBee路由协议有助于网络环境有能力支持移动节点,连接失败和数据包丢失。当 路由器从他自身的应用程序或者别的设备那里收到一个单点发送的数据包,则网络层 根据一下程序将它继续传递下去。如果目标节点是它相邻路由器中的一个,则数据包 直接被传送给目标设备。否则,路由器将要检索它的路由表中与所要传送的数据包的 目标地址相符合的记录。如果存在与目标地址相符合的活动路由记录,则数据包将被 发送到存储在记录中的下一级地址中去。如果没有发现任何相关的路由记录,则路由 器发起路径寻找,数据包存储在缓冲区中知道路径寻找结束。ZigBee终端节点不执 行任何路由功能。终端节点要向任何一个设备传送数据包,它只需简单的将数据向上 发送给它的父亲设备,由它的父亲设备以它自己的名义执行路由。同样的,任何一个 设备要给终端节点发送数据,发起路由寻找,终端节的的父亲节点都已它的名义来回 应。注意ZigBee地址分配方案使得对于任何一个目标设备,根据它的地址都可以得 到一条路径。在Z-Stack中,如果万一正常的路径寻找过程不能启动的话(通常由 于缺少路由表空间),那么Z-Stack拥有自动回退机制。此外,在Z-Stack中,执 行的路由已经优化了路由表记录。通常,每一个目标设备都需要一条路由表记录。但 是,通过把一定父亲节点记录与其子所有子结点的记录合并,这样既可以优化路径也 可以不丧失任何功能。ZigBee路由器,包括协调器执行下面的路由函数:(i)路径 发现和选择;(ii)路径保持维护;(iii)路径期满4。2.5.3路径的发现和选择路径发现是网络设备凭借网络相互协作发现和建立路径的一个过程。路由发现可 以由任意一个路由设备发起,并且对于某个特定的目标设备一直执行。路径发现机制 寻找源地址和目标地址之间的所有路径,并且试图选择可能的最好的路径。路径选择 就是选择出可能的最小成本的路径。每一个结点通常持有跟它所有邻接点的“连接成 本(linkcosts)”。通常,连接成本的典型函数是接收到的信号的强度。沿着路径, 求出所有连接的连接成本总和,便可以得到整个路径的“路径成本”。路由算法试图 寻找到拥有最小路径成本的路径。路径通过一系列的请求和回复数据包被发现。源设 备通过向它的所有邻接节点广播一个路由请求数据包,来请求一个目标地址的路径。 当一个节点接收到RREQ数据包,它依次转发RREQ数据包。但是在转发之前,它要 加上最新的连接成本,然后更新RREQ数据包中的成本值。这样,沿着所有它通过的 连接,RREQ数据包携带着连接成本的总和。这个过程一直持续到RREQ数据包到达 目标设备。通过不同的路由器,许多RREQ副本都将到达目标设备。目标设备选择最 好的RREQ数据包,然后发回一个路径答复数据包(a Route Reply)RREP给源设 备。RREP数据包是一个单点发送数据包,它沿着中间节点的相反路径传送直到它到 达原来发送请求的节点为止。一旦一条路径被创建,数据包就可以发送了。当一个结 点与它的下一级相邻节点失去了连接(当它发送数据时,没有收到MAC ACK),该节 点向所有等待接收它的RREQ数据包的节点发送一个RERR数据包,将它的路径设为 无效。各个结点根据收到的数据包RREQ、RREP或者RERR来更新它的路由表。2.5.4路径保持维护网状网提供路径维护和网络自愈功能。中间节点沿着连接跟踪传送失败,如果一 个连接被认定是坏链,那么上游节点将针对所有使用这条连接的路径启动路径修复 节点发起重新发现直到下一次数据包到达该节点,标志路径修复完成。如果不能够启 动路径发现或者由于某种原因失败了,节点则向数据包的源节点发送一个路径错误包 (RERR),它将负责启动新路径的发现。这两种方法,路径都自动重建。2.5.5路径期满路由表为已经建立连接路径的节点维护路径记录。如果在一定的时间周期,没有 数据通过沿着这条路径发送,这条路径将被表示为期满。期满的路径一直保留到它所 占用的空间要被使用为止。这样,路径在绝对不使用之前不会被删除掉的。在配置文 件f8wConfig.cfg文件中配置自动路径期满时间。设置ROUTE_EXPIRY_TIME为 期满时间,单位为秒。如果设置为0,则表示关闭自动期满功能。2.5.6表存储路由功能需要路由器保持维护一些表格。2.5.7路由表每一个路由器包括协调器都包含一个路由表。设备在路由表中保存数据包参与路 由所需的信息。每一条路由表记录都包含有目的地址,下一级节点和连接状态。所有 的数据包都通过相邻的一级节点发送到目的地址。同样,为了回收路由表空间,可以 终止路由表中的那些已经无用的路径记录。路由表的容量表明一个设备路由表拥有一个自由路由表记录或者说它已经有一 个与目标地址相关的路由表记录。在文件“ f8wConfig.cfg ”文件中配置路由表的 大小。将MAX_RTG_ENTRIES设置为表的大小(不能小于4)。2.5.8路径发现表路由器设备致力于路径发现,保持维护路径发现表。这个表用来保存路径发现过 程中的临时信息。这些记录只在路径发现操作期间存在。一旦某个记录到期,则它可 以被另一个路径发现使用。这个值决定了在一个网络中,可以同时并发执行的路径发 现的最大个数。这个可以在f8wConfig.cfg文件中配置MAX_ RREQ_ENTRIES。2.5.9路径设置快速参考如表2-1。表2-1路由表设置参考设置路由表大小MAX_RTG_ENTRIES,这个值不能小于 4 (f8wConfig.cfg 文 件)设置路径期满时间ROUTE_EXPIRY_TIME,单位秒。设置为零则关闭路径期满(f8wConfig.cfg 文件)设置路径发现表大小MAX_RREQ_ENTRIES,网络中可以同时执行的路径发现操作 的个数2.6安全2.6.1概述AES/CCM安全算法是ZigBee联盟以外的研究人员发明的,并且广泛应用于其他 通讯协议之中。ZigBee提供如下的安全特性: 构造安全 (Infrastructure security) 网络访问控制(Network aCCess control)应用数据安全2.6.2配置为了拥有一个安全的网络,首先所有的设备镜像的创建,必须将预处理标志位 SECURE都置为1。在文件“f8wConfig.cfg”文件中可以找到。接下来,必须选择一个默认的密码。这个可以通过“ f8wConfig.cfg ”文件中 的DEFAULT_KEY来设置。理论上,这个值设置为一个随机的128位数据。这个默认的密码可以预先配置到网络上的每个设备或者只配置到协调器上,然后 分发给假如网络的所有设备。这个可以通过文件“nwk_globals.c”文件的 gPreConfigKeys选项来配置。如果这个值为真,那么默认的密码将被预先配置到 每一个网络设备上。如果这个值为假,那么默认的密码只需配置到协调器设备当中。 注意,在以后的场合,这个密码将被分发到每一个加入网络当中的设备。因此,加入 网络期间成为“瞬间的弱点”,竞争对手可以通过侦听获取密码,从而降低了网络的 安全性能。2.6.3网络访问控制在一个安全的网络中,当一个设备加入网络时会被告知一个信任中心(协调器)。 协调器拥有允许设备保留在网络或者拒绝网络访问这个设备的选择权。信任中心可以通过任何逻辑方法决定一个设备是否允许进入这个网络中。其中一 种就是信任中心只允许一个设备在很短的窗口时间加入网络。这个时可能的,举例说 明,如果一个信任中心设备有一个“ push ”按键。当按键按下,在这个很短的时间 窗口中,它允许任何设备加入网络。否则所有的加入请求都将被拒绝。以他们的IEEE 地址为基础,一个秒级的时间段将被配置在信任中心用来接收或者拒绝设备。这种类 型的策略可以通过修改ZDSeeMgr.c模块中的ZDSecMgrDeviceValidate()函数 来实现。2.6.4更新密码信任中心可以根据自己的判断更新通用网络密码。应用程序开发人员修改网络密 码更新策略。默认信任中心执行能够用来符合开发人员的指定策略。一个样例策略将 按照一定的间隔周期更新网络密码。另外一种将根据用户输入来更新网络密码。“ZDSecMgrUpdateNwkKey”允许信任中心向网络中的所有设备广播新的网络密 码,此时,新的网络密码将被作为替代密码保存在所有网络设备中。一旦信任中心调 用“ZDSecMgrSwitchNwkKey”,一个全网围的广播将触发所有的网络设备使用替 代密码。2.6.5快速参考如表2-2。表2-2网络安全快速参考使能安全SECURE = 1(f8wConfig.cfg)使能预配置网络密码gPreConfigKeys二TRUE(nwk_globals.c)设置预配置网络密码defautlKey=KEY(ZDSecMgr.c)使能/禁止信任中心的加入许可功 能调用函数ZDSecMgrPermitJoining()(ZDSecMgr.c)加入期间特定设备批准(Specificdevice validation during joining)ZDSecMgrDeviceValidate(ZDSecMgr.c)2.7本章小结本章节主要介绍了 TI公司的zigbee协议,重点讲述了 zigbee协议中设计的 一些关键术语,如设备类型,路由,寻址等,这些术语的详细解释对于开发者更深入 的了解zigbee协议标准有很大的意义。其实作为zigbee无线通信网络的开发者, 只需了解zigbee中一些关键的问题,就可以轻而易举的完成开发工作,而不需要太 多了解协议的具体实现细节。Zigbee协议总体而言并不复杂,只需开发者用心的专注于应用层与驱动测层 的开发,并且协议栈有很多现成的模板可以用。第三章zigbee开发平台3.1 zigbee软件开发平台IAR Embedded workbench 是一套开发工具,用于对汇编,c或c+编写的 而嵌入式应用程序进行编译和调试。IAR Embedded workbench是一套高度精密 且使用方便的嵌入式应用开发工具。该集成开发环境包含了 Iar的c/c+编译器。 通过其置的针对不同芯片的的代码优化器,Iar embeddedworkbench可以为arm 芯片生成高效和可靠的flash/prommable代码。图3.1就是Iar开发环境的打开界面。=1回I富File Edit View Pfoje nt Tools Window HelpR.eady图3.1 lar开发环境初始界面3.2 zigbee硬件开发平台3.2.1 CC2530芯片介绍CC2530 整合了 业界领先的 2.4GHZ IEEE802.15.4/ zigee RF 收发机CC2520以与工业标准的增强性8051 mcu的卓越性能,还包括了 8kB的sram,大 容量flash以与许多其他的强大特性。CC2530芯片上系统(soc)是高度
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸设计 > 毕设全套


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!