引言
通信技术、嵌入式技术和信息家电的飞速发展,使智能家居网络的构建成为可能。ZigBee以其低成本、低功耗的特性成为了智能家居无线网络的首选技术标准。
目前通用的家电遥控系统常用的无线控制手段有蓝牙、红外等。蓝牙技术 复杂度高,加上成本过高且不能满足低功耗的要求,因而在家庭网络领域没有得到普及;红外技术只能在可视范围内实现点对点的通信,对方向性要求较高,无法灵活的构成网络同时控制多个终端设备。本文应用ZigBee无线技术与嵌入式系统结合设计的家电无线遥控系统,可以实时的获取各个终端设备的状态信息,灵活控制ZigBee网络中的各个终端节点。
1 ZigBee技术简介
ZigBee是一组基于IEEE802.15.4无线标准研制开发的有关组网、安全和应用软件方面的技术标准 。ZigBee协议栈由高层应用规范、应用汇聚层、网络层、媒体访问控制层(MAC)和物理层(PHY)组成。
在ZigBee网络中,存在两种不同类型的网络设备,一种是具有完整功能的设备,即全功能设备(FFD),另一种是简化功能的设备,即精简功能设备(RFD)。在网络中,FFD通常可以成为网络协调器或者网络路由,也可以作为终端设备存在于网络中,可以同时和多个RFD或多个其他的FFD通信;RFD则不能作为网络协调器,只能和一个FFD进行通信,功能较FFD简单,容易实现。
ZigBee技术网络支持两种拓扑结构:星型网络拓扑、树型网络拓扑和点对点的对等网络拓扑,每一个ZigBee网络都需要一个FFD协调器实现网络的协调功能。本文采用的是星型网络拓扑。
2 系统的总体架构
ZigBee家电无线遥控系统的总体框图如图1所示。
2.1 ZigBee遥控系统的硬件平台
ZigBee遥控器的硬件构建如图2所示。
ZigBee无线遥控器作为网络协调器,既要接收和处理来自ZigBee网络的数据,又要根据用户要求控制网络中各个节点的工作,所需要处理的数据量较大,因而本文采用ARM920T内核的嵌入式微处理器s3c241O作为遥控器的核心处理芯片。
s3c2410是三星公司推出的一款面向高性价比、低功耗、体积小、高性能、高集成度的16/32位RIsc嵌入式微处理器。存储器使用64M的NAND nash和64M的sDRAM。
ZigBee无线收发芯片采用飞思卡尔公司开发的符合IEEE8O2.15.4标准的Mcl3192射频收发芯片 。它工作在2.4GHz频段,支持对等、星型和树型网络结构,与Mcu通过四线sPI接口连接。
2.2 终端节点的硬件实现
遥控系统终端节点是嵌入到家电系统里面的一个模块。
ZigBee网络组网成功后,该模块负责和嵌入式ZigBee遥控器通信,把家电的运行状态参数通过ZigBee网络发送给遥控器端,并接收来自遥控器的控制信息,进而控制家电调整参数,以达到用户的要求。终端节点的硬件框架如图3所示。
设备终端节点的功能是收发数据并执行控制命令,因此,设备节点对硬件平台的要求较低,本文采用的终端节点的中央处理器为Mc9so8G1'60,z唔Bee收发芯片仍为Mc13192。
Mc9S08GT6O 是摩托罗拉一款低功耗、高性能的8位单片机,工作在40MHz主频上,通过sPI总线控制Mc13192。
MC9S08GT60集成了60KB F1ash ROM 与4KB RAM,为移植协议栈提供了足够的存储空间。
3 系统的软件实现
zigBee网络分为两部分分别实现,一个是遥控器的软件程序编写,另一个是遥控终端节点的软件实现。
3.1 ZigBee遥控器的软件实现
ZigBee遥控器的实现需要移植zigBee协议栈到Mcu,以及编写zigBee应用层的程序。本文采用的ZigBee协议栈是Freescale公司开发的Beestack。对Beestack协议栈的移植主要是初始化ZigBee收发芯片Mcl3192,配置其各个寄存器及设置收发模式,并令其正常工作。这里着重描述ZigBee应用层程序的实现。遥控器的应用层程序流程如图4所示。
本文采用的家庭自动化模板是ZigBee联盟认证的公共模板之一,利用该模板定义的家庭自动设备与相应的ZigBee簇库,实现对家电的开关、家电状态的获取和家电参数的调节等。首先,利用模板定义的设备,以端点的形式实现。这些端点连接到ZigBee协议栈,进而连接到其他端点。其次,端点与端点之间的通信是通过输入输出簇来实现的,这些簇包含了应用对象所共享的全部信息属性。
首次运行该遥控系统时,必须通过遥控器作为网络协调器建立一个PAN网络。建立网络的过程包括通过App—Han—dleEdDelect()函数来扫描能量信道,App—Prepareco0rdinator()函数选择短地址信息,设置PAN网络标识ID,初始化网络设置等等,调用MLME—sET.request{}和MLME—sET.request{}来使用新的超帧配置参数。网络建成之后,协调器扫描并捕获信道上设备的入网请求,给入网的设备分配16位的网内地址与网络标识号,绑定设备端点之间或对象之间的逻辑连接,并不断地维护和更新网络端点绑定表。绑定的过程是网络协调器检查模板ID是否有一个输入簇ID与输出簇ID对应,若是就把它们的对应关系添加到绑定表里。遥控器作为网络协调器通过发送应用层控制帧,传输对应簇的属性控制设备节点。
3.2 终端设备节点的软件实现
终端节点必须与协调器采用一致的应用模板,才能与协调器正常通信。终端节点作为RFD设备,功能较简单,组网过程与遥控器类似。组网成功之后,除非设备发生故障或无法通信,一般都不拆除终端节点。这里建立的网络采用信标不使能的通信模式,终端节点周期性被唤醒,向网络发生数据请求帧,若查询到网络协调器有属于该节点的数据,则响应协调器,发送数据给网络协调器或者接收控制帧驱动家电设备完成控制。响应完协调器的数据之后,终端节点返回到周期性休眠与唤醒状态,隔一定延时再向协调器发送请求帧。
4 结语
本文在充分了解ZigBee技术特点的基础上,设计实现了ZigBee无线技术在家电遥控系统。实验数据显示,该系统在30米范围内,无线数据通信的丢包率仅为2% 一4%之间,若加大发射功率,能达到更长距离的遥控要求。在功耗方面,由于采用ZigBee技术,加上终端节点采用周期性唤醒机制,大大节省开销,降低系统整体功耗。本文的zigBee家电无线遥控系统是智能家居的一部分,可以预见,随着越来越多内置ZigBee功能的家电设备投入市场,将能构建更舒适,更方便、更环保的智能家居系统。
参考文献:
[1].ARM920Tdatasheethttp://www.dzsc.com/datasheet/ARM920T_139814.html.
[2].RIscdatasheethttp://www.dzsc.com/datasheet/RIsc_1189725.html.
[3].Mc13192datasheethttp://www.dzsc.com/datasheet/Mc13192_1124294.html.
[4].MC9S08GT60datasheethttp://www.dzsc.com/datasheet/MC9S08GT60_210978.html.