Zigbee协议的体系结构


1、Zigbee协议体系结构

Zigbee协议的体系结构

 

Zigbee协议的体系结构


看了Zigbee的体系结构,联想到TCP/IP的体系结构,觉得似乎每个协议都是由OSI七层协议演化而来的,由图可以看出IEEE802.15.4定义了物理层和MAC层,而Zigbee联盟定义了网络层、应用层技术规范,每一层为其上层提供特定的服务:即由数据服务实体提供数据传输服务;管理实体提供所有的其他管理服务。每个服务实体通过相应的服务接入点(SAP)为其上层提供一个接口,每个服务接入点通过服务原语来完成所对应的功能。各层介绍如下,C+V很是方便,嘿嘿

物理层(PHY

物理层定义了物理无线信道和MAC 子层之间的接口,提供物理层数据服务和物理层管

理服务。­物理层数据服务从无线物理信道上收发数据。­物理管理服务维护一个由物理层相关数据组成的数据库。

物理层功能

1)ZigBee 的激活;

2)当前信道的能量检测;

3)接收链路服务质量信息;

4)ZigBee 信道接入方式;

5)信道频率选择;

6)数据传输和接收。

MAC

MAC 层负责处理所有的物理无线信道访问,并产生网络信号、同步信号;支持PAN 连接和分离,提供两个对等MAC 实体之间可靠的链路。_MAC 层数据服务:保证MAC 协议数据单元在物理层数据服务中正确收发。MAC 层管理服务:维护一个存储MAC 子层协议状态相关信息的数据库。

MAC 层功能

1)网络协调器产生信标;

2)与信标同步;

3)支持PAN(个域网)链路的建立和断开;

4)为设备的安全性提供支持;

5)信道接入方式采用免冲突载波检测多址接入(CSMA-CA)机制;

6)处理和维护保护时隙(GTS)机制;

7)在两个对等的MAC 实体之间提供一个可靠的通信链路。

网络层(NWK)

ZigBee 协议栈的核心部分在网络层。网络层主要实现节点加入或离开网络、接收或抛弃其他节点、路由查找及传送数据等功能,支持Cluster-Tree 等多种路由算法,支持星形(Star)、树形(Cluster-Tree)、网格(Mesh)等多种拓扑结构。

Zigbee协议的体系结构

  网络层功能:

   1)网络发现;

   2)网络形成;

   3)允许设备连接;

   4)路由器初始化;

   5)设备同网络连接;

   6)直接将设备同网络连接;

   7)断开网络连接;

   8)重新复位设备; 

   9)接收机同步;

   10)信息库维护。

应用层(APL)

ZigBee 应用层框架包括应用支持层(APS)、ZigBee 设备对象(ZDO)和制造商所定义的应用对象。应用支持层的功能包括:维持绑定表、在绑定的设备之间传送消息。所谓绑定就是基于两台设备的服务和需求将它们匹配地连接起来。

ZigBee 设备对象的功能包括:定义设备在网络中的角色(如ZigBee 协调器和终端设备),发起和响应绑定请求,在网络设备之间建立安全机制。ZigBee 设备对象还负责发现网络中的设备,并且决定向他们提供何种应用服务。ZigBee 应用层除了提供一些必要函数以及为网络层提供合适的服务接口外,一个重要的功能是应用者可在这层定义自己的应用对象。

应用程序框架(AF):

运行在ZigBee协议栈上的应用程序实际上就是厂商自定义的应用对象,并且遵循规范(profile)运行在端点1~ 240上。在ZigBee应用中,提供2种标准服务类型:键值对(KVP)或报文(MSG)

ZigBee设备对象(ZDO):

远程设备通过ZDO请求描述符信息,接收到这些请求时,ZDO会调用配置对象获取相应描述符值。另外,ZDO提供绑定服务。 

ZigBee 节点类型三种

ZigBee 协调者---coord 为协调者节点

a) 每个ZigBee 网络必须有一个

b) 初始化网络信息.

ZigBee 路由器---router 为路由节点

a) 路由信息

ZigBee 终端节点---rfd 为终端节点

a) 没有路由功能–低价格

2、ZStack协议栈构架

   Zigbee协议栈就是将各个层定义的协议都集合在一起,以函数的形式实现,并给用户提供一些应用层API,供用户调用。协议栈体系分层架构与协议栈代码文件夹对应表如下:Zigbee协议的体系结构

整个协议栈的构架,如图所示

Zigbee协议的体系结构


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:输出文件目录,这个EW8051 IDE 自动生成的。 

3、ZigBee2006协议栈源码库结构分析

   了解了ZigBee2006协议栈整个构架后,再来看看协议栈源码库结构是什么样的,各层的具体文件是什么,建立不同的项目、添加自己的应用层任务及处理函数需要修改什么文件。

   ZigBee2006协议栈ZStack-1.4.2文件目录及说明如下:

Zigbee协议的体系结构
打开SmapleAPP项目工程

先看APP层:

Zigbee协议的体系结构

从上图可以看出,对于不同的项目,大部分代码都是相同的,只是在用户应用层,添加了不同的任务及事件处理函数。因此一般情况下,用户只需额外添加上图中的三个文件(主文件、头文件、操作系统接口文件)就可以完成一个项目,然后编写自己的任务处理函数就可以了。

HAL层目录:

Zigbee协议的体系结构

Common目录下的文件是公用文件,基本上与硬件无关,hal_assert.c文件是断言文件,用于调试,hal_drivers.c是驱动文件,抽 象出与硬件无关的驱动函数,包含有与硬件相关的配置和驱动及操作函数。Include目录下主要包含各个硬件模块的头文件,Target目录下的文件是跟 硬件平台相关的,可以看到有两个平台,其中我们正在用的是CC2430EB平台。

MAC层目录:

Zigbee协议的体系结构

MAC分为高层和低层两层,Include目录下包含了MAC层的参数配置文件及LIB库的函数接口文件。

Zigbee协议的体系结构
其中Zmac.c是ZStack MAC层接口文件,Zmac_cb.c是ZMAC需要调用的网络层函数。
Zigbee协议的体系结构

Z-Stack 由main()函数开始执行,main()在Zmain.c中,该函数共做了2件事:一是系统初始化,另外一件是开始执行轮转查询式操作系统,OnBoard.c中包含了对硬件开发平台各类外设进行控制的接口函数。


原帖地址:http://blog.sina.com.cn/s/blog_6184e67b01018up1.html

  • 2
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值