一种基于自适应分组机制的RFID防碰撞方法技术

技术编号:10617343 阅读:152 留言:0更新日期:2014-11-06 11:44
本发明专利技术公开了一种基于自适应分组机制的RFID防碰撞方法,在阅读器端增设了查询栈、分组标志位和分组码,进而减少了阅读器向标签查询的次数,同时在识别出标签后直接进入静默状态,也不需要返回到根节点查询,进一步减少了查询次数;在标签端设置了碰撞组来记录碰撞位,有效减少了通信过程中的传输量;在标签端设置了状态标志state,有效地减少了标签的筛选范围,进而减少了阅读器的查询次数;阅读器不需要发送完整的ID编码,有效地减少了RFID系统的数据传输量。本发明专利技术可广泛应用于射频识别领域。

【技术实现步骤摘要】
一种基于自适应分组机制的RFID防碰撞方法
本专利技术涉及射频识别领域,尤其是一种基于自适应分组机制的RFID防碰撞方法。
技术介绍
无线射频识别(RadioFrequencyIdentification,RFID)是一种使无线射频技术实现对象识别和数据交换的技术。在RFID系统中,影响阅读器正确或完整接收数据的因素主要有以下三个:一、系统周边的信号干扰;大多数情况下,系统周边的信号干扰可以通过数据校验的方式来解决。二、多个阅读器之间的信号重叠,即阅读器碰撞问题;由于阅读器相对标签在硬件功能上更为强大,故阅读器碰撞的问题解决起来比标签问碰撞题容易得多,现有的阅读器防碰撞的算法包括自适应着色图算法、DSATUR算法和增强SEQ算法等。三、多个标签同时在同一阅读器的可读范围内而造成的数据碰撞,即标签碰撞问题。标签碰撞问题的解决方法一般包括以下四种方法:(1)空分多路法,其实现代价比较高;(2)码分多路法,其信道容量比较小,频带利用率不高,而且应用比较复杂;(3)频分多路法,其对阅读器和标签的要求都比较高;(4)时分多路法。时分多路法相对其他几种方法,实现起来较为简单,而且对系统的硬件要求不高,是目前应用最多的RFID标签防碰撞方法。基于二进制搜索的算法是目前时分多路法中的研究热点之一;该算法主要有两个改进的方向:一是减少阅读器的查询次数,二是减少传输的数据量。后退式二进制搜索算法和动态二进制搜索算法就是从这两个角度出发对二进制搜索算法进行了改进,但是后退式二进制搜索算法没有考虑减少通信的数据量,而动态二进制搜索算法则没有采取有效的措施来减少读写器向标签发送的请求次数。综上所述,目前业内还未有一种既能减少阅读器的查询次数,又能降低通信过程中的数据量的RFID标签防碰撞方法。
技术实现思路
为了解决上述技术问题,本专利技术的目的是:提供一种既能减少阅读器的查询次数,又能降低通信过程中的数据量的,基于自适应分组机制的RFID防碰撞方法。本专利技术解决其技术问题所采用的技术方案是:一种基于自适应分组机制的RFID防碰撞方法,包括:A、阅读器初始化查询栈为空,并发送Req(ALL,ALL)指令激活感应场内的所有标签,然后接收标签返回的应答信号;B、阅读器根据译码后的应答信号判断是否发生标签碰撞,若是,则根据碰撞位生成相应的碰撞码并进行记录,然后向标签发送碰撞指令Req(CID,null),反之,则转至步骤G;C、标签将碰撞指令Req(CID,null)保存至碰撞组Col_bit中,并将碰撞位的消息返回给阅读器;D、阅读器根据碰撞码和返回的消息设置分组标志位Div_bit和分组码Div_num,然后将元素(Div_bit,Div_num)和(Div_bit,Div_num1)依次加入查询栈;E、阅读器判断查询栈是否为空,若是,则释放碰撞码和Div_bit所占用的内存,并将Div_num的值置0,然后结束流程;反之,则将查询栈栈顶元素出栈,然后根据栈顶元素的内容发送Req(Div_bit,Div_num)指令,然后执行步骤F;F、阅读器根据符合Req(Div_bit,Div_num)指令的标签返回的应答消息,判断是否发生了碰撞,若是,则返回步骤C,反之,则将该标签的状态标志state置0和碰撞组Col_bit清空,并将其他标签的状态标志state自动减1,然后执行步骤G;G、阅读器发送指令对标签进行读写操作,然后在读写结束后发送静默命令使该标签进入静默状态,最后返回步骤E;其中,Req(ALL,ALL)指令,要求阅读器感应场范围内的所有标签返回自己的完整序列号进行响应;碰撞指令Req(CID,null),表示标签将CID的值与自身的ID值进行比较,从而得到发生碰撞的位置并进行记录,此后每次响应阅读器指令的时候,标签只发送碰撞位上的二进制值;Req(Div_bit,Div_num)指令,是指满足状态标志State为0且第Div_bit位上的数值为Div_num的标签响应阅读器,发送碰撞位上的二进制值,而其他标签的状态标志State自动加1;分组标志位Div_bit,用于记录以碰撞标签的哪一个比特位作为分组标志;分组码Div_num,用于记录被选中分组标签中第Div_bit位上的二进制值;为异或运算符。进一步,所述步骤A,其包括:A1、阅读器初始化查询堆栈为空,并发送Req(ALL,ALL)指令激活感应场内的所有标签;A2、接收到Req(ALL,ALL)指令的标签将状态标志State设置为0,然后把标签的ID号发送给阅读器;A3、阅读器检测是否接收到应答信号,若是,则执行步骤B,反之,则返回步骤A1。进一步,所述步骤B,其包括:B1、阅读器对所有接收到的应答信号进行译码;B2、阅读器根据译码的结果判断是否发生了标签碰撞,若是,则根据碰撞位生成相应的碰撞码并进行记录,然后向标签发送碰撞指令Req(CID,null),反之,则转至步骤G,其中,碰撞码的生成规则为:没有发生碰撞的比特位上的二进制值与标签的二进制值相同,而发生碰撞的比特位的值,则用预设的特殊符号代替。进一步,所述步骤D,其包括:D1、阅读器根据碰撞码、返回的消息和预设的分组取值原则设置分组标志位Div_bit和分组码Div_num;D2、阅读器将元素(Div_bit,Div_num)和(Div_bit,Div_num1)依次加入查询栈。进一步,所述预设的分组取值原则,包括分组标志位Div_bit的取值规则和分组码Div_num的取值规则,其中,分组标志位Div_bit的取值规则为:根据碰撞码和标签返回的消息选择标签发生碰撞的最高比特位,并将该最高比特位的数值赋值给分组标志位Div_bit;而分组码Div_num的取值规则为:比较标签第Div_bit位上的二进制值0与1的数目,然后将数目较多的二进制值赋给Div_num,若0与1的数目相同,则不采取任何操作。进一步,所述碰撞组Col_bit保存的碰撞位为标签的第6、5、3、2比特位。进一步,所述标签的状态标志State的值与标签的状态对应关系满足:若State的值为0,则表示此时标签处于激活状态,能响应阅读器的信号;若State的值大于0,则表示此时标签处于锁定状态,不能响应阅读器的信号;若State的值小于0,则表示此时标签处于静默状态中,不能接收阅读器的信号。进一步,所述查询栈保存的元素为待查询的分组标志(m,n),其中,m为标签ID号的第m位,n为标签ID号在第m位上的二进制值。进一步,所述碰撞指令中CID的取值规则为:将发生碰撞的比特位置1,没有发生碰撞的比特位置0,从而得到新的CID编码值。本专利技术的有益效果是:(1)在阅读器端增设了查询栈、分组标志位和分组码,使阅读器端具有智能判断的功能,能根据不同的碰撞情况自适应进行分组,缩小了符合筛选条件的标签范围,减少了标签碰撞的可能性,进而减少了阅读器向标签查询的次数,同时在识别出标签后直接进入静默状态,也不需要返回到根节点查询,进一步减少了查询次数;(2)在标签端设置了碰撞组来记录碰撞位,而在后续通信中,标签只需要返回碰撞位,有效减少了通信过程中的传输量;在标签端设置了状态标志state,根据状态标志state和阅读器的请求消息,将标签划入不同的分组中,有效地减少了本文档来自技高网
...
一种基于自适应分组机制的RFID防碰撞方法

【技术保护点】
一种基于自适应分组机制的RFID防碰撞方法,其特征在于:包括:A、阅读器初始化查询栈为空,并发送Req(ALL,ALL)指令激活感应场内的所有标签,然后接收标签返回的应答信号;B、阅读器根据译码后的应答信号判断是否发生标签碰撞,若是,则根据碰撞位生成相应的碰撞码并进行记录,然后向标签发送碰撞指令Req(CID,null),反之,则转至步骤G;C、标签将碰撞指令Req(CID,null)保存至碰撞组Col_bit中,并将碰撞位的消息返回给阅读器;D、阅读器根据碰撞码和返回的消息设置分组标志位Div_bit和分组码Div_num,然后将元素(Div_bit,Div_num)和(Div_bit,Div_num1)依次加入查询栈;E、阅读器判断查询栈是否为空,若是,则释放碰撞码和Div_bit所占用的内存,并将Div_num的值置0,然后结束流程;反之,则将查询栈栈顶元素出栈,然后根据栈顶元素的内容发送Req(Div_bit,Div_num)指令,然后执行步骤F;F、阅读器根据符合Req(Div_bit,Div_num)指令的标签返回的应答消息,判断是否发生了碰撞,若是,则返回步骤C,反之,则将该标签的状态标志state置0和碰撞组Col_bit清空,并将其他标签的状态标志state自动减1,然后执行步骤G;G、阅读器发送指令对标签进行读写操作,然后在读写结束后发送静默命令使该标签进入静默状态,最后返回步骤E;其中,Req(ALL,ALL)指令,要求阅读器感应场范围内的所有标签返回自己的完整序列号进行响应;碰撞指令Req(CID,null),表示标签将CID的值与自身的ID值进行比较,从而得到发生碰撞的位置并进行记录,此后每次响应阅读器指令的时候,标签只发送碰撞位上的二进制值;Req(Div_bit,Div_num)指令,是指满足状态标志State为0且第Div_bit位上的数值为Div_num的标签响应阅读器,发送碰撞位上的二进制值,而其他标签的状态标志State自动加1;分组标志位Div_bit,用于记录以碰撞标签的哪一个比特位作为分组标志;分组码Div_num,用于记录被选中分组标签中第Div_bit位上的二进制值;为异或运算符。...

【技术特征摘要】
1.一种基于自适应分组机制的RFID防碰撞方法,其特征在于:包括:A、阅读器初始化查询栈为空,并发送Req(ALL,ALL)指令激活感应场内的所有标签,然后接收标签返回的应答信号;B、阅读器根据译码后的应答信号判断是否发生标签碰撞,若是,则根据碰撞位生成相应的碰撞码并进行记录,然后向标签发送碰撞指令Req(CID,null),反之,则转至步骤G;C、标签将碰撞指令Req(CID,null)保存至碰撞组Col_bit中,并将碰撞位的消息返回给阅读器;D、阅读器根据碰撞码和返回的消息设置分组标志位Div_bit和分组码Div_num,然后将元素(Div_bit,Div_num)和(Div_bit,)依次加入查询栈;E、阅读器判断查询栈是否为空,若是,则释放碰撞码和Div_bit所占用的内存,并将Div_num的值置0,然后结束流程;反之,则将查询栈栈顶元素出栈,然后根据栈顶元素的内容发送Req(Div_bit,Div_num)指令,然后执行步骤F;F、阅读器根据符合Req(Div_bit,Div_num)指令的标签返回的应答消息,判断是否发生了碰撞,若是,则返回步骤C,反之,则将该标签的状态标志state置0和碰撞组Col_bit清空,并将其他标签的状态标志state自动减1,然后执行步骤G;G、阅读器发送指令对标签进行读写操作,然后在读写结束后发送静默命令使该标签进入静默状态,最后返回步骤E;其中,Req(ALL,ALL)指令,要求阅读器感应场范围内的所有标签返回自己的完整序列号进行响应;碰撞指令Req(CID,null),表示标签将CID的值与自身的ID值进行比较,从而得到发生碰撞的位置并进行记录,此后每次响应阅读器指令的时候,标签只发送碰撞位上的二进制值;Req(Div_bit,Div_num)指令,是指满足状态标志State为0且第Div_bit位上的数值为Div_num的标签响应阅读器,发送碰撞位上的二进制值,而其他标签的状态标志State自动加1;分组标志位Div_bit,用于记录以碰撞标签的哪一个比特位作为分组标志;分组码Div_num,用于记录被选中分组标签中第Div_bit位上的二进制值;为异或运算符。2.根据权利要求1所述的一种基于自适应分组机制的RFID防碰撞方法,其特征在于:所述步骤A,其包括:A1、阅读器初始化查询堆栈为空,并发送Req(ALL,ALL)指令激活感应场内的所有标签;A2、接收到Req(ALL,ALL)指令的标签将状态标志State设置为0,然后把标签的ID号发送给阅读器;A3、阅读器检测是否接收到应答...

【专利技术属性】
技术研发人员:凌捷沈金伟赵广强
申请(专利权)人:广东工业大学
类型:发明
国别省市:广东;44

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

1