1.引言
无线射频技术RFID(radio frequency identification)是20 世纪90 年代兴起的一种非接触的自动识别技术,利用其射频信号空间传播的特性——通过空间耦合(交变磁场或电磁场)实现无接触信息传递,并通过所传递的信息来实现对被识别物体的自动识别。识别过程不需要物理接触,不需要人工管理即可完成标签信息的写入和读取。采用RFID 技术,可以一次性实现对多个目标以及运动目标的识别。此外,电子标签是可读写的,能储存大量信息,安全性保密性强,并且不怕外部灰尘、污渍等,具有较强的环境适应能力。正是由于具有这些其它识别方式不具备的优势,RFID 技术在物流、运输、交通、生产、防伪等领域有着广泛的应用和巨大的发展前景。
本文以 AS3990 芯片为核心设计一种以MSP430f149 芯片为控制器的超高频RFID 手持式读写器。对于符合EPCGen2 标准的电子标签,它能完成的所有读写及控制操作。其移动智能管理功能主要应用在物流、供应链、仓库等场合。
2.系统概述及设计原理
在无线射频识别系统中,RFID读写器是用来识别标签并将采集到的数据信息送入后台进行处理的关键设备,对保证RFID 系统的正确性和可靠性工作中具有关键作用。同时RFID读写器也可以对标签进行写操作,将信息存储在标签中。读写器的设计是完全以ISO/IEC18000-6C 标准协议为基础的。
2.1 ISO/IEC18000 -6C 协议简介
ISO/IEC18000-6C 协议规定在数据传输时, 先传输高字节, 并且其前向链路的调制方式都是采用ASK, 并用PIE 编码, 防冲突算法是基于概率和分槽算法;其后向链路则是通过反向散射调制技术来实现数据传输, 可以选择密勒编码或者FM0 编码。6C 标准采用了相对简单的加密算法以防止在读写器获取标签信息的过程中, 把敏感数据扩散出去。此算法仅在读写器给标签传送数据时对信息进行加密, 而标签传送到读写器的数据信息是不加密的, 其实现过程是读写器将从标签获得一个16bit 宽随机数与将要传送的16bit 宽数据进行模2 和计算得到密文, 然后由标签解密获得读写器发送的原始数据。
2.2 防冲突机制
在标签内具有一个16 位的随机数发生器,以解决防冲突算法问题。查询命令含有槽计数器参数Q。标签在收到查询命令后, 参与标签应在 (0,2 Q -1 )范围内挑选一个随机数值, 并将该挑选的数值载入其计数器, 挑选数值为零的标签会转换成应答状态, 并立即进行应答挑选数值非零的标签则应转换成仲裁状态,并等待发出查询调整或查询命令。
询问机采用的是三个基本操作来管理标签群,即选择、盘存、访问。每个操作均由一个或一个以上的命令组成。三个基本操作的定义如下:
(1) 选择: 读写器选择标签群以便于盘存和访问的过程。询问机可以用一个或多个的选择命令在盘存之前选择特定的标签群。
(2) 盘存: 询问机识别标签的过程。询问机在四个通话的其中一个通话中传输查询命令,开始一个盘存周期, 一个或多个的标签可以应答, 询问机检查某个标签应答, 请求该标签发出PC、EPC 和CRC-16。
(3) 访问: 询问机与各标签交易的过程,即读取或写入标签。访问前必须要对标签进行识别, 访问由多个命令组成。若多个标签应答,读卡器通过检测和解决波形的冲突, 可以解决其中一个标签发来的16bit 密钥, 其他未解决的标签会收到错误的16bit 密钥, 并返回仲裁状态。发出查询命令后将启动一个盘存周期, 询问机发出一个或多个的查询调整或重复查询命令。查询调整命令只是重复以前的查询命令, 可以令Q 增值或减值, 但不会将新的标签引入该盘存周期。重复查询命令则重复以前的查询命令, 但参数不变, 也不会将新的标签引入该盘存周期。处于仲裁或应答状态的的标签收到查询调整命令后,首先调整 Q, 然后在(0,2 Q-1 )范围内挑选一个随机数值, 将该数值载到槽计数器内。挑选数值为零的标签应转换到应答状态并立即应答; 挑选数值非零的标签应转换到仲裁状态, 并等待下次命令。
3.系统硬件设计
3.1 主要芯片介绍
MSP430 采用了目前流行的精简指令集(RISC)结构,一个时钟周期可以执行一条指令,使MSP430 在8MHz 晶振工作时,指令速度可达8MIPS。其有多达 64KB 寻址空间包含ROM、RAM、闪存RAM 和外围模块。MSP430 系列单片机结合TI 地高性能模拟技术,各成都集成较丰富的片内外设。视型号不同可能组合有以下功能模块:看门狗,模拟比较器A,定时器A,定时器B,串口0、1,硬件乘法器,液晶驱动器,10 位及更高精度ADC、DAC 等。同其它微控制器相比,MSP430 系列单片机可以大大延长电池的使用寿命,并且具有ESD 保护,抗干扰力强。
AS3990HUF 读写器芯片是一个具有集成模拟前端和交换协议系统的900M读写器系统。并且它符合ISO18000-6C(EPCGen2 专门用于物流管理)的标准。它具有低压传输码、低压解码器、CRC 码效验、可选择的时钟输出,具有20mA 内的电压输出供外部设备使用,为RF 输出阶段提供电压、具备 ASK(键控)和PR-ASK 调制(其中ASK 为可调式调制)、支持跳频、断电,待机和工作三种模式,还可以可以用USB 供电。
3.2 硬件设计
3.2.1 射频模块设计:射频模块部分以AS3990HUF 为核心芯片,外接功放使其功率满足远距离读写传输所需的必要条件。射频部分是读写器最前端部分,当控制电路发送来收发指令时,射频电路就会完成发送指令的载波调制并向射频标签发送载波,以及对返回的接收信号的解调处理并且将处理后的基带信号传送给控制电路。
3.2.2 数字模块设计:数字部分设计是以MSP430 系列单片机为核心芯片,数字部分的主要功能包括实现发送到标签命令的波形编码、返回信号的解码、读写命令流程控制、差错控制、发送控制命令和接受数据,实现与上位机应用程序之间的接口协议,输入和输出信号的采集和处理、实现读写器功能的相关算法、控制射频电路的工作模式等(包括对输出功率,读标签方式,载波频率等的控制)
3.2.3天线设计:设计使用的天线主要是为了实现将电磁波辐射出去,并用于接收从标签处返回的电磁波信号。通过采用圆极化微带天线方案,可以实现增益为3db,尺寸大小为80mm*80mm*6 mm。
4.系统软件设计
4.1 驱动软件设计
硬件驱动软件编写程序采用C 语言,主要采用模块化编程思想。系统主程序为一个完整的RFID 读写器系统,其用来控制硬件电路每个模块的工作状态和工作模式,协调整个读写器读写过程的工作。这个读写器硬件驱动的主程序主要可以分为以下几个部分:串口通信程序,读写标签程序,防冲突程序,数据处理程序等。图 2 为读写电子标签的主程序流程图:
图2 读写电子标签的主程序流程图
4.2 应用软件设计
应用软件位于上位机上,运行在windows 操作系统之上。因此,采用了C++语言编程,实现包括对电子标签内数据的读出与写入,读用户数据,存储用户数据,对标签加密解密及“不可修改”的操作,对读写器工作模式的设定等。图3 为软件系统的方框图:
图3 系统软件方框图
5.结语
本文设计的 RFID超高频手持式读写器充分结合了软硬件的优势,可以实现对EPCGEN2电子标签的读写操作。使用文中设计的天线,读标签距离可以到 1.4m,写标签距离可以到1m。多标签使用时抗冲突性能良好,可以同时读取20 个电子标签。该读写器可以通过串口与上位机相连并传输数据。该读写器具有成本低、灵敏度高、通信稳定、信息可靠、操作简单等优点,在各个行业的应用前景十分广阔,对RFID 的推广也具有重要意义。