查看: 2316|回复: 0
打印 上一主题 下一主题

ZigBee无线协议学习笔记(2)

[复制链接]
跳转到指定楼层
沙发
发表于 2014-7-22 17:13:06 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 伊海 于 2014-7-22 18:49 编辑

1.7.    MAC

MAC层遵循IEEE802.15.4协议,负责设备间无线数据链路的建立、维护和结束,确认模式的数据传送和接收,可选时隙,实现低延迟传输,支持各种网络拓扑结构,网络中每个设备为16位地址寻址。它可完成对无线物理信道的接入过程管理,包括以下几方面:网络协调器(coordinator)产生网络信标、网络中设备与网络信标同步、完成PAN的入网和脱离网络过程、网络安全控制、利用CSMA-CA机制进行信道接入控制、处理和维持GTS(Guaranteed Time Slot)机制、在两个对等的MAC实体间提供可靠的链路连接。

1、数据传输模型:

MAC规范定义了三种数据传输模型:数据从设备到网络协调器、从网络协调器到设备、点对点对等传输模型。对于每一种传输模型,又分为信标同步模型和无信标同步模型两种情况。

在数据传输过程中,ZigBee采用了CSMA/CA碰撞避免机制和完全确认的数据传输机制,保证了数据的可靠传输。同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突。

2、帧结构定义:

MAC规范定义了四种帧结构:信标帧、数据帧、确认帧和MAC命令帧。

1.8.    PHY
IEEE802.15.4协议的物理层是协议的最底层,承担着和外界直接作用的任务。它采用扩频通信的调制方式,控制RF(radio frequency 射频)收发器工作,信号传输距离约为50m(室内)或150m(室外)。
IEEE802.15.4.2003有两个PHY层,提供两个独立的频率段:868/915MHz和2.4GHz。868/915MHz频段包括欧洲使用的868MHz频段以及美国和澳大利亚使用的915MHz频段,2.4GHz频段世界通用。
1.9.    ZigBee术语
1.9.1.      属性
属性Attribute是一个反映物理数量或状态的数据值,比如开关值(On/Off) ,温度值、百分比等。
1.9.2.      群集
群集Cluster是包含一个或多个属性(attribute)的群组。简单的说,群集就是属性的集合。每个群集都被分配一个唯一的群集ID 且每个群集最多有65536个属性。
1.9.3.      设备描述
设备描述Device Description是指一个大型目标应用的一部分,包括一个或多个群集,并且指定群集是输入还是输出。
1.9.4.      端点
端点EndPoint是协议栈应用层的入口,也可以理解应用对象(Application Object)存在的地方,它是为实现一个设备描述而定义的一组群集。每个ZigBee设备可以最多支持240这样的端点,这也意味着在每个设备上可以定义240个应用对象。端点0被保留用于与ZDO接口而端点255被保留用于广播,端点241-254则被保留用于将来做扩展使用。
1.9.5.      节点
节点Node也可以理解为一个容器,包含一组ZigBee设备,分享一个无线信道。每个节点有且只有一个无线信道使用。
2.      参考资料
[B1] Z-Stack Developer's Guide _F8W-2006-0022
[B2] Z-Stack API _F8W-2006-0021
[B3] ZigBee2006协议规范完整版(中)
[B4] 网络博客,文章
[B5] 基于MSP430的ZigBee/802.15.4解决方案
3.      设备类型和栈配置
在由ZigBee协议栈组成的网络中,存在三种类型的逻辑设备类型——(i)协调器(ii)路由器(iii)终端设备。一个ZigBee网络包括一个协调器节点、多个路由器和终端设备节点。
       如下图,黑色圆代表协调器,红色圆代表路由器,白色圆代表终端设备。
3.1.    协调器
Coordinator协调器负责启动整个网络。它也是网络的第一个设备。协调器选择一个信道和一个网络ID(也称之为PAN ID,即Personal Area Network ID),随后启动整个网络。
ZigBee协调器也可以用来协助建立网络中安全层和应用层的绑定(bindings)。
协调器的角色主要涉及网络的启动和配置。一旦这些都完成后,协调器的工作就像一个路由器(或者消失go away)。由于ZigBee网络本身的分布特性,因此接下来整个网络的操作就不再依赖协调器是否存在。
3.2.    路由器
ZigBee路由器的功能主要是:允许其他设备加入网络,多跳路由和协助它自己由电池供电子终端设备通讯。
通常,路由器希望是一直处于活动状态,因此它必须使用主电源供电。但是当使用树群这种网络模式时,允许路由间隔一定的周期操作一次,这样就可以使用电池给其供电。
3.3.    终端设备
ZigBee终端设备没有特定的维持网络结构的责任,它可以睡眠或者唤醒,因此它可以是一个电池供电设备。
通常,终端设备对存储空间(特别是RAM的需要)比较小。
在Z-Stack 1.4.1中一个设备的类型通常在编译的时候通过编译选项(ZDO_COORDINATOR 和RTR_NWK)确定。所有的应用例子都提供独立的项目文件来编译每一种设备类型。
3.4.    栈配置
栈参数的集合需要被配置为一定的值,连同这些值在一起被称之为栈配置。ZigBee联盟定义了这些由栈配置组成栈参数。
网络中的所有设备必须遵循同样的栈配置。
为了促进互用性这个目标,ZigBee联盟为ZigBee2006规范定义了栈配置。所有遵循此栈配置的设备可以在其他开发商开发的遵循同样栈配置的网络中。
栈配置是指对分布式应用的描述。它根据应用必须处理的数据包和必须执行的操作来描述分布式应用。使用描述符对配置文件进行描述,描述符仅仅是各种值的复杂结构。此配置文件使ZigBee 设备可以互操作。ZigBee 联盟已经定义了很多标准的配置文件,比如远程控制开关配置文件和光传感器配置文件等。任何遵循某一标准配置文件的节点都可以与其他实现相同配置文件的节点进行互操作。每个配置文件可以定义最多256 个群集,而且和我们在前面所看到的一样,每个群集可以最多有65536 个属性。此灵活性允许节点有大量的属性(或I/O 点)。


回复

使用道具 举报

您需要登录后才可以回帖 登录 | 加入因仑

本版积分规则

快速回复 返回顶部 返回列表