2002年英国Invensys、日本三菱电气、美国Motorola三家公司宣布组成ZigBee技术联盟,共同研究ZigBee技术。IEEE也于2003年制定了针对LR-WPAN(LowRate Wireless Personal Area Networks)的IEEE 802.15.4-2003无线规范,定义了一种新的无线设备的物理层和MAC层,并致力于开发一种可应用在固定、便携或移动设备上的,低成本、低功耗和低速率的无线连接技术,其目标功能是自动化控制,采用DSSS扩频技术,有效覆盖范围根据不同速率可达0~300 m。
IEEE 802.15.4—2003协议共规定了27个通信信道:868 MHz有1个,速率为20 kbps;915 MHz有lO个,速率为40 kbps;2.45 GHz有16个,速率为250 khps。支持星形、树形和网状3种拓扑结构,按照功能划分网络中有完全功能(FFD)和简化功能(RFD)两种不同类型的设备。为了简化协议,IEE:E 802.15.4—2003满足OSI参考模型,规定了物理层和MAC层,每一层完成自身所规定的任务,并向上层提供服务任务接口。协议中数据通信方式可分为直接数据传送和间接数据传送两种,并且以数据帧的形式打包发送出去。网络可以在超帧和非超帧的模式下工作,为了提高其可靠性采用了CSMA/CA的媒质访问控制机制、确认帧的应答方式和CRC-16 ITU的校验机制,并可以加入一些数据加密和安全控制模式。出于低功耗、低成本考虑,物理层只有14条服务原语,MAC层有35条原语。与蓝牙相比,这些原语只是它的1/3。
1 硬件电路设计
一般情况下IEEE802.15.4网络设备的基本构成如图l所示。系统的电源通常由电池提供,也可以由稳压模块供给。RF收发芯片负责射频信号的产生和接收解调,其基准时钟由外部高精度的晶体振荡器提供;同时要实现一些物理层和MAC层的基本功能,例如编解码、信道选择、功率控制、接收机能量检测(RSSI)、链路质量指示(LQI)、空闲信道评估(CCA)和硬件CRC校验等。在实现这些基本功能的前提下,RF芯片应该尽量做到低功耗、高灵敏度和较小封装。微控制器要有丰富的资源来完成对RF芯片的控制,以及对传感器、各类应用接口和用户接口的实时响应。通常协议栈需要占用32 KB左右的存储空间。
1.1 AT86RF230性能和内部结构
Atmcl公司的AT86RF230是与ZigBee/IEEE802.15.4兼容的无线射频收发芯片。它工作在2.4 GHz ISM频段,拥有104dB链路预算,-101 dB的接收灵敏度和3 dB的传输功率,从而减少网络中所需节点设备的总数,大大降低了IEEE 802.15.4系统的组网成本。所有RF关键器件(除了天线、晶振、去耦电容外)都集成在一块芯片中,封装形式采用32引脚、5 mm×5mm×0.9mm大小的QFN封装。由该芯片所构成的设备仅需6个外部组件,功能框图如图2所示。终端节点通常是电池供电,发射模式下电流消耗为17 mA,接收模式下为15 mA,睡眠模式下仅为O.7μA;工作电压可达1.8~3.6V,内部有集成的1.8V LDO。AT86RF230内部有35个可以通过SPI控制时序访问的8位寄存器,工作时有8个基本状态(可以根据需要扩展为14个)。片内发送数据和接收数据的缓冲分别为129字节和130字节,正好可以满足IEEE802.15.4协议规定的最大帧长度127字节的要求。发送时需要加2字节的CRCl6校验码,接收时还要多加1字节的链路质量指示。
1.2 网络设备的硬件电路构成
硬件主要部分原理图如图3所示,模块的数字接口为ATmega128l与AT86RF230之间的SPI接口以及其他4条控制线。AT-megal28l是Atmel公司的8位高性能的AVR单片机。其基本特征有:采用RISC构架,具有135条指令,工作在16MHz时吞吐率可达16MIPS;片内具有128 KB Flash、4 KB片内E2PROM和8 KB SRAM,可以通过ISP或JTAG下载程序;工作频率最高可达16 MHz,工作电压为l.8~5.5V,掉电模式下只有O.1μA的工作电流。在本设计中ATmegal281工作于内部为8 MHz的振荡频率下。如果要采用与AT86RF230同步的外部时钟信号,那么CLKM引脚应接到ATmegal281的XTAL1脚上,并且熔丝位要设置为外部时钟。AT86RF230的各种工作状态中断信号由IRQ脚控制,这里接到ATmegal28l的ICPl脚产生捕获中断,因为捕获中断可通过设置噪声消除方式来减少外界的干扰,从而提高中断的可靠性。有关AT86RF230寄存器SPI读写时序、状态转换图及各种中断控制的具体方法可以参阅参考文献。还需注意,AT86RF230所接外部晶振X1的长期工作频率稳定度要小于等于40 ppm,并根据晶振和芯片的驱动能力选择合适的负载电容。
对于模拟部分设计,为了降低其他部分的干扰,提高RF性能,需要采取抗干扰措施。例如,模拟电源输入端增加磁珠或电感;AT86RF230模拟地和数字地要分开布线,并在一点接地;为了减小分布参数的影响,铺地要尽可能大,并且要适当打上过孔;滤波用的电容也要尽量靠近芯片。另外,要注意阻抗匹配,AT86RF230天线端口为2路100Ω的差分输出,可直接接差分馈电的天线,但缺点是阻抗匹配和测试都比较困难,一般可以用巴伦把2路100Ω的差分输出变换成一路50Ω输出,然后接各类单端馈电的天线。在控制RF信号输出脚PCB导线的阻抗时,可以采用图4所示的模型。
根据选定参数使用Agilent公司提供的免费软件Ap-pCAD,进入Passive Circuits界面选择相应模型。本设计选用Coplanar Waveguide模型,输入参数后便可计算出馈线的特性阻抗。若根据计算结果设计出的馈线实际测试情况阻抗达不到50Ω,则可以通过增加电感L2,及相应电容C1或C2来实现50Ω匹配。天线选型方面既可选用双端100Ω的差分天线,也可选用50Ω的单端天线,只要按需增建双端到单端变换的巴伦即可。使用偶板子或F型的PCB天线,优点是可以获得相对较高的增益,抗干扰能力强;片状天线体积小,但增益不高,易受干扰。
2 软件设计
软件开发环境为AVRSTUDIO+AVRGCC。这两个软件均是免费的。软件设计主要包括射频驱动、外围电路控制和ZigBee协议栈设计3个部分。基于IEEE802.15.4协议的WPAN网络中的协调器和网络节点的软件流程基本相同,只是网络协调器要承担网络建立的功能,网络节点则要承担一些控制或测量的功能。为了与其他ZigBee产品相兼容,软件设计必须严格遵守IEEE 802.15.4协议。本设计建立的网络拓扑是非超帧结构的星形网络,具体软件流程如图5所示。
基本过程为:网络协调器首先初始化WPAN信息数据库,建立ZigBee网络,分配网络ID号和16位网络地址,初始化邻居设备表,然后等待其他节点连接;网络节点上电后,初始化内部资源、网络节点的WPAN信息数据库,发送扫描信号请求连接,连接成功后,记录下网络ID和分配好的16位网络地址,按功能设定向协调器发送信息。因为网络节点一般为电池供电,所以在空闲时要进入休眠节能状态。外围电路控制主要是针对传感器、开关等器件的控制,可根据不同需求对软件进行相应的修改。
3 测试结果及总结
对ZigBee/IEEE 802.15.4网络设备性能评估,主要是测试它的发射功率、频谱的相位噪声、临近信道干扰和通信距离等。因为AT86RF230没有纯载波的输出模式,只能通过测试调制信号频谱来分析输出功率和最大增益点对应频偏。图6为第11信道2.405 GHz的调制信号输出频谱,从中可以看出最大功率所对应的频点。在空旷环境中测试,距离150 m时通信的误码率可小于1%。系统在发射状态下耗电为23.7 mA,接收时为21.78mA,休眠状态下仅为2.5μA。实验结果证明,本文设计的基于AT86RF230收发器的WPAN网络设备具有容错性高、性能优越、超低功耗、价格低廉的优点,能够满足多种场合实际需求。通过不断完善软硬件设计,相信本系统的各项性能指标还可进一步提升。