ISO/IEC 18000 6C超高频电子标签阅读器防冲突

2016-01-18 18:33:25 重庆诺塔斯智能科技有限公司 IC卡读写器 NFC读写器设备研发与销售 84

    在现实生活中,满载货物的货车在通过读卡器识别范围时,要求系统快速有效地读取货车上所有货物的物品信息。货车通过RFID读卡器的速度直接影响系统的工作效率,快速通过能节约大量时间和成本。

 所以,如果要提高系统效率并且保证系统可靠性,移动标签群必须达到一个适中的速度,并且防冲突算法一定要对此种情况进行有效处理。本文研究ISO/IEC 18000 6C的防冲突处理算法,分析其对快速运动标签群是否有可靠的对策和处理方式。

    ISO/IEC 18000 6C防冲突算法

       1、Aloha算法

  常用的防冲突算法大多是基于Aloha算法——一种无规则的时分多址(TDMA)算法。Aloha算法规定标签周期性地发送数据给读卡器,数据传输时间只是周期时间的一小部分,标签传输中有很长时间的停歇,因此有一定概率使两个标签在不同时隙传输数据,以避免冲突。

  基于Aloha算法出现了很多改进算法:时隙Aloha算法、帧时隙Aloha算法、动态帧时隙Aloha算法等。Type C采用的防冲突算法是随机时隙防冲突算法,其本质跟帧时隙Aloha机制一样。

  2、 随机时隙防冲突算法(SR)

  随机时隙防冲突算法本质上与帧时隙Aloha机制类似,其帧长度为2Q,并且该机制根据标签应答情况来调整Q值,改变下一个识别周期的时隙数, 让未识别标签重新选择。当一帧中出现过多的冲突时隙时,读卡器会提前结束该帧,并选择一个更大的Q值发送给标签群;当一个帧中出现过多的空闲时隙时,读卡 器会提前结束该帧,并选择一个比较小的Q值发送给标签群。

  随机时隙防冲突算法命令包括Query、QueryAdjust、Query Rep等,主要参数为时隙计数参数Q。协议中的Q值决定了防冲突时所用的时隙数,读卡器通过给标签发送相应命令改变标签状态,完成防冲突工作。协议规定标签有3个状态,如图1所示。

UHF电子标签的三种工作状态

当系统上电或信道空闲时,读卡器发送Query命令,启动清点周期,初始化一个识别周期,并决定哪些标签参与本轮识别周期。Query命令包含时隙 计数参数Q,当接收到Quary命令时,读卡器在识别区域内随机选择进入识别周期的标签,所有参与标签在(0,2Q-1)范围内选择一个随机数,并置入它 们的时隙计数器。选到0值的标签变为应答状态,并响应读卡器,回答一个16机制随机数(RN16)给读卡器;没有选到0值的标签变为仲裁状态,等待下一条 Query Adjust或Query Rep命令;没有进入本轮识别周期的标签保持休眠状态。

  处于仲裁状态的标签每接收到一条Query Rep命令,它们的时隙计数器减一次,当时隙计数器减到0000h时,标签转变为应答状态,响应读卡器。当时隙计数器值为0000h,并且已经应答,但没 有得到确认时,标签变为仲裁状态,当接收到下一条QueryRep命令时,签时隙计数器减一变为7FFFh,防止随后应答,直到标签接收到Query Adjust命令或者进入下一个识别周期。在2Q-1条QueryRep命令中,所有标签至少应答一次。

  当标签时隙计数器同时达到0000h,并同时应答,会产生冲突;当标签时隙计数器都不等于0000h,读卡器接收不到响应。面对这两种情况,读卡器可能需要重新选定Q值,读卡器根据的自适应Q算法如图2所示。

电子标签自适应工作原理

    由自适应Q算法可知,当某一时隙出现冲突或者无响应的情况,Qfp的值会增大或减小,然后对Qfp四舍五入得到新的Q值。如果Q值发生变化,读卡器发送 Query命令更新Q值,并使标签重新选择时隙计数器;否则继续发送QueryRep命令,让所有标签时隙计数器减一。自适应Q算法通过根据标签冲突以及 无响应情况动态地改变Q值,从而改变时隙数,实现自适应防冲突。

    存在的问题及解决方案

    快速运动标签群通过读卡器射频区域,该种情况必须注意的是,读卡器范围内的标签是动态变化的,随时都有新标签加入读卡器的识别范围,从而影响系统的 防冲突处理。通过对ISO180006 Type C防冲突算法过程的研究,发现该算法在面对快速标签群时并未做有效的处理。

  根据算法的工作过程,当读卡器开始标签的识别工作,首先发送Query命令开启一个清点周期,高速运动标签群进入读卡器识别范围,上电进入休眠 状态。读卡器在识别范围内选择部分标签进入清点周期,部分标签没有被选择而保持休眠状态,等待下一个清点周期的到来。当上一个清点周期结束,读卡器会发送 Query命令开启新的清点周期,这时候读卡器识别范围内会有新加入的标签,读卡器会从所有标签中再次随机选择部分标签进入清点周期。新标签的加入导致部 分标签可能始终无法进入清点周期,无法被识别到,然后离开读卡器识别范围。

  另外一种情况是,标签进入清点周期后,在标签应答发生冲突或者未收到回复的情况下,时隙计数器由0000H减1变为FFFFH,避免随后应答。 这时候会有两种情况:一种是由于碰撞或者无响应的情况导致Q值发生变化,这时允许所有标签重新随机选择一个值放入时隙计数器,在清点周期内获得再一次被识 别的机会;如果冲突以及无响应现象没有导致Q值发生变化,那么在本轮清点周期结束后,它会同新进标签一起争取下一次进入清点周期的机会,所以会有几率无法 进入清点周期,直到离开读卡器的识别范围。

  假设运动标签群的运动速度为v,标签在读卡器识别范围内运动距离为d,那标签在识别范围内的时间t=v/d。假设读卡器进行一轮标签读取的时间为T,而标签被识别所需的周期为n(n为正整数),那么当n·Tv/d,则会出现标签不被识别的情况。

  以上两种情况的发生都可能会导致标签群中部分标签一段时间不被识别,通过读卡器的识别范围,从而造成系统的不可靠,出现漏读。

  3.2 解决方案

  针对快速运动标签群的识别,主要问题是新标签与旧标签争抢进入清点周期的机会,而旧标签在读卡器识别范围的时间有限。面对这种情况,解决问题切 入点是让旧标签比新标签拥有更多的机会进入清点周期,或者直接不允许新标签与旧标签竞争,而是等待旧标签完成识别才开始新标签的识别工作。拟采用两种方法 解决该问题。

  第一种是基于标签到场时间的解决方案。标签进入射频范围内上电,标签内到场计时器开始计时,计时值为t,读卡器选定一个适当的计时值T,发送Query命令开始清点周期的同时发送T,标签把自己的计时值与读卡器所要求的T大小作比较:如果t

  第二种是基于标签到场点名的办法。当某一时刻系统启动,读卡器开始发送Query命令进入清点周期之前发送点名命令,让识别范围内的标签由休眠 状态进入到场状态。之后只选择到场状态的标签进入清点周期,待所有到场标签完成识别再进行新一轮点名。这种方案可以完全解决新旧标签的竞争问题。



标签:   防冲突 电子标签阅读器