基于标签随机分组的动态帧时隙防碰撞方法技术

技术编号:6027576 阅读:436 留言:0更新日期:2012-04-11 18:40
本发明专利技术提供一种基于标签随机分组的动态帧时隙防碰撞方法,应用于射频识别系统中,具体步骤如下所述:步骤1:初始化;步骤2:读写器复位标签清点标志位并将标签随机分组;步骤3:读写器获取标签分组信息;步骤4:读写器清点单标签组;步骤5:读写器判断是否已完成所有单标签组的清点;步骤6:读写器清点多标签组;步骤7:读写器判断是否已完成所有多标签组的清点。本发明专利技术有益效果是可避免射频识别系统中标签数量估计不准确的问题,在读写器和标签的通信中将系统吞吐率保持在较高值。

【技术实现步骤摘要】

本专利技术属于射频识别通信
,具体涉及一种基于标签随机分组的动态帧时 隙防碰撞方法。
技术介绍
射频识别(Radio Frequency Identification,简称RFID)通信技术是一种非接触 式自动识别技术。在射频识别系统中,读写器通过射频信号与标签进行通信,并获取标签上 存储的识别信息。RFID通信与其他典型的射频通信所面临的一个共同问题是,如何解决同一个系统 中多个设备之间同时通信的碰撞问题。对于RFID通信而言,主要解决单个读写器与多个标 签通信的碰撞问题。限于成本和功耗的因素,标签只能够提供极为有限的功能用于防碰撞 机制的实现。目前多标签防碰撞方法主要分为时隙ALOHA算法和二叉树算法两大类。时隙ALOHA算法的基本特征是,系统将标签返回的连续时间划分为若干时隙,标 签根据读写器命令中指定的时隙范围,随机选择时隙进行返回,读写器根据返回的信息进 行判断,如果发生碰撞则要求标签重新选择时隙并进行返回,直到读写器清点所有标签。帧时隙ALOHA算法是在时隙ALOHA算法的基础上,将多个时隙组成一帧,标签在某 一帧内随机选择一个时隙进行返回,该方法减少了防碰撞过程中读写器发送命令的次数。假设读写器作用范围内标签数量为N,读写器清点这些标签需要的总时隙数为M, 则系统吞吐率S可定义为S = Ν/Μ。在帧时隙ALOHA算法中,当帧长度与未识别标签数量 相当时,系统吞吐率达到最大值;然而,当帧长度远大于或远小于未识别标签数量时,系统 吞吐率急剧下降。动态帧时隙ALOHA算法是在帧时隙ALOHA算法的基础上,增加了根据估计的标签 数量动态调整帧长度的机制,相比于帧时隙ALOHA算法,该方法有效地提高了系统吞吐率。然而,在动态帧时隙ALOHA算法中,当标签数量估计不准确时,仍不能将系统吞吐率保持在较高值。
技术实现思路
本专利技术的目的是针对现有的动态帧时隙ALOHA算法存在的不足,提供一种防碰撞 方法,避免了标签数量估计不准确的问题,从而将系统吞吐率保持在较高值。本专利技术的技术方案是,一种,应用于 射频识别系统中,具体步骤如下所述步骤1:初始化。读写器设置参数Ll = 2、L2 = 4,C = 0,D = 0,E = 0。步骤2 读写器复位标签清点标志位并将标签随机分组。读写器向其作用范围内的所有标签发送参数为Ll的分组命令。标签接收到上述分组命令后,将自身的清点标志位清零,并在范围内随机选择一个整数作为其分组号,分组号相同的标签为一组。然后,按照分组号对应的数值由 小到大的顺序,各分组中的标签依次向读写器返回一个16位的随机数,该16位随机数使用 具有碰撞位检测能力的编码方式(如Manchester编码)进行编码。步骤3 读写器获取标签分组信息。读写器接收完所有分组中标签返回的16位随机数后,根据接收情况对所有分组 进行分类统计没有接收到任何数据的分组为空闲组,可统计其数量为zO,分组号依次为 ZIDLE ZIDLE;接收到16位随机数并且没有发生碰撞的分组为单标签组,可统 计其数量为zl,分组号依次为Ζ0ΝΕ Z0NE,同时可得到在这zl个单标签组中接 收的16位随机数依次为ZID ZID;接收到16位随机数并且发生碰撞的分组为 多标签组,可统计其数量为z2,分组号依次为ZTW0W] ZTW0。读写器判断zl是否为0,如果不为0,跳到步骤4 ;如果为0,将分组命令参数设置 为Ll = Ll*2,返回步骤2。步骤4 读写器清点单标签组。读写器发送把ZONE 和ZID 作为参数的确认命令。标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分 别与Z0NE和ZID进行比较,如果比较结果均相等,则将自身的ID号返回给读写器, 并将清点标志位置1 ;反之,清点标志位不变。步骤5 读写器判断是否已完成所有单标签组的清点。读写器判断C的值,若C小于zl-1,设置C = C+1,返回步骤4 ;若C等于zl_l,跳 到步骤6。步骤6 读写器清点多标签组。读写器清点多标签组ZTW0中所有标签的步骤如下所述第1步读写器开始多标签组ZTW0的清点。读写器发送以L2和ZTW0为参数的查询命令。接收到上述查询命令后,分组号为ZTW0并且清点标志位为0的标签在范围内随机选择时隙值,然后按照时隙值的大小在相应时隙向读写器返回一个16位 的随机数,该16位随机数使用具有碰撞位检测能力的编码方式(如Manchester编码)进 行编码。第2步读写器统计分类所有时隙上的标签返回情况。读写器接收完所有L2个时隙上标签返回的16位随机数后,根据返回情况对所 有时隙进行分类统计,没有接收到任何数据的时隙为空闲时隙,可统计其数量为a0 ;接收 到16位随机数并且没有发生碰撞的时隙为单标签时隙,可统计其数量为al,时隙值依次 为FONE W] F0NE,同时可得到在这al个单标签时隙中接收的16位随机数依次为 FID FID;接收到16位随机数并且发生碰撞的时隙为多标签时隙,可统计其数 量为a2。第3步读写器清点单标签时隙F0NE。读写器发送以ZTW0和FID为参数的确认命令。标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分 别与ZTW0和FID进行比较,如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1 ;反之,清点标志位不变。第4步读写器判断是否已完成所有单标签时隙的清点。读写器判断E的值,若E小于al-Ι,设置E = E+1,返回第3步;若E等于al_l,设 置E = 0,跳到第5步。第5步读写器判断是否已完成多标签组ZTW0的清点。读写器判断a2的值是否为0,若a2大于0,设置参数L2 = 2柏2,返回第1步;若 a2等于0,设置L2 = 4,跳到步骤7。步骤7 读写器判断是否已完成所有多标签组的清点。读写器判断D的值,若D小于z2-l,设置D = D+1,返回步骤6 ;若D等于z2_l,步 骤7结束,表明读写器已清点完其作用范围内的所有标签。本专利技术的有益效果是(a)读写器首先发送参数Ll = 2的分组命令,该命令将标签随机分为Ll组,在 这Ll个分组中,若存在单标签组,则分组完成;否则,设置Ll = Ll*2,继续将标签随机分为 Ll组,如此循环,直至出现单标签组时,分组完成,利用这种方法,可快速实现标签的随机分组。(b)随机分组完成后,对于任意一个多标签组,读写器发送帧长度参数L2 = 4的查 询命令,让该多标签组中的所有未被清点的标签在的范围内随机选择时隙返回, 标签返回后,读写器发送确认命令,完成所有单标签时隙的清点,接着判断多标签时隙的数 量a2,若a2值为0,则该多标签组清点结束;若a2值大于0,读写器继续发送帧长度参数L2 =2*a2的查询命令,如此循环,直到a2值为0,即该多标签组清点结束,这就避免了标签数 量估计不准确的问题,将系统吞吐率保持在了较高值。附图说明图1是本专利技术提出的防碰撞方法的流程;图2是执行本专利技术一具体实施方式中多标签被清点的过程;图3是本专利技术方法与帧时隙ALOHA算法的系统吞吐率比较图。具体实施例方式图1是本专利技术提出的防碰撞方法的流程,具体包括如下7个步骤步骤1 初始化;步骤2 读写器复位标签清点标志位并将标签随机分组;步骤3 本文档来自技高网
...

【技术保护点】
一种基于标签随机分组的动态帧时隙防碰撞方法,应用于射频识别系统中,其特征在于,具体步骤如下所述:步骤1:初始化;读写器设置参数L1=2、L2=4,C=0,D=0,E=0;步骤2:读写器复位标签清点标志位并将标签随机分组;读写器向其作用范围内的所有标签发送参数为L1的分组命令;标签接收到上述分组命令后,将自身的清点标志位清零,并在[0,L1-1]范围内随机选择一个整数作为其分组号,分组号相同的标签为一组;然后,按照分组号对应的数值由小到大的顺序,各分组中的标签依次向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式进行编码;步骤3:读写器获取标签分组信息;读写器接收完所有分组中标签返回的16位随机数后,根据接收情况对所有分组进行分类统计:没有接收到任何数据的分组为空闲组,设其数量为z0,分组号依次为ZIDLE[0]~ZIDLE[z0-1];接收到16位随机数并且没有发生碰撞的分组为单标签组,设其数量为z1,分组号依次为ZONE[0]~ZONE[z1-1],同时设在这z1个单标签组中接收的16位随机数依次为ZID[0]~ZID[z1-1];接收到16位随机数并且发生碰撞的分组为多标签组,设其数量为z2,分组号依次为ZTWO[0]~ZTWO[z2-1];读写器判断z1是否为0,如果不为0,跳到步骤4;如果为0,将分组命令参数设置为L1=L1*2,返回步骤2;步骤4:读写器清点单标签组;读写器发送把ZONE[C]和ZID[C]作为参数的确认命令;标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZONE[C]和ZID[C]进行比较:如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变;步骤5:读写器判断是否已完成所有单标签组的清点;读写器判断C的值:若C小于z1-1,设置C=C+1,返回步骤4;若C等于z1-1,跳到步骤6;步骤6:读写器清点多标签组;读写器清点多标签组ZTWO[D]中所有标签的步骤如下所述:第1步:读写器开始多标签组ZTWO[D]的清点;读写器发送以L2和ZTWO[D]为参数的查询命令;接收到上述查询命令后,分组号为ZTWO[D]并且清点标志位为0的标签在[0,L2-1]范围内随机选择时隙值,然后按照时隙值的大小在相应时隙向读写器返回一个16位的随机数,该16位随机数使用具有碰撞位检测能力的编码方式进行编码;第2步:读写器统计分类所有时隙上的标签返回情况;读写器接收完所有L2个时隙上标签返回的16位随机数后,根据返回情况对所有时隙进行分类统计:没有接收到任何数据的时隙为空闲时隙,设其数量为a0;接收到16位随机数并且没有发生碰撞的时隙为单标签时隙,设其数量为a1,时隙值依次为FONE[0]~FONE[a1-1],同时得到在这a1个单标签时隙中接收的16位随机数依次为FID[0]~FID[a1-1];接收到16位随机数并且发生碰撞的时隙为多标签时隙,设其数量为a2;第3步:读写器清点单标签时隙FONE[E];读写器发送以ZTWO[D]和FID[E]为参数的确认命令;标签接收到上述确认命令后,把自身的分组号和最近一次返回的16位随机数,分别与ZTWO[D]和FID[E]进行比较:如果比较结果均相等,则将自身的ID号返回给读写器,并将清点标志位置1;反之,清点标志位不变;第4步:读写器判断是否已完成所有单标签时隙的清点;读写器判断E的值:若E小于a1-1,设置E=E+1,返回第3步;若E等于a1-1,设置E=0,跳到第5步;第5步:读写器判断是否已完成多标签组ZTWO[D]的清点;读写器判断a2的值:若a2大于0,设置参数L2=2*a2,返回第1步;若a2等于0,设置L2=4,跳到步骤7;步骤7:读写器判断是否已完成所有多标签组的清点;读写器判断D的值:若D小于z2-1,设置D=D+1,返回步骤6;若D等于z2-1,步骤7结束。...

【技术特征摘要】

【专利技术属性】
技术研发人员:李建成杨青王宏义庄钊文许拔任天鹏谷晓忱
申请(专利权)人:中国人民解放军国防科学技术大学
类型:发明
国别省市:43

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1