首页> 中国专利> 一种射频识别系统中多标签冲突的解决方法

一种射频识别系统中多标签冲突的解决方法

摘要

本发明公开了一种射频识别系统中多标签冲突的解决方法,包括:1)阅读器发送初始化命令,激活并初始化标签;2)阅读器对所有待识别标签,从高位到低位,依次查询和记录标签标识每一位的值,并判断各标签标识在该位的值是否相同,若不同即发生冲突,用指定字符标记冲突位,否则,记录该位原来的值,查询完所有位后,将查询结果保存;3)阅读器对查询结果中的冲突位从高位开始,对每个冲突位用0、1做替换,并对替换结果做识别,根据识别的结果向标签发送相应的指令;4)标签收到指令后,根据标签的当前状态和指令的信息,在各个状态之间做转换,解决多标签的冲突。本发明降低了位查询次数和阅读器的识别延迟。

著录项

  • 公开/公告号CN1924883A

    专利类型发明专利

  • 公开/公告日2007-03-07

    原文格式PDF

  • 申请/专利权人 中国科学院计算技术研究所;

    申请/专利号CN200510093639.X

  • 发明设计人 冯波;李锦涛;郭俊波;丁振华;

    申请日2005-08-31

  • 分类号G06K7/08(20060101);

  • 代理机构11280 北京泛华伟业知识产权代理有限公司;

  • 代理人高存秀

  • 地址 100080 北京市海淀区中关村科学院南路6号

  • 入库时间 2023-12-17 18:16:49

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-16

    未缴年费专利权终止 IPC(主分类):G06K7/08 授权公告日:20080528 终止日期:20180831 申请日:20050831

    专利权的终止

  • 2011-02-23

    专利权的转移 IPC(主分类):G06K7/08 变更前: 变更后:

    专利申请权、专利权的转移

  • 2008-05-28

    授权

    授权

  • 2007-05-02

    实质审查的生效

    实质审查的生效

  • 2007-03-07

    公开

    公开

说明书

技术领域

本发明涉及视频识别技术,特别涉及到射频识别系统中所存在的多标签冲突的解决方法。

背景技术

射频识别(RFID)是一种低功耗、近距离的通信技术。作为最具潜力的识别技术之一,射频识别技术已经成为IT领域的研究热点。

射频识别的识别原理是利用电感耦合(Inductive Coupling)或后向散射(Backscatter),实现标签与阅读器之间的信息传递。阅读器与标签之间的通信频率主要集中在低频(135KHz以下),高频(13.553~13.567MHz),超高频(400~1000MHz),微波(2.45GHz)等频段。简单的射频识别系统通常由标签、阅读器、应用软件构成。在本发明中,所述的标签由耦合元件和芯片构成,在每一个标签中都有一个唯一的标识(ID号)。

在应用中,经常会遇到多个标签与同一个阅读器进行通信的情况,当多个标签同时响应阅读器的查询命令,向阅读器发送标签自身的ID号后,阅读器无法从收到的响应中获取正确的信息。也就是说,在标签与阅读器的通信过程中会遇到通信冲突的问题。此外,在通信过程中还有信道共享的冲突问题。如果没有相应的冲突解决方法,必然会引发冲突,致使多个标签无法被正确识读或发生漏读现象。

冲突的解决就是提供一种机制,使阅读器和标签之间协调一致地工作,使阅读器同时读取多个标签成为可能。

现有的射频识别冲突解决方法可划分为基于Aloha和基于二进制树(BinaryTree)两大类。Aloha协议族又可分为纯Aloha、时隙Aloha(Slotted Aloha)、帧一时隙Aloha(Frame-Slotted Aloha)。

纯Aloha方法操作很简单,当标签接收到阅读器的查询命令,就立即发送数据,如果发生冲突,则等待一段随机长的时间后重传冲突数据包。

时隙Aloha方法中,时间被划分为离散的时间段,每个时间段称为一个时隙,其大小等于发送一个帧所需时间。标签只有在每个时隙的开始处可以发送数据。如果发生冲突,则在下一个时隙重发冲突数据帧。

帧一时隙Aloha,为了进一步降低标签响应阅读器查询命令的频率,减少不必要的冲突发生,在时隙Aloha的基础上,按照帧的形式来组织标签到阅读器的通信。每一帧由若干时隙组成,在每一帧中标签按照时隙Aloha的原则随机选择一个时隙发送数据,如果冲突,标签必须等待下一帧的到来,才能继续发送数据。

二进制树冲突解决方法是以传统网络中的二进制树协议为基础,发生冲突的标签以抛硬币的原则生成冲突解决树,通过“阅读器先说”机制和一组命令,使标签保持同步和分裂。另一个被RFID系统广泛采用的二进制树变形算法是“逐位”查询算法。协议执行过程为:阅读器从标签ID号的最高位开始逐位查询所有待识别标签的ID位,如返回的是一组0或一组1,则阅读器保存该位,如返回结果同时包含0和1,则表示标签识别发生冲突,阅读器保存0,选择返回为0的标签继续查询,而返回为1的标签进入沉睡状态,阅读器成功识别出一个标签后发送重置命令,唤醒沉睡的标签,然后重复执行前述的识别过程。该协议的执行是一个确定的过程,如标签ID号为n位,则识别一个标签需要发送n次查询命令,对于k个标签总的查询次数为nk。

Aloha方法的优点是实现相对简单,但其理论性能不如二进制树冲突解决方法,但二进制树冲突解决方法对同步的要求较高,实现较为困难,对于逐位查询二进制树方法,阅读器每成功查询一个标签,需要重复n(n=ID长度)次位查询,因而存在识别延迟长、标签逻辑功能复杂、位传输频繁和信息泄露等问题。

发明内容

本发明的目的克服逐位查询二进制树方法中所存在的识别延迟长、标签逻辑功能复杂、位传输频繁和信息泄露等缺点,提供一种快速、简便的多标签冲突的解决方法。

为了实现上述目的,本发明提供了一种射频识别系统中多标签冲突的解决方法,具体包括以下步骤:

1)、阅读器发送初始化命令,激活并初始化标签;

2)、阅读器对所有待识别标签,从高位到低位,依次查询和记录标签标识每一位的值,并判断各标签标识在该位的值是否相同,若不同即发生冲突,用指定字符标记冲突位,否则,记录该位原来的值,查询完所有位后,将查询结果保存;

3)、阅读器对查询结果中的冲突位从高位开始,对每个冲突位用0、1做替换,并对替换结果做识别,根据识别的结果向标签发送相应的指令;

4)、标签收到指令后,根据标签的当前状态和指令的信息,在各个状态之间做转换,解决多标签的冲突。

上述技术方案中,所述的步骤1)中,初始化标签是要将标签的栈计数器清0,并转入活动状态。

上述技术方案中,所述的步骤3)中,对冲突位做替换,识别替换结果的过程具体包括以下步骤:

3-1、阅读器将步骤2)得到的查询结果赋予一个串,用S标记该串;

3-2、将串S的最高冲突位的指定字符用0和1替代,得到两个不同的串,分别用S0和S1标识,其中,S0是用0代替最高冲突位指定字符所得到的串,S1是用1代替最高冲突位指定字符所得到的串;

3-3、判断串S中的当前最高冲突位是否是最后一位冲突位,如果是的话,转到步骤3-4,否则,转到步骤3-5;

3-4、S0和S1就是两个待识别标签的标识,向被识别的标签发送“休眠命令”,标签转入休眠状态,然后转到步骤3-8;

3-5、将串S0的值赋给S,将串S1入栈,并发送“入栈命令”,然后转到步骤3-6;

3-6、取S中的下一个冲突位,执行步骤3-7;

3-7、对所有标签的当前冲突位发送“位查询命令”,返回位查询结果,根据返回结果,判断是否发生冲突,若发生冲突,转到步骤3-5,若返回结果不发生冲突,则将返回结果保存在串S的对应冲突位,然后判断当前冲突位是否是最后一位冲突位,如果是,则串S就是标签的标识号,保存S并发送“休眠命令”,然后转入步骤3-8,如果当前冲突位不是最后一位冲突位,则转到步骤3-6;

3-8、判断当前栈是否为空,如果非空,则阅读器发送“出栈命令”,栈顶串出栈,并赋给S,将当前冲突位转换为S的最高冲突位,并转而执行步骤3-7,如果为空,整个识别过程结束。

上述技术方案中,所述的步骤4)中,所述的状态包括初始状态、活动状态、阻塞状态和休眠状态,任何时刻,标签只能处于其中的某一种状态。

上述技术方案中,所述的步骤4)中,所述的标签收到指令后,根据当前状态和指令的信息,在各个状态之间做转换,具体包括:

4-1、标签收到“位查询命令”,若栈计数器等于0,则根据“位查询命令”指示的地址信息,向阅读器发送该位的值,如果栈计数器大于0,则不响应“位查询命令”;

4-2、标签收到“入栈命令”,若栈计数器等于0,则判断“入栈命令”携带的地址信息所指示的位的值,如果该位的值等于0,则栈计数器值加1,标签转入阻塞状态,如果该位的值为0,标签仍保持在活动状态;如果栈计数器大于0,则栈计数器值加1,标签仍保持在阻塞状态;

4-3、标签收到“出栈命令”,若栈计数器大于0,则栈计数器减1,栈计数器减1后的结果如果等于0,则标签转入活动状态,否则,标签仍保持在阻塞状态;

4-4、标签收到“休眠命令”,且栈计数器等于0,则标签转入休眠状态,此后标签不再响应除了“初始化命令”之外的任何命令。

本发明的优点在于:

1、位查询次数明显减少,由于阅读器利用栈保存了识别过程中的历史信息,利用已经获得的历史识别信息,阅读器能够跳过已经识别的位,只针对冲突位进行查询,因而降低了位查询次数;

2、减少识别延迟,由于明显减少了重复的位查询次数,标签回送的数据也随之减少,因而降低了阅读器的识别延迟;

3、降低标签功耗,本发明能够明显减少标签的数据发送量和冲突解决方法在标签端的复杂度,因而降低了标签的功耗;

4、不存在信息泄露问题,由于在整个查询过程中阅读器不需要广播标签每一位的信息,避免了逐位二进制树冲突解决算法中存在的信息泄露问题;

本发明的目的克服逐位查询二进制树方法中所存在的识别延迟长、标签逻辑功能复杂、位传输频繁和信息泄露等缺点,提供一种快速、简便的多标签冲突的解决方法。

为了实现上述目的,本发明提供了一种射频识别系统中多标签冲突的解决方法,具体包括以下步骤:

1)、阅读器发送初始化命令,激活并初始化标签;

2)、阅读器对所有待识别标签,从高位到低位,依次查询和记录标签标识每一位的值,并判断各标签标识在该位的值是否相同,若不同即发生冲突,用指定字符标记冲突位,否则,记录该位原来的值,查询完所有位后,将查询结果保存;

3)、阅读器对查询结果中的冲突位从高位开始,对每个冲突位用0、1做替换,并对替换结果做识别,根据识别的结果向标签发送相应的指令;

4)、标签收到指令后,根据标签的当前状态和指令的信息,在各个状态之间做转换,解决多标签的冲突。

上述技术方案中,所述的步骤1)中,初始化标签是要将标签的栈计数器清0,并转入活动状态。

上述技术方案中,所述的步骤3)中,对冲突位做替换,识别替换结果的过程具体包括以下步骤:

3-1、阅读器将步骤2)得到的查询结果赋予一个串,用S标记该串;

3-2、将串S的最高冲突位的指定字符用0和1替代,得到两个不同的串,分别用S0和S1标识,其中,S0是用0代替最高冲突位指定字符所得到的串,S1是用1代替最高冲突位指定字符所得到的串;

3-3、判断串S中的当前最高冲突位是否是最后一位冲突位,如果是的话,转到步骤3-4,否则,转到步骤3-5;

3-4、S0和S1就是两个待识别标签的标识,向被识别的标签发送“休眠命令”,标签转入休眠状态,然后转到步骤3-8;

3-5、将串S0的值赋给S,将串S1入栈,并发送“入栈命令”,然后转到步骤3-6;

3-6、取S中的下一个冲突位,执行步骤3-7;

3-7、对所有标签的当前冲突位发送“位查询命令”,返回位查询结果,根据返回结果,判断是否发生冲突,若发生冲突,转到步骤3-5,若返回结果不发生冲突,则将返回结果保存在串S的对应冲突位,然后判断当前冲突位是否是最后一位冲突位,如果是,则串S就是标签的标识号,保存S并发送“休眠命令”,然后转入步骤3-8,如果当前冲突位不是最后一位冲突位,则转到步骤3-6;

3-8、判断当前栈是否为空,如果非空,则阅读器发送“出栈命令”,栈顶串出栈,并赋给S,将当前冲突位转换为S的最高冲突位,并转而执行步骤3-7,如果为空,整个识别过程结束。

上述技术方案中,所述的步骤4)中,所述的状态包括初始状态、活动状态、阻塞状态和休眠状态,任何时刻,标签只能处于其中的某一种状态。

上述技术方案中,所述的步骤4)中,所述的标签收到指令后,根据当前状态和指令的信息,在各个状态之间做转换,具体包括:

4-1、标签收到“位查询命令”,若栈计数器等于0,则根据“位查询命令”指示的地址信息,向阅读器发送该位的值,如果栈计数器大于0,则不响应“位查询命令”;

4-2、标签收到“入栈命令”,若栈计数器等于0,则判断“入栈命令”携带的地址信息所指示的位的值,如果该位的值等于0,则栈计数器值加1,标签转入阻塞状态,如果该位的值为0,标签仍保持在活动状态;如果栈计数器大于0,则栈计数器值加1,标签仍保持在阻塞状态;

4-3、标签收到“出栈命令”,若栈计数器大于0,则栈计数器减1,栈计数器减1后的结果如果等于0,则标签转入活动状态,否则,标签仍保持在阻塞状态;

4-4、标签收到“休眠命令”,且栈计数器等于0,则标签转入休眠状态,此后标签不再响应除了“初始化命令”之外的任何命令。

本发明的优点在于:

1、位查询次数明显减少,由于阅读器利用栈保存了识别过程中的历史信息,利用已经获得的历史识别信息,阅读器能够跳过已经识别的位,只针对冲突位进行查询,因而降低了位查询次数;

2、减少识别延迟,由于明显减少了重复的位查询次数,标签回送的数据也随之减少,因而降低了阅读器的识别延迟;

3、降低标签功耗,本发明能够明显减少标签的数据发送量和冲突解决方法在标签端的复杂度,因而降低了标签的功耗;

4、不存在信息泄露问题,由于在整个查询过程中阅读器不需要广播标签每一位的信息,避免了逐位二进制树冲突解决算法中存在的信息泄露问题;

5、指令简单,易于实现,由于本发明包含的指令少,标签状态简单,识别过程中标签占用资源少,因而易于实现,具有很好的实用价值。

附图说明

图1是本发明的射频识别系统中多标签冲突的解决方法中,阅读器端冲突解决的执行框图;

图2是阅读器获取冲突位信息的执行框图;

图3是本发明的射频识别系统中多标签冲突的解决方法中标签状态转换图;

图4是本发明的射频识别系统中多标签冲突的解决方法的一个具体实施例图。

具体实施方式

下面结合附图与具体实施方式对本发明作进一步的详细描述。

如图1所示,本发明的射频识别系统中多标签冲突的解决方法包括以下步骤:

步骤10、将标签通电,使之处于初始化状态。

步骤20、阅读器发出“初始化命令”,标签接收到该命令后,计数器(count)清零,然后转入活动状态。计数器清零的意义在于保证每个标签在初始时都处于活动状态,以能够响应阅读器的查询命令。当标签处于活动状态时,可向阅读器发送信息,在其他状态时,则不能执行信息发送的操作。

步骤30、阅读器发送“位查询命令”,从高位到低位逐位查询所有标签的ID位。查询标签ID位的过程如图2所示,如果在查询第k位时,返回的是一组0,则保存该位为0,如果返回的一组1,也保存该位为1,但若返回的二进制数字中,同时有0和1,则各个标签在该位存在冲突,保存该位为x。整个位查询操作结束后,阅读器获得一个由若干0,1和x组成的串S,串长与标签的位数相同。通过S,阅读器能确定哪个位存在冲突。得到串S后,执行下一步骤。

步骤40、阅读器中存在一个冲突位指针,用于指示当前冲突位。将冲突位指针指向S中的第一个x位,转入步骤50。

步骤50、用0和1替换当前冲突位,产生对应串S0和S1,并判断冲突位指针所指向的当前冲突位是否最后一位冲突位,若是,则无论当前冲突位在串S的哪个位置,都可确定存在两个标签。这两个标签的ID位除了当前冲突位不同外,其余各位都相同,因此,阅读器可同时识别出两个标签,无需进一步查询即可知S0和S1就是冲突标签的ID号。保存S0和S1并发送“休眠命令”,然后转入步骤80。若当前冲突位不是最后一位冲突位,则将S0赋值给S,发送“入栈命令”,并将串S1入栈,然后转入步骤60。

步骤60、冲突位指针指向S的下一个x位。

步骤70、对冲突位指针所指向的当前冲突位发送“位查询命令”,所有处于活动状态的待识别标签对“位查询命令”所指定的位做查询,返回查询结果。判断返回结果是否发生冲突,若发生冲突,则转入步骤50;若返回结果不发生冲突,则将返回结果保存在串S的对应位,然后判断冲突位指针所指向的当前冲突位是否是串S的最后一位冲突位,如果是,则串S就是标签的ID号,保存S并发送“休眠命令”,然后转入步骤80。如果当前冲突位不是最后一位冲突位,转到步骤60。

步骤80、判断当前栈是否为空,如果非空,则阅读器发送“出栈命令”,栈顶串出栈,并赋给S,冲突位指针指向S的第一个冲突位,转入步骤70,如果为空,整个识别过程结束。

在本发明的标签识别过程中,涉及多个操作命令,这些命令由阅读器发出,在这些命令的操作下,各个标签在不同状态间转换,它的转换过程如图3所示,下面对标签状态的转换过程和操作命令的具体功能进行说明。

1)、标签上电后,处于初始状态;

2)、标签接收到“初始化命令”后,标签计数器清零,然后转入活动状态;

3)、标签接收到“位查询命令”,如果当前状态为活动状态,则根据“位查询命令”所指示的地址信息,向阅读器发送该位信息,处于其它状态的标签对“位查询命令”不予响应;

4)、标签接收到“入栈命令”,在入栈命令中。如果标签当前状态为活动状态,则标签判断“入栈命令”中所指示的地址位的信息,如果该位等于1,则标签count加1并转入阻塞状态,如果该位等于0,则标签仍然保持在活动状态,如果标签当前状态为阻塞状态,则count加1且仍然保持在阻塞状态。处于其它状态的标签对“入栈命令”不予响应。

5)、标签接收到“出栈命令”。如果标签当前状态为阻塞状态,则count减1,减1后的结果如果等于0,则标签转入活动状态,否则标签仍然保持在阻塞状态。处于其它状态的标签对“出栈命令”不予响应;

6)、标签接收到“休眠命令”。如果标签当前状态为活动状态,则标签转入休眠状态,休眠状态的标签只响应“初始化命令”,处于休眠状态的标签接收到“初始化命令”后转入活动状态。

为了进一步说明本发明所述方法的操作流程,下面结合实施例,对本发明进行说明。

假设有一个包含四个标签的标签组,在该组中的标签的ID长度为4,该标签组的ID如下:{0001,0010,1010,1011}。如图4所示,对该标签组中多标签冲突的解决步骤如下。

1、在阅读器中,对标签组中的所有标签按照从高位到低位的顺序做位查询,对查询结果做冲突判断,得到串S(x0xx),即在该标签组中,只有第2位不存在冲突,其余各位都存在冲突。此时栈为空,标签都处于活动状态。

2、在阅读器中,将串S(x0xx)第一位的x分别用0和1替换,得到两个二进制串,分别为(00xx)和(10xx),根据本发明的方法,将串(10xx)入栈,并发送“入栈命令”,在“入栈命令”中还包含有地址信息,本步骤中,地址信息的值为1。而串(00xx)则替换串S的值。标签收到“入栈命令”后,根据地址信息,将标签(1010)和标签(1011)的栈计数器的值加1,然后将标签(1010)和标签(1011)转入阻塞状态。

3、在阅读器中,对处于活动状态的标签的第三位进行查询,此时只有标签(0001)和标签(0010)处于活动状态,这两个标签响应“位查询命令”,由于在第三位上发生冲突,因此分别用0和1替换x,得到串(000x)和(001x),根据本发明的方法,将串(000x)替换串S的值,将串(001x)压入栈中,发送“入栈命令”。标签收到“入栈命令”后,将标签(0010)转入阻塞状态,栈计数器加1。而标签(1010)和标签(1011)的栈计数器也要加1。

4、在阅读器中,对处于活动状态的标签的第四位进行查询,由于此时只有标签(0001)处于活动状态,查询的返回值为1,不存在冲突,S由(000x)替换为(0001),实现了对标签(0001)的成功识别。然后,阅读器发送“休眠命令”,由于只有标签(0001)处于活动状态,因而标签(0001)转入休眠状态。

5、在阅读器中,做出栈操作,将出栈操作所得到的结果(001x)替换S,发送“出栈命令”,标签收到出栈命令后,处于阻塞状态的标签(1010)、(1011)和(0010)的计数器减1。由于标签(0010)的计数器的值等于0,因而标签(0010)转入活动状态,而标签(1010)、(1011)仍保持在阻塞状态。

6、当前串S中,在第四位存在x,再次对处于活动状态的标签的第四位进行查询。由于只有标签(0010)处于活动状态,查询的返回值为0,不存在冲突。S由(001x)替换为(0010),实现了对标签(0010)的成功识别。然后,阅读器发送“休眠命令”,标签(0010)从活动状态转入休眠状态。

7、在阅读器中,做出栈操作,将出栈操作所得到的结果(10xx)替换S,发送“出栈命令”,处于阻塞状态的标签(1010)、(1011)的计数器减1。减1后,这两个标签的计数器的值都为0,因此,将两个标签转入活动状态。

8、在当前串中,第三和第四位都存在x,从高位开始,对标签的第三位进行查询,查询的结果为第三位不存在冲突。

9、对标签的第四位进行查询,查询的结果为第四位存在冲突,给冲突位分别赋予0和1。由于第四位是最后一个冲突位,因此,可实现对标签(1010)和标签(1011)的识别。也就实现了对标签组中所有标签的识别。

在该实施例的整个识别过程中,所需要的位查询次数为9,而采用背景技术中的位查询二进制方法所需的查询次数为16次,可以明显地降低系统的负担。而在实际使用中,由于所使用的ID标志号通常为64位、96位甚至256位,因此,本发明方法的优势更为明显。

在本实施例对标签的识别过程中,当遇到冲突位时,默认对冲突位为0的串继续做识别,而将冲突位为1的串存入堆栈中。但在应用中,可以将这一识别过程反向,即将冲突位为1的串继续做识别,将冲突位为0的串存入堆栈中。识别过程中,这一识别顺序的变化并不影响最终的识别效果。只要将操作命令的功能做相应修改,本领域技术人员根据本实施例的描述可以方便地实现对多标签的识别。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号