标签防碰撞方法和阅读器的制作方法

文档序号:6467065阅读:188来源:国知局
专利名称:标签防碰撞方法和阅读器的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种标签防石並撞方法和阅读器。
背景技术
在RFID的实际应用中,通常情况下,射频场中的一个阅读器 对应多个电子标签,当阅读器同时清点多个电子标签时,就会发生 信道争用的情况,乂人而发生石並撞,这样电子标签无法将信息正确发 送给阅读器,因而需要釆取一定的机制来避免或减少碰撞的发生。
目前,在RFID国际标准ISO 18000-6中,A类和C类采用时 隙ALOHA算法来解决上述石並才童问题,而B类采用二叉4对(Binary Tree )算法来解决上述石並撞问题,其中,时隙ALOHA和Binary Tree 都是基于时分多路的访问方式,下面对时隙ALOHA算法和Binary Tree算法进4亍简单介绍。
时隙ALOHA算法是把时间分成若干离散时隙,要求标签(即 电子标签)随机选择其中一个时隙,并在时隙的分界处发送数据。 在ISO 18000-6 A类和C类协议中,使用时隙ALOHA算法实现防 碰撞的过程为在每次清点过程开始时,阅读器通知所有标签一个 可选时隙的范围,标签从中随4几选冲奪一个时隙回复,若标签成功发 送,则正确识别标签,若标签发生完全碰撞则重新选择时隙并发送, 直至所有标签全部成功发送。图1示出了相关4支术的Binary Tree算法示意图,Binary Tree方 法的基本思想是将处于碰撞的标签分裂成左右两个子集0和1,先 查询子集0,若没有冲突,则正确识别标签,若仍有冲突则子集0 再进4亍分裂,如图l所示,例如4巴子集0分为OO和Ol两个子集, 依次类推,直到识别出子集O中的所有标签,再按此步骤查询子集 1。
图2示出了相关技术的Binary Tree算法的示意图,如图2所示, 在ISO 18000-6 B类协议中,使用Binary Tree算法实现防石並撞的过 程为阅读器向所有标签发送开始清点指令,使所有标签开始回复, 标签在收到指令后,由随机数发生器生成随机数0或1,这样就将 标签分成随才几数为0和随枳4t为1的两个子集,与二叉初t对应,可 以将子集0称为左分支(即0分支),子集1称为右分支(即1分支), 即随枳4t为O的标签处在左分支中,且将左分支中的每个标签的计 数器的取值设置为0,随机数为1的标签处在右分支中,且将右分 支中的每个标签的计数器的取值设置为1。阅读器首先会向左分支 中的标签发送清点指令,只有在左分支中的所有标签都反^t回复成 功指令,若其中的标签发生碰撞,阅读器发送碰撞指令,使计数器 值为0的标签,即左分支中的标签重新分裂,计数器值非0的标签, 即右分支的标签计数器值加1;若左分支中的标签没有碰撞并回复 成功,则阅读器发送指令确认,各计数器的取值值减1,如此循环 直到所有标签全部成功回复。
由上述B类十办i义的防石並才童过禾呈可以看出,Binary Tree方法每次 都是二叉分裂,分裂速度不高,影响清点效率。同时可以看出,ISO 18000-6 B类协议防碰撞过程总是首先致力于解决0分支的碰撞,让 0分支分裂,直到0分支剩下一个标签或没有标签时,即0分支到 达叶子节点,将其清点出来之后,才开始处理l分支的标签,处理 完1分支之后依次处理2, 3,…,n分支,即总是从左到右顺序进 行分裂清点,0分支分裂时,非0分支的多个标签始终不分裂,一
6直等待o分支标签清点完成,这样在o分支清点完成之后,后续分
支会浪费很多时间执行和0分支类似的分裂过程。

发明内容
考虑到相关技术中存在的目前的防碰撞方法分裂速度低,影响 清点效率的问题而提出本发明,为此,本发明的主要目的在于提供 一种标签防石並撞方法及阅读器,以解决上述问题。
才艮据本发明的一个方面,才是供一种标签防石並撞方法。
才艮据本发明的标签防碰撞方法包括步骤1,阅读器阅读所有 标签,并发送用以指示所有标签分成n个分支的碰撞命令,其中, 每个标签各对应一个计数器,且计数器取值相同的一个或多个标签 归属于同一个分支,n为大于等于2的自然数;步骤2,将计数器取 值最小的分支作为当前分支;步骤3,阅读器阅读当前分支,在当 前分支内的标签回复石並撞的情况下,进行到步骤4;否则,在当前 分支回复成功时,当前分支的下一分支的标签分成m个子分支,下 一分支及其后续分支内的标签的计数器均加(m-2),返回到步骤2; 步骤4,阅读器发送指示当前分支内的标签分成p个子分支的碰撞 指令,当前分支内的各个标签分别更新其计数器的取值,其中,计 数器取值相同的标签归属于同 一个子分支,并将当前分支的所有后 续分支内的每个标签的计数器的取值均加(p-l), p为大于等于2 的自然数;步骤5,将计数器的取值最小的子分支作为当前分支, 并返回到步骤3。
根据本发明的另一个方面,提供一种阅读器。
根据本发明的阅读器包括阅读模块,用于阅读标签;第一指 示模块,用于根据阅读模块的阅读结果,向标签发送指示标签分成 n个分支的指令,n为大于等于2的自然数;第二指示模块,用于根据阅读^t块的阅读结果,向标签发送指示标签分成m个分支的指令, m为大于等于2的自然数;第三指示模块,用于根据阅读模块的阅 读结果,向标签发送指示标签分成p个分支的指令,p为大于等于2 的自然数;计数器控制模块,用于根据第一指示模块和/或第二指示 模块的控制指令控制每个标签所对应的计数器的取值;指针指示模 块,用于根据计数器控制模块的计数器的取值,指向计数器的最小 取值对应的当前分支;处理模块,用于对指针指示模块所指示的当 前分支进4于处理。
通过本发明的上述至少一个技术方案,通过对所有标签进行多 叉分裂和对子分支提前进行多叉分裂,在提高了分裂速度的同时, 实现了提前分裂,且可以大大降低石並撞扭克率,提高清点效率。


附图用来提供对本发明的进一 步理解,并且构成说明书的 一部 分,与本发明的实施例一起用于解释本发明,并不构成对本发明的 限制。在附图中
图1是才艮据相关技术的Binary Tree算法端示意图2是根据相关技术的ISO 18000-6中多标签清点时阅读器与标 签交互的流程图3是才艮据本发明方法实施例的标签防碰撞方法的流程图4是根据本发明方法实施例的标签防碰撞方法的详细处理流 程图5是^4居本发明方法实施例的多标签清点时阅读器与标签交 互的流程图6是才艮据本发明方法实施例的清点过程示意8图7是^f艮据本发明装置实施例的阅读器的结构框架图。
具体实施例方式
功能概述
为了得到更高的标签清点效率,本发明对Binary Tree算法进行 了有效的改进,^是出了一种射频识别系统中预先分裂多叉树标签防 碰撞方案,该方案的基本思想是阅读器在阅读标签的过程中,标 签选择时隙回复并发生碰撞,阅读器发送碰撞命令,标签收到碰撞 命令后,不是O分支二分分裂,而是动态地实施多叉分裂,来避免 0分支多次石並撞分裂过程造成时间上的浪费。阅读器向发送成功指 令,在标签接收到成功指令的同时,根据该指令来提前实现多叉分 裂,这样每个分支都减少了一次碰撞。
以O分支描述最左子分支,1分支描述其相邻的右子分支为例, 本发明提出的预先分裂多叉树标签防碰撞方法的实施过程为0分 支的分裂叉数随分支标签数目动态地变化,在0分支标签完成清点 的同时,令1分支按照O分支中的标签数目提前进行多叉分裂。这 样,通过O分支多叉分裂和1分支提前多叉分裂,既:提高了分裂速 度又实现了提前分裂,可以大大降低碰撞概率,^是高清点效率。在 此基础上,可以通过多叉(^2)分裂,提高分裂速度,改善清点效 率,相应地,左右分支变为多个子分支,将随机数最小的分支作为 最左子分支,按照随机数由小到大的顺序依次排列各子分支。
下面将结合附图详细描述本发明实施例。
方法实施例
才艮据本发明实施例,提供了一种标签防石並撞方法。
9图3是才艮据本发明实施例的标签防石並撞方法的流禾呈图,如图3 所示,该方法包4舌以下步-骤
步骤l,阅读器阅读所有标签,并发送用以指示所有标签分成n 个分支的碰撞命令,其中,每个标签各对应一个计数器,且计数器 耳又值相同的一个或多个标签归属于同一个分支,n为大于等于2的 自然数;
步骤2,将计数器取值最小的分支作为当前分支;
步骤3,阅读器阅读当前分支,在当前分支内的标签回复碰撞 的情况下,进行到步骤4;
否则,在当前分支回复成功时,当前分支的下一分支的标签分 成m个子分支,下一分支及其后续分支内的标签的计数器均加 (m-2),返回到步骤2,在不存在下一分支的情况下,流程结束;
步骤4,阅读器发送指示当前分支内的标签分成p个子分支的 碰撞指令,当前分支内的各个标签分别更新其计数器的取值,其中, 计数器取值相同的标签归属于同 一个子分支,并将当前分支的所有 后续分支内的每个标签的计数器的取值均加(p-l), p为大于等于 2的自然凄t;
步骤5,将计数器的取值最小的子分支作为当前分支,并返回 到步骤3。
其中,计数器的取值连续,且将该计数器的相邻取值设置为1, 较优地,可以将计数器的最小取值设置为0,并将该计数器的相邻 取值设置为1。其中,n和p的取值为估计的分支上标签总个数,且在步骤4 中,在将下一分支分成m个子分支时,m为估计的下一分支的在先 当前分支内的标签的总个数。
在实施过程中,n个分支按照计数器的取值由小到大的顺序进 行排列,p个子分支按照计数器的取值由小到大的顺序进行排列,m 个子分支也按照计数器的取值由'J 、到大的顺序进行排列。
通过本发明实施例提供的技术方案,通过对所有标签进行多叉 分裂和对子分支提前进行多叉分裂,在提高了分裂速度的同时,实 现了提前分裂,且可以大大降低碰撞概率,提高清点效率。
在以下的描述中,将计数器的最小取值设置为0,并将计数器 的相邻取值设置为1。
图4是根据本发明方法实施例的标签防碰撞方法的详细处理流 程图,如图4所示,该方法包括以下步骤
步骤S401,阅读器发送开始清点指令,开始在规定的时隙上接 收来自标签的信号;
步骤S402,标签收到开始清点指令后,初始化自身信息,计数 器设置为O,所有标签开始回复;
步骤S403,阅读器判断在^L定时隙内是接收标签的正确回复信 息或无回复信息或者是碰撞错误信息,如果是正确回复信息或者无 回复信息,转入步骤S404,如果是碰撞错误信息,转入步骤S406;
步骤S404,阅读器发送成功确认指令,并进入下一个时隙接收 标签的信号,转入步骤S405;步骤S405,标签4妄收到成功确i人指令时,发送正确回复信息的 标签离开清点过程,并不再响应与清点相关的指令,其余标签计数 器值的变化,取决于当前分支是否结束,如果未结束,其余标签计 数器值减1,否则,计数器值为1的标签分裂为m(m^2)叉,修改剩 余计数器的值,其余计数器的值均加上(m-1 ),来保证计数器值 和标签的回复顺序一致,执行步骤S408;
步骤S406,阅读器发送失败确认指令,并进入下一个时隙接收, 转入步骤S407;
步骤S407,标签收到失败确认指令时,计数器值为0的标签分 裂为n (n22)叉,修改所有计数器的值,其余计数器的值均加上(n -1 ),来保证计数器值和标签的回复顺序一致,执行步骤S408;
步骤S408,阅读器是否已识别所有标签,如果是,结束,否贝'J, 计数器值为0的标签开始回复,返回步骤S403。
具体地,上述步骤S405和步骤S407中,m和n的值由阅读器 发送给标签,其中,阅读器可以通过估计的标签总数目来确定n值, 确定的m值是先前的左子分支标签数目总数的平均。
另外,在标签分裂时,可以利用随机数产生器进行分裂,并按 照各标签对应的随机数大小将各标签依次排序,将随机数相同的标 签归属于同一个分支,将随机数最小的标签作为最左子分支,其他 各分支根据其对应的标签的随机数按照由小到大的顺序依次排列, 同时,为每个标签设置计数器,所述计数器值随标签的分裂进行变 化,其中,计数器值代表标签的回复顺序,在同一时刻,计数器值 最小的标签进行回复。
由上述步骤可以看出,本发明与现有技术的不同点是标签接 收到成功确认指令后,不再是简单将非0分支标签计数器减1,而是根据阅读器指令中的m参数,决定相邻右子分支是否提前多叉分 裂,这纟羊每个相邻右子分支都可减少一步碰"幢。并且标签在收到石並 撞指令时,不再是二叉分裂,而是根据阅读器指令中n参数分裂为 n叉。这样既提高了分裂速度又实现了提前分裂,可以大大降低碰 撞概率,提高清点效率。
图5是根据图4所示方法的多标签清点时阅读器与标签交互流 程,如图4所示,包括如下处理
步骤S501,阅读器选择处于有效射频场区域的标签。
阅读器发送选择指令,所有标签收到选择指令后进行条件匹配, 满足条件的标签进入清点过程。
步骤S502,阅读器发送开始清点指令,同时开始在规定的时隙 上接收来自标签的信号。
步骤S503,标签收到开始清点指令后,初始化自身信息,计数 器设置为0,计数器值为0的标签回复阅读器。
步骤S504,判断阅读器在规定时隙内是正确接收标签的回复信 息或无标签回复信息或者是碰撞错误信息,如果是正确回复信息或 者无回复信息,转入步骤S509,如果是碰撞错误信息,转入步骤 S507。
步骤S509,判断是否所有标签已成功回复,在判断结果为是的 情况下结束,否则转入步骤S505。
步骤S505,阅读器向标签发送成功确认指令,并进入下一个时 隙接收,且阅读器在成功确认指令中携带参数m, m为-l时,表示 1分支不分裂,否则1分支分裂为m叉。
13步骤S506,当标签收到成功确认指令时,ID (标签标识)符合 success命令参数的标签(即正确发送回复信息的标签)回复确认成 功后离开清点过程,并不再响应与清点相关的指令,ID不符合 success命令参数的标签(即计数器值不为0的标签),如果success 的m参数为-l,那么计数器值减1,否则1分支标签提前m叉分裂, 其他标签的计数器加m-2。执行步骤S504。
如果步骤S505中未收到标签回复信息,则此时没有确认的标 签,所有标签计数器值都减l。
步骤S507,若阅读器在规定时隙内接收标签的碰撞错误回复信 息,则i人为多个标签回复,发生石並4童,阅读器向标签发送失败确i人 指令,并进入下一个时隙接收。
进一步地,失败确认指令中带参数n,指定O分支标签分裂叉数。
步骤S508,标签收到失败确认指令时,计数器值为O的标签启 动随机数发生器,分裂为n叉,其他的标签计数器加n-l。所有计 数器值修改时保证计数器值和标签的回复顺序一致,计数器值大的 标签必须等计数器值d、的标签已成功回复后才能进行回复。执行步 骤S504。
步骤S509,判断是否所有标签已成功回复,如果是,结束,否 则,计数器值为0的标签回复阅读器,转入步骤S504。
图6给出了一个11=2的预先分裂多叉树清点过程示意图。
才要照二叉树防》並撞方法,左分支连续分裂,直到有一个正确回 复或者空闲(叶子结点),然后进入相应的右分支做相同的操作,直 到右分支的标签清点结束,这样可以得到最左分支的标签数目,如图6 (a)所圈部分,假定得到的标签数目为m,那么对应层次的右 分支进行m分裂,当m支清点结束后,假定清点到的总标签数目为 N,如图6 (b)所圈部分,那么上层的右分支采用N分裂,如此叠 代,直到所有的标签清点完毕。
装置实施例
才艮据本发明实施例,才是供一种阅读器,可以通过该阅读器来实 施本发明的方法实施例。
图7示出了根据本发明实施例的阅读器的结构框架图,如图7 所示,该阅读器包括
阅读才莫块IO,用于阅读标签;
第一指示模块20,用于根据阅读模块的阅读结果,向标签发送 指示标签分成n个分支的指令,n为大于等于2的自然数,且n的 取值可以为估计的所有标签的总个数,该模块可以连接至阅读模块 10;
第二指示模块30,用于根据阅读模块的阅读结果,向标签发送 指示标签分成m个分支的指令,m为大于等于2的自然数,该模块 可以连4妄至阅读才莫块10;
第三指示模块40,用于根据阅读模块的阅读结果,向标签发送 指示标签分成p个分支的指令,p为大于等于2的自然数,该模块 可以连4妻至阅读才莫块10;
计数器控制模块50,用于根据第一指示模块、第二指示模块和 /或第三指示模块的控制指令控制每个标签所对应的计数器的取值,
15该模块可以连接至第一指示模块20、第二指示模块30和第三指示 模块40;
指针指示模块60,用于根据计数器控制模块的计数器的取值, 指向计数器的最小取值对应的当前分支,该模块可以连接至计数器 控制模块50;
处理模块70,用于对指针指示模块所指示的当前分支进行处 理,该模块可以连接至指针指示模块60。
其中,n个分支按照计数器的取值由小到大的顺序进行排列, m个子分支按照计数器的取值由小到大的顺序进行排列,p个子分 支按照计数器的取值由小到大的顺序进行排列。
通过本发明实施例提供的阅读器,通过对所有标签进行多叉分 裂和对子分支提前进行多叉分裂,在提高了分裂速度的同时,实现 了提前分裂,且可以大大降低碰撞概率,提高清点效率。
如上所述,借助于本发明提供的标签防碰撞方法和/或阅读器, 通过对目前的Binary Tree标签防石並撞方法进行改进,实现了 0分支 动态多叉分裂,1分支预先多叉分裂,这样,只要准确获得叉数, 多叉分裂就能够迅速将标签分散,同时1分支的预先分裂能够进一 步减少碰撞次数,大大提高了标签清点效率。
以上所述^f又为本发明的优选实施例而已,并不用于限制本发明, 对于本领3或的4支术人员来"i兌,本发明可以有各种更改和变4t。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等, 均应包含在本发明的保护范围之内。
权利要求
1.一种标签防碰撞方法,其特征在于,包括步骤1,阅读器阅读所有标签,并发送用以指示所述所有标签分成n个分支的碰撞命令,其中,每个标签各对应一个计数器,且计数器取值相同的一个或多个标签归属于同一个分支,n为大于等于2的自然数;步骤2,将计数器取值最小的分支作为当前分支;步骤3,所述阅读器阅读所述当前分支,在所述当前分支内的标签回复碰撞的情况下,进行到步骤4;否则,在所述当前分支回复成功时,所述当前分支的下一分支的标签分成m个子分支,所述下一分支及其后续分支内的标签的计数器均加(m-2),返回到步骤2;步骤4,所述阅读器发送指示所述当前分支内的标签分成p个子分支的碰撞指令,所述当前分支内的各个标签分别更新其计数器的取值,其中,计数器取值相同的标签归属于同一个子分支,并将所述当前分支的所有后续分支内的每个标签的计数器的取值均加(p-1),p为大于等于2的自然数;步骤5,将计数器的取值最小的子分支作为所述当前分支,并返回到步骤3。
2. 根据权利要求1所述的方法,其特征在于,所述n和p的取值 为估计的分支上标签总个数。
3. 根据权利要求1所述的方法,其特征在于,在将所述下一分支 分成m个子分支时,m为估计的所述下二分支的在先当前分 支内的标签的总个数。
4. 根据权利要求1至3中任一项所述的方法,其特征在于,所述n个分支按照计数器的取值由小到大的顺序进行排列;所述m个子分支按照计数器的取值由小到大的顺序进行 排列;所述p个子分支按照计数器的取值由小到大的顺序进行 排列。
5. 才艮据权利要求1至3中任一项所述的方法,其特征在于,所述计数器的取值连续,且计数器的相邻取值之差为1。
6. 根据权利要求1至3中任一项所述的方法,其特征在于,将计 数器的最小取值设置为0。
7. 根据权利要求1至3中任一项所述的方法,其特征在于,在所 述当前分支内包括一个标签的情况下,向所述阅读器回复成功 指令。
8. —种阅读器,其特征在于,包括阅读模块,用于阅读标签;第一指示模块,用于根据所述阅读模块的阅读结果,向标 签发送指示标签分成n个分支的指令,n为大于等于2的自然 数;第二指示模块,用于根据所述阅读模块的阅读结果,向标 签发送指示标签分成m个分支的指令,m为大于等于2的自 然数;第三指示模块,用于根据所述阅读模块的阅读结果,向标签发送指示标签分成p个分支的指令,p为大于等于2的自然 数;计数器控制模块,用于根据所述第一指示模块和/或所述 第二指示模块的控制指令控制每个标签所对应的计数器的取值;指针指示模块,用于根据所述计数器控制模块的计数器的 取值,指向计数器的最小取值对应的当前分支;处理模块,用于对所述指针指示模块所指示的当前分支进 行处理。
9. 才艮据权利要求8所述的阅读器,其特征在于,所述n的取值为 估计的分支上标签总个数。
10. 根据权利要求8或9所述的阅读器,其特征在于,所述n个分支按照计数器的取值由小到大的顺序进行排列;所述m个子分支按照计数器的取值由小到大的顺序进行 排列;所述p个子分支按照计数器的取值由小到大的顺序进行 排列。
全文摘要
本发明公开了标签防碰撞方法和阅读器,其中,该方法包括步骤1,阅读器阅读所有标签,并发送用以指示所有标签分成n个分支的碰撞命令;步骤2,将计数器取值最小的分支作为当前分支;步骤3,阅读器阅读当前分支,在当前分支内的标签回复碰撞的情况下,进行到步骤4;否则,在当前分支回复成功时,当前分支的下一分支的标签分成m个子分支,下一分支及其后续分支内的标签的计数器均加(m-2),返回到步骤2;步骤4,阅读器发送指示当前分支内的标签分成p个子分支的碰撞指令,当前分支内的各个标签分别更新其计数器的取值;步骤5,将计数器的取值最小的子分支作为当前分支,并返回到步骤3。借助于本发明,实现了提前分裂,提高清点效率。
文档编号G06K7/00GK101685489SQ20081016641
公开日2010年3月31日 申请日期2008年9月26日 优先权日2008年9月26日
发明者刘朝阳, 焦红爱, 立 王 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1