1.一种仓储环境下基于连续时隙分组的RFID防碰撞方法,其特征在于:采用标签预处理、时隙分组、设计返回序列、前缀重传的方法对仓储环境下的已读标签、新加入标签和捕获标签进行识别。
2.根据权利要求1所述的一种仓储环境下基于连续时隙分组的RFID防碰撞方法,其特征在于:所述方法包括如下步骤:
步骤1)初始化,将阅读器当前的查询组号groupID置为1,并将阅读器内部的堆栈Q置为空;
步骤2)阅读器扫描堆栈QS,判断当前的查询组号groupID是否大于max(groupID),若大于,则阅读器执行步骤4),开始识别新加入标签;否则,阅读器根据堆栈QS中第groupID组的时隙标志位Flag形成一个数组Slot,并计算第groupID组对应的时隙个数M,若M等于0,则开始查询第groupID+1组,重新执行步骤2);若M不等于0,则执行步骤3);
步骤3)阅读器发送Queryrep(rRID,groupID,Slot)命令,已读标签接收到该命令后,首先根据数组Slot调整组内时隙temID,调整结束后,将新的temID发送给阅读器,阅读器根据碰撞信息识别该组标签,并将离开的已读标签信息从堆栈QS中删除,存入堆栈QC,同时令当前的groupID加1,然后执行步骤2);
步骤4)阅读器发送Query(rRID,REP,groupID,temID)命令,此时若新加入标签的前缀rep与阅读器发送的REP相同,则新加入的标签开始响应阅读器,并将自身的识别码发送给阅读器;
步骤5)阅读器判断标签是否发生碰撞,若发生碰撞,则阅读器可以通过QT算法预测出新加入标签的前缀为REP,并将REP存入堆栈Q中,然后执行步骤7);若未发生碰撞,则识别成功,阅读器给成功识别的标签分配临时的groupID和temID,并将该标签信息存入堆栈QS中,同时将标签内部的计数器tRID与阅读器内部的计数器rRID相关联,然后执行步骤6);
步骤6)阅读器重新发送Query(rRID,REP,groupID,temID)命令,若有标签响应,则说明标签发生捕获,然后阅读器判断捕获标签是否发生碰撞,若未发生碰撞,则执行步骤5);若发生碰撞,则阅读器根据返回的碰撞信息确定捕获标签的前缀REP,并将其存入堆栈Q中,同时执行步骤7);若无标签响应,则无标签发生捕获,直接执行步骤7);
步骤7)阅读器判断堆栈Q是否为空,若堆栈Q不为空,则将REP出栈,并跳至步骤4);若堆栈Q为空,则查询结束。
3.根据权利要求2所述的一种仓储环境下基于连续时隙分组的RFID防碰撞方法,其特征在于:当堆栈QS中的时隙存在时,则将该时隙的标志位Flag设置为1,当堆栈QS中的时隙不存在时,则将该时隙的标志位Flag设置为‑1,形成所述步骤2)中的数组Slot。
4.根据权利要求2所述的一种仓储环境下基于连续时隙分组的RFID防碰撞方法,其特征在于:所述步骤3)中的已读标签的判断标准为tRID和rRID相等。
5.根据权利要求2所述的一种仓储环境下基于连续时隙分组的RFID防碰撞方法,其特征在于:所述步骤5)中通过分配的临时TID给新加入标签分配groupID和temID,使其变成已读标签,分配规则如下:
(1)当堆栈QS为空时,则说明不存在已读标签,于是阅读器令时隙TID为初始值(初始值为1),从而得到已读标签的组号groupID=TID/8+1,组内时隙temID=TID%8;
(2)当堆栈QS不为空时,则说明存在已读标签,于是阅读器首先判断堆栈QC是否为空,若为空,则阅读器将要分配的时隙TID设置为堆栈QS中的max(TID)+1,从而得到组号groupID=(max(TID)+1)/8+1,组内时隙temID=(max(TID)+1)%8;若不为空,则阅读器将要分配的时隙TID设置成堆栈QC中的min(TID),从而得到组号groupID=(min(TID))/8+1,组内时隙temID=(min(TID))%8。