ZigBee协议框架
ZigBee协议是一种低成本、低功耗、低速率嵌入式设备互相间及与外界网络通信的组网解决方案,它是ZigBee联盟基于IEEE 802.15.4技术标准物理层和媒体访问控制层(MAC层)协议对网络层协议和API进行标准化而制定的无线局域网组网、安全和应用软件方面的技术标准
ZigBee协议栈结构如图1所示
ZigBee协议物理层和媒体访问控制层采用了IEEE 802.15.4 2003协议规范物理层无线频段为全世界通用的 2.4GHz、欧洲适用的868MHz、美国适用的915MHz,使用直接序列扩频技术,提供27个信道,20Kb/s、40Kb/s、250Kb/s三种数据速率用于数据收发物理层功能包括了激活和休眠射频收发器、信道能量检测、信道接收数据包的链路质量指示、空闲信道评估、收发数据等
图1 ZigBee协议栈结构
ZigBee的MAC层负责设备间无线数据链路的建立、维护和结束,确认模式的数据传送和接收,采用载波侦听多址/冲突避免接入方式,数据包的最大长度为127字节,每个数据包均由头字节和16位CRC校验值组成
网络层为ZigBee协议栈的核心部分,实现节点接入或离开网络、路由查找及传送数据等功能,支持星形、树形、网络三种拓扑结构,网络拓扑结构根据具体的ZigBee应用来选择节点按功能分为全功能设备(FFD)、简化功能设备(RFD)、协调器(ZCRD)和路由器,协调器与路由器通常也是全功能设备
ZigBee的应用层包括了应用支持子层(APS)、ZigBee设备对象(ZDO)和制造商制订的应用对象应用支持子层负责维护绑定表,根据服务和需求在两个绑定实体间传递信息ZDO负责定义设备节点在网络中的角色,并负责网络设备的发现,决定提供何种应用服务,还负责初始化或响应绑定请求及建立网络设备间安全关系
ZigBee网络采用多点接入,有使能信标网络或不使能信标网络两种类型使能信标的网络中,协调器在预定义的时隙周期性发送信标帧用于节点关联、加入网络、同步传送数据在不使能信标的网络中,协调器也周期性发送信号,但这只用于终端设备并检测协调器的存在,设备要随时准备好进行点对点通信,通过发送数据请求和应答进行通信
ZigBee支持两种类型的数据格式:KVP关键值对及MSG消息帧一般KVP帧采用命令响应机制,用于传输一个简单的属性变量值;而MSG帧还没有一个具体格式上的规定,通常用于多信息,复杂信息的传输,其支持二进制数据传输,数据大小受支持的帧大小限制
图2 参考设计功能图
在安全方面,ZigBee采用IEEE 802.15.4媒体访问控制子层的安全模型,其规范了四个方面的安全服务,即访问控制、数据加密、帧完整性检查及采用顺序更新值防止帧重放
ZigBee单芯片方案——EM250
EM250是Ember公司推出的ZigBee片上系统,它集成了一个符合IEEE 802.15.4标准的2.4GHz射频收发器和一个功能强大的高速率16位微处理器,支持网络级的调试,系统的软件开发简便微处理器主频为12MHz,满足作为协调器、全功能设备或简化功能设备的要求
图3 协调器软件功能模块设计
EM250可以进入三种不同的状态:工作状态、待机状态和深度睡眠状态在工作状态时可执行程序代码,典型情况电流为8.5mA在待机状态,处理器不再工作,但允许中断唤醒,外围器件及射频收发器正常工作在深度睡眠状态,处理器和射频收发器都不再工作,直至有外部中断或定时中断唤醒,典型情况电流仅为1.5μA深度睡眠状态不适用于全功能设备,但对于简化功能设备节省耗电而言,则必不可少
EM250具有4路模路转换,两路可用作数据转换单元的模拟信号捕捉数字中断可在睡眠或待机状态接收一位的数字数据其通用同步和异步串行接收器及转发器模块可配置成为通用异步接收器/发送器或串行外围接口SPI及I2C总线接口
图4 全功能设备的软件功能模块图
EM250集成的射频收发器支持四种功率工作模式,即爆发模式、高功率模式、正常模式和最小功率模式,可根据设备类型及相邻节点距离,利用功率管理来合适设置工作模式
硬件组成及设计
EM250集成了MCU、射频收发器、内存以及通信端口,只需要极少的外围元器件就可构成ZigBee网络节点硬件,以作为全功能设备、简化功能设备以及协调器参考设计功能模块见图2
外围元器件包括:射频不平衡到平衡转换器(RF BALUN 50/200Ω)、谐波滤波、晶振与负载电容构成的振荡器、电源去耦电容电路、电源板阻容滤波、上拉和下拉电阻、异步复位信号的阻容滤波、谐波滤波的输出端外接的 50Ω非平衡天线等
图5 简化功能设备的软件功能模块设计
网络节点采用Future技术设备公司USB转UART芯片FT232R作为与PC通信接口FT232R无须编程即可完成USB协议到RS232串口通信协议的转换,FT232R驱动可以支持在以PC端建立起虚拟通信端口(VPC),VPC驱动将完成USB信号与RS232信号的自动转换系统的电源可由3~3.3V直流源提供或由USB接口5V电源经FT232R转换为3.3V电源提供,3~3.3V直流源可以是电池或AC/DC变换器两种电源可由跳线来进行选择
系统的软件设计
一个ZigBee只能有唯一的协调器,其主要功能是初始化及维护整个ZigBee网络,其维护着所有直接连接的节点及未直接连接但允许加入网络的节点的表,加入到此ZigBee网络的设备必须得到协调器的批准协调器需要不间断地监听其他节点加入或退出网络请求及消息,在不发送消息时就需进入接收状态,因此协调器不能进入“睡眠”模式典型的协调器软件功能模块设计见图3
ZigBee 网络中的路由器为全功能设备,它完成各个全功能设备、简化功能设备、协调器等节点间数据的路由,是构建网络结构ZigBee网络所必须的,同协调器一样,全功能设备也维护着网络中节点的相关信息表,且由于它必须连续不断的监听路由消息,所以也不可进入“睡眠”模式全功能设备的软件功能模块设计见图4
简化功能设备是ZigBee网络的终端设备,它可以同协调器和路由器进行通信,但不能作为中间路由器,RFD可以进入睡眠模式,以减少功率消耗,大大延长电源使用时间
在简化功能设备进入睡眠模式时,相邻的协调器或路由器会缓存发送它的相关数据在退出睡眠模式时,它会向相邻的协调器或路由器询问是否有发送到它的数据,相邻的协调器或路由器则返回是否有其数据包的响应简化功能设备在处理完发送到它的数据后,可重新进入睡眠模式简化功能设备的软件功能模块设计见图5
各节点的管理可采用超级终端拨号到相连的单个节点或用统一的集中网络管理界面来完成集中网络管理界面安装于与协调器相连接的PC,用于用户同ZigBee网络进行交互,主要功能有网络拓扑显示、节点状态显示、节点数据、告警信息、网络日志等
小结
ZigBee无线传感器网络具有广泛的应用前景,已越来越得到业界的重视并逐步开始广泛应用基于EM250实现的ZigBee无线传感器网络具有实现简易、方便,同时利用Ember的InSight集成开发环境,可快速地进行系统的开发、调试、编译,具有很强的实际应用价值