当前位置:文档之家› 完整版ZigBee应用层规范

完整版ZigBee应用层规范

完整版ZigBee应用层规范
完整版ZigBee应用层规范

应用层规范概述2.1层,MACIEEE802.15.4 2003标准层和PHYZigBee栈体系包含一系列的层元件,包含ZigBee虽然本节描述了的NWK层。当然也包括ZigBee每个层的元件提供相关的服务功能。栈结构框图。1为ZigBeeAPL栈的其他部分但主要描述图1.1中的层。图

管理平台)(包含子层、ZDOZDO如图1.1所示,ZigBee应用层由三个部分组成,APS 和制造商定义的应用对象。 2.1.1应用支持子层到供应商的应用对象的通层之间,从ZDO提供了这样的接口:在NWK层和APLAPS 。APSMEAPSDE)和APS)管理实体(用服务集。这服务由两个实体实现:APS数据实体((APSDE-SAP);APSDE(1)APSDE通过服务接入点)。APSME服务接入点(APSME-SAPAPSME(2)通过提供在同一个网络中的两个或者更多的应用实体之间的数据通信。APSDE提供多种服务给应用对象,这些服务包含安全服务和绑定设备,并维护管APSME 。理对象的数据库,也就是我们常说的AIB应用层框架2.1.2ZigBee中的应用框架是为驻扎在ZigBee设备中的应用对象提供活动的环境。

最多可以定义240个相对独立的应用程序对象,任何一个对象的端点编号从1到240。还有两个附加的终端节点为了APSDE-SAP的使用:端点号0固定用于ZDO数据接口;另外一个端点255固定用于所有应用对象广播数据的数据接口功能。端点241-254保留(给为了扩展使用)。

Profiles

应用2.1.2.1是一组统一的消息,消息格式和处理方法,允许开发者建立一个可以profiles应用.共同使用的、分布式应用程序,这些应用是使用驻扎在独立设备中的应用实体。这些应用profiles 允许应用程序发送命令、请求数据和处理命令和请求。簇2.1.2.2在特和向设备流入。簇标识符可用来区分不同的簇,簇标识符联系着数据从设备流出,范围内,簇标识符是唯一的。profiles 殊的应用设备对象2.1.3ZigBeeprofile设备,描述了一个基本的功能函数,这个功能在应用对象、ZigBee设备对象(ZDO)位于应用框架和应用支持子层之间。它满足所有在ZDOAPS之间的提供了一个接口。和还有以下作用:协议栈中应用操作的一般需要。ZDOZigBee )。NWK1)初始化应用支持子层(APS),网络层(),安全服务规范(SSS()从终端应用中集合配置信息来确定和执行发现、安全管理、网络管理、以及绑定(2 管理。

描述了应用框架层的应用对象的公用接口以控制设备和应用对象的网络功能。在ZDO,APSDE-SAP终端节点0, ZDO提供了与协议栈中低一层相接的接口,如果是数据是通过公用接

口提供ZDO如果是控制信息则通过APSME-SAP。在ZigBee协议栈的应用框架中,节。设备、发现、绑定、以及安全等功能的地址管理。ZDO的具体描述在2.5 设备发现2.1.3这有两种形式的设备发现请求:设备为什么能发现其他设备的过程。设备发现是ZigBee地址请求是单播到一个特殊的设备且假定网络地址已IEEEIEEE地址请求和网络地址请求。地址作为负载。经知

道。网络地址请求是广播且携带一个已知的IEEE服务发现2.1.3.2服务发现通过在一服务发现是为什么一个已给设备被其他设备发现的能力的过程。个已给设备的每一个端点发送询问或通过使用一个匹配服务性质(广播或者单播)。服务发现方便定义和使用各种描述来概述一个设备的能力。服务发现信息在网络中也许被隐藏,在这种情况下,设备提供的特殊服务可能不好到达在发现操作发生的时候。

应用支持子层2.2 ZigBee 范围2.2.1

设备对象之ZigBee这一小节描述了应用层部分提供的服务规范和生产商定义的应用对象与另外,规范定义了允许应用对象传输数据的数据服务和提供绑定机制的管理服务。间的接口。它还定义了应用支持子层的帧格式和帧类型。目的2.2.2

应用支持子层的功能。该功能建立在两个基础之上,一是正确ZigBee这小节的目的是定义ZigBee 网络层的驱动功能,二是制造商定义的应用对象所需要的功能。运行

2.2.3 应用支持子层简介

应用支持子层给网络层和应用层通过ZigBee设备对象和制造商定义的应用对象使用的一组服务提供了接口,该接口提供了ZigBee设备对象和制造商定义的应用对象使用的一组服务。通过两个实体提供这些服务:数据服务和管理服务。APS数据实体(APSDE)通过与之连接的SAP,即APSDE-SAP提供数据传输服务。APS管理实体(APSME)通过与之连接的SAP,即APSME-SAP提供管理服务,并且维护一个管理实体数据库,即APS信息库(NIB)。

)APSDE应用支持子层的数据实体(2.2.3.1

和应用对象提供服务,完成两个或多个设备之间ZDOAPSDE向网络层提供数据服务,并且为。这些设备本身必须在同一个网络。传输应用层PDU APSDU将提供如下服务:)加上适当的协议APSDE 将应用层协议数据单元(PDU生成应用层的协议数据单元(APDU): PDU)。帧头生成应用子层的协议数据单元(将可以把从一个绑绑定:两个设备服务和需求相匹配的能力。一旦两个设备绑定了,APSDE 定设备接受到的信息传送给另一个设备。组地址过滤:提供了基于终点组成员的过滤组地址信息的能力。可靠传输:比从网络层仅仅通过端对端的传输增加了可靠性拒绝重复:提供传送的信息不会被重复接收支持大批量的传输:提供两个设备间顺序传输大批量的数据的能力。碎片:当消息的长度大于单个网络层帧时,可以分割并重组消息。提供避免传输消息淹没接收者的措施。流控制:APS 层使用“尽力”原则,提供措施避免传输消息淹没中间网络。阻塞控制:APS )2.2.3.2 应用支持子层的管理实体(APSME 应提供管理服务支持应用程序符合堆栈。APSMEAPSMEAPSME应具有基于两个设备的服务和需求向匹配的能力。该服务称为绑定服务,应具有能力来构建和维护绑定表来存储这些信息。另外,APSME应提供如下服务: 1 应用层信息库管理:读取与设置设备应用层信息库属性的能力2 安全:与其他设备通过使用安全密钥建

立可信关系的能力

2.2.4 服务规范

应用支持子层为上层实体(NHLE)与网络层提供了一个接口。APS层理论上包含一个管理实体称为APS层管理实体(APSME)。这个实体通过调用子层的管理函数来提供服务接口。APSME还负责维护一个关于APS子层管理实体的数据库。这个数据库关于APS子层信息库(AIB).图2.1描述了APS子层的构成和接口。

APS子层通过两个服务指针(SAPs)提供两种服务。APS数据服务通过APS子层数据实体服务指针SAP(APSDE-SAP),APS管理服务通过APS则层管理实体服务指针SAP(APSME-SAP).这两个服务通过NLDE-SAP和NLME-SAP 接口 (见3.2小节)提供了NHLE和网络层之间的接口。网络层和APS子层之间的NLME-SAP接口只支持NLME-GET 和 NLME-SET原语,其他的NLME-SAP原语只可以通过ZDO实现(见2.5小节)。除了这些外部接口以外,在APSME和APSDE之间还有一个内部的接口,支持APSME使用APS数据服务。

2.2.4.1 APS数据服务

APS子层数据实体SAP(APSDE-SAP)支持在两个同等的应用实体之间传输应用协议数据单元。表2.1列出了APSDE-SAP支持的原语。每一个原语将在下面的小节论述。

2.2.4.1.1 APSDE-DATA.request

该原语请求从本地NHLE向一个同等的NHLE实体传输NHLE PDU(ASDU)。

2.2.4.1.1.1 服务原语的语法

该原语的语法如下:

原语的参数。APSDE-DATA.request详细说明了2.2

表.

2.2.4.1.1.2 产生

当有一个数据PDU(ASDU)由本地NHLE向一个同等的NHLE传输时,由本地NHLE生成该原语。

2.2.4.1.1.3 2

当APS子层实体接收到该原语时,便开始传输提供的ASDU。

如果DstAddrMode参数为0x00,并且接收该原语的设备的APSDE支持绑定表,那么在绑定表中根据参数SrcEndpoint和ClusterId所指定的endpoint和cluster identifiers寻找相关联的绑定表入口。如果没有绑定表入口,APSDE将发送状态参数为NO_BOUND_DEVICE 的语

APSDE-DATA.confirm原语。如果找到了一个或多个绑定表入口,APSDE将构建APDU,其endpoint 信息从绑定表入口获得,当通过网络层传输信息帧时,其destination address信息从绑定表入口获得。如果存在多于一个绑定表入口,当接收到相应的NLDE-DATA.confirm原语,按上面描述的,APSDE将构建并向下一个绑定表入口传输APDU,直到没有绑定表入口剩余。如果接收到该原语设备的APSDE不支持绑定表,那么APSDE将发送状态参数为NOT_SUPPORTED的

APSDE-DATA.confirm原语。

如果DstAddrMode参数为0x02,DstAddress参数包含扩展的64位IEEE地址,首次必须使用NIB (见表2.24)属性中的nwkAddressMap映射相应的16位网络地址。如果找不到相应的16位网络地址,那么APSDE将发送状态参数为NO_SHORT_ADDRESS的APSDE-DATA.confirm原语。如果找到了相应的16位网络地址,其值将被用在NLDE-DATA.request原语中,参数DstEndpoint将被置在作为结果的APDU中。如果DstAddrMode参数为0x01,表明为群地址,参数DstAddress将被解释为16位的全地址。这个地址将被放置在APS头中的群地址域,参数DstEndpoint将被忽略,APS头中的destination endpoint域将被省略。APS头中的帧控制域的delivery mode子域值在这种情况下为0x03.

如果DstAddrMode参数为0x02,DstAddress参数包含16位的网络地址,并且提供参数DstEndpoint,当目的网络地址用于应用响应,并且网络地址部位后面的数据传输请求保留时,上层只能使用DstAddrMode为0x02.

应用程序可以通过使用参数RadiusCounter来限制在网络中传输数据帧的跳数。如果参数RadiusCounter为0x00,网络层在网络中传输信息帧没有约束。如果参数RadiusCounter为非零,则网络层将允许信息帧在网络中传输存在最多RadiusCounter跳。

如果DstAddrMode参数为0x01,表明为群地址,或者DstAddrMode参数为0x00,并且相应)中的属性3.42(见表NIB将检查APSME的绑定表入口包含哪一个群地址,那么.nwkUseMulticast值。如果属性值为FALSE,那么输出帧的帧控制域中的delivery mode子域设为0b11,16位的目的群地址将设置输出帧APS头中的group address域,该帧将以广播方式传输。传输该帧的原语NLDE-DATA.request的DstAddr参数设置为值0xfffd,广播给所有RxOnWhenIdle=TRUE的设备。如果属性nwkUseMulticast值为TRUE,那么该帧将使用网络层多点传送方式传输,群地址不用放置在输出帧的APS头中。

如果参数TxOptions指定使用安全传输,则APS子层将使用安全服务为ASDU提供安全(见4.2.4小节)。如果安全处理失败,则APSDE发送状态参数为SECURITY_FAIL的APSDE-DATA.confirm

原语。

APSDE使用NLDE-DATA.request原语向网络层传输构造帧。当接收到NLDE-DATA.confirm原语,APSDE则发送APSDE-DATA.confirm原语,其状态参数值域从网络层接收到的一致。

APSDE通过每次发送使NLDE-DATA.request原语的DiscoverRoute参数值为0x01确保网络层中的路由发现始终激活。

如果传输的ASDU大于合适的单个帧,当没有请求确认传输或者在TxOptions域的fragmentation permitted标志位设为0时,则放弃传输ASDU,APSDE将发送状态参数为INVALID_REQUEST的APSDE-DATA.confirm原语。

如果传输的ASDU大于合适的单个帧,当请求确认传输并且在TxOptions域的fragmentation permitted标志位设为1时,ASDU将按照2.2.8.3.5小节所述分裂为多个APDU。如果请求传输

和安全处理,那么每一个APDU都要进行处理。注意不要使用分裂处理,除非相应的上层文件或者相互明确表明帧的传输允许分裂处理,并且说明了块的数量和总共传输的大小。

2.2.4.1.2 APSDE-DATA.confirm

该原语报告从本地NHLE向一个同等的NHLE传输PDU数据的结果。

2.2.4.1.2.1 服务原语的语法

该原语的语法如下:

APSDE-DATA.confirm原语的参数。详细介绍了表2.3

2.2.4.1.2.2 产生

APSDE-DATA.request原语的响应。该原语返回的状态子层产生作为对APS该原语有本地参数值

为SUCCESS,表明请求传输成功,或者为错误代码NO_SHORT_ADDRESS ,

NO_BOUND_DEVICE 或SECURITY_FAIL或者为任何NLDE-DA TA.confirm原语返回的状态值。这些状态值的路由在2.2.4.1.2小节中进行了详细的描述。

2.2.4.1.2.3 接收

状态参数值设如果传输成功,发起设备的上层被通报请求传输的结果。接收到该原语,

置为SUCCESS。否则,状态参数表明错误。

APSDE-DATA.indication 2.2.4.1.3

该原语表明一个PDU数据向本地应用实体的APS子层传输。

2.2.4.1.

3.1 服务原语的语法

该原语的语法如下:

APSDE-DATA.indication原语的参数。详细描述了表2.4

ZigBee重要结构及表解释

ZigBee重要结构及表解释 ZigBee 2010-06-13 10:31:26 阅读103 评论0 字号:大中小订阅各表中的元素结构: 1、组表的元素结构aps_Group_t; typedef struct { uint16 ID; // 组ID uint8 name[APS_GROUP_NAME_LEN]; // 组名称 } aps_Group_t; 2、组列表的元素结构 typedef struct apsGroupItem { struct apsGroupItem *next; //指向下一个组表条目 uint8 endpoint; //此终端接收发送给组的信息 aps_Group_t group; //组ID和组名 } apsGroupItem_t; 3、路由表的元素结构rtgEntry_t; typedef struct { uint16 dstAddress; //目标地址 uint16 nextHopAddress; //单跳地址 byte expiryTime; //有效时间 byte status; //状态 } rtgEntry_t; 4、绑定表的元素结构BindingEntry_t; typedef struct

{ uint8 srcEP; // 没有源地址自从源地址一直是本地设备uint8 dstGroupMode; // 目标地址类型; 0 –正常地址, 1 –组地址 uint16 dstIdx; //在两种模式中(组或非组) 保存到NV 和RAM // dstGroupMode = 0 - Address Manager index // dstGroupMode = 1 –组地址 uint8 dstEP; //目标地址 uint8 numClusterIds; //簇个数 uint16 clusterIdList[MAX_BINDING_CLUSTER_IDS]; // Don't use MAX_BINDING_CLUSTERS_ID when // using the clusterIdList field. Use // gMAX_BINDING_CLUSTER_IDS } BindingEntry_t; 5、相邻表的元素结构neighborEntry_t; typedef struct { uint16 neighborAddress; //相邻地址 uint16 panId; //所属的PAN网络ID linkInfo_t linkInfo; //连接信息(包括发送/接收和安全帧计数) } neighborEntry_t; 6、路由发现表的元素结构rtDiscEntry_t; typedef struct { byte rreqId; //接收请求ID

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技术主流芯片比较 2概况

Zigbee技术主流芯片调研 1、Zigbee芯片调研 当今市场已有大量集成Zigbee协议和射频电路的芯片。以下是市场上主流的生成Zigbee的公司及其生产的典型Zigbee芯片。 公司TI FREESCALE ATMEL Nordic 芯片CC2530 MC1321 AT86RF230 nRF24E1/nRF9E5 MCU内核8051 HCS08 无(通过SPI接口由外 接MCU连接) 8051 通过在淘宝上的调查,TI公司的CC2530和FREESCALE的MC1321用户量比较大,有大量的公司提供基于这两款芯片的Zigbee模块,使用这些模块可以减少大量的硬件调试工作,而较容易的实现我们所需的传输功能。以下就这两类主流芯片进行详细介绍。 1.1 CC2530调研 CC2530是市场最主流的Zigbee芯片,TI公司推出的ZIGBEE网络处理器,将复杂的ZIGBEE网络协议栈,处理成了简单的用户接口命令,用户只要使用任何简单的单片机(微控制器),就可以容易的实现对ZIGBEE网络的控制;TI推出这个芯片的目的,就是希望ZIGBEE容易被使用。CC2530是TI公司推出的最新一代ZigBee标准芯片,适用于2.4GHz、IEEE802.15.4、ZigBee和 RF4CE应用。 CC2530包括了极好性能的一流RF收发器,工业标准增强性8051MCU,系统中可编程的闪存,8KB RAM以及许多其它功能强大的特性,可广泛应用在2.4-GHzIEEE802.15.4系统,RF4CE遥控制系统,ZigBee系统,家庭/建筑物自动化,照明系统,工业控制和监视,低功耗无线传感器网络,消费类电子和卫生保健。主要参数如下:

ZigBEE RF4CE规范基本概念及配对详细讲解

一.节点的安装初始化 1.1建立网络的过程 (1)目标节点: 首先,扫描信道,对各个信道进行能量检测,选择可允许能量水平的信道进行操作。 然后,发送执行活动的扫描操作,识别其他在工作在所选信道上的属于其他PAN网络的identifiers,允许一个统一的PAN identifier接入它的网络。 最后,目标节点运行常规功能。 (2)控制节点: 接入网络之后,运行常规功能。 二.网络帧结构 Frame control:控制信息 Frame counter:技术,防止重复和延时攻击 Profile identifier:应用帧的传输格式 Vendor identifier:供应商标识符,允许商家进行扩展 Frame payload:传输的应用层数据 Message integrity code:进行认证(安全) 三.传输选项 四.发现(Discovery) 发现服务必须是在非节能模式下才能进行。节点通过执行发现服务,来寻找能够进行配对的节点;发现服务会在一个固定的期间内在三个PAN网络中重复的进行,直到收到所有的应答。 在此期间,设备之间会交换如下信息: Node capabilities:节点的类型(目标节点或控制节点),节点的供电类型,是否支持

安全性。 Vendor information:ZigBee RF4CE提供一个Vendor identifier或者vender string 来制定一个特定的供应商标识。 Application information:用户自定义一个字符串用来描述节点的应用功能(例如Lounge TV),一个设备类型列表可以制定哪些类型的设备室被支持的(例如一个综合性设备可能同时支持TV和DVD的功能),profile identifier列表制定该节点支持哪些类型的profiles。 Requested device type:discovery期间可以被请求的设备类型(比如一个多功能遥控器可能寻找TV的功能)。 五、频率捷变 (1)目标节点可以根据3个信道的变化,更换信道。 (2)控制节点会记录目标节点的信道,当目标节点信道发生改变时,控制节点会尝试从其他信道发送给目标节点,直到目标节点发送确认信息;之后,控制节点会记录上新的信道。 六、配对 在发现期间,当节点确定在它的通信范围有其他能够提供稳定服务的节点时,可以通过建立配对从而进行通信。在RC网络中在存在配对的发送端和接收端之间只能直接通信。 配对连接可以建立在应用层的要求上,通过交换类似于discovery期间交换的消息。目标节点可以选择是否接受配对并发送请求配对信息给源节点。 配对成功后,源节点和目标节点会在它们各自的配对表中存储配对链接。这个使得源节点可以和目标节点通信,目标节点也可以和源节点通信。在配对表中的实体包含网络层传输信息给目标节点的所有信息。这消除了寻址的负担,要实现和相应设备的通信,应用层可以简单的提供一个链接配对表的index。 配对表中的每个实体包含的信息如下: Pairing reference Source network address Destination logical channel Destination IEEE address Destination PAN identifier Destination network address Recipient nod capabilities Recipient frame counter Secutity link key

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,ha协议标准

竭诚为您提供优质文档/双击可除 zigbee,ha协议标准 篇一:zigbee3.0协议姗姗来迟,首批产品已经推出 zigbee3.0姗姗来迟,顶尖产品已经推出 zigbee联盟(zigbeealliance)今天宣布,将其市场领先的无线标准统一成名为zigbee3.0的单一标准。该标准将为最广泛的智能设备提供互操作性,让消费者和企业能获得可无缝协作并为人们日常生活带来便利的创新产品与服务。 当今有数以千万的设备采用了zigbee标准,为消费者 带来极大好处,zigbee3.0的发布让这些标准得以统一。zigbee3.0标准让用于家庭自动化、连接照明和节能等领域 的设备具备通信和互操作性,因此产品开发商和服务提供商可以打造出更加多样化、完全可互操作的解决方案。开发商可以用新标准来定义目前基于zigbeepRo标准的所有设备类型、命令和功能。 飞利浦(philips)互联照明部营销与合作关系主管Filipjandepauw表示:“让消费者满意是飞利浦hue智能照 明系统的核心驱动力。消费者希望他们的智能设备简单好用,因此我们会继续带来容易控制和创造的更加丰富的照明新

体验。zigbee协议是实现这一目标的关键推动力,覆盖更广泛的zigbee3.0标准进一步实现了不同设备间的无缝通信,从而使我们能够为用户提供更强大的功能。更广泛的互操作性让创造新的用例和提升消费者满意度变得更简单。” zigbee3.0覆盖了最广泛的设备类型,包括家庭自动化、照明、能源管理、智能家电、安全装置、传感器和医疗保健监控产品。它同时支持易于使用的diy设备以及专业安装系统。基于ieee802.15.4标准、工作频率为2.4ghz(全球通用频率)的zigbee3.0使用zigbeepRo网络,以便为最小、功耗最低的设备提供可靠通信。目前基于zigbeehomeautomation(家庭自动化)和zigbeelightlink的zigbeecertified认证产品可与zigbee3.0互操作。欲查看统一成zigbee3.0的标准的完整列表,请访问官网 /retype/zoom/1b4a9975eff9aef8941e06f5pn=2&x=0&y=126 8&raww=561&rawh=20&o=png_6_0_0_135_299_631_23_892.9 79_1262.879&type=pic&aimh=17.112299465240643&md5sum =0e396de6e9a428054feedca137422c24&sign=dc869e5ba0&z oom=&png=2119-5028&jpg=0-0"target="_blank">点此查看j.m.Richardson说:“zigbee联盟一直认为,真正的互操作性来自于各个级别尤其是跟用户关系最为密切的应用 级的标准。联盟成员在从全球产品销售中总结的经验教训让

zigbee各版本规范比较

ZigBee各版本规范比较 ZigBee是ZigBee联盟建立的技术标准,它是一种工作在900MHZ和2.4GHZ频段的新兴无线网络技术,具有中等通讯距离(10米到数百米),比较灵活经济的通讯速率(40Kbps到250Kbps),并且有星状,网状(MESH),树状等多种网络拓扑,低的功耗等特点,所以在当今无线通讯技术和无线网络技术领域中占有比较重要的地位。 第一个ZigBee协议栈规范于2004年12月正式生效,称为ZigBee 1.0或ZigBee 2004。 第二个ZigBee协议栈规范于2006年12月发布,称为ZigBee 2006规范,主要是用“群组库(cluster library)”替换了ZigBee 2004中的MSG/KVP结构。最为重要的新的ZigBee 2006协议栈将不兼容原来的ZigBee 2004技术规范,对于已经投入ZigBee 2004的厂商而言,这是一个大悲剧。例如Jennic 公司将ZigBee2004协议栈固化在ROM中(JN5121/JN5139)。将无法和ZigBee 2006以后的协议栈兼容。ZigBee 2006协议栈,将是ZigBee兼容的一个战略分水岭,从这里开始,ZigBee将实现完全向后兼容性。 2007年10月发布了ZigBee 2007规范,ZigBee 2007规范定于了两套高级的功能指令集(feature set):分别是ZigBee功能命令集和ZigBee Pro功能命令集。(ZigBee 2004和2006都不兼容这两套新的命令集)。ZigBee 2007包含两个协议栈模板(profile),一个是ZigBee协议栈模板(Stack Profile 1),它是2006年发布的,目标是消费电子产品和灯光商业应用环境,设计简单,使用在少于300个节点的网络中。另一个是ZigBee Pro协议栈模板 (Stack Profile 2),它是在2007年发布,目标是商业和工业环境,支持大型网络,1000个以上网络节点,相应更好的安全性。ZigBee Pro提供了更多的特性,比如:多播、多对一路由和SKKE(Symmetric-key key establishment)高安全,但ZigBee(协议栈模板1)在内存和flash中提供了一个比较小的区域。两者都提供了全网状网络与所有的ZigBee应用模板工作。 ZigBee 2007 是向后完全兼容ZigBee 2006设备。ZigBee 2007设备可以加入一个ZigBee 2006网络,并能再ZigBee 2006网络中运行,反之亦然。 由于路由选择不同,ZigBee Pro设备必须变成非路由ZigBee End-Devices(ZEDs)设备才可加入ZigBee 2006或ZigBee 2007网络。同样ZigBee 2006或ZigBee 2007设备必须变成ZEDs才可加入ZigBee Pro 网络。在这些设备上的应用程序工作是相同的,它们不管在这些设备上的协议栈模板。 下面的图表从高层次进行比较,列出2004、2006及2007/PRO ZigBee规范之间的异同。 比较图

zigbee技术分析——经典

与蜂共舞—ZigBee技术一瞥 本文从ZigBee的发展历史入手,探讨了这种基于无线传感器技术的网络应用的协议栈、性能分析和各种应用领域,全面构建了完整的ZigBee技术应用与发展蓝图。 “ZigBee”是什么?从字面上猜像是一种蜜蜂。因为“ZigBee”这个词由“Zig”和“Bee”两部分组成,“Zig”取自英文单词“zigzag”,意思是走“之”字形,“bee”英文是蜜蜂的意思,所以“ZigBee”就是跳着“之”字形舞的蜜蜂。不过,ZigBee 并非是一种蜜蜂,事实上,它与蓝牙类似是一种新兴的短距离无线通信技术,国内也有人翻译成“紫蜂”。下面就让我们一起进入这只蜜蜂的世界,与蜂共舞吧! 这只蜜蜂的来头还是要从它的历史开始说起,早在上世纪末,就已经有人在考虑发展一种新的通信技术,用于传感控制应用(sensor and control),这个想法后来在IEEE 802.15工作组当中提出来,于是就成立了TG4工作组,并且制定了规范IEEE 802.15.4。但是IEEE 802的规范只专注于底层,要达到产品的互操作和兼容,还需要定义高层的规范,于是2002年ZigBee Alliance成立,正式有了“ZigBee”这个名词。两年之后,ZigBee的第一个规范ZigBee V1.0诞生,但这个规范推出的比较仓促,存在一些错误,并不实用。此后ZigBee Alliance又经过两年的努力,推出了新的规范ZigBee 2006,这是一个比较完善的规范。据联盟最新的消息,今年年底将会发布更新版本的规范ZigBee 2007,这个版本增加了一些新的特性。 从ZigBee的发展历史可以看到,它和IEEE 802.15.4有着密切的关系,事实上ZigBee的底层技术就是基于IEEE 802.15.4的,因此有一种说法认为ZigBee和IEEE 802.15.4是同一个东西,或者说“ZigBee”只是IEEE 802.15.4的名字而已,其实这是一种误解。实际上ZigBee和IEEE 802.15.4的关系,有点类似于WiMAX和IEEE 802.16,Wi-Fi和IEEE 802.11,Bluetooth和IEEE 802.15.1。“ZigBee”可以看作是一个商标,也可以看作是一种技术,当把它看作一种技术的时候,它表示一种高层的技术,而物理层和MAC层直接引用IEEE 802.15.4。事物是不断的发展变化的,尤其是通信技术,可以想象将来的ZigBee可能不会使用IEEE 802.15.4定义的底层,就跟蓝牙(Bluetooth)宣布下一代底层采用UWB技术一样,但是“ZigBee”这个商标以及高层的技术还会继续保留。 ZigBee协议栈速读 我们无法预料将来ZigBee会基于怎样的底层技术,只好从它现在的底层——IEEE 802.15.4开始了解,IEEE 802.15.4包括物理层和MAC层两部分。ZigBee工作在三种频带上,分别是用于欧洲的868MHz频带,用于美国的915MHz频带,以及全球通用的2.4GHz频带,但这三个频带的物理层并不相同,它们各自的信道带宽分别是0.6MHz, 2MHz和5MHz,分别有1个,10个和16个信道。不同频带的扩频和调制方式也有所区别,虽然都使用了直接序列扩频(DSSS)的方式,但从比特到码片的变换方式有比较大的差别;调制方面都使用了调相技术,但868MHz和915MHz频段采用的是BPSK,而2.4GHz频段采用的是OQPSK。我们可以以2.4GHz频段为例看看发射机基带部分的框图(如图1),可以看到物理层部分非常简单,而IEEE 802.15.4芯片的低价格正是得益于底层的简单性。可能我们会担心它的性能,但我们可以再看看它和Bluetooth/IEEE 802.15.1以及WiFi/IEEE 802.11的性能比较(如图2),

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解决方案比较

Zigbee 解决方案总结 一.非开源协议栈 1.freescale 解决方案 协议栈种类: 1.1 80 2.15.4标准mac 1.2 SMAC 1.3 SynkroRF 1.4 ZigBee RF4CE 1.5 ZigBee 2007 最简单的就是SMAC,是面向最简单的点对点应用的,不涉及网络的概念; 其次是IEEE802.15.4,一般用来组建简单的星型网络,而且提供了源代码,可以清楚地看到网络连接的每个步骤,分别调用了哪些函数; BeeStack(符合zigbee 2007)是提供的最复杂的协议栈,但是看不到代码,它提供给你一些封装好的函数,比如创建网络函数,你直接调用它,协调器就把网络创建好了,终端节点调用它则寻找可以加入的ZigBee网络并尝试加入。 其中硬件平台可以为下面中的任一种: MC13202 (2.4 GHz射频收发器) MC13213 (2.4 GHz射频收发器和带60K闪存的8位MCU)MC13224V (2.4 GHz平台级封装(PIP) –带有128KB闪存、96KB RAM、80KB ROM的32位TDMI ARM7处理器) MC13233 (带有HCS08 MCU的2.4 GHz片上系统) MC13202没有自带mcu,在做应用时,需要用户在自己的扩展板上加上mcu,既需要实现对外围设备的底层控制,也需要实现

协议栈。下面的几种均有自带mcu,协议栈的实现在自带的mcu 上实现,功能较简单的可直接使用片上的mcu资源进行控制;功能复杂的应用,最好协议栈实现与外围控制分开,大多数应用都选择arm芯片作为控制芯片; 详细信息可以查看https://www.doczj.com/doc/c415264144.html,/products/rf/ZigBee.asp 2.microchip 解决方案 协议栈种类: ZigBee? Smart Energy Profile (SEP) Suite ZigBee? PRO ZigBee? RF4CE 均是一整套的协议集,价格不菲; 硬件平台: Pic18(mcu)+MRF24J40(2.4GHZ 射频收发器)+天线 与freescale 的mc13202相似,MRF24J40也只是射频收发器,不包含mcu,协议栈的实现需要借助于外围的mcu,当然微芯公司选择的是pic18及以上的芯片作为其主控mcu,通过spi接口与MRF24J40通信,查询其寄存器的状态,实现协议栈功能。 详见:https://www.doczj.com/doc/c415264144.html,/ 3.ST 意法半导体解决方案 协议栈: EMZNET ZigBee? protocol stack 硬件平台:

从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网关通信协议

Z i g b e e网关通信协议 Prepared on 24 November 2020

无线传感器网络(Zigbee)网关的的通信协议网关是通过串口与PC 机相连的。PC 机可以通过串口发送采集命令和收集采集数据,为了能有效管理这些数据,需要执行统一的数据通信格式。 下面介绍该系统中所使用的通用数据格式。 每一帧数据都采用相同的帧长度,且都带有帧头、数据和帧尾。具体格式如下: 如上所示,每一帧数据的长度都是32字节。除帧头和帧尾,每一帧数据都由命令头、发送地址、有效数据和校验和组成。 命令头:所执行的命令。 地址:所访问模块的长(前8字节)/短地址(后2字节)。 数据:传送各个参数、变量与返回值及各种需要突发发送的数据。校验和:从命令头到数据尾的加和校验,用于确定数据正确与否。注:命令头、地址的长地址部分和数据都采用ASCII码。 这个系统的命令分为3种,分别为 读命令R(ead):包括读各个传感器或网络状态命令。 测试命令T(est):测试LED、BEEP或电池寿命命令。 扩展板命令E(xtend):控制和读扩展板命令。 下面介绍具体命令格式。 1.读命令 1) RAS RAS(ReadallSensor):读传感器。

RAS具体格式如下: 需要加入地址和数据——地址:传感器模块地址;数 据:GM***/WD***。 传感器种类包括光敏:GM;温度:WD;可调电位器:AD。 (1)读取成功返回格式如下: 地址:加入传感器模块地址。 数据:传感器+ 测量值(ASSII码)。其中光敏:GM+ * * * (3 字节ASII码);温度:WD +***(3字节ASII码);可调电位器:AD+*** (3字节ASII码)。 (2)读取失败返回格式如下: 2) RND RND:无线网络发现。 RND 具体格式如下: 需要加入地址和数据———地址:无;数据:无,只需要命令头。(1)读取成功返回格式如下: 返回网络中节点的性质:RFD(终端节点)/ROU(路由器)+地址+第几个。 例如:如果返回第1个RFD 节点,则数据段为RFD01。具体格式如下: (2)读取成功结束格式如下: 2.测试命令 1) TLD

F8913 ZigBee 技术规范

F8913 ZigBee 模块技术规范 产品特点---------------------------------------------------------------------------------------------------- 简介 F8913 ZigBee 模块是一种物联网无线数据终端,利用ZigBee 网络为用户提供无线数据传输功能。 该产品采用高性能的工业级ZigBee 方案,以嵌入式实时操作系统为软件支撑平台,同时提供2.0的SMA 与DIP 接口,可直接连接TTL 串口设备,实现数据透明传输功能;低功耗设计,最低功耗小于1mA ;提供17路I/O ,可实现数字量输入输出、脉冲输出;提供5路ADC ,模拟量输入、脉冲计数等功能。 该产品已广泛应用于物联网产业链中的M2M 行业,如智能电网、智能交通、智能家居、金融、移动POS 终端、供应链自动化、工业自动化、智能建筑、消防、公共安全、环境保护、气象、数字化医疗、遥感勘测、军事、空间探索、农业、林业、水务、煤矿、石化等领域。 文档编号 文档版本 密 级 工业级应用设计 ◆ 采用高性能工业级ZigBee 处理芯片 ◆ 低功耗设计,支持多级休眠和唤醒模式,最大 限度降低功耗 ◆ 采用2.0的SMA 与DIP 双排接口,较适合客 户的需求。 ◆ 电源输入(DC 3.0~3.6V ) 稳定可靠 ◆ WDT 看门狗设计,保证系统稳定 ◆ 提供TTL 串行接口,SPI 接口。 ◆ 天线接口防雷保护(可选) 标准易用 ◆ 采用2.0的SMA 与DIP 接口,特别适合于不 同用户的应用需求。 ◆ 提供TTL 接口可直接连相同电压的TTL 串口 设备 ◆ 智能型数据模块,上电即可进入数据传输状态 ◆ 使用方便,灵活,多种工作模式选择 ◆ 方便的系统配置和维护接口 ◆ 支持串口软件升级和远程维护 功能强大 ◆ 支持ZigBee 无线短距离数据传输功能 ◆ 具备中继路由和终端设备功能 ◆ 支持点对点、点对多点、对等和Mesh 网络 ◆ 网络容量大:65000个节点 ◆ 节点类型灵活:中心节点、路由节点、终端节 点可任意设置; ◆ 发送模式灵活:广播发送或目标地址发送模式 可选 ◆ 通信距离大 ◆ 提供17路I/O ,可实现17路数字量输入输出; 兼容10路脉冲输出、5路模拟量输入、5路脉冲计数功能

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通用网络层帧结构

相关主题
文本预览
相关文档 最新文档