物联传媒 旗下网站
登录 注册
RFID世界网 >  技术文章  >  其他  >  正文

一种适合多协议防碰撞的射频识别阅读器设计

作者:不详
来源:中国百科网
日期:2016-03-30 15:03:33
摘要:针对目前市场上射频识别阅读器只能识别单协议标签的情况,设计了一种能够识别ISO/IEC15693和ISO/IEC14443-3 TYPE A两种协议标签的射频识别阅读器。采用TI公司的13.56 MHz频段下的芯片S6700作为射频模块,现场可编程逻辑器件作为控制器,和单片机相比,减少了外围电路。同时针对同时读取多标签的情况,提出了一种改进的动态二进制防碰撞算法,用计数器保存标签的休眠程度,理论分析和仿真结果表明其性能优于动态二进制算法。

  射频识别技术RFID(Radio Frequency Identification)是自动识别技术的一种,通过无线射频方式进行非接触双向数据通信,对目标加以识别并获取相关数据。RFID的主要核心部件是阅读器。阅读器向与之相距几厘米到几米距离的电子标签发射无线电波,可以读取电子标签内储存的信息,识别电子标签代表的物品、人和器具的身份等。由于阅读器是连接后端应用系统与前端信息载体——电子标签之间的主要通道,因此对于阅读器的研究具有重要意义。

  目前常见的阅读器一般只能识别某一种协议的标签,本文提出一种适合多协议阅读器的设计方案,通过轮询法在两种通信协议之间进行转换,适合于多协议标签共存的场合。提出一种改进的动态二进制搜索算法,经实验证明能极大地提高阅读器的识别效率。

  1 阅读器设计方案

  1.1 ISO/IEC15693和ISO/IEC14443 TYPEA通信协议

  阅读器与标签之间的‘对话’要遵循一定的通信协议,下面对两种协议进行介绍。

  国际标准ISO15693规定了非接触疏耦合IC卡的作用原理和工作参数。该卡的作用距离可达1 m,从阅读器到卡的调制深度可以在10%~100%之间选择,有‘256中取1’和‘4中取1’两种编码方法,从卡到阅读器为Manchester编码,采用时隙ALOHA防碰撞算法[1]。国际标准ISO/IEC14443规定了非接触近耦合IC卡的作用原理和工作参数。该卡的作用距离大约为7cm~15cm,Type A型规定从阅读器到卡的调制深度为100%,采用改进的Miller编码,从卡到阅读器为Manchester编码,采用二进制搜索防碰撞算法[2]。

  1.2 阅读器的构成

  阅读器一般由射频通道模块和控制处理模块两部分组成。

  在控制器的选择上,由于FPGA和单片机相比具有以下优点,所以选择FPGA作为控制器。

  (1)FPGA把相应的逻辑暂时‘固化’为一个硬件电路,对激励作出的响应就是电信号从FPGA的一个管脚传播到另一个管脚,且内部集成了锁相环;而单片机是基于指令工作的,同样的激励到达单片机后,单片机首先要判断,然后读取相应的指令,最后作出响应。因此,FPGA响应速度要快很多;

  (2)由于用户通过编程实现其逻辑功能,因此减少了外围电路;

  (3)单片机I/O接口有限,所以要进行细致的资源分配和总线隔离。而FPGA一般具有数百个I/O口,I/O资源丰富,可以很方便地用不同I/O连接各外设。

  EP1C6Q240C8是CycloneII系列的FPGA芯片,规模约是Cyclone系列器件的3倍,在逻辑容量、PLL、乘法器和I/O数量上都较Cyclone有了很大提高,能够满足本设计的需要,成本比Cyclone更低。在本设计中作为控制器。

  芯片有两种下载模式可供选择:Active Serial Mode和JTAG Mode。这里采用JTAG下载模式。串行通信采用RS232标准。这是一种常用的串行数据传输总线标准。

  在射频收发器的选择上,由于两种协议的编码解码、调制解调方式不同,而S6700芯片工作频率为13.56 MHz,兼容ISO/IEC15693协议和IS0/IEC14443-3 TYPE A协议[3],因此在本设计中作为射频收发器。

  图1为阅读器组成结构图,EP1C6Q240C8芯片作为控制器,通过SCLOCK、DOUT、DIN、和M_ERR四根信号线对S6700芯片进行控制,实现对标签的识别。S6700芯片的外围电路如图2所示。

一种适合多协议防碰撞的射频识别阅读器设计

  下面介绍S6700芯片的工作流程。控制器的命令输入到DIN端后,芯片通过编码将命令转化为所选择通信协议的格式,经过低通滤波器发送出去;接收端通过一个外加电阻和天线相连,经过检波、整流、解码后将标签的数据传送到DOUT端。发送命令时,由控制器来控制SCLOCK;接收数据时,控制器将SCLOCK的控制权交给芯片。如芯片正确接收到命令,将在M_ERR上产生一个22 μs的脉冲,当多标签发生碰撞时,M-ERR的电平将被拉高,控制器接收到此信号,将执行防碰撞算法。

  2 防碰撞算法

  在实际应用中,经常会碰到同一个阅读器作用范围内有多个电子标签的情况。由于多个标签共享Tag-to-Reader的上行通道,如果没有相应的防冲突机制,必然会引起冲突的发生。这里主要讨论时分多址解决碰撞的方法。时分多址主要包括ALOHA算法和二进制搜索算法两种算法,根据协议规定,分别适用于ISO/IEC15693和ISO/IEC14443 TYPEA协议。由于适用于两种协议的算法不同,因此针对两种协议卡防碰撞的情况要分开处理。阅读器在‘闲置’状态时能在两种协议间进行转换。本文给出了适用于ISO/IEC15693协议的防碰撞算法,并与ALOHA算法进行了比较提出了一种改进的动态二进制搜索算法。从搜索次数和发送标签序列号的长度两方面进行比较,证明这种算法优于动态二进制搜索算法。

  2.1 适用于ISO/IEC14443 TYPEA协议的防碰撞算法

  ISO/IEC14443 TYPEA采用二进制搜索防碰撞算法。为了从一组标签中选择其中之一,阅读器发出一个请求命令,有意识地将标签序列号传输时的数据碰撞引导到阅读器上。由于序列号总是一次次完整地传输,因此又发展出了动态二进制搜索算法,将要搜索的序列号最高碰撞位之前的部分作为搜索依据,所有与位相同的标签应答并回送其序列号的其余部分。但动态二进制搜索算法仍存在不足,阅读器仍要将碰撞位之前的部分全部发送。这不仅浪费时间而且容易泄露标签序列号的信息,且所有未去活的标签都要比较自身是否满足请求命令。因此本文提出一种改进的动态二进制搜索算法,仅将最高碰撞位作为碰撞信息置于请求命令中发送,并利用休眠计数器的数值实现标签的双向搜索。经实验证明,此算法提高了识别效率。

  2.1.1 算法描述

  定义1 请求命令Request(x,m):参数x为1 bit的二进制数,m为检测到的碰撞最高位。阅读器发送该命令给区域内待命标签。待命标签检测自己的序列号第m位与x是否相同。如相同则应答,并返回碰撞位及相关信息;如不同,则该标签转为休眠状态,并将相应的休眠程度计数器置‘1’。对于已经处于休眠状态的标签,其休眠程度计数器加1[7]。

  定义2 激活命令Active:该命令发出后,休眠态的标签将其休眠程度寄存器减1。如果某个标签的休眠程度计数器减到0,该标签转为待命态,可重新响应Request 命令;否则,仍处于休眠状态。

  工作过程如下:假设标签的编码为8位,阅读器作用范围内有3个标签,分别为标签1:0101 0101;标签2:0101 0111;标签3:0111 0101。下面介绍具体执行过程。 (1)阅读器发送Request(NULL,8)命令,阅读器作用范围内的所有待命标签应答,碰撞位为D5、D1。m取5(最高碰撞位的下标),得到下一次Request 命令所需的参数。

  (2)阅读器发送Request(0,5)命令,所有待命的第5位为0的标签响应,这里是标签1、2响应,碰撞位为D1,因此,m取1,得到下次Request命令所需参数。同时,将标签第5位为1的标签转为休眠态,这里是标签3,并将其休眠程度计数器置‘1’。标签1、2仍为待命态。

  (3)阅读器发送Request(0,1)命令,第1位为0的待命态标签应答,这里是标签l应答。由于无碰撞发生,故正确识别。阅读器可以对其进行相应的操作(如select、read data等),然后使之处于‘静默’状态。同时,第1位为1的标签转为休眠态,这里是标签2,其休眠程度计数器置‘1’,并将处于休眠态的标签3的休眠程度计数器加1。正确识别一个标签后,阅读器发送Active命令,各休眠标签将各自的休眠程度计数器减1,算法再采用回跳策略开始执行。

  (4)阅读器发送Request(1,1)命令,第1位为1的待命态标签应答,只有标签2应答,因而正确识别。同理,完成相应的工作后,阅读器发送Active命令,标签3转为待命态。

  (5)阅读器发Request(1,5)命令,第5位为1的待命态标签应答,这里是标签3,无碰撞,正确识别。

  2.1.2 性能理论分析

  与动态二进制搜索算法进行比较[4],主要考虑搜索次数和发送标签序列号的长度两个性能指标。

  (1)搜索次数的比较

  改进的动态二进制搜索算法中,阅读器识别N个标签所需的搜索次数为:S(N)=(N-1)×2+1=2N-1。采用数学归纳法证明。

  证明:(1)N=1时,搜索次数显然为Q=(LSEL+LNMB+L1)/(LSEL+LNMB+L2)=(16+L1)/(16+L2)。m=2 时,对任意两个标签,如标签甲和标签乙。当阅读器发送Request(NULL,2)命令时,至少可以检测出一个碰撞位。下一次阅读器发送请求命令,由于只有两个标签,必然只有惟一一个标签应答。假设标签甲应答,因此,正确识别出标签甲。根据算法约定,再采用回跳策略开始执行,可正确识别标签乙,所以,S(2)=3。结论成立。

  (2)假设N=k-1个标签时,搜索次数S(k-1)=2(k-1)-1=2k-3成立。当有k个标签时,根据标签编码的惟一性,增加一个标签和原有的k-1个标签的编码一定不同。为了将它与其他标签区分开,必须在原有基础上增加一个碰撞位的搜索。由于对每个碰撞位都是双向搜索,因此,S(k)=S(k-1)+2=2k-1。结论成立。

  对于动态二进制算法,从大量电子标签中发现一个单独的电子标签的搜索次数为:r(N)=log2N+1[4],N为标签总数,则总的搜索次数为

。两种算法搜索次数的比较如图3所示。
一种适合多协议防碰撞的射频识别阅读器设计

  图3中的实线为动态二进制算法的搜索次数曲线,虚线为改进的动态二进制算法的搜索次数曲线,随着标签数量的增大,采用改进动态二进制算法的优势将越来越明显。

  (2)发送标签序列号长度的比较

  假设发生了m次碰撞,碰撞发生的位置是随机的,动态二进制搜索算法每次发出的标签序列号UID平均长度为

  改进的算法每次碰撞传输的碰撞位置信息的长度L2仅仅与序列号长度N有关,L2=log2N。同等情况下传输信息长度即意味着抗碰撞命令传输时间,尽量降低传输长度可以提高速度,如表1。防碰撞命令的格式为SEL+NVB+UID,SEL和NVB的长度都是8 bit,防碰撞速度改善比例为:Q=(LSEL+LNMB+L1)/(LSEL+LNMB+L2)=(16+L1)/(16+L2)。

一种适合多协议防碰撞的射频识别阅读器设计

  2.2 适用于ISO/IEC15693协议的防碰撞算法

  ISO/IEC15693使用时隙ALOHA算法,时隙数SLOT的值为16[5]。时隙ALOHA算法由ALOHA算法发展而来,ALOHA算法是最简单的防碰撞算法。标签将序列号在一个周期性的循环中将数据发送给阅读器,所以存在一定概率,两个标签可以在不同的时间段上设置数据,使数据包不相互碰撞。平均交换的数据包量G可以通过一个数据包的传输持续时间t计算:

  。n(取值1,2,3,…)是系统中的标签数量,rn是在T内由标签n发送的数据包的数量[6]。传输通路的吞吐率S与数据包量G的关系为S=Ge-2G。时隙ALOHA算法是一种时分随机多址方式,可以提高ALOHA算法的吞吐率。它将信道分成许多时隙(Slot),每个时隙传送一个分组,数据包的传送总在同步的时隙内才开始,与简单的ALOHA算法相比,可能出现的碰撞时间只有一半,可得到S=Ge(-G),信道的利用率增加一倍。防碰撞流程图如图4所示,初始命令cmd=00000000,slotvalue=0000,slotnumber=0。

  由于目前全球没有统一的射频识别技术标准,各个厂家生产的电子标签符合不同的协议标准,随着射频识别技术的发展,制造能兼容多种不同制式的电子标签的阅读器已成为市场竞争的需要。FPGA以其可靠性、先进性、高效性、体积小的特点,正逐渐成为设计者的首选。本文提出了一种支持多协议、防碰撞的阅读器的设计方案,验证表明,如能进一步改进天线设计,将会增加读写距离,提高稳定性。

一种适合多协议防碰撞的射频识别阅读器设计

  参考文献

  [1] ISO/IEC.ISO/IEC15693 Information technology-RFID for Item Management-Unique Identification of RF Tag.http://www.iso.org/iso/en/ISOOnline.frontpage,2008.

  [2] ISO/IEC.ISO/IEC14443 Information technology-Identification cards-Contactless integrated circuit cards.http://www.iso.org/iso/en/ISOOnline.frontpage,2008.

  [3] Texas Instruments.HF Reader System Series 6000 Reference Guide.http://www.ti.com.cn,2008.

  [4] 周晓光,王晓华.射频识别技术原理与应用实例[M].北京:人民邮电出版社,2006:94-98.

  [5] 梁彪,胡爱群,秦中元.一种新的RFID防碰撞算法设计[J].电子与信息学报,2007,29(9):2158-2160.

  [6] KLEINROCK L,LAM S S.Packet switching in a multi-access broadcast channel:performance evaluation[J].IEEE

  Transactions on Communications,1975,23(4):410-423.