刘义才,章小城
LIU Yi-cai1,ZHANG Xiao-cheng2
(1. 武汉商业服务学院 机电工程系,武汉 430056;2. 中国船舶重工集团公司 第七○九研究所,武汉 430074)
RFID(radio frequency identification)射频识别是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预,可工作于各种恶劣环境中[1]。无源UHF RFID(Ultra High Frequency Radio Frequency Identification)是近几年刚刚开始兴起并得到迅速推广应用的一门新技术,它具有识别距离远、识别准确率高、识别速度快、抗干扰能力强、使用寿命长、可穿透非金属材料、运用范围广等特点,是为实现数字化、信息化而对物体的属性、状态、编号等特征数据进行自动采集所推出的一种全新管理手段,可广泛应用于人员、动物、物品等方面的身份自动识别。同时该技术可应用于不同的场合,如物流管理、工业生产控制、个人身份识别、活动目标监测、交通运输等。依据行业的不同,对读写器的功能全面性、天线数量、接口类型有着不同的要求。目前市场上大部分读写器功能单一,不带操作系统,不便于用户进行二次开发;同时天线数量很少,覆盖范围有限;而且接口单一,这使得读写器的应用场合受到了限制。因此设计了一种基于嵌入式Linux操作系统的超高频读写器。该读写器可根据不同的行业需求进行二次开发,完成对符合ISO18000-6C和EPC Class1 Gen2电子标签的读写及控制操作,以适应不同行业的实际应用需求。
基于嵌入式Linux系统的超高频RFID读写器采用硬件分层结构的模型,主要由底层射频模块、中间层控制模块和上层应用Linux系统模块三部分组成。如图1所示为系统硬件原理框图。
1.1.1 射频模块
主要完成基带信号的调制,以及对回波信号的解调处理。该模块采用的是集成射频收发芯片Inter R1000[2],它是一个高度集成、高效率、低功耗,同时支持ISO18000-6C和EPC Class1 Gen2标准的射频芯片。R1000将大部分的射频电路集成到芯片中,可以接收到兼容的射频标签发出的数据。该芯片集成了积分下变频混频器、高集成的压控振荡器(VCO)、可变的接收增益控制、集成功率放大器(PA)、针对前向和反向的功率的集成RF传感器、集成多种用途的数模转换器(DAC)和模数转换器(ADC)等。如图1所示,Inter R1000 芯片接收来至ARM7 AT91SAM7S256的数据信息,通过内部锁相环以24MHZ的参考频率,生成UHF调制差分调频信号,经巴伦平衡后通过外部功放进行放大,输送给环形器,再通过定向耦合器与低通滤波器相连接,而后接天线进行信号的发射[3]。其中外部功放选用ASX520集成功率放大器,供电电压为5V,电流为600mA。环形器选用逆时针环形器,着重考虑端口的匹配以及器件与地的良好连接。定向耦合器选用RCP890M30,耦合端和隔离端经过反向功率检测和前向功率检测与ARM7相连接。
图1 系统硬件原理框图
1.1.2 控制模块
控制模块的微控制器采用的是A R M 7 AT91SAM256,它是Atmel公司的基于32位ARM RISC结构处理器的小管脚输出的Flash微处理器,具有256 K字节的高速内置Flash和64 K字节的SRAM,高度集成的外围接口,包括一个USB2.0的外设,并且仅仅只需要较少的外围扩展器件就能工作。该模块的主要功能是完成命令的波形编码、回波信号的解码、差错控制、读写器命令流程控制等。如图1所示,微控制器AT91SAM256连接控制的4个天线采用分时工作方式,增加了读写器的有效空间覆盖范围。
1.1.3 Linux系统模块
该系统模块采用主频为500MHz的Inter Xscal PXA270处理器,运行Linux2.6版本的嵌入式操作系统,通过USB和控制模块进行通讯,完成接收控制模块传来的数据并进行分析和处理,实现数据过滤、安全验证算法等。PXA270内部采用Inter SpeedStep动态电源管理技术[4],外部扩展100M网口、USB Host/Device接口、串口、JTAG接口、GPIO以及高精度时钟芯片等。基于外部扩展的接口和嵌入式操作系统,可方便的实现系统的升级和二次开发。
测试条件:1)测试仪器:安捷伦N9020A频谱仪;2)前端载波发射频率:26dbm;3)读写器工作方式:跳频;4)调制方式:DSB-ASK。
测试结果如图2和图3所示:读写器工作占用带宽为73kHz;邻道功率比〉90db;读写器杂散发射功率较小。经过实际工作环境测试读取标签距离可达到6.2m。
通过对UHF RFID读写器硬件参数的测试可以看出,该读写器的性能指标达到了国家对射频识别设备的相关技术规定以及产品性能的要求。
图2 占用带宽
图3 邻道功率比
软件的开发主要分为两个部分:1)基于AT91SAM7S256的嵌入式底层软件设计,主要负责对InterR1000的射频模块读写控制;2)基于Linux系统的应用层设计,它通过USB接口负责与底层控制模块的通信,完成应用层的需求。
如图4所示为读写器底层程序流程图,它是基于ADS1.2平台,采用C语言和汇编语言混合编程,同时结合Inter R1000提供的开发库来完成程序的编写。底层程序通过USB接口负责与上层应用软件进行数据通信,完成对射频模块的读标签、写标签、查询标签等操作。为了便于开发,采用模块化的设计思想,将这些操作封装成单独的库函数,只需调用各个函数的接口就可以完成对射频模块的控制。
图4 读写器底层程序流程图
B/S(Browser/Server)结构即浏览器和服务器结构,它是随着Internet技术的兴起,对C/S(Client/Server)结构的一种变化或改进的结构。在这种结构下,用户工作界面是通过WWW浏览器来实现,极少部分事物逻辑在前端(Browser)实现,但是主要逻辑事务在服务器端(Server)实现。在基于嵌入式Linux操作系统的超高频读写器的设计中,我们采用的是boa Web服务器。它是一个单任务的http服务器,源代码开放,性能高。因此用户无需安装任何软件,通过HTTP方式访问读写器。同时通过编写CGI(Common Gateway Interface)外部扩展程序,实现动态Web技术[6]。我们把对底层控制的模块接口程序放到Linux系统的/cgi-bin/目录下,供Web服务器调用。底层控制模块采用的是模块的设计思想,把程序化繁为简,便于程序的设计、调试及维护,主要功能包括:登陆读写器,配置读写器,清点标签,读标签数据,写标签内容,退出登录等。同时这些常用功能模块可以根据用户的实际应用需求进行修改,实现系统应用层的二次开发。如图5所示为读写器客户端动态Web界面。
图5 读写器客户端动态Web界面
基于嵌入式Linux系统的UHF RFID读写器产品样机已经设计完成,并通过了现场环境使用测试,可以实现对符合ISO18000-6C和EPC Class1 Gen2电子标签的读写操作,同时各项性能指标均能满足产品设计要求。UHF RFID作为对现实世界物体标识与信息传播相结合的一种手段将对社会各个方面产生重要作用,如物流管理、工业生产控制、个人身份识别、活动目标监测、交通运输等,只需结合行业特点进行调整,就可形成适应行业应用的RFID解决方案。
[1] 游战清,苏剑,张益强,等.无线射频识别技术(RFID)理论与应用[M]:北京:电子工业出版社,2004
[2] Intel Corporation. Intel UHF RFID Transceiver R1000[Z].2007.
[3] Intel Corporation. Intel R1000 Development Platform Application Note modified[M].2007.
[4] Intel Corporation.PXA270 Processor Developer's Manual[Z].2004.
[5] 章小城,向伟,徐丹.基于Intel R1000芯片的超高频RFID手持式读写器设计[J].计算机与数字工程,2008,(9):198-200.
[6] 刘峥嵘,张智超,许振山,等.嵌入式Linux应用开发祥解[M].北京:机械工业出版社,2004.