关于ZigBee的介绍
ZigBee是把各种不同设备连接在一起工作来提高人们生活的全球性无线语言。
1、ZigBee是有200多家会员加入,在家庭、商业和工业应用中制定全球性无线标准的全球性组织。
2、全球10大半导体制造商中的70%都是ZigBee联盟的会员,ZigBee标准已经被独立分析研究机构承认为一种可靠的技术,将要发布.
3、只有ZigBee拥有大量可以提供在无线领域应用的硬件和软件的供应商。
4、ZigBee是唯一的一个被国际社会承认的用在无线监视和控制解决方案的标准。
ZigBee无线网络的技术特点
ZIGBEE协议基于IEEE 802.15.4标准,从2004年发布ZIGBEE V1.0到最新的增加了ZIGBEE-PRO扩展指令集的ZIGBEE2006版本,ZIGBEE功能不断强大。ZIGBEE具备强大的设备联网功能(见图2),它支持3种主要的自组织无线网络类型,即星型结构(Star)、网状结构(Mesh)和树型结构(Cluster Tree),特别是网状结构,具有很强的网络健壮性和系统可靠性。与目前普遍应用的wi-Fi、Bluetooth等短距离无线通讯技术相比较,ZIGBEE无线网络的特点主要有:
图 ZIGBEE网络拓扑分类
(1)工作周期短、收发信息功耗较低,并且RFD(Reduced Function Device,简化功能器件)采用了休眠模式,不工作时都可以进入睡眠模式。
(2)低成本。通过大幅简化协议(不到蓝牙的1/10),降低了对通信控制器的要求,以8051的8位微控制器测算,全功能的主节点需要32KB代码,子功能节点少至4 KB代码。
(3)低速率、短延时。ZIGBEE的最大通信速率达到250 kb/s(工作在2.4 GHz时),满足低速率传输数据的应用需求。ZIGBEE的响应速度较快,一般从睡眠转入工作状态只需15ms,节点连接进入网络只需30ms,进一步节省了电能。相比较,蓝牙需3~10 S、Wi-Fi需3 S。
(4)近距离,高容量。传输范围一般介于10~100 m,在增加RF发射功率后,亦可增加到1~3 km。这指的是相邻节点间的距离,若通过路由和节点间通信的接力,扩展后达到几百米甚至几公里。ZIGBEE可采用星状、片状和网状网络结构。由一个主节点管理若干子节点,最多一个主节点可管理254个子节点。
(5)高可靠性和高安全性。ZIGBEE的媒体接入控制层(Medium Access Control,MAC)采用CSMA/CA的碰撞避免机制,同时为需要固定带宽的通信业务预留了专用时隙,避免了发送数据时的竞争和冲突。ZIGBEE还提供了3级安全模式,包括无安全设定、使用接人控制清单防止非法获取数据以及采用高级加密标准(AdvancedEncryption Standard,AES)的对称密码,以灵活确定其安全属性。
(6)免执照频段。采用直接序列扩频在工业科学医疗(Industrial Scientific Medical,ISM)频段,分别为2.4 GHz(全球)、915 MHz(美国)和868 MHz(欧洲)。
ZigBee无线网络与802.15.4标准
无线通信(这里主要指短距离无线通信和嵌入式无线通信)的发展,需要将更多的节点通过无线联系起来,包括各种传感器网络、无线实时定位网络、射频识别网络、数字家庭网络、安全监视网络等。这就需要解决两方面的问题:无线通信的标准化和对网络拓扑的管理。
网络标准化,通俗地说就是网络节点的互通性,各种不同功能的无线网络节点需要能相互交流、相互认识。举例来说,未来家庭中,各种家电将具有无线功能,汇集成一个互通的无线网络,冰箱可能是日本的,电视是中国造,烟雾报警器可能来自美国,所有的家电通过无线汇集到家庭网关,必须相互认识,才可以进行无线数据通信。这就需要一个所有制造厂家可以遵循的标准,目前这个标准就是IEEE 802.15.4——一个专门针对这类应用的国际标准。
网络拓扑管理,主要是建立在IEEE 802.15.4之上的网络层,包括各种网络的形态。无线网络节点可以像一个星状一样连接,也可以像一个葡萄串一样串在一起,还可以像一张大网,相互连接,相互间可以从任意节点进行通信。这就需要在网络层相互兼容,这就有了ZigBee——一套标准化的网络层协议规范。
802.15.4标准和ZigBee网络已经是当今世界的技术热点,可以在网上发现数量巨大的相关信息,也可以方便地学习到这方面的知识。
实现网络的标准化,管理越来越复杂的无线网络,需要有大量的软件代码来实现,也需要对无线通信技术的精通和大量的人力物力投入,绝非哪家公司可以独自包揽,自己来完成。因此,802.15.4标准和ZigBee网络实现的代码,都是由国际标准组织和ZigBee联盟这样的机构协助组织完成的,然后以软件库、源代码库的方式提供给用户,由用户进行高层调用,加上自己的应用程序,固化到单片机中。
而新一代无线单片机,像CC2430,就是具备了全部802.15.4标准和ZigBee无线网络结构的8051单片机,当用USB接口连接上CC2430仿真器,接上CC2430电路板,在IAR IDE调试环境下装上802.15.4标准和ZigBee网络的可调试工程文件(包括802.15.4标准和ZigBee网络库文件、演示软件等)后编译、下载,然后运行,几秒种的时间,按几下按键,802.15.4标准和ZigBee网络(数万行C51语言写成的代码,组成的软件)就在转瞬间被驾驭了:
ZigBee无线网络节点的软件设计
1、ZigBee协议栈
ZigBee协议由一组子层构成。每层为其上层提供一组特定的服务;数据实体提供数据传输服务;管理实体提供全部其他服务。每个服务实体通过一个服务接入点(SAP)为其上层提供服务接口,并且每个SAP提供一系列基本服务指令来完成相应的功能。
ZigBee协议栈的体系结构包括:ZigBee应用层、ZigBee网络层、IEEE.802.15.4 MAC层和IEEE802.15.4 PHY层。IEEE.802.15.4 2003标准定义最下面的2层:物理层(PHY)和介质接入控制层(MAC)。ZigBee联盟提供了网络层和应用层(APL)框架的设计。其中应用层框架主要包括3部分:应用支持子层(APS)、ZigBee设备对象(ZDO)和由制造商制定的应用对象。
2、ZigBee信道分配
ZigBee的通信频率在物理层规范,在不同的国家或区域ZigBee提供了不同的工作频率范围,其所使用的频率范围为2.4 GHz和816/915 MHz。因此,在ZigBee中定义2.4 GHz和816/915 MHz 2个物理层标准,它们都基于直接序列扩频(DSSS)技术。
这里采用全球统一的2.4 GHz波段,无须申请ISM频段,适合ZigBee设备推广及降低生产成本。2.4 GHz物理层采用16相调制技术,能够提供250 kb/s的传输速率,提高数据吞吐量,缩短通信时延和数据收发时间,降低功耗。
3、网络的建立与加入
ZigBee设备通过NLME-NETWORK-FORMATION.request原语来启动一个新网络的建立过程。仅当具有ZigBee协调器能力且当前无与网络连接的设备,才可尝试建立一个新网络。如果此过程由其他设备开始,则网络层管理实体将终止该过程,并向其上层发出非法请求报告。
该步骤通过发出状态参数为INVAUD_REQUEST的NLME-NETWORK-FORMATION.confirm原语来完成。只有当设备为ZigBee协调器或路由器时,才能试图允许设备与网络的连接。可通过NLME-PERMIT-JOINING.request原语允许连接。
4、数据的发送与接收
发送数据时,首先按照协议中规定的帧形式构建帧数据。帧数据包括帧头和帧内容。其中帧头包括帧类型、源地址、目的地址、PAN、CLUSTERID等信息。帧构建好后调用MAC层的原语MCPS-DATA.request,并将接收到的结果通过MCPS-DATA.confirm返回。在Z-Stack中,数据的发送和接收都必须通过应用层调用。应用层提供的Flash发送函数,其程序如下:
为了接收数据,设备必须打开其接收机。上层使用NLME-SYNC.request原语初始化设备,打开其接收机,该原语将引起网络层使用MLME-POLL.request原语对其父设备进行轮询。ZigBee协调器或路由器的网络层必须在最大程度上保证任何时间接收机总是处于接收状态。
网络层使用NLDE-DATA.indication原语向其高层表明所接收到的数据帧。一旦接收到帧信息,网络层数据实体将会检查帧控制域中安全子域的值。如果该值不为零,则网络层数据实体将把该帧传送到安全服务提供单元,并根据所指定的安全标准对其进行安全处理。
接收到Flash发送方式的数据后,网络层会根据发送的数据计算小灯闪烁的数据间隔,其源函数程序如下:
ZigBee无线网络的应用
1、家居、建筑和工业自动化
2、能源管理
3、家居控制、安保
4、医疗、病人监视
5、物流和资产追踪
6、传感器网络和主动式射频识别
可以用在任何需要无线链接的监视和控制应用中。