进行ZigBee无线传感器网络的开发,首先面临的问题是ZigBee协议栈,以及由此引发的问题:ZigBee协议栈和ZigBee协议是什么关系;如何使用ZigBee协议栈进行应用程序的开发。
协议定义了一系列通信标准,通信双方需要共同按照这一标准进行正常的数据收发。协议栈是协议的具体实现形式,可通俗地理解为用代码实现的函数库,以便于开发人员调用。
ZigBee的协议分为两部分:IEEE 802.15.4定义了物理层和MAC层技术规范;ZigBee联盟定义了网络层、安全层和应用层技术规范。ZigBee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层API,供用户调用。
ZigBee协议栈由一组子层构成。每层为其上层提供一组特定的服务:一个数据实体提供数据传输服务,一个管理实体提供其他服务。每个服务实体通过一个服务接入点(SAP)为其上层提供服务接口,并且每个SAP提供了一系列的基本服务指令来完成相应的功能。
ZigBee协议栈的体系结构如图5-1所示。它虽然是基于标准的七层开放式系统互联(OSI)模型,但仅对那些涉及ZigBee的层予以定义。IEEE 802.15.4-2003标准定义了最下面的两层:物理层(PHY)和介质接入控制子层(MAC)。ZigBee联盟提供了网络层和应用层(APL)框架的设计。其中应用层的框架包括了应用支持子层(APS)、ZigBee设备对象(ZDO)和由制造商制订的应用对象。
图5-1 ZigBee体系结构模型
ZigBee建立在802.15.4标准之上,它确定了可以在不同制造商之间共享的应用纲要。IEEE 802.15.4是IEEE确定的低速率无线个域网(personal area network)标准。这个标准定义了“PHY层”和“MAC层”。PHY层规范确定了在2.4 GHz频段以250 kb/s的基准传输速率工作的低功耗展频无线电,以及以更低数据传输速率工作在915 MHz和868 MHz频段的实体层规范。
介质访问层(MAC)规范定义了在同一区域工作的多个802.15.4无线电信号如何共享空中通道。介质存取层支持几种架构,包括星状拓扑结构(一个节点作为网络协调点,类似于802.11的接入点),树状拓扑结构(一些节点依次经过另一些节点才到达网络协调点)和网状拓扑结构(无须主协调器,各个节点之间分担路由职责)。
但是仅仅定义PHY(物理)层和MAC(介质访问)层并不足以保证不同设备之间可以对话,于是便有了ZigBee联盟。 ZigBee联盟从802.15.4标准开始,定义了允许不同厂商制造的设备相互对话的应用纲要。例如,ZigBee“灯纲要”会确定相关的所有协议,保证从A公司买的ZigBee灯开关能配合B公司的灯正常工作。
因为IEEE仅处理低级MAC层和物理层协议,所以ZigBee联盟对其网络层协议和API进行了标准化。ZigBee完整协议栈用于一次可直接连接到一个设备的基本节点的4K字节或者作为Hub或路由器的协调器的32K字节。每个协调器可连接多达255个节点,而几个协调器则可形成一个网络,对路由传输的数目则没有限制。ZigBee联盟还开发了安全层,以保证这种便携设备不会意外泄漏其标识,而且这种利用网络的远距离传输不会被其他节点获取。(www.xing528.com)
1.IEEE 802.15.4物理层(PHY)
来自IEEE 802.15.4物理层协议数据单元(PPDU)的二进制数据被依次(按字节从低到高)组成4位二进制数据符号,每种数据符号(对应16个状态组中的1组)被映射成32位伪噪声码片(chip),以便传输。然后这个连续的伪噪音码片(chip)序列被调制(采用最小键控方式)到载波上,即采用半正弦脉冲波形的偏移正交相移键控(OQPSK)调制方式。
868/915 MHz频段物理层使用简单的直接序列扩频(DSSS)方法,每个PPDU数据传输位被最大长为15的chip序列所扩展(即被多组+1、-1构成的m-序列编码),然后使用二进制相移键控技术调制这个扩展的位元序列。不同的数据传输速率适用于不同的场合。例如:868/915 MHz频段物理层的低速率换取了较好的灵敏度和较大的覆盖面积,从而减少了覆盖给定物理区域所需的节点数。2.4 GHz频段物理层的较高速率适用于较高的数据吞吐量、低延时或低作业周期的场合。
2.IEEE 802.15.4 MAC层
IEEE 802.15.4 MAC层提供两种服务:MAC层数据服务和MAC层管理服务。管理服务通过MAC层管理实体(MLME)服务接入点(SAP)访问高层。MAC层数据服务使MAC层协议数据单元(MPDU)的收发可以通过物理层数据服务。IEEE 802.15.4 MAC层的特征有信标管理、信道接入机制、保证时隙(GTS)管理、帧确认、确认帧传输、节点接入和分离。
3.网络层(NWK)
ZigBee协议栈的核心部分在网络层。网络层主要实现节点加入或离开网络、接收或抛弃其他节点、路由查找,以及传送数据等功能,支持星形(star)、树形(cluster-tree)、网格(mesh)等多种拓扑结构。
4.应用层(APP)
应用层由用户开发提供功能服务函数。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。