IEEE 802.15.4网络协议栈基于开放系统互连模型(OSI),每一层都实现一部分通信功能,并向高层提供服务。IEEE 802.15.4标准只定义了物理(PHY)层和数据链路层的MAC子层。PHY层由射频收发器以及底层的控制模块构成。MAC子层为高层访问物理信道提供点到点通信的服务接口。
2.2 ZigBee技术
ZigBee是一种供廉价的固定、便携或移动设备使用的极低复杂度、成本和功耗的低速率无线连接技术,这个名字来源于蜂群使用的赖以生存和发展的通信方式,蜜蜂通过跳ZigZag 形状的舞蹈来分享新发现的食物源的位置、距离和方向等信息。该技术是一种近距离、低复杂度、低功耗、低数据速率、低成本的双向无线通信技术,主要适合于自动控制和远程控制领域,可以嵌入在各种设备中,同时支持地理定位功能,十分适合用作于无线传感器网络的通信协议[5]。
完整的ZigBee 协议套件由高层应用规范、应用会聚层、网络层、数据链路层和物理层组成。网络层以上协议由ZigBee 联盟制定,IEEE负责制定物理(PHY)层和媒体控制(MAC)层的协议。ZigBee联盟成立于2 0 0 2 年8 月,由英国Invensys 公司、日本三菱电气公司、美国摩托罗拉(现Freescale)公司以及荷兰飞利浦半导体公司组成,如今已经吸引了上百家芯片公司、无线设备公司和开发商的加入。
3 ZigBee 网络总体设计方案
本方案设计一个ZigBee星型网络,由一个网络协调者和若干个网络终端节点构成。网络协调者负责网络的管理工作,而终端节点一方面采集模拟数据,同时把这些模拟数据通过无线网络发送给协调者。
图2大致描述了本方案的实现效果:在PAN协调者的无线覆盖范围之内,布置若干(小于255)个网络终端节点,实现网络的管理和相互通信。
由于ZigBee网络的终端设备节点由电池供电,因此低功耗是一个必须的要求。Freescale公司是ZigBee联盟的重要成员和ZigBee技术的市场推广者,为ZigBee提供“一站式”的解决方案,包括完全符合IEEE802.15.4规范的射频芯片MC13192/3,以及针对该市场推出的超低功耗控制器系列:基于 S08核的超低功耗8位单片机MC9S08GX系列和32位的ColdFire521X系列。本文采用MC13192作为RF射频模块,网络终端节点和网络协调者的主控MCU分别使用MC9S08GT60和CF5213。
MC13192是一种短距离、低功耗,工作在2.4GHz ISM(Industrial、Scientific、Medical)频段的无线收发器。它含有完全符合IEEE802.15.4标准的物理层模块,可用于P2P、star和mesh网络。配上一款合适的MCU后,可提供一种性价比极高的短距离数据链路层和网络层的解决方案。MC13192与MCU的接口简单,只需四线的SPI:一个IRQ中断请求线和三个控制线。MCU对MC13192的配置和控制命令通过SPI进行。
4 硬件设计和实现
4.1 终端节点模块硬件设计
网络终端节点主要由下列部件组成:低功耗微控制器 MC9S08GT60,射频通信模块,由电源电路、复位电路及晶振电路组成的支撑电路,以及两个串行通信接口。终端节点可通过串行通信接口与PC通讯,下载写入程序,配置数据等。负责无线通信的射频通信模块采用的射频芯片是MC13192。
GT60的CPU采用HCS08 核,最高总线频率可达40MHz;增加了16位指令,能灵活方便的访问 16位HX寄存器。同时支持1个WAIT和3 个STOP模式,对低功耗模式提供更全面的支持。GT60的存储器具有60K的FLASH和4K的片上RAM,足够容纳完整的Zigbee协议栈。另外它还具有背景调试模块:能利用单线对HCS08核的系列MCU进行方便地写入和调试,加快开发的速度且大大降低了调试的难度。
GT60和MC13192的接口电路有8根线:4线的SPI接口用于相互通信,一根中断线和3根控制线。SPI通信时,MC13192只能作为从机,因此对于MCU而言,MOSI线是发送数据线而MISO线是接收数据线,SPI的同步时钟由GT60在SPSCK管脚上给出,连接到MC13192的SPICLK上。MC13192上产生的所有中断事件,通过芯片上的IRQ管脚连接到GT60的IRQ管脚上。ATTN管脚用于MCU将MC13192从低功耗模式下唤醒,而RXTXEN管脚则用来使能MC13192的收发器。在通常情况,为了降低功耗,射频芯片的收发器都是关闭的,只有在发送和接收数据的时候才使能,这样能大大降低射频芯片的功耗。当射频芯片工作异常的时候,MCU也可以通过RSTB管脚来硬件复位射频芯片。这3根控制线都由GT60的GPIO口来进行控制,需要指出的是PTE4和PTE6必须用10KΩ的电阻上拉,防止毛刺来干扰MC13192的正常工作。图3为线路连接的逻辑示意图。