一种基于超高频rfid应答器的防碰撞方法、装置及其***
技术领域
本发明涉及射频识别技术领域,尤其涉及一种基于超高频rfid应答器的防碰撞方法、装置及其***。
背景技术
无线射频识别是一种非接触式自动识别技术,它通过射频信号自动识别目标对象并获取相关数据。典型的RFID***主要由阅读器、标签和后台计算机三部分组成,标签具有唯一的识别码(ID)。
RFID应用***中一个阅读器的天线作用范围内,常常存在多个标签,当阅读器发出查询命令后,往往会引起多个标签同时响应,这些响应信息在共享的无线信道上发生碰撞,使响应信号难以被阅读器辨别,从而引起多标签碰撞。阅读器需要使用防碰撞算法把这些碰撞的标签区分开来,再逐个通信。然而现有的树***算法的随机数的位数为1位,因此每次发生碰撞的***次数有限,例如在随机数为二进制数时,每次碰撞只能一位一位的进行***,防碰撞算法的***效率较为低下。
发明内容
针对上述的技术问题,克服现有技术存在的不足,本发明提供一种基于超高频rfid应答器的防碰撞方法、装置及其***,
具体的,本发明提供了一种基于超高频rfid应答器的防碰撞方法,包括以下步骤,
S1,阅读器发送识别指令至应答器;其中,响应所述识别指令的应答器生成随机数;所述随机数的位数大于1;
S2,所述阅读器在每个所述时隙内接收响应所述识别指令回传的随机数并检测所述随机数的响应时隙中的碰撞时隙;将为碰撞时隙的响应时隙的随机数存储至预编参数,所述预编参数用于与所述识别指令交互得到更新后的识别指令;
S3,重复步骤S1-S2直至响应所述识别指令的应答器均被所述阅读器识别成功。
作为进一步改进,所述预编参数包括第一预编参数和第二预编参数;在步骤S2中,所述将所述碰撞时隙的随机数存储至预编参数的步骤包括:
将所述碰撞时隙的随机数存储至所述第二预编参数;
在完成对所有随机数的响应时隙的检测之后,将所述第二预编参数中的随机数分别写入所述第一预编参数底部;
所述阅读器提取写入所述第一预编参数底部的碰撞时隙的随机数,生成更新后的识别指令并向所述应答器发送更新后的识别指令。
作为进一步改进,步骤S5包括一下步骤,
S51,所述阅读器发送所述更新后的识别指令至所述应答器,其中,响应所述更新后的识别指令的应答器生成新的随机数;所述新的随机数的位数大于1;
S52,所述阅读器在每个所述时隙内接收响应所述更新后的识别指令回传的新的随机数并检测所述新的随机数的响应时隙中的碰撞时隙;
S53,将为所述碰撞时隙的响应时隙的随机数存储至所述第二预编参数;
在完成对所有新的随机数的响应时隙的检测之后,将所述第二预编参数中的新的随机数分别写入所述第一预编参数底部。
S54,所述阅读器根据所述第一预编参数底部的碰撞时隙向所述标签发送再次更新后的识别指令。
S55,重复步骤S51-S54直至响应所述识别指令的应答器均被所述阅读器识别成功。
作为进一步改进,所述预编参数采用运算受限的线性表。
作为进一步改进,所述运算受限的线性表采用堆栈。
作为进一步改进,所述随机数的位数为2,即所述随机数的位数为两位数;两位数的随机数对应的随机数的响应时隙的个数为4。
本发明提供了一种基于超高频rfid应答器的防碰撞装置,包括阅读器和应答器;
阅读器包括发送模块,发送模块用于发送识别指令至应答器,识别指令用于使应答器响应而生成随机数;随机数的位数大于1;
判断模块,检测模块用于检测随机数的响应时隙中的碰撞时隙;
第一存储模块,第一存储模块用于将碰撞时隙的随机数存储至预编参数;
识别指令更新模块,识别指令更新模块根据存储预编参数后的随机数更新识别指令;
应答器包括响应模块,响应模块用于响应阅读器发送的识别指令并生成随机数;
回传模块,回传模块用于回传响应发送模块发送的识别指令的应答器的随机数至阅读器。
本发明提供一种基于超高频rfid应答器的防碰撞***,包括处理器、存储介质以及存储在所述存储介质中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机时实现上述所涉及的方法。
与现有技术相比,本发明的有益效果为,本发明扩大随机数的位数,使得阅读器一次性可识别若干个随机数的响应时隙中的碰撞时隙,大幅度提高了rfid阅读器成功识别应答器的效率;基于本发明可知每增加一位随机数的位数,识别效率都会大幅度提高。
附图说明
为了更清楚地说明本发明的技术方案,下面将对实施方式中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施方式,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明一种基于超高频rfid应答器的防碰撞方法总体流程示意图。
图2为本发明第一实施例防碰撞检测整体示意图。
图3为本发明一种基于超高频rfid应答器的防碰撞装置示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提供多种实施例,具体的,请参阅图1-图2本发明第一种实施例,提供一种基于超高频rfid应答器的防碰撞方法,包括以下步骤,
A1,阅读器发送第一识别指令至应答器;其中,响应第一识别指令的应答器生成第一随机数;随机数的位数为2位;
在本步骤中,应当理解的是阅读器可以是现有的rfid阅读器等具有识别功能的器件;应答器可以是电子标签等可被射频识别的器件。
随机数采用进制,例如二进制、三进制等;
随机数的位数可以是XX(两位)、XXX(三位)、XXX(四位)等;
在本实施例中,随机数的进制采用二进制,随机数的位数采用2位。在此前提下,基于射频识别技术领域的树***算法,随机数的响应时隙为4个,分别为“00”、“01”、“10”、“11”;
A2,阅读器在每个时隙内接收响应第一识别指令回传的第一随机数并检测第一随机数的响应时隙中的碰撞时隙;将为碰撞时隙的响应时隙的第一随机数存储至预编参数,预编参数用于与识别指令交互得到更新后的识别指令;
可参阅图2,阅读器按发送第一识别指令“Request()”至应答器,TagA-TagG的应答器响应第一识别指令,并生成第一随机数,其中,TagA、TagB、TagG的第一随机数为“00”,TagC的第一随机数为“01”,TagD、TagE的第一随机数为“10”,TagF的第一随机数为“11”。
根据树***算法,当随机数相同时,其随机数的响应时隙相同,若有多个应答器的随机数相同,则表示该随机数的响应时隙为碰撞时隙。由图可知TagC的第一随机数的响应时隙、TagF的第一随机数的响应时隙均为非碰撞时隙,TagC、TagF识别成功;TagA、TagB、TagG的第一随机数相同均为“00”,TagD、TagE的第一随机数均相同为“10”,TagA、TagB、TagG,TagD、TagE未识别成功。阅读器将检测为碰撞时隙的响应时隙的第一随机数存储至预编参数;具体的预编参数包括第一预编参数和第二预编参数,在本实施例中,第一预编参数和第二预编参数的存储形式采用运算受限的线性表进行存储,具体的,采用堆栈形式进行存储;结合图2说明,堆栈1为第一预编参数,堆栈2为第二预编参数,在阅读器完成对所有第一随机数的响应时隙的检测之后,将为碰撞时隙的响应时隙的第一随机数按响应时隙的响应顺序存储至第二预编参数,具体可参照图2中T1部分。
随后阅读器将堆栈2的第一随机数分别写入堆栈1的各栈层,得到00,10;阅读器提取写入后的堆栈1的最底栈的随机数,以更新第一识别指令,生成更新后的第二识别指令,其中,第二识别指令分别为“Request(00)”、“Request(10)”,阅读器发送第二识别指令这里值得注意的是,“Request(00)”、“Request(10)”的发送顺序可随机,也可按固定次序发送,在本实施例中,选用按为碰撞时隙的第一随机数的响应时序的次序进行发送;本实施例所指的提取是“剪切”形式的提取,提取后则直接移除。
A31,阅读器发送第二识别指令至应答器,其中,响应第二识别指令的应答器生成第二随机数;第二随机数的位数为2;
请参阅图2,阅读器先发送第二识别指令“Request(00)”至应答器,其中,响应第二识别指令“Request(00)”的应答器生成第二随机数;第二随机数的位数大于1;TagA、TagB、TagG响应第二识别指令“Request(00)”;TagA、TagG的第二随机数为01,TagB的第二随机数为11;
值得说明的是,TagA-TagG生成随机数后,会将各自的随机数写入自身寄存器;基于此,当阅读器发送第二识别指令“Request(00)”时,TagA、TagB、TagG会响应第二识别指令。
A311,阅读器在每个时隙内接收响应第三识别指令回传的第三随机数并检测第三随机数的响应时隙中的碰撞时隙;
请参照图2,阅读器在每个时隙内接收响应第二识别指令“Request(00)”回传的第二随机数并检测第二随机数的响应时隙中的碰撞时隙;检测得到TagB的第二随机数的响应时隙为非碰撞时隙TagB识别成功,TagB将其第二随机参数“11”写入自身的寄存器,此时TagB的寄存器存储内容为“0011”;TagA、TagG的第二随机数的响应时隙为碰撞时隙;
在阅读器完成对所有第二随机数的响应时隙的检测之后,将为碰撞时隙的响应时隙的第二随机数按其响应时隙的响应顺序存储至第二预编参数,具体可参照图2中T2部分;
随后阅读器将堆栈2的第二随机数分别写入堆栈1的各栈层,得到0001,10;阅读器提取写入后的堆栈1的最底栈的随机数,以更新第一识别指令,生成再次更新后的第三识别指令,“Request(0001)”,阅读器发送第三识别指令至应答器,TagA、TagG响应并生成第三随机数,其中,TagA的第三随机数为01,TagG的第三随机数为11,TagA和TagG的第三随机参数的碰撞时隙均为非碰撞时隙,TagA、TagG识别成功;TagA将其第三随机参数“00”写入自身的寄存器,此时TagA的寄存器存储内容为“000101”;TagG将其第三随机参数“11”写入自身的寄存器,此时TagG的寄存器存储内容为“000111”。
A32,阅读器发送第二识别指令至应答器,其中,响应第二识别指令的应答器生成第二随机数;第二随机数的位数为2;
请参阅图2中的T4,阅读器先发送第二识别指令“Request(10)”至应答器,其中,响应第二识别指令“Request(10)”的应答器生成第二随机数;第二随机数的位数大于1;TagD、TagE响应第二识别指令“Request(10)”;TagD的第二随机数为10,TagE的第二随机数为11,TagD、TagE的第二随机数的响应时隙均为非碰撞时隙,TagD、TagE识别成功。
TagD将其第二随机参数“10”写入自身的寄存器,此时TagD的寄存器存储内容为“1010”;TagE将其第三随机参数“11”写入自身的寄存器,此时TagE的寄存器存储内容为“1011”。至此响应第一识别指令的应答器TagA-TagG全部识别成功。
请参阅图3本发明第二种实施例,提供一种基于超高频rfid应答器的防碰撞装置,包括阅读器和应答器;
阅读器包括发送模块,发送模块用于发送识别指令至应答器,识别指令用于使应答器响应而生成随机数;随机数的位数大于1;
判断模块,检测模块用于检测随机数的响应时隙中的碰撞时隙;
第一存储模块,第一存储模块用于将碰撞时隙的随机数存储至预编参数;
识别指令更新模块,识别指令更新模块根据存储预编参数后的随机数更新识别指令;
应答器包括响应模块,响应模块用于响应阅读器发送的识别指令并生成随机数;
回传模块,回传模块用于回传响应发送模块发送的识别指令的应答器的随机数至阅读器。
第二存储模块,第二存储模块用于存储应答器生成的随机数。
本发明第三种实施例示意图,该实施例提供了一种基于超高频rfid应答器的***包括,处理器、存储器以及存储在所述存储器中且被配置为由所述处理器执行的计算机程序,所述处理器执行所述计算机程序,例如基于云端的远程安全访问的程序;
示例性的,所述计算机程序可以被分割成一个或多个模块,所述一个或者多个模块被存储在所述存储器中,并由所述处理器执行,以完成本实施例。所述一个或多个模块可以是能够完成特定功能的一系列计算机程序指令段,该指令段用于描述所述计算机程序在多屏显示***的控制方法终端设备中的执行过程。
所述基于超高频rfid应答器的***可以是桌上型计算机、笔记本、掌上电脑及云端服务器等计算设备。
所述基于超高频rfid应答器的***可包括,但不仅限于,处理器、存储器、显示器。本领域技术人员可以理解,所述示意图仅仅是基于超高频rfid应答器的***的示例,并不构成对基于超高频rfid应答器的***设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件,例如基于超高频rfid应答器的***还可以包括输入输出设备、网络接入设备、总线等。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,所述处理器是基于超高频rfid应答器的***的控制中心,利用各种接口和线路连接整个基于超高频rfid应答器的***的各个部分。
所述存储器可用于存储所述计算机程序和/或模块,所述处理器通过运行或执行存储在所述存储器内的计算机程序和/或模块,以及调用存储在存储器内的数据,实现基于超高频rfid应答器的***的各种功能。所述存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作***、至少一个功能所需的应用程序(比如声音播放功能、文字转换功能等)等;存储数据区可存储根据手机的使用所创建的数据(比如音频数据、文字消息数据等)等。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(Smart Media Card,SMC),安全数字(SecureDigital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
其中,基于超高频rfid应答器的***集成的模块如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一个计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,所述计算机程序包括计算机程序代码,所述计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。所述计算机可读介质可以包括:能够携带所述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-OnlyMemory)、随机存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,所述计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
需说明的是,以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。另外,本发明提供的装置实施例附图中,模块之间的连接关系表示它们之间具有通信连接,具体可以实现为一条或多条通信总线或信号线。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上所述是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也视为本发明的保护范围。