一种ZigBee网络的设计与实现
扫描二维码
随时随地手机看文章
1 引言
无线传感器网络(Wireless Sensor Network,WSN)被认为是21世纪最重要的技术之一[1]。无线传感器网络是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个多跳的自组织的网络系统,其目的是协作地感知、采集和处理网络覆盖区域中感知对象的信息,并发送给观察者[2]。传感器、感知对象和观察者构成了传感器网络的三个要素。目前用于设计无线传感器网络的主流网络协议有Bluetooth,ZigBee和UWB等[3]。相对于现有的无线通信技术,ZigBee是一种新兴的近距离、低功耗、低数据速率、低成本的无线网络技术,主要用于无线近距离连接。ZigBee 网络主要应用在智能家居、家庭护理、安全系统和工业监控等领域。
本文在简要介绍无线传感器网络的通信协议IEEE 802.15.4和ZigBee技术的基础上,采用Freescale公司提供的完全符合IEEE802.15.4规范的射频芯片MC13192,以及超低功耗控制器MC9S08GT60和CF5213,设计实现了符合ZigBee协议的网络终端节点和网络协调者。
2 无线传感器网络的通信协议
随着通信技术的迅速发展,人们提出了在自身附近几米范围之内通信的要求,这样就出现了个人区域网络(Personal Area Network,PAN)和无线个人区域网络(Wireless Personal Area Network,WPAN)的概念。WPAN网络为近距离范围内的设备建立无线连接,把几米范围内的多个设备通过无线方式连接在一起,使它们可以相互通信甚至接入LAN或Internet。
2.1 IEEE 802.15.4
IEEE 802.15.4标准是针对于低速无线个人区域网(Low-Rate Wireless Personal Area Network,LR-WPAN),把低能量消耗、低速率传输、低成本作为重点目标,旨在为个人或者家庭范围内不同设备之间低速互连提供统一的标准[4]。
在IEEE 802.15.4网络中,根据设备所具有的通信能力,可以分为全功能设备(Full-Function Device,FFD)和精简功能设备(Reduced-Function Device,RFD)。RFD主要用于简单的控制应用,传输的数据量较少,对传输资源和通信资源占用不多,可以采用非常廉价的实现方案,在网络结构中一般作为通信终端。FFD一般需要功能相对比较强大的MCU,一般在网络结构中用作于网络控制和管理功能。在网络中,被称为PAN网络协调者(PAN Coordinator)的FFD设备,是LR-WPAN的网络中的主控制器。PAN网络协调者除了直接参与应用以外,还要完成成员身份管理、链路状态信息管理以及分组转发等任务。图1 是IEEE802.15.4网络的一个例子,给出了网络中各种设备的类型以及它们在网络中所处的地位。
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为线路连接的逻辑示意图。
4.2网络协调者硬件设计
网络协调者的硬件结构框图如图4所示。主要由MCU CF5213及支撑电路和外部模块组成。CF5213的支撑电路包括电源电路,晶振电路和复位电路。串行通信接口主要用来进行通讯和配置数据的设置,而液晶模块则用来实时反映协调者当前的网络状态。射频通信模块则负责网络协调者与网络终端节点及其它网络协调者的无线通信。
网络协调者的MCU是32位的Coldfire5213。CF5213具有多种低功耗模式,成本十分低廉,用于价格比较敏感的低端控制场合。它带有MAC单元的V2核,CPU在80MHz的工作频率下达到66MIPS;32K字节的片上SRAM,256K字节的片上FLASH;12位精度的ADC模块;带有缓冲队列的SPI模块;支持最多达63个中断源的中断控制器;具有方便的背景调试模块;另外它还有丰富的第三方RTOS支持。
CF5213和射频通信模块中MC13192的接口电路与终端节点的MCU和MC13192的接口电路类似,只需将通用I/O端口做相应的修改即可,在此不再细述。
4.3 射频电路
射频芯片MC13192的支撑电路包括电源电路,滤波电路和晶振电路,其逻辑连接如图5。VBATT和VDDINT是电源输入引脚,MC13192的正常工作电压为2.0-3.6V。VDDA,VDDLO1和VDDLO2为经过整流的模拟电压。VDD为经过内部整流的数字电压。VDDVCO为VCO电路供电。XTAL1和XTAL2外接16MHz的专用于2.4GHz射频电路的晶振。
5 软件结构
如图6所示,软件设计分为三层:系统平台层、协议层和应用层,为此定义了3个API接口:HW-API、SYS-API和PS-API。HW-API定义了硬件的寄存器映射,这样就能通过直接访问硬件寄存器来控制硬件。系统平台层通过SYS-API接口来给协议层提供服务。应用层通过PS-API来调用协议层提供的服务。
系统平台层建立在μC/OS-II实时操作系统上,为协议层提供系统服务。一般来说,由于ZigBee网络终端节点要求很强的成本控制,可以不使用RTOS。而对于网络协调者,由于协议本身的复杂性增加,而且微控制器有足够的性能来支持RTOS,需要使用RTOS 。虽然终端设备可以无RTOS工作,但考虑到GT60有足够丰富的资源,为了设计的统一性,避免在两个平台切换,本方案中统一使用了免费的RTOS μC/OS-II。μC/OS-II是一个完整的,可移植、固化、裁剪的占先式实时多任务内核,在V2.52版本之前,是免费的(非商业用途)且源代码公开,提供了实时系统的基本功能。
系统平台层本身又分为二个模块:DBM和HWD。DBM主要实现一个基于FLASH的小型数据库,用来存储IEEE 802.15.4的PHY层、MAC层和ZigBee的NWK层的属性数据。HWD模块提供硬件驱动程序,包括了MCU的寄存器访问接口、 MCU和MC13192的SPI通信以及MC13192的驱动,所有对硬件的控制都通过该模块提供的服务。
协议层则实现了基于802.15.4的物理层和链路层以及基于ZigBee的网络层协议。应用层通过PS-API来调用协议层提供的服务,实现网络的管理和数据传输等任务。应用配置模块既会调用协议层提供的网络服务,也会直接对系统进行配置和查询,该模块会调用PS-API和SYS-API提供的服务。
6 结束语
本文选择IEEE 工作组为低速个人无线网制定的802.15.4为切入点,配合ZigBee的网络层规范,构建无线传感器网络。本文作者的创新点在于采用Freescale公司新推出的ZigBee芯片MC13192和超低功耗控制器MC9S98GT60、CF5213,实现了硬件和软件的一体化设计,为进行无线传感器网络的研究提供一个良好的起点。实验表明,该方案具有良好的可靠性和通信速率,同时,良好的性能价格结合点使其具有广阔的市场推广前景。