基于DSP技术的RFID读写器设计实现
RFID是Radio Frequency Identification的缩写,即射频识别。射频识别(RFID)技术是从20世纪80年代兴起并逐渐走向成熟的一项自动识别技术,它利用射频方式进行非接触双向通信,以达到目标识别与数据交换的目的。RFID是一种非接触式的自动识别技术,它通过射频信号自动识别目标对象并获取相关数据,识别工作无须人工干预。作为条形码的无线版本,RFID技术具有条形码所不具备的防水、防磁、耐高温、使用寿命长、读取距离大、标签上数据可以加密、存储数据容量更大、存储信息更改自如等优点,已经被世界公认为本世纪十大重要技术之一,在生产、零售、物流、交通等各个行业等各个行业有着广阔的应用前景。我国的第2代身份证即采用了RFID技术,世界上最大的零售商沃尔玛也要求其最大的100个供应商从2005年1月1日起开始采用RFID技术。
1 RFID概述
一个最基本的RFID系统,有以下几部分组成:标签(Tag),由耦合元件及芯片组成,每个标签具有唯一的电子编码,附着在物体上标识目标对象;读写器(Reader),读取(有时还可以写入)标签信息的设备;天线(Antenna),在标签和阅读器间传递射频信号。
电子标签的工作频率有3种:低频(125 kHz)、中频(13.56 MHz)和高频(2.45 GHz,5.8 GHz)。文中的读写器设计基于IS015693标准,工作于13.56 MHz,适用的电子标签是无源的。无源标签从读写器产生的电磁场中以电感耦合的方式获得能量。读写器首先从后台计算机接收命令,然后将命令数据按照ISO标准进行编码调制并通过天线发射出去,处于读写器工作区的电子标签接收命令数据通过改变能量强度发射响应信息,读写器通过天线接收电子标签的响应信号,进行解调解码后传送给上位机做进一步处理。
2 读写器的设计
2.1 读写器的核心控件
在本读写器的设计中采用的控制核心器件是DS MS320F2812,它是TI公司2003年推出的32 bit定点DSP芯片。最高主频可达150 MHz,128 kbit的Flash,18 kbit的RAM,16通道的12 bit ADC,支持ANCIC/C++。由于TMS320F2812内部集成了16通道的12 bit ADC,故无须再外扩ADC,这样可以使硬件电路变得更简洁。使DSP工作它采用了位域编程的环境,程序结构更加清晰,缩短软件开发周期。
2.2 读写器的硬件设计
读写器的硬件组成,是一个基于TMS320LF2812的DSP系统,完成与电子标签和上位机的双向通信,其中DSP在与电子标签的数据交换中完成编码和解码的功能。
DSP产生脉冲位置编码,控制13.56 MHz载频的输出,实现脉冲位置调制。调制电路输出信号的功率很弱,需将此信号进行功率放大,然后经过滤波和调谐后加到天线上,以提高对卡的操作距离。功率放大电路采用NPN型的射频功率晶体管MRF426,发射功率为4 w,工作频率可达25 MHz。输出通过电位器 实现功率调节,可以调整的最小功率为0.5 W,最大为6 W。天线线圈在13.56 MHz的工作频率时表现为阻抗z,为了实现与50Ω系统的功率匹配,系统通过无源的匹配电路将此阻抗转换为50Ω,然后通过50Ω的同轴电缆将功率从读写器末级传送到天线匹配电路。
在设计过程共配有4个天线,可根据不同的距离需求调换。在ISO15693协议中,电子标签到读写器的数据采用负载调制的方式(同时使用副载波)进行发射,即首先将曼彻斯的信号加载到副载波(有ASK单副载波423.75 kHz和FSK 双副载波423.75 kHz、484.28 kHz两种方式),然后再将信号加载到主载波13.56 MHz上。因此,在读写器的接收通道中,首先通过带通滤波器取出一个边带,放大后再送人解调器,解调器将边带信号与本地13.56 MHz载波混频滤波后获得调制到副载波上的中频信号,再进行ASK或FSK检波,从而得到曼彻斯波形。这里所得的曼彻斯波形没有经过抽样判决是模拟信号,经过DSP的片上AD采样、处理、判决后进行解码和校验,完成整个信号的接收处理过程。
2.3 读写器的软件设计
在ISO15693标准中,从读写器到电子标签的数据编码采用脉冲位置调制方式,电子标签支持两种编码模式,一种是1/256模式,一种是1/4模式。在1/256模式中,一个字节的值由脉冲的位置表示,脉冲的位置在连续的256个时间周期的某一处,其时间周期为256/f,(18.88μs,高低电平分别为9.44μs),因此一个字节的传输需要4.833 ms。在1/4模式中,一个脉冲的位置确定一个字节的两位(00,01,10或11,4个连续的循环确定一个字节,传输一个字节需要302.08μs。
两种编码模式的实现方法基本相同,首先根据要编码的数据x确定脉冲前后高电平的时间(对1/256模式,分别为X318.88μs和(FF—x)318.88μs),然后顺序调用脉冲前的高电平产生子程序、脉冲产生子程序和脉冲后的高电平产生子程序即可。其中18.88μs的定时要尽可能精确,以避免偏差累积引起的编码错误。本设计采用TMS320F2812做处理器,最高主频可达150 MHz,可以设定主频为135.6 MHz,这样在程序设计方面会有一定的便利,充分利用了TMS320F2812的特点,提高了精度,但还需注意跳转指令和流水线对精确定时的影响。本设计方安选用1/4模式编码,使用4取1脉冲位置调制模式,这种位置一次决定2个位。4个连续的位对构成1个字节,首先传送最低的位对。
2.4 设计结果分析
读写器从电子标签接收的数据是按帧发送的,每一帧包括帧头(SOF)、数据和帧尾(EOF),帧尾前是2个字节(16位)的CRC校验值。本读写器接收数据的帧头波形,接收数据的帧未波形与帧头波形相反。读写器接收数据的波形如图5所示,启始部分是接收命令,第二部分是帧头,第三部分是传输数据,最后是帧尾。读写器在向电子标签发出一个命令后即开始采样,如果在一定的时间内接收到SOF,说明有返回信号,则继续采样,直至接收到EOF;否则,立即返回。
在实际实验中读写器的读写距离、信号强弱、噪声干扰的大小对读写的准确度有较大影响。读写器在在电子标签距离读写器的天线较近时,信号相对干扰信号比较强,判决门限容易选取。对信号的判别比较容易,解码方便,结果也比较准确。但当电子标签距离读写器的天线较远但又在读写器的工作范围之内时,信号的强度与噪声相当,判决门限很难选取,需要对采样信号进行滤波,然后自适应地选定判决门限,提高读写距离和读写精度。
2.5 防冲突程序设计
防冲突程序设计是读写器程序设计中的一个重要组成部分。防冲突序列的目的,是在VCD工作域中产生由VICC的惟一ID(UID)决定的VICCs目录。VCD在与一个或多个VICCs通讯中处于主导地位。它通过发布目录请求初始化卡通讯。当读写器进入工作状态时,在其天线覆盖范围内的所有标签将被激活,处于等待状态,随时准备响应读写器指令操作,这就造成了标签读写冲突。为了解决这一问题,标签内部设计了自带防冲突机制,只需利用相关的指令集辅助设计一种防冲突程序即可。
防冲突当处于激活状态的标签接收到读写器SELECT命令时,便发送自身UID给读写器。此时如果有一个以上的标签同时发送UID,则读写器判定冲突发生,发送FAIL命令给标签,标签通过内部防冲突算法对自身相关参数值进行修改之后,符合条件的标签将再次发送UID给读写器,由读写器判定冲突,重复上述操作,直到只有一个标签符合条件,则跳出防冲突程序,进入标签后续处理程序。同时,剩余标签自动修改自身相关数值,为下一次读取做准备,如果此时没有符合条件的标签,则读写器发送SUCCESS命令,标签修改自身参数,等待读写器检测命令。
3 结束语 文中基于RFID的国际标准ISO15693,设计了工作于13.56 MHz的RFID读写器,可以进行全方向读写标签的新型读写设备,配有输入输出IO、RS232、RS485及CAN总线等通信接口,配备有两个天线,最大读写距离可以达到1.5 m-1.8 m左右,多卡识别能力达到每秒45张,可以有效地满足各类RFID应用领域的需求。基于该读写器的门禁系统已经在实际中得到应用,实际效果良好。