引言
RFID[1-3](Radio Frequency Identification,射频识别)是一种自动识别技术,其基本原理是利用射频信号和空间耦合传输特性对被识别物体实现自动识别。与现有条形码技术相比,射频识别技术具有耐高温、防水、可多次重复写入数据、安全性高、数据存储空间大等优点。近年来,随着计算机技术、芯片技术及无线通信技术的快速发展,RFID技术也得到高速发展,其体积越来越小,成本、功耗越来越低,基于RFID技术的应用系统被广泛应用到生活各个领域,如交通、物理管理、门禁控制、定位系统、第二代身份证等领域。RFID系统一般由天线、读写器和电子标签组成。传统的RFID系统采用读写器与PC上位机通过有线的形式(以太网、RS232)进行通信,存在灵活性差、数据传输距离短、成本高等缺点。与有线传输系统相比[5],ZigBee无线传输技术可实现数据信息的无线双向传输,省去了布线的麻烦,而且ZigBee组网高效、快捷、简单。为了提高RFID系统的传输距离、灵活性及降低系统成本,结合ZigBee和RFID技术,设计了一种电子标签识别系统。系统测试表明:该系统具有成本低、灵活性高、传输距离远、低功耗等优点,拓展了ZigBee技术在无线RFID系统中的应用。
1 系统总体设计
系统硬件结构主要由5部分组成[5-6]:有源电子标签、以nRF24LE1芯片为微处理器的主从射频模块、ZigBee终端节点、ZigBee协调器节点和PC上位机。图1为系统总体结构图。有源电子标签,记录了电子标签的ID号及其他物品数据信息;主从射频模块即RFID读写器,负责识别处于天线辐射范围内的电子标签数据信息,并将接收到的电子标签信息通过串口传输给ZigBee终端节点,也可接收ZigBee终端节点传输过来的控制命令。

图1 系统总体结构图
主射频模块通过SPI接收从射频模块识别到的电子标签ID信息以实现双通道传输,具有更好的数据准确性及可靠性。ZigBee终端节点将主从射频模块对电子标签识别到的数据信息,通过无线方式发送给ZigBee协调器节点,同时ZigBee终端节点根据协调器传输过来的控制指令来控制主从射频模块,从而实现对电子标签相应的处理。协调器节点将ZigBee终端节点发送过来的电子标签数据信息通过串口RS232传给上位机,把上位机的控制指令转发给ZigBee终端节点。PC上位机有相应的应用软件,处理来自于ZigBee协调器节点的标签信息并且向ZigBee协调器节点发送控制信息。
2 系统硬件设计
2.1 系统主从射频模块电路设计

图2 射频电路硬件结构图
系统主从射频模块是RFID读写器的核心部分,通过串行口接收终端节点从ZigBee协调器节点传输过来的上位机发出的控制指令,从而控制射频芯片与电子标签进行数据通信,完成对电子标签的读写。射频芯片负责无线信号的编码、解码、调制和解调;电子标签是系统的应用终端,装载着物体的数据信息及标签自身信息,从读写器天线发出的无线脉冲接收读写器所发出的控制信息,然后把电子标签的数据信息通过天线再返回给读写器,完成对电子标签数据的读写。
主从射频模块电路的设计,确保了读写器识别到的电子标签信息的准确性及可靠性。射频模块电路采用nRF24LE1芯片[7],该芯片是Nordic公司推出的一款带增强型8051内核的无线收发芯片,可工作于2.4~2.5 GHz的ISM频段,不需要任何信道的通信费用,用户无须申请频率使用许可证,方便用户应用与开发。最大空中传输速率为2 Mbps,灵敏度为-94 dBm,最大信号发射功率为0 dBm。在理想状态下[8],室内传输距离可达30~40 m,室外传输距离可达100~200 m,工作电压为1.9~3.3 V,极大地降低了系统的功耗。处理器能力、内存、低功耗晶振、实时实钟、计数器、AEC加密器、随机数发生器和节电模式的组合,为实现射频协议提供了理想的平台。
对于应用层,nRF24LE1提供了丰富的外设,如SPI、I2C、UART、6~12位的ADC、PWM和一个用于电压等级系统唤醒的超低功耗模拟比较器。一个主SPI,一个从SPI,实现RFID系统双通道数据通信。nRF24LE1融合了Enhanced ShockBurst技术,其中通信频道、输出功率及自动重发次数等参数可通过编程设置。系统主从射频模块电路基本一样,可软件设定为主射频模块,射频电路硬件结构图如图2所示。
2.2 ZigBee终端节点电路设计
ZigBee终端节点是系统中非接触式RFID读写器和ZigBee无线模块的硬件核心,主要控制电子标签与主从射频模块进行数据交换,以及与ZigBee协调器节点进行数据通信。该终端节点电路使用32 MHz的晶振作为时钟信号,与主从射频模块通过串口连接实现数据通信。ZigBee终端节点采用CC2530芯片[911],该芯片是TI公司推出的能实现2.4 GHz IEEE 802.15.4规范的射频收发,具有灵敏度高、抗干扰能力强等特点,尤其是CC2530芯片的超低功耗,在被动模式(RX)下,电流损耗为24 mA,在主动模式(TX)时,电流损耗为29 mA,具有3种模式(模式1、模式2和模式3)。电流损耗分别为0.2 mA、1 μA和0.4 μA,特别适合那些要求低功耗的场合。此外,具有2~3.6 V的宽电源电压范围。
CC2530内含1个8位MCU(8051)、8 KB的RAM、具有8路输入和可配置分辨率的12位模拟/数字转换器(ADC)、1个符合IEEE 802.5.4规范的MAC定时器、1个常规的16位定时器、1个8位定时器、AES128协同处理器、看门狗定时器、32 kHz晶振的休眠模式定时器、上电复位电路、掉电检测电路,以及21个可编程I/O引脚。ZigBee终端节点硬件电路图如图3所示。

图3 ZigBee终端节点硬件结构图
2.3 ZigBee协调器节点电路设计
ZigBee协调器节点负责将ZigBee终端节点发送过来的数据,通过RS232串口线与上位机实现数据通信,同时接收上位机传输过来的控制指令并发送给ZigBee终端节点。ZigBee协调器电路与ZigBee终端节点电路一致,如图3所示,只需在Zstack协议栈中将其设定为协调器。由于CC2530使用的是TTL电平,而PC机通信采用的是EIA电平,因此该系统采用MAX232芯片实现电平转换以保证系统的有效通信,如图4所示。
3 系统软件设计
3.1 ZigBee终端节点软件设计
终端采集节点主要功能是接收来自上位机的数据采集指令,采集电子标签数据信息,并将采集到的数据信息发送到协调器节点。首先ZigBee终端节点上电初始化,申请加入已组建的ZigBee网络,若加入网络成功,进入低功耗模式即休眠状态,以降低终端节点功耗。等待定时中断产生,ZigBee终端节点微处理器控制主从射频模块读取电子标签信息,并将识别到的标签数据信息通过ZigBee无线模块传输给ZigBee协调器节点,然后再通过串口RS232传输给上位机进行处理。其终端采集节点程序流程图如图5所示。

图4 MAX232电平转换电路图
3.2 ZigBee协调器节点软件设计
系统利用ZigBee网络的Zstack协议栈进行无线通信[12],Zstack协议基于轮转查询式操作系统来实现。协调器节点上电后,初始化硬件及协议栈,搜索信道和空闲信道评估,选择信道并建立ZigBee网络。若节点申请加入网络,准许加入并分配一个l6位的网络短地址,等待上位机发送过来的数据采集指令,然后RFID读写器对电子标签进行识别,将接收的所有数据包通过串口通信发送到PC上位机,以便进行数据处理。ZigBee协调器节点软件流程图如图6所示。

图5 ZigBee终端采集节点软件流程图

图6 ZigBee协调器软件流程图
3.3 上位机应用软件设计
该系统上位机应用软件使用Visual Basic语言编写,该语言是一种由Microsoft公司开发的结构化、模块化、面向对象的、包含协助开发环境的、事件驱动为机制的可视化程序设计语言。上位机应用软件界面略——编者注。利用上位机应用软件对电子标签下发命令数据,能够实现对电子标签ID信息的读取、信号发射功率的修改和工作状态的切换。
设置标签发射信号功率程序源代码如下:
ReDim bytbyte(1)
bytbyte(0) = 221
bytbyte(1) = 17 - 2 * Val(Form3.Combo_rssi.Text)
Form3.MSComm1.Output = bytbyte()
设置标签工作状态程序源代码如下:
ReDim bytbyte(1)
bytbyte(0) = 221
bytbyte(1) = 17 * (Val(Form3.Combo_sta.ListIndex) + 1)
Form3.MSComm1.Output = bytbyte()
4 测试结果
为了验证实验结果的可靠性和稳定性,在室内外对系统进行了测试,室内测试主要是检测系统穿透墙壁的传输距离,室外测试主要是检测系统无障碍物的传输距离。通过上位机软件对电子标签发送控制指令来改变电子标签的信号发射功率,以实现电子标签信号的最远发射距离,更好地达到降低电子标签功耗和最大化发射距离的平衡点,在不同信号发射功率条件下,电子标签信号发射距离如表1所列。
由表1测试结果可知,电子标签信号发射功率为0 dBm(最大信号发射功率)时,在室外电子标签信号发射距离为30~65 m,室内电子标签信号发射距离为25~50 m。在电子标签信号发射功率为0 dBm条件下,以电子标签ID号为1和2分别代表室内和室外,其测试结果略——编者注。
表1 电子标签信号发射距离测试

在室内室外不同条件下,系统ZigBee无线模块在200 m范围内能够对标签数据信息实现有效传输,提高了系统传输距离。其测试结果略——编者注。
结语
系统测试表明:在室内外不同环境及电子标签不同信号发射功率条件下,在室内电子标签可穿透墙壁的信号发射距离为25~50 m,在室外电子标签信号发射距离为30~65 m。基于ZigBee协议栈的ZigBee无线模块能够在200 m范围内实现数据有效传输,提高了系统的传输距离。同时ZigBee技术组网简单、高效,既降低了功耗和成本,又省去了布线的麻烦,使得ZigBee技术在无线射频识别中得以应用,拓展了ZigBee技术在无线RFID系统中的应用范围。