zigbee协议栈各层的功能
zigbee协议栈各层的功能
竭诚为您提供优质文档/双击可除zigbee协议栈各层的功能篇一:zigbee协议栈各层分析3.4.2协议栈概况本课题研究的系统zigbee协议栈设计基于msstate_lRwpan。
msstate_lRwpan是由美国密西西比州立大学的Robertb.Reese教授开发的一套zigbee协议的简化实现。
该协议栈可用于多种硬件平台,实现了协调器、路由器和精简功能节点之间的树路由、直接消息传输并用静态绑定方法实现了间接路由[[xxxix]]。
课题在对该协议栈进行深入分析的基础上,根据本课题中使用硬件平台的实际情况进行修改,将其移植到msp430+cc2420的硬件平台上来。
程序使用c语言编写,使用iaR公司的ew430工具作为集成开发环境,编译后下载到目标板的msp430芯片中。
协议栈使用有限状态机(Fsm,Finitestatemachine)的编程方式,在协议的每一层实现单独的有限状态机来跟踪该层的工作状态,整个协议栈采用嵌套调用的方式,上层调用下层的有限状态机,实现完整协议栈的运行。
最顶层的有限状态机是应用程序支持子层(aps)的apsFsm(),需要周期性的调用,以维持整个协议栈正常运行。
经过对msstate_lRwpan协议各层源程序的原理和实现方法进行分析后发现,在将协议栈从一种硬件平台移植到另外一种硬件平台时,需要修改的主要是物理层(phy)和媒体接入控制层(mac),这两层与硬件联系紧密,需要针对节点硬件的实际连接方式作较大的修改,涉及的文件主要有cc2420.c、clockhal.c和halstack.c等。
phy层和mac层屏蔽了硬件的差异,上层协议通过服务接入点(sap,serviceaccesspoint)使用下层协议提供的服务,透明地完成对硬件的控制,所以网络层(nwk)和应用层(aps)等文件要作的改动较小。
3.4.3物理层phy物理层是协议的最底层,承担着和外界直接作用的任务。
zigbee 协议栈
zigbee 协议栈Zigbee 协议栈。
Zigbee 是一种无线通信协议,它被设计用于低数据速率、低功耗的应用场景,如智能家居、工业自动化、传感器网络等。
Zigbee 协议栈是指在 Zigbee 网络中的协议层,它定义了 Zigbee 网络中各个节点之间的通信规则和协议。
Zigbee 协议栈主要包括物理层、MAC 层、网络层和应用层。
物理层定义了无线通信的调制解调方式、频率和功率控制等;MAC 层负责数据的传输和接收,以及网络中节点的管理;网络层则负责路由和数据包转发;应用层则定义了具体的应用协议和数据格式。
在 Zigbee 协议栈中,物理层使用了 IEEE 802.15.4 标准,它定义了无线通信的物理层和 MAC 层规范,包括频率、调制方式、数据帧格式等。
MAC 层定义了数据的传输方式,包括信道访问方式、数据帧格式、数据重传机制等。
网络层则定义了路由协议和数据包转发规则,以实现多跳网络的数据传输。
应用层则定义了具体的应用协议,如 Zigbee Home Automation(ZHA)、Zigbee Light Link(ZLL)等。
Zigbee 协议栈的设计遵循了低功耗、低成本、可靠性和安全性的原则。
它采用了分层的设计,使得各个层之间的功能清晰明了,易于实现和维护。
同时,Zigbee 协议栈还支持多种网络拓扑结构,包括星型、网状和混合型网络,以满足不同应用场景的需求。
在实际的应用中,开发人员可以使用 Zigbee 协议栈来快速构建 Zigbee 网络应用。
通过使用 Zigbee 协议栈,开发人员可以方便地实现节点之间的数据通信、网络管理和安全保护,从而加速产品的开发周期和降低开发成本。
总的来说,Zigbee 协议栈是 Zigbee 网络中的核心部分,它定义了 Zigbee 网络中节点之间的通信规则和协议。
通过使用 Zigbee 协议栈,开发人员可以快速构建低功耗、低成本、可靠性和安全性的Zigbee 网络应用,满足不同应用场景的需求。
zigbee通信协议
Zigbee通信协议1. 概述Zigbee是一种低功耗、低数据速率的无线通信协议,用于物联网设备之间的通信。
它基于IEEE 802.15.4标准,适用于各种不同的应用领域,如智能家居、工业自动化和智能农业等。
2. Zigbee网络拓扑结构Zigbee网络采用了星型和网状拓扑结构。
在星型拓扑结构中,设备直接连接到一个中心节点,而在网状拓扑结构中,设备可以直接连接到其他设备,从而形成一个多层次的网络。
3. Zigbee网络协议栈Zigbee网络协议栈由物理层、MAC层、网络层和应用层组成。
•物理层:负责无线信号的传输和接收,定义了无线通信的频率、数据速率和功耗等参数。
•MAC层:提供对物理层的抽象,负责设备之间的无线通信和网络管理。
•网络层:负责设备之间的路由选择和数据包转发。
•应用层:提供各种应用程序所需的服务和功能,如设备发现、数据传输和网络配置等。
4. Zigbee通信机制Zigbee使用CSMA/CA(Carrier Sense Multiple Access/Collision Avoidance)机制来进行通信。
每个设备在发送数据之前会先进行信道侦听,如果信道空闲,则设备可以发送数据;如果信道被占用,则设备需要等待一段时间后再次侦听,以避免数据碰撞。
5. Zigbee安全性Zigbee提供了多种安全机制来保护通信过程中的数据安全性和隐私性。
其中包括:•认证:通过设备之间的互相认证,确保只有合法的设备可以加入网络。
•加密:使用对称加密算法对数据进行加密,防止数据被窃取或篡改。
•密钥管理:为每个设备生成唯一的密钥,并定期更新密钥以提高安全性。
6. Zigbee应用领域Zigbee通信协议在各种应用领域都有广泛的应用,下面列举了几个常见的应用领域:•智能家居:Zigbee可以用于连接智能家居设备,如智能灯泡、智能插座和智能门锁等,实现远程控制和自动化功能。
•工业自动化:Zigbee可以用于工业自动化中的传感器网络,实现设备之间的数据采集和监控。
zigbee 协议栈
zigbee 协议栈Zigbee是一种基于IEEE 802.15.4标准的无线通信协议,它是一种低功耗、短距离的无线网络协议,可以用于物联网中各种设备的通信。
Zigbee协议栈是指一套软件的层次结构,用于实现Zigbee协议的功能和特性。
Zigbee协议栈由四个层次组成:应用层,网络层,MAC层和物理层。
应用层是Zigbee协议栈的最高层,它提供了应用程序与其他网络层之间的接口。
应用层负责处理数据的收发,以及定义数据的格式和协议。
应用层也负责处理设备与设备之间的通信,例如传感器与控制器之间的通信。
网络层是Zigbee协议栈的中间层,它负责网络的发现和路由选择。
网络层的主要功能是将数据传输到目标设备,以及维护网络拓扑结构。
网络层使用一种叫做AODV(Ad-hoc On-Demand Distance Vector)的路由选择算法来决定数据的传输路径。
MAC层是Zigbee协议栈的第二层,它负责实现对数据的传输和控制。
MAC层的主要功能包括数据的处理、帧的编码和解码、对信道的管理等。
MAC层使用CSMA-CA(Carrier Sense Multiple Access with Collision Avoidance)协议来控制数据的传输,并通过BEACON帧来管理设备之间的通信。
物理层是Zigbee协议栈的最底层,它负责将数据从电子信号转换为无线信号,并传输到接收设备。
物理层的主要功能包括信号的调制和解调、信道编码和解码、信号的传输和接收等。
Zigbee协议栈还支持一种叫做ZDO(Zigbee Device Object)的设备对象。
ZDO是一个与设备相关的软件模块,提供了设备的管理和控制功能。
ZDO负责设备的发现、加入网络、离开网络、重置等操作,并通过指定的应用程序接口来与设备进行通信。
总的来说,Zigbee协议栈是一个非常复杂的系统,包含了多个层次和各种功能。
它通过不同的层次和模块来实现Zigbee协议的各种特性和功能,从而使得物联网设备之间可以方便地进行通信和控制。
zigbee协议位于osi的哪层
竭诚为您提供优质文档/双击可除zigbee协议位于osi的哪层篇一:zigbee无线网络协议层各层的作用zigbee无线网络协议层各层的作用zigbee无线网络协议层共分为4层,分别为phy层,mac 层,nwk层和apl层,各层作用的简单介绍如下。
1.phy层在zigbee无线网络中,phy层位于协议层的最底层,是距离硬件最近的层,它直接控制并与无线收发器通信。
phy 层负责激活发送或接受数据包的无线设备。
phy层还选择信道的频率并确保该频道当前没有被任何一个其他网络中的设备所使用。
2.mac层mac层为phy层和nwk层提供了接口,它负责产生信标和为信标(beacon-enabled网络)同步设备,mac层还提供建立连接和解除连接的服务。
3.nwk层nwk层接口负责管理网络形成和路径选择。
路径选择就是选择将信息转发到目标设备的路径。
zigbeecoordinator 和router负责发现和维护网络中的路径,zigbee终端设备不能执行发现路径。
zigbeecoordinator或者router将代表终端执行路径发现,zigbeecoordinator的nwk层负责建立一个新的网络和选择网络拓扑(树型,星型,或网状网络拓扑),zigbeecoordinator还为网络中的设备分配网络地址。
4.apl层apl层是zigbee无线网络中的最高协议层并且管理应用对象。
生产商开发应用对象来为各种应用定制一款设备,在zigbee设备中,应用对象控制和管理协议层,单个的设备中最多可以有240个应用对象。
在开发一个应用时,zigbee标准提供了使用应用框架的选择。
应用框架是一系列关于特定应用消息格式和处理动作的协议。
使用应用框架可以使不同供应商开发的同一款应用的产品之间有更好的互操作性。
篇二:网络题目+答案选择:1.ip、telnet、udp分别是osi参考模型的哪一层协议?a.1、2、3b.3、4、5c.4、5、6d.3、7、42.如何跟踪Rip路由更新的过程?a.showiprouteb.debugipripc.showipripd.cleariproute*3.Rip的最大跳数是:__________________a.24b.18c.15d.124.ieee802.1qVlan能支持的最大个数为?a.256b.1024c.2048d.40945.在访问列表中,有一条规则如下:access-list131permitipany192.168.10.00.0.0.255eq ftp在该规则中,any的意思是表示:____________ a.检察源地址的所有bit位b.检查目的地址的所有bit位c.允许所有的源地址d.允许255.255.255.2550.0.0.0 6.访问列表是路由器的一种安全策略,你决定用一个标准ip访问列表来做安全控制,以下为标准访问列表的例子为:______________a.access-liststandard192.168.10.23b.access-list10deny192.168.10.230.0.0.0c.access-list101deny192.168.10.230.0.0.0d.access-list101deny192.168.10.23255.255.255.255 7.当Rip向相邻的路由器发送更新时,它使用多少秒为更新计时的时间值?a.30b.20c.15d.258.如果子网掩码是255.255.255.128,主机地址为195.16.15.14,则在该子网掩码下最多可以容纳多少个主机?a.254b.126c.62d.309.ieee802.1q数据帧用多少位表示Vida.10b.11c.12d.1410.如何在R2624路由器上测试到达目的端的路径a.tracertb.pathpingc.tracerouted.ping11.190.188.192.100属于哪类ip地址a.a类b.b类c.c类d.d类e.e类12.Rip对应的端口号是什么a.25b.23c.520d.6913.校园网设计中常采用三层结构,s1908主要应用在哪一层a.核心层b.分布层c.控制层d.接入层14.对应osi参考模型的网络层在tcp/ip定义叫什么名称?a.应用层b.网际层c.会话层d.传输层15.下列哪些访问列表范围符合ip范围的扩展访问控制列表?a.1-99b.100-199c.800-899d.900-99916.stp交换机缺省的优先级为:______________a.0b.1c.32767d.3276817.ieee制定实现stp使用的是下列哪个标准a.ieee802.1wb.ieee802.3adc.ieee802.1dd.ieee802.1x 18.R2624路由器如何验证接口的acl应用a.showintb.showipintc.showipd.showaccess-list 19.数据包丢失一般是由网络_________________引起的。
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信标。
缩写含义AIB:应用支持层消息AF:应用结构APDU:应用支持层以下数据单位APL:应用层APS:应用支持层APSDE:应用支持层以下数据实体APSDE-SAP:应用支持层数据实体—服务通道APSME:应用支持层管理实体APSME-SAP:应用支持层管理实体—服务通道ASDU:APS服务数据单位BRT:广播重试计时器BTR:广播处理记录BTT:广播处理工作台CCM*:CSMA-CA:载波多重监听通道——避免碰撞FFD:全部功能设备GTS:担保时间跟踪IB:消息数据LQI:连接质量指示LR-WPAN:低速率无线局域网MAC:控制层MCPS-SAP:控制层公共部分—服务通道MIC:消息完整代码MLME-SAP:控制层管理实体—服务通道MSC:消息序列图表MSDU:控制层服务数据单位MSG:消息服务类型NBDT:网络广播发送时间NHLE:下一个更高层实体NIB:网络层信息数据NLDE:网络层数据实体NLDE-SAP:网络层数据实体——服务通道NLME:网络层管理实体NLME-SAP:网络层管理实体——服务通道NPDU:网络层数据单位NSDU:网络服务数据单位NWK:网络OSL:打开系统联络PAN:局域网PD-SAP:物理层数据—指向服务通道PDU:协议数据单位PHY:物理层PIB:局域网消息PLME-SAP:物理层管理实体——指向服务通道POS:私人运作空间QOS:服务质量RREP:路由回答RN:路由接点SKG:SKKE:SSP:安全服务提供SSS:安全服务说明WPAN:无线局域网XML:可扩展语言ZB:ZIGBEEZDO:ZIGBEE设备对象2.1.1APSAPS提供一个工作台在网络层和应用层之间直接服务于ZDO和厂商自定义设备。
Zigbee 无线网络协议层各层的作用
Z i g b e e无线网络协议层各层的作用------------------------------------------作者xxxx------------------------------------------日期xxxx【精品文档】ZigBee 无线网络协议层各层的作用ZigBee 无线网络协议层共分为 4 层,分别为 PHY 层,MAC 层,NWK 层和 APL层,各层作用的简单介绍如下。
1.PHY 层在 ZigBee 无线网络中,PHY 层位于协议层的最底层,是距离硬件最近的层,它直接控制并与无线收发器通信。
PHY 层负责激活发送或接受数据包的无线设备。
PHY 层还选择信道的频率并确保该频道当前没有被任何一个其他网络中的设备所使用。
2.MAC 层MAC 层为PHY 层和NWK 层提供了接口,它负责产生信标和为信标(beacon-enabled 网络)同步设备,MAC 层还提供建立连接和解除连接的服务。
3.NWK 层NWK 层接口负责管理网络形成和路径选择。
路径选择就是选择将信息转发到目标设备的路径。
ZigBee coordinator 和 router 负责发现和维护网络中的路径,ZigBee 终端设备不能执行发现路径。
ZigBee coordinator 或者 router 将代表终端执行路径发现,ZigBee coordinator 的 NWK 层负责建立一个新的网络和选择网络拓扑(树型,星型,或网状网络拓扑),ZigBee coordinator 还为网络中的设备分配网络地址。
4.APL 层APL 层是 ZigBee 无线网络中的最高协议层并且管理应用对象。
生产商开发应用对象来为各种应用定制一款设备,在 ZigBee 设备中,应用对象控制和管理协议层,单个的设备中最多可以有 240 个应用对象。
在开发一个应用时,ZigBee 标准提供了使用应用框架的选择。
应用框架是一系列关于特定应用消息格式和处理动作的协议。
ZigBee协议架构
ZigBee协议架构ZigBee协议是一种低功耗、近距离无线通信协议,主要应用在无线传感器网络(WSN)中。
它是由ZigBee联盟(ZigBee Alliance)所定义和推广的,旨在为物联网设备之间的通信提供一个标准化的解决方案。
本文将介绍ZigBee协议的架构和其主要组件,以及在物联网应用中的应用场景。
一、ZigBee协议架构概述ZigBee协议采用了分层的架构,以便于各个组件的模块化和扩展性。
ZigBee协议架构一般可分为两个主要层次:应用层和网络层。
下面将详细介绍每个层次的主要组件和功能。
1. 应用层应用层是ZigBee协议栈的顶层,负责实现各种应用的功能。
它可以与不同类型的传感器和执行器进行通信,并执行各种任务,如数据采集、控制和管理等。
应用层使用ZigBee Cluster Library(ZCL)定义了一系列的应用框架和应用集群,以便开发人员可以方便地构建自己的应用。
2. 网络层网络层是ZigBee协议栈的中间层,负责实现节点之间的通信和路由功能。
它使用ZigBee网络堆栈协议(ZigBee Network Stack Protocol)来处理数据包的发送和接收,以及路由选择和网络管理等功能。
网络层的核心组件包括ZigBee协调器(ZigBee Coordinator)、路由器(Router)和终端设备(End Device)。
二、ZigBee协议架构组件1. ZigBee协调器ZigBee协调器是在ZigBee网络中的关键组件,它负责启动和管理整个网络,以及分配网络地址和加密密钥等。
协调器可以与多个路由器和终端设备建立连接,并通过网络层协议进行数据传输和路由选择。
此外,协调器还负责处理网络中的任何故障或冲突,并重新分配资源以保持网络的可靠性和稳定性。
2. 路由器路由器是ZigBee网络中的中间节点,它负责转发数据包并实现网络层的路由选择功能。
路由器可以与其他路由器和终端设备建立连接,并通过网络层协议将数据包从源节点传输到目标节点。
ZigBee协议栈学习总结
ZigBee协议栈学习总结近年来,物联网技术发展迅猛,智能家居、智能工厂等应用逐渐普及。
而ZigBee协议作为一种广泛应用于物联网中的低功耗、近距离、网状网络通信协议,受到了广泛的关注和应用。
在ZigBee技术中,协议栈是关键的一环。
本文将对ZigBee协议栈的相关知识进行总结。
一、ZigBee协议栈概述ZigBee协议栈是指在物联网中实现ZigBee通信的软件系统,它包含了多个层级,每个层级负责不同的功能。
ZigBee协议栈分为应用层、网络层、MAC层和物理层,通过这些层级的协同工作,实现了ZigBee设备之间的通信。
1.1 应用层在ZigBee协议栈中,应用层是最上层的一层,负责定义应用数据的传输方式和应用协议。
应用层通过上层应用与下层协议栈进行交互,将上层应用数据封装为ZigBee命令帧发送给网络层。
1.2 网络层网络层是ZigBee协议栈的中间层,负责实现设备的网络发现、路由选择和网络管理等功能。
网络层通过维护网络拓扑结构,实现了ZigBee设备之间的互联互通。
1.3 MAC层MAC层即介质访问控制层,是介于网络层和物理层之间的一层。
MAC层负责管理无线通信信道,实现了数据的可靠传输和统计信息的收集。
1.4 物理层物理层是ZigBee协议栈的最底层,负责处理物理信号的传输和接收。
物理层根据不同的频段和传输速率,将数字信号转换为模拟信号进行无线传输。
二、ZigBee协议栈的工作原理ZigBee协议栈的各层级通过相互协作,实现了物联网设备之间的通信。
协议栈从应用层开始,将上层应用数据经过各层的处理和封装,最终通过物理层进行无线传输。
在接收端,协议栈将接收到的信号依次经过物理层、MAC层、网络层和应用层的解析,最终将数据传递给上层应用进行处理。
三、ZigBee协议栈的特点和优势ZigBee协议栈相较于其他通信协议具有以下特点和优势:3.1 低功耗ZigBee协议栈采用低功耗设计,设备在待机状态下功耗非常低,能够延长设备的使用寿命。
zstack协议栈知识点总结
zstack协议栈知识点总结1. Z-Stack 协议栈架构Z-Stack 协议栈的架构分为四个层次:应用层、安全层、网络层和 MAC 层。
- 应用层:提供应用程序接口,实现应用层协议的处理和应用功能的实现。
- 安全层:实现对数据的加密和认证,确保通信的安全性。
- 网络层:实现 ZIGBEE 网络节点的加入、路由和寻径功能。
- MAC 层:实现对无线通信介质的访问和管理,包括 CSMA/CA 协议、ACK 确认和重传机制等。
2. Z-Stack 协议栈特点Z-Stack 协议栈具有以下几个特点:- 符合 ZigBee 标准:Z-Stack 协议栈严格遵循 ZigBee 标准,保证了与其他 ZigBee 设备的兼容性。
- 易用性:Z-Stack 提供了丰富的开发工具和示例代码,开发者可以快速上手进行开发。
- 灵活性:Z-Stack 支持不同的硬件平台和操作系统,适用于各种嵌入式系统。
- 安全性:Z-Stack 提供了多种安全机制,包括 AES 加密、认证和密钥管理,保证了通信的安全性。
3. Z-Stack 协议栈功能Z-Stack 协议栈实现了 ZigBee 协议的各种功能,包括网络组建、路由管理、数据传输和安全保障等。
- 网络组建:Z-Stack 支持 ZigBee 网络的组建和维护,包括协调器、路由器和终端设备的加入和退出。
- 路由管理:Z-Stack 负责 ZigBee 网络中的路由选择和寻径功能,保证数据的可靠传输。
- 数据传输:Z-Stack 实现了数据的传输和协议控制,包括数据帧封装、数据确认和重传机制。
- 安全保障:Z-Stack 提供了数据的加密、认证和密钥管理功能,保证通信的安全性。
4. Z-Stack 协议栈应用Z-Stack 协议栈广泛应用于物联网、智能家居、工业控制和传感器网络等领域,实现设备之间的无线通信和数据交换。
- 物联网应用:Z-Stack 协议栈可以用于连接各种传感器、执行器和控制器,构建物联网设备之间的通信网。
ZigBee协议
ZigBee协议协议名称:ZigBee协议一、引言ZigBee协议是一种无线通信协议,旨在为低功耗、低数据速率的应用提供可靠的通信。
本协议旨在定义ZigBee网络的架构、通信方式、数据格式以及协议栈的实现规范,以确保不同厂商的设备能够互相兼容和互操作。
二、范围本协议适合于使用ZigBee技术的设备之间的通信,包括但不限于家庭自动化、楼宇自动化、工业控制、智能电网等领域。
三、术语和定义3.1 ZigBee设备:指符合ZigBee协议规范的设备,包括协调器、路由器和终端设备。
3.2 协调器:指ZigBee网络中的主设备,负责网络的管理和协调。
3.3 路由器:指ZigBee网络中的中间设备,负责数据的中继和路由。
3.4 终端设备:指ZigBee网络中的终端设备,负责与用户交互和执行特定功能。
3.5 网络拓扑:指ZigBee网络中设备之间的连接方式和关系。
3.6 网络层:指ZigBee协议栈中负责网络管理和路由的层次。
3.7 应用层:指ZigBee协议栈中负责应用数据传输的层次。
四、网络架构4.1 网络拓扑ZigBee网络采用星型、网状或者混合拓扑结构。
其中,星型拓扑中协调器作为中心节点,终端设备直接与协调器通信;网状拓扑中终端设备通过路由器中继数据;混合拓扑结构则是星型和网状拓扑的组合。
4.2 网络组建ZigBee网络由一个协调器和多个路由器、终端设备组成。
协调器负责网络的组建和管理,路由器负责数据的中继和路由,终端设备负责与用户交互和执行特定功能。
五、通信方式5.1 网络发现新加入ZigBee网络的设备需要进行网络发现,以便与网络中的其他设备建立连接。
设备可以通过主动发现和被动发现两种方式进行网络发现。
5.2 数据传输ZigBee网络使用分层的协议栈进行数据传输。
应用层数据通过网络层进行封装,并通过物理层进行传输。
数据传输可以使用广播、单播或者多播方式。
5.3 安全性ZigBee协议提供了多种安全机制,包括身份验证、数据加密和访问控制。
zigbee协议规范
zigbee协议概述1.1.1ZigBee堆栈层ZigBee堆栈是在IEEE 802.15.4标准基础上建立的,定义了协议的MAC和PHY层。
ZigBee设备应该包括IEEE802.15.4(该标准定义了RF射频以及与相邻设备之间的通信)的PHY和MAC层,以及ZigBee堆栈层:网络层(NWK)、应用层和安全服务提供层。
图1-1给出了这些组件的概况。
图1-1 zigbe堆栈框架每个ZigBee设备都与一个特定模板有关,可能是公共模板或私有模板。
这些模板定义了设备的应用环境、设备类型以及用于设备间通信的簇。
公共模板可以确保不同供应商的设备在相同应用领域中的互操作性。
设备是由模板定义的,并以应用对象(Application Objects)的形式实现(见图1-1)。
每个应用对象通过一个端点连接到ZigBee堆栈的余下部分,它们都是器件中可寻址的组件从应用角度看,通信的本质就是端点到端点的连接(例如,一个带开关组件的设备与带一个或多个灯组件的远端设备进行通信,目的是将这些灯点亮)。
端点之间的通信是通过称之为簇的数据结构实现的。
这些簇是应用对象之间共享信息所需的全部属性的容器,在特殊应用中使用的簇在模板中有定义。
图1-1-2就是设备及其接口的一个例子:每个接口都能接收(用于输入)或发送(用于输出)簇格式的数据。
一共有二个特殊的端点,即端点0和端点255。
端点0用于整个ZigBee设备的配置和管理。
应用程序可以通过端点0与ZigBee堆栈的其它层通信,从而实现对这些层的初始化和配置。
附属在端点0的对象被称为ZigBee设备对象(ZD0)。
端点255用于向所有端点的广播。
端点241到254是保留端点。
所有端点都使用应用支持子层(APS)提供的服务。
APS通过网络层和安全服务提供层与端点相接,并为数据传送、安全和绑定提供服务,因此能够适配不同但兼容的设备,比如带灯的开关。
APS使用网络层(NWK)提供的服务。
Zigbee协议剖析低功耗无线个人局域网的核心协议
Zigbee协议剖析低功耗无线个人局域网的核心协议Zigbee协议是一种为物联网设备之间相互通信而设计的低功耗无线个人局域网协议。
本文将对Zigbee协议进行剖析,并探讨其在低功耗无线个人局域网中的核心协议。
一、Zigbee协议简介Zigbee协议是一个开放的国际标准,它基于IEEE 802.15.4标准,主要用于低功耗、低速率的无线个人局域网。
该协议被广泛应用于家庭自动化、智能照明、无线传感器网络等领域。
二、Zigbee协议架构Zigbee协议采用分层架构,包括物理层、MAC层、网络层和应用层。
各层之间通过定义好的接口进行沟通,并根据不同的应用需求进行灵活配置和使用。
1. 物理层物理层负责无线信号的传输和接收,包括频率的选择、调制和解调、数据帧的生成和检测等功能。
Zigbee协议操作于2.4GHz、915MHz或868MHz的无线频段,可根据不同的需求选择合适的频段。
2. MAC层MAC层负责协调网络中各个节点的数据传输,控制数据的分发和接收。
它包括信道访问机制、确认和重传机制、能量管理等功能,可提高网络的可靠性和效率。
3. 网络层网络层负责路由和寻址功能,确保数据包能够准确地传输到目标节点。
它采用了多种路由算法,使网络具有高度的自组织和灵活性。
4. 应用层应用层负责定义各种应用场景所需的服务和协议,包括传感器数据的采集、设备的控制和配置等功能。
Zigbee协议支持多种应用层协议,如Zigbee Home Automation(ZHA)、Zigbee Light Link(ZLL)等。
三、Zigbee协议特点Zigbee协议在低功耗无线个人局域网中具有以下特点:1. 低功耗Zigbee协议采用了严格的协议控制和低功耗技术,在保证设备正常工作的同时,最大限度地减少了能量消耗,延长了设备的续航时间。
2. 自组织网络Zigbee协议使用了自组织网络技术,节点可以自动加入和离开网络,具有高度灵活性和扩展性。
Zigbee的协议栈结构是什么?
Zigbee的协议栈结构是什么?
接下来我们再了解一下Zigbee的协议栈,如下图所示。
从上图可以看出,协议层结构分为硬件与软件,硬件层包括IEEE802.15.4定义的PHY(物理层)和MAC(介质访问层),软件层为Zigbee联盟定义的NWK(网络层)、APS(应用程序支持层)、APL(应用层)。
对于Zigbee协议栈的使用者而言,无非就是利用协议栈实现Zigbee设备组网、数据发送和数据接收功能。
智能家居开发工程师在采用Zigbee技术上一般可以通过以下两种方式实现。
一为直接采用Zigbee模块,模块与系统控制MCU通信,将要组网和数据收发功能通过Zigbee模块去实现。
这样做的优点是系统开发周期短、技术难度小、回避射频设计,缺点是成本高,体积大。
另一种为采用带有Zigbee功能的SoC,将系统应用与Zigbee系统融合为一体。
优点为集成度高、成本低;缺点为技术难度高,需要具有一定的射频设计能力。
zigbee协议栈深入详解
zigbee协议栈2010-03-10 15:11zigbee协议栈结构由一些层构成,每个层都有一套特定的服务方法和上一层连接。
数据实体(data entity)提供数据的传输服务,而管理实体(managenmententity)提供所有的服务类型。
每个层的服务实体通过服务接入点(Service AccessPoint.SAP)和上一层相接,每个SAP提供大量服务方法来完成相应的操作。
ZigBee协议栈基于标准的OSI七层模型,但只是在相关的范围来定义一些相应层来完成特定的任务。
IEEE 802.15.4—2003标准定义了下面的两个层:物理层(PHY层)和媒介层(MAC层)。
ZigBee联盟在此基础上建立了网络层(NWK 层)以及应用层(APL层)的框架(framework)。
APL层又包括应用支持子层(Application Support Sub—layer,APS)、ZigBee的设备对象(ZigBee Device 0bjects。
ZD0)以及制造商定义的应用对象。
1物理层(PHY)IEEE802.15.4协议的物理层是协议的最底层,承担着和外界直接作用的任务。
它采用扩频通信的调制方式,控制RF收发器工作,信号传输距离约为50m(室内)或150m(室外)。
IEEE802.15.4.2003有两个PHY层,提供两个独立的频率段:868/915MHz 和2.4GHz。
868/915MHz频段包括欧洲使用的868MHz频段以及美国和澳大利亚使用的915MHz频段,2.4GHz频段世界通用。
2媒体访问控制层(MAC)MAC层遵循IEEE802.15.4协议,负责设备间无线数据链路的建立、维护和结束,确认模式的数据传送和接收,可选时隙,实现低延迟传输,支持各种网络拓扑结构,网络中每个设备为16位地址寻址。
它可完成对无线物理信道的接入过程管理,包括以下几方面:网络协调器(coordinator)产生网络信标、网络中设备与网络信标同步、完成PAN的入网和脱离网络过程、网络安全控制、利用CSMA—CA机制进行信道接入控制、处理和维持GTS(Guaranteed Time Slot)机制、在两个对等的MAC实体间提供可靠的链路连接。
zigbee协议栈
zigbee协议栈
ZigBee协议栈是一种低功耗、近距离、无线通信协议,
它以IEEE 802.15.4标准为基础,支持点对点和星形拓扑网络。
ZigBee协议栈分为物理层、MAC层、网络层和应用层。
物理层:ZigBee的物理层工作于2.4GHz带宽,提供了
16个信道,可以在不同频段工作。
此外,它还支持双向数据
传输、自适应,能够自动优化网络性能。
物理层与MAC层之间的接口在帧结构中定义。
MAC层:ZigBee MAC层是机制,它负责管理网络的访问
控制、组织网络拓扑结构等。
在ZigBee中,通信是按照设备
类型进行的,有一些设备被指定为“协调器”,这些设备负责管理网络中的资源,调度传输时间等。
网络层:ZigBee网络层的主要职责是管理设备之间的通信,为应用层提供稳定的通信基础。
它提供了一组缺省的网络协议,可以在多种不同环境下使用。
应用层:ZigBee应用层是通过使用设备描述文件来定义
应用层协议和服务的标准集合。
通过设备描述文件(或“簇”),应用程序可以访问底层硬件和网络服务。
总之,ZigBee协议栈是一种广泛应用于安防、能源管理、自动化等领域的低功耗、近距离、无线通信协议,能够支持多种应用需求,有着良好的安全性和稳定性。
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 帧尾。
zigbee协议栈
zigbee协议栈Zigbee协议栈是一种基于IEEE 802.15.4无线技术的低功耗通信协议,用于构建无线传感器网络和物联网设备。
它由几个层次的协议组成,包括物理层、MAC层、网络层和应用层。
物理层是Zigbee协议栈的最底层,负责无线信号传输和接收。
它定义了无线模块和设备的硬件要求,包括频率、调制方式、传输速率等。
在物理层之上是MAC层,负责网络节点之间的数据传输和管理。
它提供了一系列函数,用于数据包的发送和接收,以及网络节点的寻址和路由。
网络层位于MAC层之上,负责整个网络的拓扑结构和数据路由。
每个节点都有一个唯一的网络地址,用于标识和寻址。
网络层使用路由算法决定最佳的数据传输路径,以确保数据的可靠传输。
最上层是应用层,这是开发人员编写应用程序的层次。
它提供了一系列应用程序程序接口(API),用于数据的发送和接收。
开发人员可以利用这些API实现各种应用程序,如传感器数据采集、远程控制等。
Zigbee协议栈具有以下几个特点。
第一,低功耗。
由于无线传感器网络和物联网设备通常是由电池供电,因此低功耗是一个非常重要的设计考虑。
Zigbee协议栈通过最小化数据传输以及使用睡眠和唤醒机制来实现低功耗。
第二,短距离通信。
Zigbee协议栈的设计目标是用于部署在短距离范围内的网络,通常不超过100米。
这使得它非常适用于家庭自动化、智能电网等场景。
第三,高可靠性。
Zigbee协议栈支持多路径数据传输,以确保数据能够在网络中快速可靠地传输。
此外,它还支持自动路由和包重传机制,以应对网络中节点的故障或丢失。
第四,安全性。
Zigbee协议栈支持数据加密和身份验证功能,确保数据在传输过程中的保密性和完整性。
这对于保护物联网设备和网络免受黑客攻击非常重要。
总的来说,Zigbee协议栈是一种可靠、低功耗、安全的通信协议,适用于构建无线传感器网络和物联网设备。
它的设计目标是满足家庭自动化、智能电网等应用场景中的通信需求。
ZigBee协议栈的分析与设计
ZigBee协议栈的分析与设计ZigBee协议栈的分析与设计引言随着物联网的不断发展,无线传感器网络(WSN)得到了广泛的应用。
ZigBee作为一种低功耗、短距离、低带宽的无线通信协议,逐渐成为物联网中最受欢迎的通信协议之一。
本文将对ZigBee协议栈进行深入的分析与设计,以期更好地理解其工作原理并提供一种优化方案。
一、ZigBee协议栈的结构与功能1. ZigBee协议栈结构ZigBee协议栈由两部分组成:上层和下层。
上层包括应用层(Application Layer)、网络层(Network Layer)和安全层(Security Layer)。
下层包括物理层(Physical Layer)和介质访问控制层(Media Access Control Layer)。
2. ZigBee协议栈功能- 物理层(Physical Layer):负责将数据转换为无线信号,通过无线传输介质进行通信。
ZigBee协议栈支持多种物理层标准,例如2.4GHz、900MHz和868MHz等。
- 介质访问控制层(Media Access Control Layer):负责数据帧的分发和接收,同时处理多跳中继和协议转发。
- 网络层(Network Layer):提供网络拓扑管理、路由选择、数据包传输和安全性等功能。
ZigBee协议栈使用了Ad-hoc On-Demand Distance Vector(AODV)路由协议来实现自组网和动态路由选择。
- 应用层(Application Layer):定义应用程序的协议和接口,包括设备发现、网络配置、设备控制等功能。
- 安全层(Security Layer):提供数据加密和认证等安全机制,确保通信的可靠性和机密性。
二、ZigBee协议栈的分析1. 物理层分析ZigBee协议栈采用低功耗、短距离的射频通信技术。
2.4GHz频段是其最常用的无线传输介质,具有广泛的应用领域。
ZigBee协议栈使用了Direct Sequence Spread Spectrum (DSSS)技术来提高抗干扰性能。
Zigbee协议概述
Zigbee协议概述Zigbee协议是一种低功耗、短距离无线通信协议,专门设计用于无线传感器网络(WSN)应用。
它基于IEEE 802.15.4 标准,采用了星型网络拓扑结构,可实现可靠的数据传输和设备间的低功耗通信。
本文将对Zigbee协议的特点、架构以及应用进行详细概述。
一、Zigbee协议特点Zigbee协议具有以下几个显著的特点:1. 低功耗:Zigbee协议专为低功耗应用设计,能够延长设备的电池寿命,从而实现更长时间的运行。
2. 自组织网络:Zigbee设备能够通过协调器完成自组织网络的建立,使得网络的搭建非常方便,而且可靠性高。
3. 网络容量大:Zigbee协议支持大规模的设备连接,可以实现数千个设备之间的通信。
4. 安全性高:Zigbee协议采用了多层的安全机制,包括对数据的加密和认证,保证网络的安全性。
5. 跨平台互联:Zigbee协议可以与其他无线通信技术实现互联互通,如与Wi-Fi、蓝牙等进行无缝连接。
二、Zigbee协议架构Zigbee协议采用了分层体系结构,包括应用层、网络层、MAC层和物理层。
各层的功能如下:1. 应用层:负责定义应用数据的格式和协议,包括设备间的通信、节点功能以及数据处理等。
2. 网络层:负责设备的寻址和路由选择,提供无线网络中的数据传输功能。
3. MAC层:负责保证数据传输的可靠性和低延迟,包括数据的分组和重传等功能。
4. 物理层:负责将数据转换为无线信号并进行无线传输,包括信道选择、调制解调和功率控制等。
三、Zigbee协议应用Zigbee协议在各个领域有着广泛的应用,以下列举了几个典型的应用场景:1. 智能家居:Zigbee协议可以实现家庭内各种智能设备之间的互联互通,如照明控制、电器控制、门窗监测等。
2. 工业自动化:Zigbee协议可以应用于工业环境中,实现设备的远程监控和控制,提高生产效率和安全性。
3. 物联网:Zigbee协议是物联网中的一种重要通信协议,可以连接各种传感器和控制设备,实现物体之间的智能互联。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
竭诚为您提供优质文档/双击可除zigbee协议栈各层的功能篇一:zigbee协议栈各层分析3.4.2协议栈概况本课题研究的系统zigbee协议栈设计基于msstate_lRwpan。
msstate_lRwpan是由美国密西西比州立大学的Robertb.Reese教授开发的一套zigbee协议的简化实现。
该协议栈可用于多种硬件平台,实现了协调器、路由器和精简功能节点之间的树路由、直接消息传输并用静态绑定方法实现了间接路由[[xxxix]]。
课题在对该协议栈进行深入分析的基础上,根据本课题中使用硬件平台的实际情况进行修改,将其移植到msp430+cc2420的硬件平台上来。
程序使用c语言编写,使用iaR公司的ew430工具作为集成开发环境,编译后下载到目标板的msp430芯片中。
协议栈使用有限状态机(Fsm,Finitestatemachine)的编程方式,在协议的每一层实现单独的有限状态机来跟踪该层的工作状态,整个协议栈采用嵌套调用的方式,上层调用下层的有限状态机,实现完整协议栈的运行。
最顶层的有限状态机是应用程序支持子层(aps)的apsFsm(),需要周期性的调用,以维持整个协议栈正常运行。
经过对msstate_lRwpan协议各层源程序的原理和实现方法进行分析后发现,在将协议栈从一种硬件平台移植到另外一种硬件平台时,需要修改的主要是物理层(phy)和媒体接入控制层(mac),这两层与硬件联系紧密,需要针对节点硬件的实际连接方式作较大的修改,涉及的文件主要有cc2420.c、clockhal.c和halstack.c等。
phy层和mac层屏蔽了硬件的差异,上层协议通过服务接入点(sap,serviceaccesspoint)使用下层协议提供的服务,透明地完成对硬件的控制,所以网络层(nwk)和应用层(aps)等文件要作的改动较小。
3.4.3物理层phy物理层是协议的最底层,承担着和外界直接作用的任务。
该层定义了物理无线信道和mac子层之间的接口,提供物理层数据服务和管理服务。
数据服务负责控制射频收发器的工作,从物理无线信道上收发数据,主要有以下几个方面的功能[[xl],[xli]]:(1)激活和休眠射频收发器;(2)信道能量检测;(3)检测接收到数据包的链路质量指示(lqi,linkqualityindication);(4)空闲信道评估(cca,clearchannelassessment);(5)收发数据。
为了提高协议栈的可移植性,让它可以灵活方便地应用于其它类型的硬件平台,从物理层中划分出一部分与硬件联系极为紧密的操作,形成硬件抽象层(hal,hardwareabstractlayer),这一层中的函数大多涉及到对硬件器件端口和寄存器的直接操作,包含对一部分硬件的初始化和一些中断函数入口定义。
硬件抽象层中的主要函数有:(1)halinit(void):对硬件抽象层的初始化。
包含了对串口uaRt和计时器mactimer的初始化。
(2)halinituart(void):对串口uaRt的初始化。
对连接uaRt的管脚设置i/o方向和功能,选择时钟信号源为smclk,设置波特率为57600,打开usaRt1的发送和接收使能并打开接收中断。
(3)halgetch(void):从接收缓存中读取数据。
(4)halgetchRdy(void):根据头指针和尾指针的位置判断是否接收到数据。
(5)halputch(charc):等待发送缓存可用时,向其中写入一个字节的数据进行发送。
(6)halinitmactimer(void):初始化计时器。
(7)halgetprocessorieeeaddress(byte*buf):获取节点的64位ieee长地址,存在buf指向的数组内。
(8)halwaitms(uint32msecs):等待毫秒级的一段时间。
(9)halsleep(uint32msecs):在看门狗溢出时间内处于lpm1低功耗模式。
(10)uart1_intr(void):uaRt1中断处理函数,从接收缓存RxbuF1中读取接收到的数据。
(11)watchdog_timer(void):看门狗中断处理函数,从lpm1低功耗休眠模式中退出。
在物理层phy中实现的主要是初始化函数和物理层有限状态机phyFsm。
物理层的初始化函数phyinit(void)对存储区域进行了初始化,将堆栈清空,并指示物理层有限状态机进入空闲状态。
物理层有限状态机设计如图3-10所示。
图3-10物理层有限状态机phyFsm物理层有限状态机接收上层指令,做初始化射频模块RF 和向RF发送数据包的工作。
数据包发送给RF模块后需要等待RF模块返回的消息以确认数据被正确地发出,如果超时,将在RF模块空闲时,再次重发。
物理层的数据帧格式[1]如图3-11所示。
首先是四个字节的前导序列符(preamble),用于收发器从中提取时钟信号,完成片同步和符号同步;然后是帧定界符(sFd),其值固定为0xa7,标识一个物理帧的开始,保证收发器与字节的同步;接着是负载长度域,由一个字节的低七位表示,因此物理帧的负载长度不能超过127个字节;最后是物理服务数据单元(psdu,physervicedataunit),也就是物理层向RF发出的数据会由cc2420自动加上相应的同步头,故在程序中不再考虑帧头的计算与添加。
3.4.4媒体接入控制层macmac层使用物理层提供的服务实现设备间的数据帧传输,负责设备间无线数据链路的建立、维护和终结,其提供的数据服务保证mac协议数据单元(pdu,protocoldataunit)在物理层的数据服务中能够正确收发。
mac层的主要有以下几个方面的功能[38]:(1)协调器产生并发送信标帧,普通设备根据信标帧与进行协调器同步;(2)支持无线信道通信安全机制;(3)提供csma-ca信道访问机制;(4)提供时隙保障(gts,guaranteedtimeslot)机制;(5)提供不同设备mac层间的可靠传输。
在mac层中,设备有两种地址格式:16位的短地址(shortaddress)和64位的扩展地址(extendedaddress)。
16位短地址是设备加入pan网络时,由协调器为其分配的网内局部地址,随着网络拓扑和设备在pan网络中所处层次的不同会有所变化。
64位扩展地址是由ieee分配的全球唯一地址,在设备制造时即已确定且不可改变。
mac层工作时的很多特性由一些特定的数据决定[[xlii]]。
这些数据有的是由协议和硬件决定的常量,有的是可以由上层软件根据需要通过相应的服务原语来设置或改变的。
这些可以改变的数据称为属性,把它们集中在一起管理,称之为pib(paninformationbase)。
可以通过服务原语实现对这些属性的操作。
mac层的主要函数有:(1)macinit(void):mac层的初始化函数,初始化mac_pib,清空节点间的连接。
(2)macwarmstartRadio(void):初始化RF射频模块,设置使用的信道、panid和当前节点短地址。
(3)mactxdata(void):发送mac层数据包。
首先格式化数据帧头,然后格式化信息来源地址和来源panid,再格式化信息目的地址和目的panid,并格式化数据帧的序列号(dsn,dataserialnumber),最后格式化msb和lsb,写入数据帧的长度,并交给下层进行发送。
(4)macparsehdr(void):分析获取接收到的数据帧的帧头所包含的信息。
从中读取目的panid,目的地址和来源地址等。
(5)macFormatbeacon(void):格式化信标帧。
依次填入魔术数,当前节点的深度,网络层协议版本号,协议栈配置,zigbee协议id和超帧。
(6)macparsebeacon(void):处理收到的信标帧。
从信标帧中读取超帧、协议的id和版本号等,如果有与本设备不兼容的地方,则丢弃。
如果检验通过,条件符合,则以发出信标帧的传感器节点作为父节点。
设置完成之后发出接收到信标帧的确认信息。
(7)macparseassocResponse(void):处理协调器对加入请求的返回。
如果协调器同意加入,则从中获取分配给自已的短地址,并将自已的panid设置成和协调器相同。
记录父节点的长地址并发送加入成功的确认信息。
(8)maccheckdataRejection(void):判断是否对接收到的信息进行处理。
对RFd来说,只有由父节点发出的数据帧才会被接受;对路由器来说,只接受来自与自已关联的传感器节点的数据帧。
mac的有限状态机设计为主状态机macFsm、发送状态机txFsm和接收状态机RxFsm三个。
发送状态机txFsm和接收状态机RxFsm完成对数据包的提交和下发,并完成一些应答等一般请求。
接收状态机RxFsm的设计如图3-12所示。
如果物理层没有数据提交上来,则保持空闲状态。
物理层提交的数据包有三种形式:应答帧、数据帧和请求帧。
对于应答帧,RxFsm 可直接处理,不需要交给主状态机macFsm;对于数据帧,如果通过验证确信是发送给本节点的,刚提交给网络层处理,并在mac层将数据包释放,等待处理下一个数据包(注意:不能释放数据包的存储区域,因为网络层处理时会从此区域中读取数据);对于请求帧,RxFsm没有办法处理,将交由主状态机macFsm决定,如果macFsm已处理,则释放该数据包,清除存储区域。
图3-12mac层接收状态机RxFsm发送状态机txFsm的设计如图3-13所示。
每次只允许一个数据包处一在发送状态,当之前发出的数据包返回状态不为成功时,或者物理层协议栈处于忙碌状态,txFsm会保持空闲状态;如果启动时发生错误,会尝试重发数据,直至超过设定的最大重试次数,则不再处理,进入空闲状态;在启动正常的情况下,如果收到应答帧或数据帧不要求应答,则直接进入空闲状态,如果超时后尚未收到应答帧,则返回相应指示后进入空闲状态。
图3-13mac层发送状态机txFsm主状态机macFsm的设计如图3-14所示,主要是对命令和一些请求作出响应。
该状态机负责发出各种类型的命令帧和数据帧。
接收到命令后,状态机进入命令启动状态,如果是上层要求发送普通的数据帧,则交给底层等待发送,确定发送完成后,回到空闲状态;如果收到的是错误的服务请求,也即虚拟服务,则不作处理,直接回到空闲状态。
接收到的其它类型信令帧主要分为三种:信标帧、孤儿节点请求加入帧和网络请求加入帧。
如果网络中有节点由于掉电等原因而重启,子节点将会断开与之前绑定的父节点之间的连接,成为孤儿节点,这时需要重新与父节点进行绑定,发出的信令帧即孤儿请求。