EPC Gen2标准中标签清点流程的改进方法及装置
技术领域
本发明涉及射频识别系统中的防碰撞流程的改进方法。
背景技术
现有的射频识别系统中的标签清点流程,即防碰撞流程的具体操作过程如下:
1、首先阅读器通过发送一个Query(查询)指令开启一个清点周期(inventory round)并决定哪些标签将参与到这个周期中来(inventory round被定义为连续的Query指令之间的间隔)。
2、Query指令包含一个时隙计数器参数值Q。接收到Query指令后,参与到该周期的标签将会在(0,2Q-1)范围内产生一个随机数,并将该随机数载入时隙计数器。如果产生的随机数为零,则标签转入reply(回复)状态,立即回复信息。如果不为零,则转入arbitrate(保持)状态,等待QueryAjust(查询调整)或者QueryRep)(查询响应)指令。
3、如果只有一个标签回复信息,则阅读器将针对这个标签继续发送指令,操作结束后发送QueryAjust或者QueryRep指令,促发其他标签重复上述过程。
3、如果步骤2中有多个标签响应阅读器,导致阅读器无法确认单个标签发送的RN16,阅读器可发送一个或者多个QueryAjust或者QueryRep指令。QueryAjust会重复之前的Query指令的作用,增加或者减少Q值;QueryRep重复之前的Query指令的作用,不改变参数。
4、处于arbitrate或者reply状态的标签接收到QueryAjust后首先调整Q值,然后在(0,2Q-1)范围内重新产生一个随机数,并将该随机数载入时隙计数器。随机数值为零的标签转入reply状态,并立即发送回复信息,不为零的则转入arbitrate状态,等待QueryAjust或者QueryRep指令。
上述流程中存在一处缺陷,即阅读器并没有对任何发送指令及标签回复进行计数,即在某一Q值下清点标签时,很可能在所有标签计数器的值都已经减到零,发送过RN16之后仍未能够令标签重新产生随机数,而继续发送QueryRep指令,而此时发送的QueryRep指令对于标签清点,信息读取显然没有作用,同时也缺乏对清点流程的结束判断。
发明内容
为克服现有技术中的缺陷和不足,本发明的目的在于提供一种对于EPC Gen2标准中防碰撞流程的装置及方法,能够提高防碰撞流程的效率。
为达到上述目的,本发明采用以下技术方案:
EPC Gen2标准中标签清点流程的改进方法,包括:
(1)阅读器发送查询指令开启清点周期,并决定参与到该清点周期中的标签;
所述方法还包括:
(2)根据查询指令中的标签计数器参数值设定阅读器时隙计数器的初始值,并将正确接收计数器、碰撞发生计数器清零,等待标签回应;
(3)阅读器根据标签的回应信息进行判断,并根据判断结果改变时隙计数器、碰撞发生计数器、正确接收计数器的计数值;
(4)根据时隙计数器、正确接收计数器、碰撞发生计数器的计数值判断清点周期是否结束,若没有结束,则确定需要清点的标签的计数器参数值。
其中,所述步骤(2)中阅读器时隙计数器的初始值为2Q,其中Q为标签计数器参数值。
所述步骤(3)具体为:若标签的回应信息无效,则将时隙计数器的值减一,碰撞发生计数器值加一,并调整标签计数器参数值;若无标签信息回复,则阅读器时隙计数器值减一;若收到正确信号,则接收该信号,并将阅读器时隙计数器值减一,正确接收计数器值加一。
其中,所述步骤(4)具体为:
(41)判断阅读器时隙计数器值是否为0,若为0,则转入步骤(42),若不为0,调用标签计数器参数值调整算法,若经调整后的标签计数器参数值改变,则向标签发送插入有标签计数器参数值的修改信息的查询调整信息,并转入步骤(2),若标签计数器参数值没有改变,则向标签发送查询响应消息;
(42)判断碰撞发生计数器值是否为0,若为0,则清点周期结束;若不为0,则调用标签计数器参数值调整算法,若经调整后的标签计数器参数值改变,则向标签发送查询调整信息,并插入标签计数器参数值的修改信息后转入步骤(2),若标签计数器参数值没有改变,则根据正确接收计数器值及当前的标签计数器参数值修改标签计数器参数值,并向标签发送插入有标签计数器参数值的修改信息的查询调整消息,并转入步骤(2)。
EPC Gen2标准中标签清点流程的装置,包括一阅读器,所述阅读器包括:时隙计数器、正确接收计数器、碰撞发生计数器,其中,
时隙计数器,用于计数阅读器发送的指令数;
正确接收计数器,用于计数阅读收到的正确的标签回复信息数;
碰撞发生计数器,用于计数发生碰撞的标签数;
由阅读器发送查询指令开启清点周期后,根据查询指令中的标签计数器参数值设定阅读器时隙计数器的初始值,并将正确接收计数器、碰撞发生计数器清零,等待标签回应;阅读器根据标签的回应信息对时隙计数器、正确接收计数器、碰撞发生计数器的值进行设置;并根据设置值确定需要进行清点的标签的计数器参数值。
与现有技术相比,本发明能够对阅读器发送的指令及标签回复进行计数,并能强制终止超出标签计数器可能的最大计数的多余指令的发送,并给出方法确定继续清点的参数计数器参数值,同时做出清点结束判断。
附图说明
图1是参数Q调整的示意图。
图2是本发明阅读器清点标签的流程。
图3是EPC Gen2标准中标签状态转换示意图(与标签清点流程相关部分)。
具体实施方式
下面结合附图对本发明做进一步的详细说明。
图1是参数Q的调整示意图。其中,Qfp是Q的浮动值;阅读器将Qfp取整得到Query指令中的整数值Q。C的取值区间为0.1<C<0.5。Q值取得越大,C值越小,Q值取得越小,C值越大。具体如下:
(1)首先给Qfp赋初值;
(2)取整Qfp的值,将该值包含在Query指令中;
(3)判断标签回复的标志位,若该位大于1,则令Q值为Qfp与常数C之和与Q二者之间的最小值;若该位为0,则令Q值为Qfp与常数C之差与0二者之间的最小值;若该位为1,则Q值不作调整;之后,返回步骤(2)。
图2是本发明阅读器清点标签的流程。过程如下:
(1)阅读器通过发送一个Query指令开启一个清点周期(inventory round)并决定哪些标签将参与到这个周期中来。
(2)Query指令包含一个标签时隙计数器参数Q,将2Q作为阅读器时隙计数器的初始值,阅读器的正确接收计数器和碰撞发生计数器清零,等待标签回复。
(3)阅读器通过底层波形检测和CRC校验,可将接收到的回复信息判断为以下三种形式:a)信息无效,认为多标签信号碰撞,则阅读器时隙计数器减一,碰撞计数加一,根据图一所示调整参数Q;b)超时,仍旧没有接收到信息,认为没有标签信息回复,则阅读器时隙计数器减一,根据图一所示调整参数Q;c)收到正确信号,则接收该信号,阅读器时隙计数器减一,阅读器正确接收计数加一。
(4)检验阅读器时隙计数器是否为零,若阅读器时隙计数器不为零,则调用Q参数调整算法,若Q参数改变,则发送QueryAjust指令,插入对参数Q的修改信息,返回步骤2;若Q参数不改变,则发送QueryRep指令;若阅读器时隙计数器为零,则检验碰撞计数,若碰撞计数等于零,则认为该清点周期结束;若碰撞计数不为零,则调用Q参数调整算法,若算法导致Q参数改变,则依据上述阅读器时隙计数器不为零的状况进行处理,若Q参数没有改变,则根据阅读器正确接收计数及当前Q值修改参数Q,并发送QueryAjust指令,将对Q参数的修改信息插入到该指令中,返回步骤2。
上述流程中步骤(4)中提到的根据阅读器正确接收计数及当前Q值修改参数Q可有多种方式,如:比较阅读器正确接收计数与2Q,若阅读器正确接收数大于等于(2Q-1),则修改Q,另Q=Q-1,同时令Q参数算法中的中间累积变量Qfp=Q。
由于阅读器在进行标签时,信号处理,协议处理均可以通过软件实现,因此上述流程在实现起来比较简单。流程中需要的正确接收计数和碰撞发生计数需要阅读器对各时隙中信息的接收情况作出判断,这也是阅读器实现对标签清点的基本条件,必须能够为Q参数调整算法提供该时隙中是发生碰撞,无信号接收或者正确接收的判断,阅读器可通过底层的波形检测,及协议层的CRC校验得到以上信息。
图3是EPC Gen2标准中标签状态转换示意图(与标签清点流程相关部分)。具体说明如下:
Ready:表示那些上电之后,并且当前没有参与到一个清点周期的标签。标签在此状态下接收到QueryAjust或者QueryRep指令不做响应。
Arbitrate:Arbitrate是一个“保持状态”。表示那些参与到当前清点周期,但是时隙计数器值非零的标签。
Reply:当标签的时隙计数器为零时,标签进入reply状态,并且回复信息。
标签对上述流程中涉及到的指令的响应:
Query:处于上述几个状态的标签都响应该指令。接收到Query指令后,参与到该周期的标签将会在(0,2Q-1)范围内产生一个随机数,并将该随机数载入时隙计数器。如果产生的随机数为零,则标签转入reply状态,立即回复信息。如果不为零,则转入arbitrate状态,等待QueryAjust或者QueryRep指令。
QueryAjust:处于arbitrate或者reply状态的标签接收到QueryAjust后首先调整Q值,然后在(0,2Q-1)范围内重新产生一个随机数,并将该随机数载入时隙计数器。随机数值为零的标签转入reply状态,并立即发送回复信息,不为零的则转入arbitrate状态,等待QueryAjust或者QueryRep指令。
QueryRep:处于arbitrate或者reply状态的标签接收到QueryRep后,标签时隙计数器减一。如果计数器值为零,则标签转入reply状态,并立即发送回复信息,不为零则转入arbitrate状态,等待QueryAjust或者QueryRep指令。