一种多标签防碰撞方法

文档序号:6424771阅读:829来源:国知局
专利名称:一种多标签防碰撞方法
技术领域
本发明涉及射频通信技术领域,具体是一种应用于射频识别系统中,解决多标签之间发生通信碰撞的方法。
背景技术
射频识别(Radio Frequency Identification, RFID)通信技术是一种非接触式的自动识别技术。在射频识别系统中,读写器通过射频信号与若干标签进行通信,并获取每个标签上存储的识别信息。射频识别系统与其他典型的射频通信系统所面临的一个共同问题是需要解决在同一个系统中多个设备之间同时通信的碰撞问题。对于射频识别系统来说,主要解决单个读写器与多个标签之间通信的碰撞问题。并且限于成本和功耗的因素,标签只能够提供极为有限的功能用于实现防碰撞机制。目前多标签的防碰撞方法主要分为时隙ALOHA方法和 二叉树方法两大类。时隙ALOHA方法是把时间分成若干离散时隙,要求标签随机选择其中一个时隙,在时隙的分界处发送数据。在国际标准IS018000-6A和IS018000-6C中均采用时隙ALOHA方法。二叉树方法的基本思想是将标签分裂成子集O和子集I两个子集。先查询子集0,若没有碰撞,则正确识别标签,若有碰撞则再分裂,把子集O分为子集00和子集01两个子集,依次类推,直到识别出子集O中的所有标签。然后再按此步骤查询子集I。在国际标准IS018000-6B中采用基本二叉树方法。二叉树方法总是首先致力于解决O分支的碰撞,让其分裂,直到O分支的标签全部识别完成再开始识别其他的标签。在O分支进行分裂时,非O分支的标签始终不分裂,一直处于等待状态。事实上,在O分支的标签进行分裂的同时,其他标签也可以根据O分支标签的碰撞程度进行适当的散列操作,这样,当O分支的标签识别完成后,其他分支的标签已经得到充分的散列,从而能够减少再次进行分裂的次数,提高系统的吞吐率。

发明内容
本发明的目的是针对基本二叉树方法存在的不足进行适当的改进,即在对O分支标签进行识别的同时,根据O分支标签的连续碰撞程度或连续空闲程度动态调整其他标签的散列情况。为解决上述技术问题,本发明所采用的技术方案是一种多标签防碰撞方法,该方法为
步骤I :读写器初始化防碰撞方法参数,包括连续碰撞次数阈值CCN和连续空闲次数阈值 CIN,取 CCN=3,CIN=4。步骤2 :读写器发送启动查询命令,然后在规定的时隙等待标签发送响应数据包。标签接收到启动查询命令后,产生一位随机数载入标签的时隙计数器。如果随机数为O,标签向读写器发送响应数据包,响应数据包中包含标签的唯一识别号,如果随机数不为O,标签不向读写器发送响应数据包。步骤3 :如果读写器在规定的时隙接收到标签的响应数据包,跳到步骤4 ;如果读写器在规定时隙没有接收到标签的响应数据包,跳到步骤7。步骤4:如果读写器接收到标签的响应数据包并且判断没有发生数据碰撞,跳到步骤5 ;如果读写器接收到标签的响应数据包并且判断发生数据碰撞,跳到步骤6。步骤5 :读写器完成对未发生碰撞的标签的识别,该标签离开盘存过程,不再响应此后的读写器命令。如果读写器需要继续盘点,读写器发送重复查询命令,然后在规定的时隙等待标签发送响应数据包;如果读写器不需要继续盘点,读写器停止发送命令,盘点结束。标签接收到重复查询命令后,时隙计数器的值减I。

如果调整后标签的时隙计数器的值为0,标签向读写器发送响应数据包,响应数据包中包含标签的唯一识别号,如果调整后标签的时隙计数器的值不为0,标签不向读写器发送响应数据包。如果读写器在规定的时隙接收到标签的响应数据包,跳到步骤4;如果读写器在规定时隙没有接收到标签的响应数据包,跳到步骤7。步骤6 :如果读写器连续CCN次接收到发生碰撞的响应数据包,读写器发送分散命令,然后在规定的时隙等待标签发送响应数据包;否则读写器发送分裂命令,然后在规定的时隙等待标签发送响应数据包。标签接收到分散命令后,标签产生一位随机数,计算时隙计数器值的2倍再加上该随机数,将计算结果载入标签的时隙计数器。标签接收到分裂命令后,时隙计数器的值为O的标签产生一位随机数载入标签的时隙计数器;时隙计数器的值不为O的标签将自身的时隙计数器的值加I。如果调整后标签的时隙计数器的值为0,标签向读写器发送响应数据包,响应数据包中包含标签的唯一识别号,如果调整后标签的时隙计数器的值不为0,标签不向读写器发送响应数据包。如果读写器在规定的时隙接收到标签的响应数据包,跳到步骤4;如果读写器在规定时隙没有接收到标签的响应数据包,跳到步骤7。步骤7 :如果读写器连续CIN次没有接收到标签的响应数据包,读写器发送收缩命令,否则读写器发送重复查询命令,然后在规定的时隙等待标签发送响应数据包。标签接收到收缩命令后,时隙计数器的值更新为原计数器值的O. 5倍,如果原计数器值是奇数,舍弃小数部分。标签接收到重复查询命令后,时隙计数器的值减I。如果调整后标签的时隙计数器的值为0,标签向读写器发送响应数据包,响应数据包中包含标签的唯一识别号,如果调整后标签的时隙计数器的值不为0,标签不向读写器发送响应数据包。根据本发明的具体实施例,提供ー种多标签防碰撞装置,该装置包括一个读写器和多个标签。读写器包含基带处理模块、射频发送模块和射频接收模块,每个标签包含基带处理模块、射频收发模块、存储区、随机数发生器和时隙计数器。
读写器发送命令给标签,然后根据标签返回响应数据包的情况对标签进行动态散列,有四种散列的方式
散列方式一读写器发送分裂参数为O的分裂命令,标签时隙计数器的值为O的标签重新生成一位随机数,其它标签的时隙计数器的值加I ;
散列方式二 读写器发送分裂参数为I的分裂命令,时隙计数器的值为I的标签重新生成一位随机数,其它标签的时隙计数器的值不变;
散列方式三读写器发送分散命令,所有标签的时隙计数器的值乘以2加上一位随机
数;
散列方式四读写器发送收缩命令,是所有标签的时隙计数器的值除以2后取整。本发明的有益效果是在对O分支标签进行搜索的同时,可根据O分支标签连续碰撞的程度,动态调整标签的散列程度,从而提高防碰撞方法的吞吐率;在对O分支标签进行 搜索的同时,可根据O分支标签连续空闲的程度,动态调整标签的散列程度,从而提高防碰撞方法的吞吐率;本方法能够动态调整标签的散列程度,无论标签数量的多少,该方法都能将系统的吞吐率保持在较高水平。


图I是本发明提出的改进的二叉树防碰撞方法的流程示意 图2是利用本发明具体实施例得到的标签时隙计数器的值;
图3是利用本发明具体实施例得到的标签时隙计数器的值;
图4是利用本发明具体实施例得到的标签时隙计数器的值;
图5是利用本发明具体实施例得到的标签时隙计数器的值;
图6是利用本发明具体实施例得到的标签时隙计数器的值;
图7是本发明与基本二叉树方法在标签数量变化时的性能仿真结果比较。
具体实施例方式本发明的一个具体实施例如下。使用Matlab进行仿真,8个标签,编号从标签I到标签8。步骤I :读写器初始化防碰撞方法参数,包括连续碰撞次数阈值CCN和连续空闲次数阈值 CIN,取 CCN=3,CIN=4。步骤2 :读写器发送启动查询命令,然后在规定的时隙等待标签发送响应数据包。标签接收到启动查询命令后,产生I个随机数载入标签的时隙计数器。图2给出了 8个标签的时隙计数器的值。标签3、标签4、标签5、标签7和标签8的时隙计数器的值为0,标签I、标签2和标签6的时隙计数器器的值为I。步骤3 :如果读写器在规定的时隙接收到标签的响应数据包,跳到步骤4 ;如果读写器在规定时隙没有接收到标签的响应数据包,跳到步骤7。本例中标签接收到启动查询命令后标签3、标签4、标签5、标签7和标签8都向读写器发送响应数据包,因此跳到步骤4。步骤4 :如果读写器接收到标签的响应数据包并且判断没有发生数据碰撞,跳到步骤5 ;如果读写器接收到标签的响应数据包并且判断发生数据碰撞,跳到步骤6。
本例中标签接收到启动查询命令后标签3、标签4、标签5、标签7和标签8都向读写器发送响应数据包,因此会发生数据碰撞,跳到步骤6。本例中标签第一次接收到分裂命令后标签4和标签7向读写器发送响应数据包,因此会发生数据碰撞,跳到步骤6。步骤5 :读写器完成对未发生碰撞的标签的识别,该标签离开盘存过程,不再响应此后的读写器命令。如果读写器需要继续盘点,读写器发送重复查询命令,然后在规定的时隙等待标签发送响应数据包;如果读写器不需要继续盘点,读写器停止发送命令,盘点结束。本例中第一次执行到该步骤时,标签7得到识别,标签7离开盘存过程,不再响应此后的读写器命令。读写器发送查询命令,标签接收到查询命令后时隙计数器的值减1,图5给出了调整后的时隙计数器的值,标签I、标签2、标签3、标签4、标签5、标签6和标签8的时隙计数器的值分别为2、2、1、0、1、2、1。这时只有标签4向读写器发送响应数据包,跳到步骤5。 本例中第二次执行到该步骤时,标签4得到识别,标签4离开盘存过程,不再响应此后的读写器命令。读写器发送查询命令,标签接收到查询命令后时隙计数器的值减1,图6给出了调整后的时隙计数器的值,标签I、标签2、标签3、标签5、标签6和标签8的时隙计数器的值分别为1、1、0、0、1、0。这时标签3、标签5和标签8向读写器发送响应数据包,跳到步骤6。步骤6 :如果读写器连续CCN次接收到发生碰撞的响应数据包,读写器发送分散命令,然后在规定的时隙等待标签发送响应数据包;否则读写器发送分裂命令,然后在规定的时隙等待标签发送响应数据包。本例中第一次执行到该步骤时,读写器发送分裂命令,这时标签3、标签4、标签5、标签7和标签8重新产生一位随机数载入标签时隙计数器,标签I、标签2和标签6的时隙计数器的值加I。图3给出调整后的时隙计数器的值,标签3、标签4、标签5、标签7和标签8的时隙计数器的值分别为1、0、1、0、1,标签I、标签2和标签6的时隙计数器器的值加I后变为2。由于标签4和标签7的时隙计数器为0,因此标签4和标签7向读写器发送响应数据包,跳到步骤4。在第二次发生碰撞的时候,读写器发送分裂命令,这时标签4和标签7重新产生一位随机数载入标签时隙计数器,标签I、标签2、标签3、标签5、标签6和标签8的时隙计数器的值加I。图4给出调整后的时隙计数器的值,标签4和标签7的时隙计数器器的值分别为1、0。标签I、标签2、标签3、标签5、标签6和标签8的时隙计数器的值加I后变为3、3、2、2、3、2。这时只有标签7向读写器发送响应数据包,跳到步骤5。步骤7 :如果读写器连续CIN次没有接收到标签的响应数据包,读写器发送收缩命令,否则读写器发送重复查询命令,然后在规定的时隙等待标签发送响应数据包。由于标签数量较少时不便于对方法的性能进行比较,因此改变标签的数量。图7是基本二叉树方法和本发明在标签数量变化时方法吞吐率的比较。图中横坐标是标签的数量,纵坐标是方法的吞吐率。曲线701是基本二叉树方法的吞吐率变化曲线,曲线702是本发明的吞吐率的变化曲线。可以看出,本发明提出的方法优于基本二叉树方法。
权利要求
1.ー种多标签防碰撞方法,其特征在于,该方法为 1)读写器初始化防碰撞方法參数,包括连续碰撞次数阈值CCN和连续空闲次数阈值CIN ; 2)读写器发送启动查询命令,然后在规定的时隙等待标签发送响应数据包; 3)如果读写器在规定的时隙接收到标签的响应数据包,跳到步骤4);如果读写器在规定时隙没有接收到标签的响应数据包,跳到步骤7); 4)如果读写器接收到标签的响应数据包并且判断没有发生数据碰撞,跳到步骤5);如果读写器接收到标签的响应数据包并且判断发生数据碰撞,跳到步骤6); 5)读写器完成对未发生碰撞的标签的识别,该标签离开盘存过程,不再响应此后的读写器命令;如果读写器需要继续盘点,读写器发送重复查询命令,然后在规定的时隙等待标签发送响应数据包,如果读写器不需要继续盘点,读写器停止发送命令,盘点结束; 6)如果读写器连续CCN次接收到发生碰撞的响应数据包,读写器发送分散命令,然后在规定的时隙等待标签发送响应数据包;否则读写器发送分裂命令,然后在规定的时隙等待标签发送响应数据包; 7)如果读写器连续CIN次没有接收到标签的响应数据包,读写器发送收缩命令,否则读写器发送重复查询命令,然后在规定的时隙等待标签发送响应数据包。
2.根据权利要求I所述的多标签防碰撞方法,其特征在于,所述步骤2)中,标签接收到启动查询命令后,产生一位随机数载入标签的时隙计数器,如果随机数为O,标签向读写器发送响应数据包,响应数据包中包含标签的唯一识别号,如果随机数不为O,标签不向读写器发送响应数据包。
3.根据权利要求I所述的多标签防碰撞方法,其特征在于,所述步骤5)中,标签接收到重复查询命令后,时隙计数器的值减1,如果调整后标签的时隙计数器的值为O,标签向读写器发送响应数据包,响应数据包中包含标签的唯一识别号,如果调整后标签的时隙计数器的值不为O,标签不向读写器发送响应数据包,如果读写器在规定的时隙接收到标签的响应数据包,跳到步骤4);如果读写器在规定时隙没有接收到标签的响应数据包,跳到步骤7)。
4.根据权利要求I所述的多标签防碰撞方法,其特征在于,所述步骤6)中,标签接收到分散命令后,标签产生一位随机数,计算时隙计数器值的2倍再加上该随机数,将计算结果载入标签的时隙计数器;标签接收到分裂命令后,时隙计数器的值为O的标签产生一位随机数载入标签的时隙计数器,时隙计数器的值不为O的标签将自身的时隙计数器的值加1,如果调整后标签的时隙计数器的值为O,标签向读写器发送响应数据包,响应数据包中包含标签的唯一识别号,如果调整后标签的时隙计数器的值不为O,标签不向读写器发送响应数据包,如果读写器在规定的时隙接收到标签的响应数据包,跳到步骤4);如果读写器在规定时隙没有接收到标签的响应数据包,跳到步骤7)。
5.根据权利要求I所述的多标签防碰撞方法,其特征在于,所述步骤7)中,标签接收到收缩命令后,时隙计数器的值更新为原计数器值的O. 5倍,如果原计数器值是奇数,舍弃小数部分;标签接收到重复查询命令后,时隙计数器的值减1,如果调整后标签的时隙计数器的值为O,标签向读写器发送响应数据包,响应数据包中包含标签的唯一识别号,如果调整后标签的时隙计数器的值不为O,标签不向读写器发送响应数据包。
全文摘要
本发明公开了一种多标签防碰撞方法,该方法为读写器初始化碰撞方法参数;读写器发送启动查询命令;读写器接收到响应数据包;读写器判断是否发生碰撞;读写器识别标签,发送重复查询命令;读写器根据连续碰撞的程度发送分裂命令或分散命令;读写器根据连续空闲的程度发送重复查询命令或收缩命令,本方法能够动态调整标签的散列程度,无论标签数量的多少,该方法都能将系统的吞吐率保持在较高水平。
文档编号G06K7/00GK102682253SQ20111013640
公开日2012年9月19日 申请日期2011年5月25日 优先权日2011年5月25日
发明者李建成, 李聪, 杨青, 王宏义 申请人:中国人民解放军国防科学技术大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1