zigbee技术的概述与应用结课论文_第1页
zigbee技术的概述与应用结课论文_第2页
zigbee技术的概述与应用结课论文_第3页
zigbee技术的概述与应用结课论文_第4页
zigbee技术的概述与应用结课论文_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

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

文档简介

1、. 无线传感器网络结课论文课程名称: Zigbee技术的概述与应用专业:班级:*:*:指导教师:成绩:摘要: Zigbee是一种新兴的短距离,低速率无线网络技术。它是一种介于无线标记与蓝牙之间的技术提案,此前被称作HomeRF Lite或firefly无线技术,主要用于近距离无线连接。它有自己的无线标准,是通过数千个微小的传感器之间相互协调来实现通信的。这些传感器只需要很少的能量,以接力的方式通过无线电波将数从一传感器传到另一个传感器,所以通信效率非常高。Zigbee技术应用广泛,包括智能家居,建筑自动化,自动仪表读取,工业自动化,冷冻管理和货柜防护。这些应用让企业节省能源,带来经济和环保效益

2、;智能家居提升家居平安,舒适度和娱乐享受;监测如道路及桥梁等公用基建的损耗,防止设施损坏甚至人员伤亡。Zigbee协议栈由一组特定的效劳;一个数据实体提供数据传输效劳;一个管理实体提供全部其他效劳。每个效劳实体通过一个效劳接入点为上层提供效劳接口,并且每个SAP提供一系列的根本效劳指令完成相应的功能。关键字:短距离;智能家居;协议栈;1. zigbee的相关介绍1.1 zigbee无线网络的研究背景无线传感网络技术是典型的具有穿插学科性质的军民两用的高科技技术,可以广应用于军事,国家平安,交通管理,灾害预测,医疗卫生,制造业和城市信息化建立等领域。无线传感网络由许许多多功能一样或不同的的无线传

3、感节点组成,每一个传感节点又由数据采集模块传感器,A/D转换器,数据处理和控制模块微处理器,存储器,通信模块无线收发器和供电模块电池,DC/AC能量转换器等组成,近期微机电系统MEMS技术的开展为传感器的微型化提供可能,微处理技术的开展促进了传感器的智能化,通过MEMS技术和射频RF通信技术的融合促进了无线传感器及其网络的诞生。传统的传感器正逐步实现微型化,智能化,信息化,网络化,正经历着一个从传统传感器到智能传感器再到嵌入式web的涵不断丰富的开展过程。1.2 zigbee无线网络的研究现状无线传感器网络是新一代的传感网络,具有非常广泛的应用前景,其开展和应用。将会给人们的生活和生产的各个领

4、域带来深远的影响。各国都非常重视无线传感网络的开展,IEEE正在努力推进无线传感网络的应用和开展,波士顿大学还于最近创办了传感器网络协会,期望能促进传感器联网技术开发。美国技术评论杂志在论述未来新兴十大技术时,更是将无线传感器网络也参加其中。在中国未来20年技术遇见研究中总共157个技术课题,其中有7项是直接论述传感网络的。2006年初发布的国家长期科学与技术开展规划纲要为信息技术确定了三个前沿方向,其中两个与无线传感器网络的研究直接相关,即智能感知技术和自组织网络技术。可以预计。无线传感网络的广泛应用是一种趋势,它的出现将会给人类社会带来极大的变革。国际上比拟有代表性和影响力的无线传感器网络

5、使用和研发工程有遥控战场传感器系统,网络中心战及灵巧传感器网络,智能尘埃,行为习性监控工程和美国皇家网络等,尤其是最新试验成功的低本钱美军狼群地面无线传感器网络标识着电子战领域技术的最新突破。俄亥俄州正在开发沙地直线无线传感网络系统。这个系统能够散射电子绊网到任何地方,以侦测运动的高金属含量目标。民用方面,美国,日本等国家在对该技术不断研发的根底上在多领域也进展了应用。1.3 zigbee无线网络的研究前景微电子技术,计算机技术和无线通信技术的进步,推动了低功耗多功能传感器的快速开展,使其在微笑体积能够集成信息采集,数据处理,和无线通信等多种功能。无线传感器网络就是由部署在监测区域大量的廉价微

6、型传感器节点组成,通过无线通信等多种方式组成的一个多跳的自组织的网络系统,其目的是协作和感知,采集和处理网络覆盖区域中感知对象的信息,并发送给观察者。传感器,感知对象和观察者构成了传感网络的三个要素,。如果说Internet构成了逻辑上的信息世界,改变了人与人之间的沟通方式,则,无线传感网络就是将逻辑上的信息世界与客观上的物理世界融合在一起,改变人类与自然界的交互方式。人们可以通过传感器网络世界直接感知客观世界,从而极扩展现有网络的功能和人类认识世界的能力。未来移动通信网络除了以低本钱实现数据的传输外,还要求在无专用通信根底设施的场景下,网络具有适应性和生存能力,因此无线传感器网络和自组织网络

7、将因器灵活性而在未来移动通信网络中起重要作用。无线传感器网络是由分布在给定局部区域足够多的无线传感器节点构成的一种新型信息获取系统。并且具有一定的计算能力,。各节点之间通过专用的网络协议实现信息的交流,聚集和处理,从而实现给定局部区域目标的探测,识别,定位和跟踪,随着通信技术,嵌入式计算技术和传感器技术的飞速开展和日益成熟,具有感知能力,计算能力和通信能力的微型传感器开场在世界围出现,由这些微型传感器构成的传感器网络引起了人们的极大关注。2. zigbee的设备及开发平台介绍2.1 认识zigbee协议栈Zigbee协议栈由一组子层构成。每层为其上层提供一组特定的效劳:一个数据实体提供数据传输

8、效劳;一个管理实体提供全部其他效劳。每个效劳实体通过一个效劳接入点SAP为其上层提供效劳接口,并且每个SAP提供一系列电额根本效劳指令来完成相应的功能。Zigbee协议栈的体系构造包括zigbee应用层,层和IEEE802.15.4 PHY层。它虽然是基于标准的7层开放式系统互联OSI模型,但仅对那些涉及zigbee层予以定义。IEEE802.15.4 2003标准定义了最下面的两层:物理层PHY和戒指介入控制子层。Zigbee联盟提供了网络层和应用层APL框架的设计。其中应用层的框架包括了应用支持子层APS,zigbee设备对象ZDO和由制造商制定的应用对象。相对于常见的无线通信标准,zig

9、bee协议套件紧凑而简单,具体实现要求很低,zigbee协议套件的最低需求估计:硬件需要8为处理器,如80C51;软件需要32kb的rom,最小软件需要4kb的rom,如CC2530芯片是具有8051核的,存为32-128kb的zigbee无线单片机;网络主节点需要更多sdram,以容纳网络中所有节点的设备信息,数据包转发表,设备关联表,与平安有关的密钥存储等。 Zigbee联盟希望建立一种可连接每个电子设备的无线网。它预言zigbee将很快成为全球高端的无线技术,到2007年zigbee节点可到达30亿个。具有几十亿个节点的网络将很快耗尽已缺乏的IPV4的地址空间,因此IPV6与IEEE80

10、2.15.4 结合是传感器网络的开展趋势。IPV6采用128位地址长度,几乎可以不受限制地提供地址。使用IAR for c8051 7.5 在工程中翻开zigbee协议栈,可以看到如图2.1 的整个协议栈的框架。App :应用层目录,这是用户创立各种不同工程的区域,在这个目录中包含了应用层的容和这个工程的主要容,在协议栈中一般是以操作系统的任务实现的。HAL:硬件抽象层,包含有与硬件相关的配置和驱动及操作函数。MAC:MAC层目录,包含了mac层的参数配置文件及其mac的LIB 库的函数接口文件。MT:实现通过串口可控制各层,并与各层进展直接交付。NWK:网络层目录,包含网络层配置参数文件和网

11、络层库的函数接口文件及aps层库的函数接口。OSAL:协议栈的操作系统。PROFILE:AF层的目录,包含af层处理函数文件。Security:平安层目录,包含平安层处理函数,比方加密函数等。Tools:工程配置目录,包含空间划分,及z-stack相关配置及信息。Zdo:zdo目录。Zmac:mac目录,包括mac层参数配置及mac层lib库函数回调处理函数。Zmain:主函数目录,包含入口函数及硬件配置文件。Output:输出文件目录,这是IAR ew8051 IDE自动生成的。综上所示,真个协议栈中对于zigbee功能已经全部表达,在此根底上建立一个工程的方法主要是改动应用层。图2.1 z

12、igbee协议栈2.2 设备类型在ZigBee网络中存在三种逻辑设备类型:Coordinator(协调器),Router(路由器)和End-Device(终端设备)。ZigBee网络由一个Coordinator以及多个Router和多个End_Device组成。2.2.1 协调器协调器负责启动整个网络。它也是网络的第一个设备。协调器选择一个信道和一个网络ID(也称之为PAN ID,即Personal Area Network ID),随后启动整个网络。协调器也可以用来协助建立网络中平安层和应用层的绑定(bindings)。注意,协调器的角色主要涉及网络的启动和配置。一旦这些都完成后,协调器的工

13、作就像一个路由器(或者消失)。由于ZigBee网络本身的分布特性,因此接下来整个网络的操作就不在依赖协调器是否存在。2.2.2 路由器路由器的功能主要是:允许其他设备参加网络,多跳路由和协助它自己的由电池供电的儿子终端设备的通讯。通常,路由器希望是一直处于活动状态,因此它必须使用主电源供电。但是当使用树群这种网络模式时,允许路由间隔一定的周期操作一次,这样就可以使用电池给其供电。2.2.3 终端设备终端设备没有特定的维持网络构造的责任,它可以睡眠或者唤醒,因此可以可以是一个电池供电设备。通常,终端设备对存储空间(特别是RAM的需要)比拟小。2.3.1 地址类型ZigBee设备有两种类型的地址。

14、一种是64位IEEE地址,即MAC地址,另一种是16位网络地址。64位地址使全球唯一的地址,设备将在它的生命周期中一直拥有它。它通常由制造商或者被安装时设置。这些地址由IEEE来维护和分配。16为网络地址是当设备参加网络后分配的。它在网络中是唯一的,用来在网络中鉴别设备和发送数据。3. zigbee的应用介绍3.1 zigbee软件开发平台IAR Embedded workbench 是一套开发工具,用于对汇编,c或c+编写的而嵌入式应用程序进展编译和调试。IAR Embedded workbench 是一套高度精细且使用方便的嵌入式应用开发工具。该集成开发环境包含了Iar的c/c+编译器。通

15、过其置的针对不同芯片的的代码优化器,Iar embeddedworkbench可以为arm芯片生成高效和可靠的flash/prommable 代码。图3.1就是Iar开发环境的翻开界面。图3.1 Iar 开发环境初始界面3.2 zigbee硬件开发平台3.2.1 CC2530芯片介绍CC2530 整合了业界领先的收发机CC2520以及工业标准的增强性8051 mcu的卓越性能,还包括了8kB的sram,大容量flash以及许多其他的强大特性。CC2530芯片上系统soc是高度集成的解决方案,仅需要很少的外置元件,且所选用元件均为低本钱型,可支持快速,廉价的zigbee节点的构建。 CC2530

16、芯片系统保持了CC2520所包含的作射频性能,包括了超低功耗、高灵敏度,出众的抗噪声及抗干扰性能,所集成的mcu为强大的8位,单周期8051微控制器核心其典型性能可到达标准的8倍。另外,CC2530还包括了许多强大的外设资源,如dma、定时/计数器、看门狗定时器watchdog timer,aes-128协处理器,8-14位adc,usart,睡眠定时器,上电复位电路,掉电检测电路以及21个可编程I/O引脚2。CC2530芯片上系统功能模块构造如图3.2所示。CC2530芯片具有如下特性:高性能和低功耗的8051微控制器核集成符合标准的2.4GHZ的RF无线电收发机优良的无线接收灵敏度和强大的

17、抗干扰性在休眠模式时仅0.9UA的流耗,外部的中断或RTC能唤醒系统,在待机模式时少于0.6UA的流耗,外部中断能唤醒系统。硬件支持CSMA/CA功能较宽的电压围数字化RSSI/LQI支持和强大的DMA功能具有电池检测和温度感测功能集成了14位的模 /数转换的adc集成AES平安协处理器带有2个强大支持机组协议的USART,以及一个符合规的MAC 计时器,一个常规的16位计时器和2个8位计时器;强大和灵活的开发工具3.2.2 开发板原理Zigbee开发板有两块板组成,射频板和应用板,下面我们分别介绍:(1) 射频板原理射频板主要包含了CC2530芯片,射频天线,和与应用板的接口。原理图如图3.

18、3。(2) 用户板原理用户板包含了许多模块,有led显示,JTAG 调试,键盘电路等。led显示电路如图3.4,led显示电路包含了4个发光二极管。用于板级应用。图3.2 CC2530片上系统的功能模块图3.3 CC2530射频板局部原理图3.4 LED显示电路原理3.3 zigbee的实例应用传感器实验3.3.1 实验原理在工程序里simple collector或simple collector-pro做协调器或路由程序,选择simple sensor或simple sensor-pro做节点程序时,可以做无线传感器实验。首先把程序下载到模块里,然后把模块复位,复位后LED2不停闪烁。按下

19、液晶扩展板S5后,则模块的属性定义为路由器,然后模块重启同理完成终端节点,当模块参加网络成功后,按下S1,模块则允许其他模块绑定,此时需要等待一段时间,大约5秒后协调者LED上现实MATCH DESC REQ和RSP SENT。此后终端模块会自动绑定到协调器上,终端模块和协调模块绑定成功后,终端模块会定时向网络协调器发送自己的温度值和电池电压值。3.3.2 实验代码#include ZDef.h#include OSAL.h#include sapi.h#include hal_key.h#include hal_led.h#include DebugTrace.h#include Simpl

20、eApp.h* TYPEDEFS* GLOBAL VARIABLES/ Inputs and Outputs for Collector device#define NUM_OUT_CMD_COLLECTOR 0#define NUM_IN_CMD_COLLECTOR 1/ List of output and input mands for Collector deviceconst cId_t zb_InCmdListNUM_IN_CMD_COLLECTOR = SENSOR_REPORT_CMD_ID;/ Define SimpleDescriptor for Collector dev

21、iceconst SimpleDescriptionFormat_t zb_SimpleDesc = MY_ENDPOINT_ID, / Endpoint MY_PROFILE_ID, / Profile ID DEV_ID_COLLECTOR, / Device IDDEVICE_VERSION_COLLECTOR, / Device Version0, / Reserved NUM_IN_CMD_COLLECTOR, / Number of Input mands (cId_t *) zb_InCmdList, / Input mand List NUM_OUT_CMD_COLLECTOR

22、, / Number of Output mands (cId_t *) NULL / Output mand List;* fn zb_HandleKeys* brief Handles all key events for this device. * param shift - true if in shift/alt, * param keys - bit field for key events. Valid entries: * EVAL_SW4 * EVAL_SW3 * EVAL_SW2 * EVAL_SW1 * return nonevoid zb_HandleKeys( ui

23、nt8 shift, uint8 keys ) uint8 startOptions; uint8 logicalType; / Shift is used to make each button/switch dual purpose. if ( shift ) if ( keys & HAL_KEY_SW_1 ) if ( keys & HAL_KEY_SW_2 ) if ( keys & HAL_KEY_SW_3 ) if ( keys & HAL_KEY_SW_4 ) else if ( keys & HAL_KEY_SW_1 ) if ( myAppState = APP_INIT

24、) / In the init state, keys are used to indicate the logical mode. / Key 1 starts device as a coordinator zb_ReadConfiguration( ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType ); if ( logicalType != ZG_DEVICETYPE_ENDDEVICE ) /不是节点 logicalType = ZG_DEVICETYPE_COORDINATOR; zb_WriteConfiguration(ZCD_N

25、V_LOGICAL_TYPE, sizeof(uint8), &logicalType); / Do more configuration if necessary and then restart device with auto-start bit set / write endpoint to simple desc.dont pass it in start req.then reset zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions ); startOptions = ZCD_STAR

26、TOPT_AUTO_START; zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions ); zb_SystemReset(); else / Turn ON Allow Bind mode indefinitely zb_AllowBind( 0*FF ); HalLedSet( HAL_LED_1, HAL_LED_MODE_ON ); if ( keys & HAL_KEY_SW_2 ) if ( myAppState = APP_INIT ) / In the init state, key

27、s are used to indicate the logical mode. / Key 2 starts device as a router zb_ReadConfiguration( ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalType ); if ( logicalType != ZG_DEVICETYPE_ENDDEVICE ) logicalType = ZG_DEVICETYPE_ROUTER; zb_WriteConfiguration(ZCD_NV_LOGICAL_TYPE, sizeof(uint8), &logicalTyp

28、e); zb_ReadConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions ); startOptions = ZCD_STARTOPT_AUTO_START; zb_WriteConfiguration( ZCD_NV_STARTUP_OPTION, sizeof(uint8), &startOptions ); zb_SystemReset(); else / Turn OFF Allow Bind mode indefinitely zb_AllowBind( 0*00 ); HalLedSet( HAL_L

29、ED_1, HAL_LED_MODE_OFF ); if ( keys & HAL_KEY_SW_3 ) if ( keys & HAL_KEY_SW_4 ) * fn zb_SendDataConfirm * * brief The zb_SendDataConfirm callback function is called by the * ZigBee after a send data operation pletes * * param handle - The handle identifying the data transmission. * status - The stat

30、us of the operation. * return nonevoid zb_SendDataConfirm( uint8 handle, uint8 status )* fn zb_AllowBindConfirm* brief Indicates when another device attempted to bind to this device* param* return nonevoid zb_AllowBindConfirm( uint16 source )* fn zb_ReceiveDataIndication* brief The zb_ReceiveDataInd

31、ication callback function is called * asynchronously by the ZigBee stack to notify the application * when data is received from a peer device.* param source - The short address of the peer device that sent the data * mand - The mandId associated with the data * len - The number of bytes in the pData

32、 parameter * pData - The data sent by the peer device* return noneCONST uint8 strDevice = Device:0*;CONST uint8 strTemp = Temp: ;CONST uint8 strBattery = Battery: ;void zb_ReceiveDataIndication( uint16 source, uint16 mand, uint16 len, uint8 *pData ) uint8 buf32; uint8 *pBuf; uint8 tmpLen; uint8 sens

33、orReading; if (mand = SENSOR_REPORT_CMD_ID) / Received report from a sensor sensorReading = pData1; / If tool available, write to serial port tmpLen = (uint8)osal_strlen( (char*)strDevice ); pBuf = osal_memcpy( buf, strDevice, tmpLen ); _ltoa( source, pBuf, 16 ); pBuf += 4; *pBuf+ = ; if ( pData0 = BATT

温馨提示

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

评论

0/150

提交评论