搜档网
当前位置:搜档网 › 基于CC2530及ZigBee协议栈设计无线网络传感器节点_章伟聪

基于CC2530及ZigBee协议栈设计无线网络传感器节点_章伟聪

基于CC2530及ZigBee协议栈设计无线网络传感器节点①章伟聪,俞新武,李忠成

(浙江万里学院智能控制研究所,宁波 315101)

摘 要:针对智能家居、环境监测等的实际要求,设计了一种远距离通讯的无线传感器节点。该系统采用集射频与控制器于一体的第二代片上系统CC2530为核心模块,外接CC2591射频前端功放模块;软件上基于ZigBee2006协议栈,在ZStack通用模块基础上实现应用层各项功能。介绍了基于ZigBee协议构建无线数据采集网络,给出了传感器节点、协调器节点的硬件设计原理图及软件流程图。实验证明节点性能良好、通讯可靠,通讯距离较TI第一代产品有明显增大。

关键词:传感器节点;CC2530;ZigBee;CC2591;无线传感器网络

Wireless Network Sensor Node Design Based on CC2530 and ZigBee Protocol Stack

ZHANG Wei-Cong, YU Xin-Wu, LI Zhong-Cheng

(Intelligent Control Research Institute, Zhejiang Wanli University, Ningbo 315101, China)

Abstract: According to the actual needs of intelligent household, environmental monitoring etc, this paper designed a wireless sensor node of long-distance communication system. This system used the second SoC CC2530 set in RF and controller chips as the core module and externally connected with CC2591 RF front-end power amplifier module. Based on ZigBee2006 in software agreement stack, it realized each application layer function based on ZStack. It also introduced wireless data acquisition networks based on the ZigBee agreement construction, and has given the hardware design schematic diagram and the software flow chart of sensor node, synchronizer node. The experiment proved that the node is good in performance and the communication is reliable. The communication distance has increased obviously compared with the first generation TI product.

Key words: sensor node; CC2530; CC2591; wireless sensor networks

ZigBee[1]是一种新兴的短距离、低速率无线网络技术,是基于IEEE802.15.4无线标准研制开发的,关于组网、安全和应用软件的技术标准。其突出优点是应用简单,工作频段灵活,低功耗,低成本,高可靠性,具有自组网和自恢复能力等。

传感器网络节点是无线传感器网络的基本构成单位,主要负责对周围信息的采集和处理,并发送自己采集的数据给相邻节点或将相邻节点发过来的数据转发给协调节点或更靠近协调节点的节点。无线传感器网络的节点通常由传感器模块、处理器模块、无线通信模块和电源模块构成。但早些设计的传感器节点的处理器模块多数采用TI第一代产品如CC2430, CC2420,CC1110等,存在无线通讯距离短,通讯可靠性不能保证等缺点,一般传输距离都在100M内,有的不到50M[2]。本文采用TI公司最新的第二代片上系统CC2530,相比以前的产品,CC2530具有更卓越的RF性能,可编程的256KB闪存,更小的封装尺寸和IR产生电路,支持多种协议如ZigBee PRO、ZigBee RF4CE等;所设计的传感器节点在视野好的空旷室外传输距离可达400M以上[3]。

①基金项目:宁波市高校研发资助项目(2009B20081);浙江省教育厅项目(Y200804562);宁波市自然科学基金(2009A610173);宁波市创新创业基金

(2009B31010)

收稿时间:2010-10-19;收到修改稿时间:2010-11-24

184 经验交流 Experiences Exchange

1CC2530及ZigBee协议栈体系结构

CC2530[4]是德州仪器(TI)日前推出的完整的用于2.4GHzIEEE802.15.4/RF4CE/ZigBee的第二代片上系统解决方案。它结合了高性能的2.4GHzDSSS(直接序列扩频)射频收发器和一个高性能低功耗的8051微控制器,用于搭建功能健全价格低廉的网络节点。CC2530在单个芯片上集成了IEEE802.15.4标准2.4GHz频段的RF无线电收发机,具有优良的无线接收灵敏度和抗干扰性。四种工作模式;具有32KB/64KB/128KB/ 256KB的可编程FLASH和8KB的RAM;集成了8通道12位模数转换的ADC;128位AES加密解密安全协处理器;看门狗定时器、32kHz晶振的休眠模式定时器; 6mm×6mmQFN40引脚封装,及1个符合IEEE802.15.4规范的MAC计时器,1个常规的16位计时器和2个8位计时器,2个USART接口,21个可编程I/O引脚;硬件支持CSMA/CA功能;允许工作电压(2.0 V~3.6V),工作温度:-40℃~125℃;具有数字化RSSI/LQ支持和强大的DMA功能;具有电池监测和温度感测功能。前置频率范围:fc=2394MHz to 2507MHz,频率分辨率为1MHz,数据传输速率:250kbps,在TA=25℃ and VDD=3V,从休眠状态到激活只需要4?s,而激活状态下接受或发送数据只需要0.5ms,接收灵敏度-97dBm,RF 发送的输出功率为4.5dBm,CC2530的从休眠模式转换到主动模式的超短时间特性,能耗特小,特别适合那些要求电池寿命非常长野外使用。

ZigBee协议结构在采用OSI七层模型的基础上可根据应用的实际需要定义,其通讯基础是IEEE802.15.4标准,该标准定义了物理层(PHY)和媒体访问控制层(MAC)的标准;ZigBee联盟则定义了ZigBee协议的网络层(NWK)、应用层(APL)和安全服务规范[1,5,6]。其协议栈的体系结构如图1所示。

图1ZigBee协议栈的体系结构模型图

在ZigBee协议栈中,任何通信数据都是采用帧的格式来组织完成的,协议的每一层都有特定的帧结构。当应用程序需要发送数据时,将通过应用支持子层(APS)数据实体发送数据请求到APS,下面的每一层都会为数据附加相应的帧头,组成要发送的帧信息。

TI/Chipcon公司在IEEE802.15.4标准和ZigBee联盟所推出的ZigBee2006规范的基础上,发布了全功能的ZigBee 2006协议栈,并通过了ZigBee联盟的认证。该协议栈全部用C语言编写,免费提供给用户,同时向后兼容。该协议栈在结构上分为应用层、网络层、安全层、MAC层和物理层,每一层的函数都严格按照ZigBee协议栈IEEE802.15.4标准和ZigBee2006规范所规定的原语格式编写。同时,在协议栈内部还嵌入了一个操作系统,用于对任务进行统一的调度.对于用户而言,只需要了解应用层函数并进行恰当的调用,就可以构建功能完善、性能稳定的ZigBee无线网络[7]。

2系统方案设计

ZigBee无线网络支持星形、树状和网状拓扑结构,星形结构连接方式比较简单,只能组建包含较少节点的无线网络,各个传感器节点通过协调器实现网络连接。本设计采用星形结构,由一个协调器(整个网络的传输与控制中心)节点,路由器和若干传感器节点组成,整个无线传感器网络系统结构如图2所示。

图2无线传感器网络体系结构

系统采用RS232连接协调器与PC机,同时使传感器节点或路由器连接温度、湿度和光敏电阻等传感器来监测房间、大棚、实验室或温室环境。

系统的整体工作过程如下:首先由协调器节点成功创建ZigBee网络,然后等待传感器节点加入。当传感器节点及传感器上电后,会自动查找空间中存在的ZigBee网络,找到后即加入网络,并把该节点的物理地址发送给协调器。协调器把传感器节点的地址信息等通过串口RS232发送给PC机进行保存。当PC机想要获取某一节点处的传感器节点值时,

只需要向串口发

Experiences Exchange 经验交流185

送相应传感器节点的物理地址及测量指令,协调器通过串口从PC机收到物理地址后,会向与其相对应的传感器节点发送数据,传达测量指令。传感器节点收到数据后,通过传感器测量数据,然后将测量结果发送给协调器,并在PC机端进行显示。

3系统硬件设计

本设计传感器模块采用数字式传感器SHT11来采集温度、湿度数据,该传感器具有相对湿度和温度一体测量、超快的响应时间等优良特性。对台灯和窗帘的控制是通过继电器TQ2-3V来实现的;处理器模块和无线通信模块采用CC2530芯片外加低功耗射频前端CC2591,用来放大输出功率,大大简化了射频电路的设计;能量供应模块采用2节可充电干电池,负责为系统提供能量。

CC2591是TI公司推出的一款高性能、低成本的RF前端,集成了开关,电感器,平衡/不平衡网络,交换机,匹配网络,PA功率放大器等功能。可将输出功率提高+22dBm,接收灵敏度提高+6dB。CC2591可与TI公司的所有2.4GHzRF收发器、发送器和SoC连接,大大改善了RF性能,实现用极少的外围电路实现高输出功率。

3.1 协调器节点设计

图3协调器节点硬件框架图

协调器节点负责调度各传感器节点工作,其运行直接影响系统的稳定性。协调器节点采用CC2530F256芯片,该芯片具有256KB可编程闪存,设有串口模块、OLED显示模块、LED指示灯、晶振模块,电源模块、CC2591模块。OLED模块是用户和传感器网络的交互界面,用来显示节点加入和退出网络的信息,监测区域的数据。LED模块用来显示网络连接的状态,CC2591用来增大输出功率。通讯接口采用标准的RS232,将收集的数据通过串口上传到计算机,采用MAX3232对RS232电平和TTL电平进行转换。当数据从节点上传到计算机时,MAX3232将TTL电平转换为RS232电平供计算机读取;当计算机给节点发送数据时,MAX3232则将RS232电平转化为TTL电平,协调器硬件框架如图3所示。

3.2 传感器节点设计

传感器节点相对协调器节点来说功能比较简单,不需要进行复杂的数据处理,接口外设也比较小,因此采用CC2530F64芯片外接CC2591功放模块,电源模块,时钟模块,LED模块组成。CC2530处理器先把采集的数据信号进行模数转换,然后进行处理,通过CC2591功放芯片发给协调器节点。由于CC2591内部集成了RF匹配网络,所以在RF输入/输出部分不需要增加额外的匹配网络,其CC2530与CC2591硬件设计主要部分连接原理如图4所示。

图4CC2530与CC2591硬件主要部分连接原理图

CC2591的HGM、EN、PA_EN引脚都连接到CC2530的I/O端口P1_1,P1_4,P0_7,由单片机来控制。当HGM为高电平,表示CC2591接收数据时,LNA是高增益模式;当HGM为低电平,表示CC2591接收数据时,LNA是低增益模式。而EN引脚和PA_EN引脚在CC2591正常工作时候置为高电平,当其进入低功耗模式时候,将其置为低电平,这样可以降低功耗。经试验采用CC2530+CC2591以后,ZigBee网络的通信距离在视野好的开阔环境可达500m以上。

186 经验交流 Experiences Exchange

Experiences Exchange 经验交流 187

4 软件设计

4.1 协调器节点软件设计

协调器节点的软件设计主要指节点底层部分的编程,本文采用TI 公司CC2530提供支持的免费ZigBee2006协议栈软件,以ZStack(v2.20)版本中Gen ericApp 例程为基础,以C 语言为编程语言,在ZStack 通用模板的基础上,通过改动APP 程序来建立所需要的项目,程序中嵌入了实时操作系统,用于对网络组建、节点加入、数据收发等功能运行统一调度,其具体的软件流程如图5所示,并根据系统要求实现网络协议的成本优化选择。协调器节点建立网络(函数为NLME_ Network_Formation.Request())成功后,会在LED 上显示该节点为协调器,显示网络ID 号,并自动进入允许绑定模式(函数为zb_AllowBind(OXff)),对传感器发送的绑定请求作出响应。如果绑定成功,收集传感器节点发送的数据,通过zb_SendDataConfirm()指示应答。

图5 协调器节点软件流程图

由于本文采用CC2591来增大功率,需外接退耦电容以保证良好的接地性能,在ZStack 软件里对hal_mac_cfg.h 库中RSSI 进行补偿,具体定义如下:

/* CC2591 RSSI offset */

#defineHAL_MAC_RSSI_LNA_HGM_OFFSET -9 #defineHAL_MAC_RSSI_LNA_LGM_OFFSET 4 4.2 传感器节点软件设计

传感器节点能自动加入网络,发出绑定请求(函数为zb_BindDevice()),等待协调器节点绑定响应为成功,完成绑定操作。如果没有发现协调器节点,将周期性地继续搜索。

绑定成功后周期性发送温度,电压,RSSI 值给协调器,如果没有收到协调器的应答,传感器移除本次绑定,重复发现和绑定过程,其软件流程如图6所示。

图6 传感器节点软件流程图

4.3 PC 管理机软件设计

在PC 机中上位机管理软件采用面向对象的VB6.0开发,用户通过管理软件可直观看到整个网络的拓扑结构,可查询某传感器节点的地址、温度值、湿度值、电压值、及所监测点的实时温度曲线等,用户想查看某节点信息只需点击PC 机上相应节点即可。串口通信在无线传感器网络中是十分重要的,因为所有传感器节点采集到数据都是通过串口发送给上位机的,他是连接无线传感器网络与PC 机的通道。而协调器节点的计算及存储能力较弱,收到的数据包需通过串口立刻发送到PC 机,PC 机为避免串口数据被下一次发送所覆盖,需要对串口缓冲区进行管理,为此程序编写了CnComm 类实现相应功能。

5 实验及结果分析

为了测试所设计的传感器节点的覆盖范围及稳定性,将温度、湿度传感器,光敏电阻传感器分别连接至传感器节点的相应端口,先通过串口调试助手测试数据接受和发送情况,在数据发送接受正常的情况下,设置无障碍实验环境,测得点对点的通讯距离可达400m 以上。同时构建最简单的星型网络,传感器节点与协调器节点相距300m,每发送完1次数据后,便进入休眠状态,5min 后恢复,再次发送数据,连续监测2h,协调器显示接收到的数据信息并将接收到的数据通过串口上传到PC 机中。实验表明整个传输过程没有出现丢包现象,而且采集到的数据值准确,表明系统具有较好的可靠性和稳定性。

(下转第120页

)

则主要是根据每个用户的工作性质,分别赋予不同的用户等级(A级最大,可下载数据种类最多,D级最小,也是用户注册时查询下载系统自动赋予的最初权限等级);

3结论

“气象数据存贮管理系统”为我局业务和科研人员在数据获取上提供一个便捷通道,大大减轻了数据管理人员在这方面的重复手工操作,提高了工作效率。同时,又将数据统一、有序管理起来,实现了气象数据的存储、管理、以及服务的整合和一体化。

需要指出的是,存储数据的服务器、“气象数据存贮管理系统”、SQL Server 2005以及Serv-U均部署于同一服务器,可实现最快的数据查询下载服务,同时也方便管理。该系统目前处于初步运转阶段,随着数

(上接第187页)

6结语

本文在介绍无线传感器网络相关知识的基础上,以CC2530模块为硬件基础,外加CC2591功放模块,基于ZigBee2006通讯协议进行组网。文中阐述了组成无线传感器网络所需的传感器节点,协调器节点,PC管理机等的软硬件设计方法及流程图等。经测试采用TI公司第二代片上系统CC2530设计的节点间的通讯距离远大于第一代产品,通讯更可靠。

参考文献

1 ZigBee Alliance. ZigBee Specification 2006. [2010-08]. https://www.sodocs.net/doc/228412650.html,

2 李文仲,段朝玉.ZigBee2006无线网络与无线定位实战.北

京:北京航空航天大学出版社,2008.23?30.据量与种类的与日增加,服务器性能的承载能力如何,还需要进一步的测试并以此调整系统。

参考文献

1 Nielsen P.赵子鹏,袁国忠,乔健译.SQL Server 2005宝典.北

京:人民邮电出版社,2008.

2 Sack J.朱晔,金迎春译.SQL Server 2005范例代码查询辞典.

北京:人民邮电出版社,2008.

3 张淑萍.地级市气象数据库的设计与实现.农业网络信

息,2009,8:73?75.

4 王海龙,杨忠霞,陈朝辉,吕东柏,尹英汉.地级市气象信息网

络数据库系统建设及应用.气象环境科学,2009,32(增刊): 311?314.

5 王婉,姚博,周鸣.FTP服务器的建立及客户端的使用.河南

气象,2006,1:75?76.

3 CC25912.4GHz RF Front End (Rev.A) [2010-08]. https://www.sodocs.net/doc/228412650.html,/docs/prod/folders/print/cc2591.html

4 CC253X User’s Guide [Rev.A].[2010-06-25].http://focus.ti. com/docs/prod/folders/print/cc2530.html

5 IEEE 802.15.4-2003Std: Wireless Medium Access Control (MAC) and physical Layer (PHY) Specifications for Low-Rate Wireless Personal Area Network (LR-WPANs). [2010-08]. https://www.sodocs.net/doc/228412650.html,/

6 Suggestions for the improvement of the IEEE802.15.4 standard. [20010-08]. https://www.sodocs.net/doc/228412650.html,.

7 台宏达,田国会,宋保业,等.ZigBee2006协议栈的无线传感

执行网络构建.单片机与嵌入式系统,2009,7:35?38.

120 实用案例Application Cas e

Zigbee协议栈系统事件

系统常用事件处理函数: -按键事件 -接收消息事件 -网络状态改变事件 -绑定确认事件 -匹配响应事件 1、按键事件 Case KEY_CHANGE: 当有按键事件发生的时,调用按键事件处理函数Sample_HandleKeys()来处理按键事件。 在SampleApp例程中按键处理函数处理了以下2件事情 -如果按键1按下,将向网络中的其他设备发送LED闪烁命令 -如果按键2按下,检测组ID号为SAMPLEAPP_FLASH_GROUP的组是否已经注册。如果已经注册,调用aps_RemoveGroup()将其删除;如果没注册就在APS层注册

2、接收消息事件 Case:AF_INCOMING_MSG_CMD: 如果有接收消息事件发生,则调用函数SampleApp_MessageMSGCB(MSG)对接收的消息进行处理。一般的接收消息事件是通过用户自定义的端点输入簇和输出簇来处理的。 在LED闪烁命令的发送函数中的输出簇为SAMPLEAPP_FLASH_CLUSTERID,所以在接收消息事件的输入簇中为SAMPLEAPP_FLASH_CLUSTERID即收到LED闪烁命令

3、网络状态改变事件 Case:ZDO_STATE_CHANGE 当有网络状态改变事件发生后,会调用函数SampleApp_NwkState()来处理网络状态改变事件。在SampleApp例程中,网络状态改变事件主要处理了以下事件: -判断设备类型(区分协调器、路由节点、终端节点) -当协调器网络建立成功后或其他类型节点加入网络后点亮led1 -通过调用osal_start_timerEx()设置一个定时事件,当时间到达后启用用户自定义事件SampleApp_Send_PERIODIC_MSG_EVT 备注:在使用过程中这里的3种设备类型不是全选,写一个就可以了,其他的删除

ZigBee 协议架构

根据应用和市场需要定义了ZigBee 协议的分层架构,其协议的体系结构如图1 所示,其中物理层(physical layer,PHY)和媒介访问控制层(medium access control sub-layer,MAC)是由IEEE802.15.4-2003 标准定义的,在这个底层协议的基础上ZigBee 联盟定义了网络层(network layer,PHY)和应用层(application layer,APL)架构. 图1 zigbee协议栈体系结构 物理层规范 物理层定义了它与MAC 层之间的两个接口:数据服务接口PD-SAP 和管理服务接口PLME-SAP,其中PD-SAP 接口还为物理层提供了相应的数据服务,负责从无线物理信道上收发数据,而PLME-SAP 接口同时为物理层提供相应的管理服务,用于维护一个由物理层相关数据组成的数据库。物理层负责数据的调制、发送和接收、空闲信道评估(clear channel assessment,CCA)信道能量的监测(energy detect,ED)和链接质量指示(link quality indication,LQI)等。物理层帧结构由同步头、物理层帧头和物理层有效载荷三部分组成,如表1 所示。

同步头又包括32bit 的前同步码和8bit 的帧定界符,前同步码用来为数据收发提供码元或数据符号的同步;帧界定符用来标识同步域的结束及数据的开始。物理层帧头包括7bit 的帧长度和1bit 的预留位,帧长度定义了物理层净荷的字节数。物理层有效载荷就是MAC层的帧内容。 表一物理层帧格式 媒体接入控制层规范 MAC 层定义了它与网络层之间的接口,包括提供给网络层的数据服务接口MLDE-SAP 和管理服务接口MLME-SAP,同时提供了MAC 层数据服务和MAC 层管理服务。MAC层数据服务主要实现数据帧的传输;MAC 层管理服务主要负责媒介访问控制、差错控制等。 MAC 层主要功能包括以下几个方面: (1)ZigBee 协调器产生网络信标 (2)设备与信标同步 (3)支持节点加入或着退出操作 (4)信道接入方式采用免冲突载波检测多路访问(CSMA-CA)机制 (5)建立并维护保护时隙机制 (6)为设备提供安全支持 MAC 帧格式由三个基本部分组成:MAC 帧头、MAC 帧载荷和MAC 帧尾。不同类型的MAC 帧,其帧头和帧尾都是一样的,只是MAC 帧载荷有差别,通用MAC 帧格式如表2所示。 表二通用MAC帧格式 网络层规范 网络层定义了它与应用层之间的接口,包括提供给应用层的数据服务接口NLDE-SAP和管理服务接口NLME-SAP , 同时提供了网络层数据服务和网络层管理服务。网络层主要负责拓扑结构的建立和网络的维护,具体的功能如下:(1)初始化网络,即建立一个新的包含协调器、路由器和终端设备的网络(2)设备连接和断开时所采用的机制 (3)对一跳邻居节点的发现和相关节点信息的存储 (4)ZigBee 协调器和路由器为新加入节点分配短地址

Zigbee协议栈原理基础

1Zigbee协议栈相关概念 1.1近距离通信技术比较: 近距离无线通信技术有wifi、蓝牙、红外、zigbee,在无线传感网络中需求的网络通信恰是近距离需求的,故,四者均可用做无线传感网络的通信技术。而,其中(1)红外(infrared):能够包含的信息过少;频率低波衍射性不好只能视距通信;要求位置固定;点对点传输无法组网。(2)蓝牙(bluetooth):可移动,手机支持;通信距离10m;芯片价格贵;高功耗(3)wifi:高带宽;覆盖半径100m;高功耗;不能自组网;(4)zigbee:价格便宜;低功耗;自组网规模大。?????WSN中zigbee通信技术是最佳方案,但它连接公网需要有专门的网关转换→进一步学习stm32。 1.2协议栈 协议栈是网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。 1.2.1Zigbee协议规范与zigbee协议栈 Zigbee各层协议中物理层(phy)、介质控制层(mac)规范由IEEE802.15.4规定,网络层(NWK)、应用层(apl)规范由zigbee联盟推出。Zigbee联盟推出的整套zigbee规范:2005年第一版ZigBeeSpecificationV1.0,zigbee2006,zigbee2007、zigbeepro zigbee协议栈:很多公司都有自主研发的协议栈,如TI公司的:RemoTI,Z-Stack,SimpliciTI、freakz、msstatePAN 等。 1.2.2z-stack协议栈与zigbee协议栈 z-stack协议栈与zigbee协议栈的关系:z-stack是zigbee协议栈的一种具体实现,或者说是TI公司读懂了zigbee 协议栈,自己用C语言编写了一个软件—---z-stack,是由全球几千名工程师共同开发的。ZStack-CC2530-2.3.1-1.4.0软件可与TI的SmartRF05平台协同工作,该平台包括MSP430超低功耗微控制器(MCU)、CC2520RF收发器以及CC2591距离扩展器,通信连接距离可达数公里。 Z-Stack中的很多关键的代码是以库文件的形式给出来,也就是我们只能用它们,而看不到它们的具体的实现。其中核心部分的代码都是编译好的,以库文件的形式给出的,比如安全模块,路由模块,和Mesh自组网模块。与z-stack 相比msstatePAN、freakz协议栈都是全部真正的开源的,它们的所有源代码我们都可以看到。但是由于它们没有大的商业公司的支持,开发升级方面,性能方面和z-stack相比差距很大,并没有实现商业应用,只是作为学术研究而已。 还可以配备TI的一个标准兼容或专有的网络协议栈(RemoTI,Z-Stack,或SimpliciTI)来简化开发,当网络节点要求不多在30个以内,通信距离500m-1000m时用simpliciti。 1.2.3IEEE802.15.4标准概述 IEEE802.15.4是一个低速率无线个人局域网(LowRateWirelessPersonalAreaNetworks,LR-WPAN)标准。定义了物理层(PHY)和介质访问控制层(MAC)。 LR-WPAN网络具有如下特点: ◆实现250kb/s,40kb/s,20kb/s三种传输速率。 ◆支持星型或者点对点两种网络拓扑结构。 ◆具有16位短地址或者64位扩展地址。 ◆支持冲突避免载波多路侦听技术(carriersensemultipleaccesswithcollisionavoidance,CSMA/CA)。(mac层) ◆用于可靠传输的全应答协议。(RTS-CTS) ◆低功耗。 ◆能量检测(EnergyDetection,ED)。 ◆链路质量指示(LinkQualityIndication,LQI)。 ◆在2.45GHz频带内定义了16个通道;在915MHz频带内定义了10个通道;在868MHz频带内定义了1个通道。 为了使供应商能够提供最低可能功耗的设备,IEEE(InstituteofElectricalandElectronicsEngineers,电气及电子工程师学会)定义了两种不同类型的设备:一种是完整功能设备(full.functionaldevice,FFD),另一种是简化功能设备

ZigBee协议栈OSAL介绍

讨论ZigBee协议栈的构成以及内部OSAL的工作机理。 ZigBee协议栈OSAL介绍 操作系统抽象层 OSAL常用术语: 1.资源(Resource):任何任务所占用的实体都叫资源,如变量、数组、结构体 2.共享资源(Shared Resource):两个或两个以上任务使用的资源,为防止破坏资源,任务在操作共享资源时是独占状态。 3.任务(Task):即线程,简单的程序的执行过程。任务设计时将问题尽可能分成多个任务,每个任务独立完成某项功能,同时赋予优先级、CPU寄存器和堆栈空间。一般一个任务设计为一个无限循环。 4.多任务运行(Muti-task Running):其实同一时刻只有一个任务运行。 5.内核(Kernel):内核负责管理各个任务。包括:分配CPU时间;任务调度;任务间的通信。 6.互斥(Mutual Exclusion):多任务通信最常用方法是共享数据结构。 保护共享资源常用的方法: 关中断; 使用测试并置位指令(T&S指令); 禁止任务切换; 使用信号量; 7.消息队列(Message Queue):用于任务间传递消息。 OSAL提供如下功能: 任务注册、初始化和启动; 任务间的同步、互斥; 中断处理; 储存器分配和管理; OSAL运行机理: OSAL就是一种支持多任务运行的系统资源分配机制。 OSAL是一种基于事件驱动的轮询式操作系统。、 void osal_start_system(void)是ZigBee协议栈的灵魂,不断的查看事件列表,如果有事件发生就调用相应的事件处理函数。 SYS_EVENT_MSG是一个事件集合,是由协议栈定义的事件,即系统强制事件(Mandatory Events),它的定义为: #define SYS_EVENT_MSG 0x8000; 它包含如下事件: AF_INCOMING_MSG_CMD 收到一个新的无线数据

2020年Zigbee协议栈中文说明免费

1.概述 1.1解析ZigBee堆栈架构 ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。图1-1给出了这些组件的概况。 1.1.1ZigBee堆栈层 每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。 设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。每个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件。 图1-1 zigbe堆栈框架 从应用角度看,通信的本质就是端点到端点的连接(例如,一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信,目的是将这些灯点亮)。 端点之间的通信是通过称之为簇的数据结构实现的。这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义。图1-1-2就是设备及其接口的一个例子:

图1-1-2 每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。一共有二个特殊的端点,即端点0和端点255。端点0用于整个ZigBee设备的配置和管理。应用程序可以通过端点0与ZigBee 堆栈的其它层通信,从而实现对这些层的初始化和配置。附属在端点0的对象被称为ZigBee设备对象 (ZD0)。端点255用于向所有端点的广播。端点241到254是保留端点。 所有端点都使用应用支持子层(APS)提供的服务。APS通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯的开关。APS使用网络层(NWK)提供的服务。NWK负责设备到设备的通信,并负责网络中设备初始化所包含的活动、消息路由和网络发现。应用层可以通过ZigBee设备对象(ZD0)对网络层参数进行配置和访问。 1.1.2 80 2.15.4 MAC层 IEEE 802.15.4标准为低速率无线个人域网(LR-WPAN)定义了OSI模型开始的两层。PHY层定义了无线射频应该具备的特征,它支持二种不同的射频信号,分别位于2450MHz波段和868/915MHz 波段。2450MHz波段射频可以提供250kbps的数据速率和16个不同的信道。868 /915MHz波段中,868MHz支持1个数据速率为20kbps的信道,915MHz支持10个数据速率为40kbps的信道。MAC层负责相邻设备间的单跳数据通信。它负责建立与网络的同步,支持关联和去关联以及MAC 层安全:它能提供二个设备之间的可靠链接。 1.1.3 关于服务接入点 ZigBee堆栈的不同层与802.15.4 MAC通过服务接入点(SAP)进行通信。SAP是某一特定层提供的服务与上层之间的接口。 ZigBee堆栈的大多数层有两个接口:数据实体接口和管理实体接口。数据实体接口的目标是向上层提供所需的常规数据服务。管理实体接口的目标是向上层提供访问内部层参数、配置和管理数据的机制。 1.1.4 ZigBee的安全性 安全机制由安全服务提供层提供。然而值得注意的是,系统的整体安全性是在模板级定义的,这意味着模板应该定义某一特定网络中应该实现何种类型的安全。 每一层(MAC、网络或应用层)都能被保护,为了降低存储要求,它们可以分享安全钥匙。SSP是通过ZD0进行初始化和配置的,要求实现高级加密标准(AES)。ZigBee规范定义了信任中心的用

从Zigbee协议栈底层添加自己的按键配置

本实验是基于ZStack-CC2530-2.5.1a版本的协议栈来进行实验的,整个实验需要改动 hal_board_cfg.h、hal_board_cfg.h、hal_key.c、hal_key.h和自己定义的Coordinator.c这5个文件。 注意:添加自己的按键时尽量不要修改协议栈里面的按键程序,自己另行添加即可。 1、hal_key.h 在/* Switches (keys) */下面添加自己的按键定义 #define HAL_KEY_SW_8 0x80 图1: ---------------------------------------------------------------------------------------- 2、hal_board_cfg.h 在/* S6 */ #define PUSH1_BV BV(1) #define PUSH1_SBIT P0_1 #if defined (HAL_BOARD_CC2530EB_REV17) #define PUSH1_POLARITY ACTIVE_LOW #elif defined (HAL_BOARD_CC2530EB_REV13) #define PUSH1_POLARITY ACTIVE_LOW #else #error Unknown Board Indentifier #endif 下面模仿/* S6 */下的程序定义自己的按键值: /* S8 */ #define PUSH8_BV BV(4)//修改 #define PUSH8_SBIT P0_4//修改 #if defined (HAL_BOARD_CC2530EB_REV17)

ZigBee测试与协议分析

ZigBee测试与协议分析 1 前言 ZigBee协议栈包括物理层协议(IEEE802.15.4)和上层软件协议(ZigBee 2007以及其他的ZigBee网络协议)。本文将从这两方面来了解这些协议,通过介绍如何捕获及如何理解关键参数,深层次剖析ZigBee技术。有了这些本质性的认识,对于分析解决无线产品应用问题,会有很大的帮助。 2 物理层分析 ZigBee的物理层为IEEE802.15.4标准所规定,定义了ZigBee底层的调制编码方式。这些规约大多是芯片设计者需要关心的,对于应用开发来说,更关心的是衡量一个芯片、一个射频系统性能的参数。在过去的文章中,已介绍了输出功率、接收灵敏度和链路预算等参数,这一讲将更深入地介绍一个调制质量的参数:EVM。EVM指的是误差向量(包括幅度和相位的矢量),表征在一个给定时刻理想无误差基准信号与实际发射信号的向量差,。从EVM参数中,可以了解到一个输出信号的幅度误差及相位误差。 EVM是衡量一个RF系统总体调制质量的指标,定义为信号星座图上测量信号与理想信号之间的误差,它用来表示发射器的调制精度,调制解调器、PA、混频器、收发器等对它都会有影响。EVM数据和眼图。 了解完这个参数之后,再看看实际测试中是如何获取EVM参数的。 ZigBee物理层的测试,在产品研发、生产和维护阶段,可以分别采用不同的仪器。 (1)产品研发阶段要测量EVM参数,需要使用带协议解析的频谱仪,最好是自带相应协议插件的仪器,可以使用安捷伦PXA N9030A频谱分析仪+8960B插件(选配了ZigBee分析插件)。这些仪器可以测试出ZigBee调制信号的星座图、实时数据和眼图等信息,在芯片级开发过程中,需要考量高频电容电感以及滤波器等的单个及组合性能,特别需要注意的是ZigBee信号的临道抑制参数,利用PXA N9030A的高分辨率,可以查看点频的带外信号,这些细节在更换射频器件供应商时,需要仔细测量,一般数字电路抄板比较容易,因为器件性能的影响不是很大,只要值和封装对了就可以,但是射频前端的设计上,即使原样的封装、容值和感值,供应商不一样,射频参数也是不一样的,板材的选用也极大地影响着阻抗匹配,因此复制和再开发都有较大难度。合格的测试工具,加上有质量保证的射频器件供应商资源,方能真正具备RF设计能力。安捷伦PXA N9030A频谱分析仪。 (2)批量生产阶段在批量生产中,不可能将实验室的研发测试仪器搬到工厂,因此,需要便携小巧的测试设备,这时可用罗德与斯瓦茨公司的热功率探头,如NRP-Z22,做一个2.4 GHz的输出功率测试,保证能够输出公差允许的功率信号即可,因为在生产中,射频器件的焊接不良、馈线连接头的接触不良,都会造成输出功率的下降甚至消失。需要注意的是,探头非常容易被静电损坏,必须要带上防静电手套进行操作,返修过程如需要经过德国,则时间长,经费也不便宜,不是很严重的损坏倒是可以在深圳维修中心处理。NRP-Z22。 (3)应用阶段在现场出现问题时,ZigBee节点已经安装到现场,不能逐一拆下来测试,并且周围的电磁环境也是没办法在单个节点上检测到,这时就需要手持式的频谱仪进行现场勘查了,例如安捷伦公司的N9912A手持式频谱仪。使用该频谱仪,可以完成无线系统设计初期的现场勘查工作,检测现场各个地点是否有异常电磁干扰,对于ZigBee来说,当然是检测是否有持续的WIFI信号干扰了。同时,更为详细的现场勘查,还包括在定点进行数据发送,预期覆盖点进行信号强度分析,以实地评估墙体等障碍物的信号衰减,在已经架设好的ZigBee网络中,也可以检测信号覆盖,数据通信是否正常等。N9912A。

zigbee协议栈代码主要名词解释

zigbee协议重要名词解释及英文缩写(转载)网络层功能: 1. 加入和退出网络 2. 申请安全结构 3. 路由管理 4. 在设备之间发现和维护路由 5. 发现邻设备 6. 储存邻设备信息 当适当的重新分配地址联合其他设备,ZIGBEE2006可以依赖于网络协调者建立一个新网络. ZIGBEE应用层由APS(应用支持)、AF(应用结构)、ZDO(ZIGBEE设备对象)和厂商自定义应用对象组成。 APS功能 1. 绑定维持工作台,定义一个两个合拢的设备进行比较建立他们的需要和服务。 2. 促进信息在设备之间的限制 3. 组地址定义,移除和过滤组地址消息 4. 地址映射来自于64位IEEE地址和16位网络地址 5. 分裂、重新组装和可靠数据传输 ZDO功能 1. 定义设备内部网络(ZigBee协调者和终端接点) 2. 开始和/或回答绑定请求 3. 在网络设备中建立一个网络安全关系 4. 在网络中发现设备和决定供给哪个应用服务 ZDO同样有责任在网络中发现设备和为他们提供应用服务。 1.1.4 网络拓扑 ZIGBEE网络层支持星状、树状和网状拓扑。在星状拓扑中网络受约束与单个设备,呼叫COORD。COORD有责任建立和维持在网络中发现的设备和其他所有设备,都知道的终端接点直接和COORD 通信。在网状和树状拓扑中,COORD有责任建立一个网络和选择几个关键网络参数,但是网络有有可能直接应用于ZigBee路由器。在树状网络中,利用分等级路由策略完成路由传输数据和控制消息直通网络。树状网络在802.15.4-2003中可以采用信标引导通信。网状网络将允许所有对等网络通信。ZIGBEE 路又将不能在网状网络中发射规则的IEEE802.15.4-2003信标。

一文读懂zigbee技术的协议原理

一文读懂zigbee技术的协议原理 一.前言 从今天开始,我们要正式开始进行zigbee相关的通信实验了,我所使用的协议栈是ZStack 是TI ZStack-CC2530-2.3.0-1.4.0版本,大家也可以从TI的官网上直接下载TI公司为cc2530写的协议栈代码,毕竟,我们作为初学者,应该先不要去深究协议栈是怎么用代码编写的,毕竟zigbee已经相当成熟了,我们应该先学会使用zigbee协议栈进行通信,并能应用于实际项目中,比如说智能家具,不知道大家是不是有同感,所以下面我就先给大家介绍一下zigbee通信的原理以及体系架构。 二.ZStack 体系架构 ZStack 的体系结构由称为层的各模块组成。每一层为其上层提供特定的服务:即由数据服务实体提供数据传输服务;管理实体提供所有的其他管理服务。每个服务实体通过相应的服务接入点(SAP) 为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。 ZStack 根据IEEE 802.15.4 和ZigBee 标准分为物理层,介质接入控制层,网络层,应用层。物理层提供了基础的服务,数据传输和接收,网络层提供了各个节点连入的服务,是zigbee网络通信的关键,应用层是我们关注的重点,提供了应用的框架和ZDO。大家如果想了解体系结构的具体内容,可以自己去看说明文档,下面我给大家介绍一下zigbee 工作原理。 ZStack 采用操作系统的思想来构建,采用事件轮循机制,而且有一个专门的Timer2 来负责定时。从CC2530 工作开始,Timer2 周而复始地计时,有采集、发送、接收、显示…等任务要执行时就执行。当各层初始化之后,系统进入低功耗模式,当事件发生时,唤醒系统,开始进入中断处理事件,结束后继续进入低功耗模式。如果同时有几个事件发生,判断优先级,逐次处理事件。这种软件构架可以极大地降级系统的功耗。 整个ZStack 的主要工作流程,如图所示,大致分为以下6 步:(1) 关闭所有中断;(2) 芯

TI_zigbee协议栈结构分析应用

无线盛世《快速进入ZB世界》
Ver:1

进入Zigbee世界的准备工作
§ 首先,我们需具备一些硬件设备及平台。以下 我就罗列一下Zigbee开发基本工具: § 计算机:不管是设计电路还是编程开发都是离 不开它的。 § Zigbee开发板:对于初学者来说,Zigbee开发 板无疑是最佳选择。有了开发板,你可以在我 们成熟设计的基础上学习或者做自己的设计。 § Zigbee模块:集MCU,RF,天线设计于一体 的Zigbee模块。使用它,我们可省去设计天线 及IC周边电路设计的复杂工作。

进入Zigbee世界的准备工作
§ Zigbee仿真器:是集烧写程序、在线编程和在线仿真 功能于一身的开发过程工作中必不可少的开发工具。 编程器既能对CC243x芯片(其实包括TI产品中的CC 系列的大部分芯片)进行烧写程序(hex标准文件程序 ),也能对CC243x芯片进行在线编程和仿真,让我们 能方便地在线调试开发,从而大大地提高了开发效率 。 § Zigbee协议分析仪:ZigBee的设计开发者必不可少的 工具!ZigBee协议分析仪具有广泛的功能,包括:分 析以及解码在PHY、MAC、NETWORK/SECURITY、 APPLICATION FRAMEWORK、和APPLICATION PROFICES等各层协议上的信息包;显示出错的包以 及接入错误;指示触发包;在接收和登记过程中可连 续显示包。

进入Zigbee世界的准备工作
§ 再次,我们需要在将用于开发Zigbee的计 算机平台上安装这些软件: § Zigbee协议分析软件(sniffer) § 程序烧写软件(Flash Programmer) § IAR公司的EW8051 version 7.20I/W32 。

ZigBee协议架构

编号:_______________本资料为word版本,可以直接编辑和打印,感谢您的下载 ZigBee协议架构 甲方:___________________ 乙方:___________________ 日期:___________________

(application layer,APL )架构. 图1 zigbee协议栈体系结构 物理层规范 物理层定义了它与MAC层之间的两个接口:数据服务接口PD-SAP和管理服务接口PLME-SAP其中PD-SAP接口还为物理层提供了相应的数据服务,负责从无线物理信道上收发数据,而PLME-SAPg口同时为物理层提供相应的管理服务,用丁维护一个由物理层相关数据组成的数据库。物理层负责数据的调制、发送和接收、空闲信道评估(clear channel assessment,CCA)信道能量的监测(energy detect,ED )和链接质量指示(link quality indication , LQI)等。物理层帧结构由同步头、物理层帧头和物理层*效载荷三部分组成,如表1所示。 同步头乂包括32bit的前同步码和8bit的帧定界符,前同步码用来为数据收发提供码元或数据符号的同步;帧界定符用来标识同步域的结束及数据的开始。物理层帧头包括7bit的帧长度和1bit的预留位,帧长度定义了物理层净荷的字节数。物理层有效载荷就是MAC层的帧内容。 表一物理层帧格式

媒体接入控制层规范 MAC层定义了它与网络层之间的接口,包括提供给网络层的数据服务接口MLDE-SAFffi管理服务接口MLME-SAP同时提供了MAC层数据服务和MAC层管理服务。MA@数据服务主要实现数据帧的传输;MAC层管理服务主要负责媒介访问控制、差错控制等。 MAC层主要功能包括以下几个方面: (1) ZigBee协调器产生网络信标 (2) 设备与信标同步 (3) 支持节点加入或着退出操作 (4) 信道接入方式采用免冲突载波检测多路访问(CSMA-CA机制 (5) 建立并维护保护时隙机制 (6) 为设备提供安全支持 MAC帧格式由三个基本部分组成:MAC帧头、MAC帧载荷和MAC帧尾。不同类型的MAC帧,其帧头和帧尾都是一样的,只是MAC帧载荷有差别,通用MAC帧格式如表2所小。 表二通用MA#格式 网络层规范 网络层定义了它与应用层之间的接口 ,包括提供给应用层的数据服务接口 NLDE-SAP管理服务接口NLME-SAP,同时提供了网络层数据服务和网络层管理 服务。网络层主要负责拓扑结构的建立和网络的维护,具体的功能如下: (1) 初始化网络,即建立一个新的包含协调器、路由器和终端设备的网络 (2) 设备连接和断开时所采用的机制 (3) 对一跳邻居节点的发现和相关节点信息的存储 (4) ZigBee协调器和路由器为新加入节点分配短地址 (5)确保MAC正常工作,并且为应用层提供合适的服务接口 网络层帧结构包括网络层帧头(Network header, NHR和网络层载荷(Network payload,NPL)两部分,其中网络层帧头域由帧控制域、目的设备地址、源设备地址、广播半径和广播序列号等部分组成,通用网络帧的结构如表3所示。 表3通用网络层帧结构

ZigBee协议栈任务处理分析笔记

ZigBee协议栈任务处理分析笔记 ----(转载请注明出处774910349@https://www.sodocs.net/doc/228412650.html,)Everhuai写于2011-11-17 弄了这么久ZigBee协议栈,今天终于有一点头绪了,基本上知道了整个系统任务怎么被添加,又是怎么被切换的一个过程。下面就简单讲一讲这部分内容。 首先看的当然是main()函数,不过这个函数不是今天的重点,里面有我添加的注释,先就一笔带过吧。 int main( void ) { // Turn off interrupts osal_int_disable( INTS_ALL );//关闭全局中断EA=0,初始化过程不响应任何中断 // Initialization for board related stuff such as LEDs HAL_BOARD_INIT();//配置了时钟、LED、串口 // Make sure supply voltage is high enough to run zmain_vdd_check();//检查电源电压 // Initialize stack memory zmain_ram_init();//初始化堆内存 // Initialize board I/O /初始化板子用到的IO口 InitBoard( OB_COLD ); // Initialze HAL drivers HalDriverInit();//初始化外设 // Initialize NV System //系统初始化 osal_nv_init( NULL ); // Initialize basic NV items//任务初始化 zgInit(); // Initialize the MAC ZMacInit(); // Determine the extended address //确定长地址 zmain_ext_addr(); #ifndef NONWK // Since the AF isn't a task, call it's initialization routine afInit(); #endif // Initialize the operating system osal_init_system(); //系统初始化

zigbee协议栈源码

竭诚为您提供优质文档/双击可除 zigbee协议栈源码 篇一:zigbeez-stack协议栈构架 zstack基础 1、zstack协议栈构架 zigbee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层api,供用户调用。协议栈体系分层架构与协议栈代码文件夹对应表如下:整个协议栈的构架,如图所示 app:应用层目录,这是用户创建各种不同工程的区域,在这个目录中包含了应用层的内容和这个项目的主要内容,在协议栈里面一般是以操作系统的任务实现的。 hal:硬件层目录,包含有与硬件相关的配置和驱动及操作函数。 mac:mac层目录,包含了mac层的参数配置文件及其mac的lib库的函数接口文件。 mt:监控调试层,主要用于调试目的,即实现通过串口调试各层,与各层进行直接交互。nwk:网络层目录,含网络层配置参数文件及网络层库的函数接口文件,aps层库的

函数接口。 osal:协议栈的操作系统。 profile:aF层目录,包含aF层处理函数文件。 security:安全层目录,安全层处理函数接口文件,比如加密函数等。 services:地址处理函数目录,包括着地址模式的定义及地址处理函数。 tools:工程配置目录,包括空间划分及zstack相关配置信息。 zdo:zdo目录。 zmac:mac层目录,包括mac层参数配置及mac层lib 库函数回调处理函数。zmain:主函数目录,包括入口函数main()及硬件配置文件。 output:输出文件目录,这个ew8051ide自动生成的。 2、zigbee20xx协议栈源码库结构分析 了解了zigbee20xx协议栈整个构架后,再来看看协议栈源码库结构是什么样的,各层的具体文件是什么,建立不同的项目、添加自己的应用层任务及处理函数需要修改什么文件。zigbee20xx协议栈zstack-1.4.2文件目录及说明如下: 打开smapleapp项目工程 先看app层:

Zigbee协议栈学习总结教学提纲

典型的智能家居网络总体结构图 智能家居系统模块整体框图

ZigBee是一种标准,该标准定义了短距离、低速率传输速率无线通讯所需要的一系列通信协议。基于ZigBee的无线网络所使用的工作频段为868MHz、915MHz和2.4GHz,最大数据传输速率为250Kbps。 ZigBee无线网络共分为5层:物理层(PHY),介质访问控制层(MAC),网络层(NWK),应用程序支持子层(APS),应用层(APL)。 总体而言,ZigBee技术有如下特点:高可靠性,低成本,低功耗,高安全性,低数据速率

Zigbee网络中的设备主要分为三种: 1,协调器,协调器节点负责发起并维护一个无线网络,识别网络中的设备加入网络,一个ZigBee 网络只允许有一个ZigBee 协调器; 2,路由器,路由器节点支撑网络链路结构,完成数据包的转发;。ZigBee 网格或树 型网络可以有多个ZigBee 路由器。ZigBee 星型网络不支持ZigBee 路由器。 3,终端节点,负责数据采集和可执行的网络动作。 从功能上,zigbee节点应由微控制器模块、存储器、无线收发模块、电源模块和其它外设功能模块组成。 ZigBee/IEEE802.15.4定义了两种类型的设备:它们是全功能设备(FFD,Full Function Device)和精减功能设备(RFD,Reduced Function Device)。FFD可以当作一个网络协调器或者一个普通的传感器节点,它可以和任何其他的设备通讯,传递由RFD发来的数据到其他设备,即充当了路由的功能。而RFD只能是传感器节点,它只能和FFD进行通讯,经过FFD可以将自己测得数据传送出去。在ZigBee网络中大多是这两种设备,网络中结点数理论上最多可达65,536个,可以组成三种类型网络:星型、网状型和树型。 星状网络由一个PAN 协调器和多个终端设备组成,只存在PAN 协调器与终端的通讯,终端设备间的通讯都需通过PAN 协调器的转发。 树状网络由一个协调器和一个或多个星状结构连接而成,设备除了能与自己的父节点或子节点进行点对点直接通讯外,其他只能通过树状路由完成消息传输。 网状网络是树状网络基础上实现的,与树状网络不同的是,它允许网络中所有具有路由功能的节点直接互连,由路由器中的路由表实现消息的网状路由。 星型,如果用星型网络的话,在房间内的节点是否能够穿墙,与房间外的协调器进行正常通信。

zigbee协议名词解释

zigbee协议重要名词解释及英文缩写(转载) 网络层功能: 1.加入和退出网络 2.申请安全结构 3.路由管理 4.在设备之间发现和维护路由 5.发现邻设备 6.储存邻设备信息 当适当的重新分配地址联合其他设备,ZIGBEE2006可以依赖于网络协调者建立一个新网络. ZIGBEE应用层由APS(应用支持)、AF(应用结构)、ZDO(ZIGBEE设备对象)和厂商自定义应用对象组成。 APS功能 1.绑定维持工作台,定义一个两个合拢的设备进行比较建立他们的需要和服务。 2.促进信息在设备之间的限制 3.组地址定义,移除和过滤组地址消息 4.地址映射来自于64位IEEE地址和16位网络地址 5.分裂、重新组装和可靠数据传输 ZDO功能 1.定义设备内部网络(ZigBee协调者和终端接点) 2.开始和/或回答绑定请求 3.在网络设备中建立一个网络安全关系 4.在网络中发现设备和决定供给哪个应用服务 ZDO同样有责任在网络中发现设备和为他们提供应用服务。 1.1.4网络拓扑 ZIGBEE网络层支持星状、树状和网状拓扑。在星状拓扑中网络受约束与单个设备,呼叫COORD。COORD有责任建立和维持在网络中发现的设备和其他所有设备,都知道的终端接点直接和COORD 通信。在网状和树状拓扑中,COORD有责任建立一个网络和选择几个关键网络参数,但是网络有有可能直接应用于ZigBee路由器。在树状网络中,利用分等级路由策略完成路由传输数据和控制消息直通网络。树状网络在802.15.4-2003中可以采用信标引导通信。网状网络将允许所有对等网络通信。ZIGBEE 路又将不能在网状网络中发射规则的IEEE802.15.4-2003信标。

1.ZigBee协议栈简介

1、ZigBee协议栈简介 本节内容仅仅是对ZigBee协议栈的一些大家必须理解清楚的概念进行简单的讲解,并没有对ZigBee协议栈的构成及工作原理进行详细的讨论。让刚接触ZigBee协议栈的朋友们对它有个初步的感性认识,有助于后面使用ZigBee协议栈进行真正的项目开发。 什么是ZigBee协议栈呢?它和ZigBee协议有什么关系呢 协议是一系列的通信标准,通信双方需要共同按照这一标准进行正常的数据发射和接收。协议栈是协议的具体实现形式,通俗点来理解就是协议栈是协议和用户之间的一个接口,开发人员通过使用协议栈来使用这个协议的,进而实现无线数据收发。 图1展示了ZigBee无线网络协议层的架构图。ZigBee的协议分为两部分,IEEE 802.15.4定义了PHY(物理层)和MAC(介质访问层)技术规范;ZigBee 联盟定义了NWK(网络层)、APS(应用程序支持子层)、APL(应用层)技术规范。ZigBee协议栈就是将各个层定义的协议都集合在一直,以函数的形式实现,并给用户提供API(应用层),用户可以直接调用。 图1 ZigBee无线网络协议层 在开发一个应用时,协议较底下的层与应用是相互独立的,它们可以从第三方来获得,因此我们需要做的就只是在应用层进行相应的改动。 介绍到这里,大家应该清楚协议和协议栈的关系了吧,是不是会想着怎么样才能用协议栈来开发自己的项目呢?技术总是不断地在发展地,我们可以用ZigBee厂商提供的协议栈软件来方便地使用ZigBee协议栈(注意:不同厂商提供的协议栈是有区别的,此处介绍TI推出的ZigBee 2007协议栈也称Z-Stack)。 Z-stack是挪威半导体公司Chipcon(目前已经被TI公司收购)推出其CC2430开发平台时,推出的一款业界领先的商业级协议栈软件,由于这个协议栈软件的出现,用户可以很容易地开发出具体的应用程序来,也就是大家说的掌

Zigbee协议栈原理基础

Zigbee协议栈原理基础

1Zigbee协议栈相关概念 1.1近距离通信技术比较: 近距离无线通信技术有wifi、蓝牙、红外、zigbee,在无线传感网络中需求的网络通信恰是近距离需求的,故,四者均可用做无线传感网络的通信技术。而,其中(1)红外(infrared):能够包含的信息过少;频率低波衍射性不好只能视距通信;要求位置固定;点对点传输无法组网。(2)蓝牙(bluetooth):可移动,手机支持;通信距离10m;芯片价格贵;高功耗(3)wifi:高带宽;覆盖半径100m;高功耗;不能自组网;(4)zigbee:价格便宜;低功耗;自组网规模大。?????WSN中zigbee通信技术是最佳方案,但它连接公网需要有专门的网关转换→进一步学习stm32。 1.2协议栈 协议栈是网络中各层协议的总和,其形象的反映了一个网络中文件传输的过程:由上层协议到底层协议,再由底层协议到上层协议。 1.2.1Zigbee协议规范与zigbee协议栈 Zigbee各层协议中物理层(phy)、介质控制层(mac)规范由IEEE802.15.4规定,网络层(NWK)、应用层(apl)规范由zigbee联盟推出。Zigbee联盟推出的整套zigbee规范:2005年第一版ZigBeeSpecificationV1.0,zigbee2006,zigbee2007、zigbeepro zigbee协议栈:很多公司都有自主研发的协议栈,如TI公司的:RemoTI,Z-Stack,SimpliciTI、freakz、msstatePAN 等。 1.2.2z-stack协议栈与zigbee协议栈 z-stack协议栈与zigbee协议栈的关系:z-stack是zigbee协议栈的一种具体实现,或者说是TI公司读懂了zigbee 协议栈,自己用C语言编写了一个软件—---z-stack,是由全球几千名工程师共同开发的。ZStack-CC2530-2.3.1-1.4.0软件可与TI的SmartRF05平台协同工作,该平台包括MSP430超低功耗微控制器(MCU)、CC2520RF收发器以及CC2591距离扩展器,通信连接距离可达数公里。 Z-Stack中的很多关键的代码是以库文件的形式给出来,也就是我们只能用它们,而看不到它们的具体的实现。其中核心部分的代码都是编译好的,以库文件的形式给出的,比如安全模块,路由模块,和Mesh自组网模块。与z-stack 相比msstatePAN、freakz协议栈都是全部真正的开源的,它们的所有源代码我们都可以看到。但是由于它们没有大的商业公司的支持,开发升级方面,性能方面和z-stack相比差距很大,并没有实现商业应用,只是作为学术研究而已。 还可以配备TI的一个标准兼容或专有的网络协议栈(RemoTI,Z-Stack,或SimpliciTI)来简化开发,当网络节点要求不多在30个以内,通信距离500m-1000m时用simpliciti。 1.2.3IEEE802.15.4标准概述 IEEE802.15.4是一个低速率无线个人局域网(LowRateWirelessPersonalAreaNetworks,LR-WPAN)标准。定义了物理层(PHY)和介质访问控制层(MAC)。 LR-WPAN网络具有如下特点: ◆实现250kb/s,40kb/s,20kb/s三种传输速率。 ◆支持星型或者点对点两种网络拓扑结构。 ◆具有16位短地址或者64位扩展地址。 ◆支持冲突避免载波多路侦听技术(carriersensemultipleaccesswithcollisionavoidance,CSMA/CA)。(mac层) ◆用于可靠传输的全应答协议。(RTS-CTS) ◆低功耗。 ◆能量检测(EnergyDetection,ED)。 ◆链路质量指示(LinkQualityIndication,LQI)。

相关主题