具体实施方式
下面结合附图详细描述本发明的较佳实施例。
本发明提出了一种高频射频识别系统防碰撞的识别方法,该系统包含一个阅读器和至少一个应答器,其特征在于,所述方法包括以下步骤:
a)使用特定形式的无线信号在所述阅读器和所述应答器之间建立无线通信,该特定形式的无线信号由逻辑信号部分和时隙部分组成,逻辑信号部分用于传送阅读器给应答器的各种命令或信息,时隙部分用于应答器进行反向散射调制向阅读器传送一位二进制位的应答信号;
b)以步骤(a)的无线通信为基础,建立应答器的初始状态、一般查询状态、一般搜索状态、等待状态、确认状态;
c)阅读器通过向应答器发送相应的命令和/或信息,能使应答器在上述各状态间作相应转换并执行阅读器对应答器的搜索和/或查询动作,从而完成阅读器对应答器的识别。
本发明的基础是一种特定形式的无线信号。在所述步骤a)中,所述无线信号是阅读器发送给应答器的,它包括两个部分:第一个部分表示阅读器给应答器信号的逻辑信号部分,第二个部分是时隙,用作应答器对阅读器信号进行反向散射调制的,第二个部分这里称为response window。
应答器发给阅读器的信号就通过在Response window上进行不同频率的反向散射调制来实现。这也是由于反向散射调制的特点决定的,反向散射调制需要阅读器持续不断的发送能量给应答器。
实际上,这是一种“传统的逻辑表达信号”+“时隙”形式的信号,这样的信号类似与一个有限制的对讲机,设有A,B两个对讲机,其中A是主对讲机,B是从对讲机。初始条件下A对讲机在发送状态,B对讲机在收听状态。A→B发送信号,然后A对讲机停止发送,切换到收听状态,B在收听状态接到信号后切换到发送状态然后B→A进行回答。
这样总是A先发送信号,而B在A发完之后立刻进行回发。在逻辑上,这里采用的信号就类似于这种关系。
下面给出一种这种无线信号的推荐形式,这种无线信号具体上是:
无线信号是通过阅读器对载波的振幅调制(ASK)得到的,阅读器通过振幅调制(ASK调制)的方法来发送无线信号,也就是阅读器真正发送使用的信号,如图3所示。这种无线信号是通过载波信号振幅的强弱来表示的,阅读器通过在指定的时间内对载波的振幅进行变化来传送数据。
阅读器通过对载波的ASK调制的调制深度在两个高低不同的值之间变动来传送信号。这两个值表示成一个vh和一个vl。
无线信号的特定形式根据阅读器对载波的ASK调制的调制深度分为高、低、高幅值3个部分,即该无线信号的形式是:vh+vl+vh,如图2所示,其中,前面的高、低幅值两部分vh+vl构成所述逻辑信号部分,所述低幅值部分vl的时间宽度表示阅读器发送给应答器的各种命令或信息,作为阅读器向应答器发送各种命令或信息的命令窗口(CommandWindow)。
所述后面的高幅值部分vh构成所述时隙部分,作为应答器的回答窗口(responsewindow),用于应答器进行反向散射调制时向阅读器传送一位二进制位的应答信号。
所述反向散射调制是频移键控(FSK),用2个不同频率的信号分别代表一位二进制位的应答信号bit’0’或bit’1’。
应答器的一位二进制位的应答信号是应答器在接收到阅读器的一个所述无线信号后就立刻在该无线信号的回答窗口上进行回发的。
这里后面的vl和vh的时间延续长度相加等于一个定长。
这里使用一种编码信号,如图4至图7所示,分别是4个信号signal’a’,signal’b,’signal’c’,signal’d’的编码方法示意图。
根据实际的需要这里还可以增加第5个检测点f甚至第六个检测点g,但是这两个检测点并不是用来作为信号编码使用的。f,g的作用是:当b,c,d,e都为0时,进行f,g的检测,如果f,g点也为0,那么把这个信号作为一个Reset信号。T5,T6的取值应当由实际情况来决定。
应答器使用在Vhigh上反向散射调制的方式发送数据。应答器和阅读器不同的是,应答器的编码不需要很多的数据信息容量,只要能包含bit‘0’和bit’1’的信息就可以了。因此这里采用不同频率的反向散射调制来表达应答器回发信号的逻辑值。因此这里的回发实际上是一种FSK信号,用不同的频率表示bit‘0’或者bit‘1’,这样的好处是:抗干扰性非常好。
在实际的操作上采用的是反向散射回不同频率的信号来代表不同的bit。举例而言,应答器在阅读器bit回答窗口(response window)上回发频率f1和频率f2的信息,可以分别代表bit‘0’和bit‘1’。
如图8和图9所示,分别是应答器在阅读器的无线信号‘a’的回答窗口上进行反向散射调制的示意图,以及阅读器的无线信号‘b’的回答窗口上进行反向散射调制的示意图。
这里使用的Signal‘a’,‘b’,‘c’,‘d’,是为了方便分别作为阅读器的Reader bit’0’,Reader bit’1’以及Reader bit’Command’和Reader bit’System’使用。因此应答器回发的bit只在Reader bit’0’和Reader bit’1’上进行,Reader bit’Command’和Reader bit’System’作为阅读器发送命令使用的必要编码使用。
参照图10,在本发明的防碰撞的识别方法中,应答器所在的状态有初始状态、一般查询状态、一般搜索状态、等待状态、确认状态。
应答器还包含应答器的休眠状态,通过阅读器发送Initial命令,对应答器进行初始化,使处在休眠状态的应答器进入初始状态,所述初始状态,实际上是一种待命状态;这里的进行初始化是阅读器对应答器进行上电、时钟校正(可能会使用的过程)。
通过阅读器发送Investigate命令给应答器,使处在初始状态的应答器进入一般查询状态,一般查询状态中的应答器,进行一般的查询工作方式。阅读器发送Back命令给应答器可使处在一般查询状态的应答器回到初始状态。
通过阅读器发送Search命令给应答器,使处在初始状态的应答器进入一般搜索状态,发送Back命令给应答器,可使处在一般搜索状态的应答器回到休眠状态。这里,一般搜索状态中的应答器,进行一般的二进制搜索工作方式,在这个过程中,如果发生阅读器信号与应答器信号不一致的情况,就进入等待状态;如果在整个过程中信号都互相一致,那么应答器在最后一个bit时进入确认状态。
应答器还包含应答器的读写状态,通过阅读器在一般搜索状态对应答器的识别码(ID)搜索完毕后,使应答器进入确认状态,阅读器发送Back命令给应答器,可使处在确认状态的应答器回到休眠状态,发送RW命令给应答器可使处在确认状态的应答器进入读写状态。
所述确认状态是一种结束状态,这种状态下的应答器已经被阅读器确认。
这里的读写状态相当于应答器被确认后进入的另一个状态,可以看到,经过搜索过程后,每次处在读写状态中的应答器只有1个,因此可以直接对这个应答器进行读写操作。
应答器的等待状态是应答器一般搜索状态的子状态,它是一种待命状态,阅读器发送Back命令使处于等待状态的应答器进入初始状态。
所述阅读器执行的搜索动作包含特殊搜索方法、一般搜索方法、分类搜索方法。
阅读器对应答器的识别可包含对单个应答器的识别和对阅读器工作范围内的所有应答器的识别。
这里设置了Search命令、Investigate命令、RW命令、Back命令。
这里设置命令的作用是:阅读器通过发送这些命令,让处在特定状态的应答器进入命令规定的状态中去,以实现步骤c)中,应答器在上述各个状态间相互转换、并执行阅读器对应答器的搜索和/或查询动作,从而完成阅读器对应答器的识别。这里的Search,Investigate,Back等命令都是通过bit‘0’,bit‘1’以及可能有的特殊的bit来组合而成。(比如当采用前面推荐的信号时,可以用bit‘Command’,bit‘System’+bit’1’、bit’0’等信号组合)
这样,阅读器发出的信号就包括:Readerbit‘0’、Readerbit‘1’、Search命令、Investigate命令、和Back命令。
下面具体介绍应答器在各个状态下是如何接收信号的。
应答器在一般查询状态中的流程举例如图11所示。
1.一开始,应答器(Tag)在经过初始化后进入初始状态。
2.在初始状态中的应答器接到阅读器发出的Investigate命令后进入一般查询状态。
3.进入一般查询状态后,应答器从Tag ID中拿出一个bit,作为Tag bit。这个bit的选取可以直接采用最高一位的bit。
4.应答器接收到一个阅读器发出的一个Reader bit。
5.应答器对这个Reader bit进行判断:
如果Reader bit是Back命令,应答器就退出一般查询状态,回到初始状态;
如果Reader bit不是Back命令,应答器比较Reader bit和Tag bit,判断两者是否一致,如果不一致,就不进行回发,直接进入第7步;如果一致,进入第6步。
6.应答器就在该Reader bit回答窗口(response window)中把Tag bit回发给阅读器,然后进入第7步。
7.应答器从Tag ID中取出下一个Tag bit,然后回到步骤4准备接收。
应答器在这个状态中只回答和自己应答器识别码(Tag ID)对应bit一致的信号,对不一致的信号,应答器并不退出,而是等待下一个信号。
应答器在一般搜索状态中,执行一般搜索的流程规则。应答器在这个状态下将执行一般搜索过程,这种一般搜索是源于普通的二进制搜索方法。由于这里对信号进行特殊的规定,引入了Response window的“时隙”概念,因此这里的应答器对信号的回答和传统的二进制搜索方法不同。
这种不同就在于应答器接到一个信号后就立刻在这个信号的Response window上进行回发。在应答器发完整个应答器ID的过程中就得到阅读器对应答器发送信号的反馈,这样应答器在发送完整个应答器ID的过程中就可以进行中途退出或者继续发送的判断,这样的方法比起传统的二进制搜索能更快的排除不需要的应答器。
应答器在这个状态下,主要的原则就是检查阅读器发出的信号和自己应答器Tag ID对应的bit是不是一致,如果一致就继续在Response window上回发下一个bit信号;如果不一致,就退出一般搜索状态。
应答器在一般搜索状态中的主要工作方式是:
1.一开始,应答器(Tag)处于休眠状态,经过初始化后进入初始状态,应答器接收到阅读器到Search命令后,进入一般搜索状态,然后立刻在Search命令的回答窗口(responsewindow)上发送应答器识别码(Tag ID)的第一个bit。
2.应答器接到一个阅读器的Reader bit,判断这个bit是否等于刚刚发送的Tag ID的第一个bit。如果是的话,就在这个bit的回答窗口(response window)发送下一个bit,如果不是,就进入等待状态,直到下次搜索开始。
3.这样周而复始,直到走完应答器ID的所有bit。
4.这里应答器在整个过程中如果接到Back命令,就立刻进入休眠的状态。
应答器在一般搜索状态下的具体流程举例如图12所示。
1.一开始,应答器在休眠状态。
2.应答器在进行初始化后进入初始状态。
3.在初始状态中的应答器接到阅读器发出的Search命令进入一般搜索状态。
4.应答器接到这个Search命令后根据不同的参数,决定要发送的Tag bit。一般的过程是:应答器准备Tag ID的最高一位或者最低一位(可以顺序从高位到低位发送,也可以逆序从低位到高位发送),设置为Tag bit。
5.应答器在Search命令的回答窗口(response window)上反向散射回Tag bit。
6.应答器接到阅读器发出的信号Reader bit,进行判断:
如果Reader bit是Back命令,则结束整个流程,应答器进入休眠状态;
如果Reader bit和刚刚发送的Tag bit不一致,则应答器退出一般搜索状态,进入等待状态;
如果Reader bit和刚刚发送过的Tag bit一致,应答器进行进一步判断,应答器是否已经发送完Tag ID的所有bit:
如果没有发送完毕,应答器按次序设置Tag ID的下一位为Tag bit,然后回到步骤5;
如果已经发送完毕,应答器进入确认状态。
在等待状态中的应答器,是在一般搜索过程中未被选择的那些应答器。在等待状态下的应答器只有一种操作,就是接到Back命令后回到初始状态。在这个状态下的应答器不理会其他信号。
在确认状态中的应答器,是在一般搜索过程中被正确读取全部应答器Tag ID bit的那些应答器。在确认状态中的应答器接到Back命令后回到初始状态。
下面介绍阅读器在防碰撞识别方法中的各种方式的流程。
阅读器在防碰撞识别方法中,主要就是通过发送Reader bit‘0’,Reader bit‘1’,Search命令、Investigate命令、Back命令来控制应答器进入各种状态,然后进行在各种状态下的操作。
对于阅读器而言,是要通过阅读器执行的方法来进行描述。
这里阅读器执行两种操作方式:一般搜索方式,一般查询方式。
一般搜索方式是用来识别应答器的操作方式。
一般查询方式是用来得到应答器群的总体特征的。一般查询方式和一般搜索方式中的一般搜索方式3结合,可以得到很好的抗干扰性能。
这里阅读器对应答器执行初始化,让应答器进入初始状态。这在实际中的过程应当是:上电,时钟校正(可能会使用的过程)的过程。
一般搜索方式是用来识别应答器的操作方式。阅读器要执行这种方式,首先要作的就是通过发送Search命令让应答器群中的应答器进入一般搜索状态,然后才可以进行搜索。
这里提出了三种搜索方式,分别对应于:“对特殊应答器的搜索方法”、“对一般应答器的搜索方法”、“对分类应答器的搜索方法”。
阅读器的一般搜索方式1(特殊搜索方法):
当阅读器要找到一个特殊的应答器,就用这种方式用来查找整个工作范围内是否有这个特殊的应答器。
这种搜索方式主要用在当我们要对特殊的应答器进行读写的时候,这是需要让这个应答器进入确认状态。这种方式也可以称为“对特殊应答器的搜索方法”。
阅读器在这种搜索方式中的流程举例如图13所示:
1.阅读器将要找的Tag ID放入识别码寄存器(ID register)。
2.阅读器对应答器群进行初始化,让应答器群进入初始状态。
3.阅读器发送Search命令,这个命令让初始状态的应答器进入一般搜索状态。
4.阅读器从ID register中准备一个Reader bit。
5.阅读器在回答窗口(response window)中得到一个回答,阅读器从得到的回答中抽取其中存在的所有Tag bit,由于可能有多个应答器同时进行了回发,因此可能得到:
1)一个有效的Tag bit,可能是1个应答器发出的,也可能是多个应答器发出的;
2)多个Tag bit,肯定是多个应答器发出的;
3)一个有效的Tag bit也没有。
阅读器并不管这些,阅读器只关心接收到的Tag bit中是否有bit和Reader bit一致。
如果没有一致的Tag bit,那么说明整个阅读器工作范围内没有ID register存储的这个应答器ID,阅读器可以通过发送Back命令结束整个流程;
如果有一致的Tag bit,阅读器进行下一次判断,判断阅读器的Reader bit是否已经是最后一个待确认的ID register中的bit:
如果阅读器的Reader bit不是ID register中最后一个bit,阅读器就发送这个Reader bit,然后回到步骤4;
如果阅读器的Reader bit已经是最后一个待确认的bit,说明ID register存储的这个应答器ID就在工作范围内。阅读器发送这个Reader bit,让这个应答器进入确认状态,然后结束整个循环。
阅读器的一般搜索方式2(一般搜索方法):
这种方式是一般的搜索方式,是用来进行在庞大数量的应答器中,一个一个识别出所有应答器的办法。这种搜索方法也可以称为“对一般应答器的搜索方法”。
阅读器在这种搜索方式中的流程举例如图14所示:
1.开始,阅读器对应答器群进行初始化,让应答器群进入初始状态。
2.阅读器准备发送Search命令,设置command bit=Search命令。这个命令让初始状态的应答器进入一般搜索状态。
3.阅读器清除ID register。
4.阅读器发送Command bit到应答器群中。
5.阅读器监听在发送后跟随的应答器的回答。
6.阅读器要判断Response window中有没有有效的bit:
如果回答中含有有效的Tag bit,如果这个回答中只有单一的Tag bit,直接设置Reader bit=Tag bit。如果这个回答中是同时包含bit’0’和bit’1’的,那么阅读器要对此进行判断,可以根据不同的算法来从bit’0’或者bit’1’中选取一个,比如根据各自信号的强弱选取bit,或者按照不同的优先级别,或者直接采用随机选取的办法来设置Reader为bit‘1’或者bit‘0’。在设置好以后,阅读器进入步骤7;
如果回答中不含有任何有效的Tag bit,阅读器要回来看看自己ID register中是否已经有了内容:
如果ID register还是空的,就认为这个阅读器工作范围内已经没有应答器需要确认,阅读器可以通过发送Back命令来结束整个流程;
如果ID register中有内容,然后再次进行判断,ID register中是否已经得到了一个完整的应答器ID:
如果ID register中有完整的应答器ID,那么说明阅读器已经得到一个完整的应答器ID,而且这个ID已经进入确认状态。设置command bit=Back命令,然后回到第4步;
如果ID register中没有完整的应答器ID,那么说明可能由于干扰没有接收到有效的信号。设置command bit=Back命令,然后回到第4步。
7.阅读器设置command bit=Reader bit。
8.阅读器把这个Reader bit放入ID register中,然后回到步骤4。
这样一次一次的,阅读器就可以找到全部应答器。这里的流程中,在步骤6中接到应答器信号发生冲突时如何进行选择可以由制造者自行决定。比如可以采取检测信号强弱的办法,这种办法就是如果接到的bit‘1’的信号比bit‘0’的信号更强,这样就可以选择Reader bit为bit‘1’。比如可以采取优先级的办法,可以设置bit‘0’总是比bit‘1’优先,这样只要接到bit‘0’,就设置Reader bit为bit‘0’。还可以直接采用随机选取的办法。这些都可以由制造者自行决定。并不影响整个流程和整个方法。
阅读器的一般搜索方式3(分类搜索方法):
一般搜索方式3,是在阅读器了解应答器类别(知道应答器一部分ID)的情况下使用的方法。这种方法也可以称为:对“分类应答器的搜索方法”。
1.这种搜索方法适合寻找所有应答器中的一类。比如:共有10个应答器在阅读器工作范围内,而其中有4个的ID是以001001开始的,我们只想寻找这样开始6个bit是001001的应答器,在这种情况下,使用这种方法效率会比较高。
2.和一般查询状态结合使用,自行对应答器进行分类识别,这样可以得到比较好的抗干扰性。
这种方法的前提是,要找的应答器的Tag ID的高位或者低位的一部分ID bit已知。这种方法实际上是一般搜索方式1和一般搜索方式2的结合。简单描述就是:
1.阅读器执行一般搜索方式1的办法,发送应答器的识别码(Identification number)的已知那部分,这里就是001001,其他的不符合开始6个bit是001001的这部分的Tag就会进入等待状态,在接到Back命令之前这些应答器不会再和阅读器通讯。而剩下的应答器就是所要找的哪些应答器。第一步的时候,阅读器对应答器的回答不进行任何监听。
2.阅读器执行一般搜索方式2的办法,对Identification number剩下的未知的那一部分来进行搜索,此时,阅读器开始进行监听。直到最后一个bit发送完毕。当应答器接到最后一个阅读器Tag bit的时候,已经可以识别出一个完整的Tag ID。
这种方法的好处是可以降低因为噪声而引起的错误,在事实上提高了抗干扰性。这样,在前n个bit中,阅读器不进行监听,这样就减少了因为噪声而产生的对Tag Response干扰的可能以及应答器相互干扰的可能。在开始监听的时候,已经排除了很多应答器,所以阅读器受干扰、收到错误信号的可能性也就越小。
在使用这种方法的时候,我们首先要确认:对于要进行确认的应答器,已经知道他们ID中的部分高位或者部分低位的那些bit。这样就需要在执行这种办法之前,首先对应答器群进行一般查询的操作。
这个搜索方法的流程举例如图15所示:
1.阅读器已知要寻找的应答器的ID的高位或者低位的某些bit,并且将其存储在IDregister中。
2.阅读器对应答器群进行初始化,让应答器群进入初始状态。
3.阅读器发送Search命令。这个命令让初始状态的应答器进入一般搜索状态。
4.阅读器从ID register中准备一个bit,设置为Reader bit。
5.阅读器对应答器地回答不进行任何监听,直接发送Reader bit。
6.阅读器判断是否已经发完最后一个已知的bit:
如果没发完,回到步骤4;
如果已经发送完毕,进入步骤7。
7.阅读器首先将ID register中除了已知的bit的其他的bit位清零。
8.在回答窗口(response window)中从Tag群中监听到一个回答。阅读器要对这个回答进行判断:
如果回答中不含有任何有效的Tag bit,就认为这个阅读器工作范围内已经没有这一类应答器需要确认,阅读器可以通过发送Back命令来结束整个流程;
如果回答中含有有效的Tag bit,那么执行下面的第9步。
9.阅读器从回答中得到有效的Tag bit,根据Tag bit的情况设置Reader bit。(当只接到一个有效的Tag bit,就设置Reader bit=Tag bit,如果接到有冲突的Tag bit,那么根据冲突双方的强弱比较或者随机处理设置Reader bit。
10.阅读器把这个Reader bit存入ID register中对应的那一位上。
11.阅读器要进行判断:存入了这个Reader bit的ID register是否已经得到了一个应答器ID:
如果还不能得到一个应答器的完整ID,那么阅读器要把这个Reader bit发送给Tag群。然后回到步骤8;
如果已经得到了一个应答器的完整ID,那么阅读器可以相信自己已经确认出了一个应答器,阅读器就发送这个Reader bit,这个应答器就在确认状态中,同时结束整个循环。
阅读器执行一般查询方式是用来得到应答器群的总体特征的。一般查询方式和一般搜索方式中的一般搜索方式3(分类搜索方法)结合,可以得到很好的抗干扰性能。阅读器要执行这种方式,首先要作的就是通过发送Investigate命令让应答器群中的应答器进入一般查询状态,然后才可以进行查询。
下面的介绍是阅读器执行一般查询方式采用的一种流程举例,如图16所示,在下面推荐的步骤中,采用了两个ID register:ID register0和ID register1。这两个寄存器分别记录bit’0’和bit’1’,具体流程如下:
1.阅读器对应答器群进行初始化,让应答器群进入初始状态。
2.阅读器清空ID register0。
3.阅读器发送Investigate命令,初始状态的应答器进入一般查询状态。
4.阅读器发送一个bit“0”。
5.阅读器监听应答器在response window中的回答。
6.阅读器进行判断,在收到的Tag bit中是否有bit’0’:
如果有bit‘0’,阅读器在ID register0的相应位置上记录这个bit’0’,并且进入步骤7;
如果没有bit‘0’,阅读器直接进入步骤7。
7.阅读器进行判断,是否已经发完一个应答器ID长度的bit’0’:
如果没有发完,阅读器回到步骤4;
如果已经发完,应答器进入步骤8。
8.阅读器发送Back命令,让应答器群重新进入初始状态。
9.阅读器清空ID register1。
10.阅读器发送Investigate命令,初始状态的应答器进入一般查询状态。
11.阅读器发送一个bit“1”。
12.阅读器监听应答器在response window中的回答。
13.阅读器进行判断,在收到的Tag bit中是否有bit’1’:
如果有bit‘1’,阅读器在ID register1的相应位置上记录这个bit’0’,并且进入步骤14;
如果没有bit‘0’,阅读器直接进入步骤7。
14.阅读器进行判断,是否已经发完一个应答器ID长度的bit’1’:
如果没有发完,阅读器回到步骤11;
如果已经发完,应答器进入步骤15。
15.阅读器已经进行完毕’0’查询和’1’查询,阅读器发送Back命令,让应答器回到初始状态。结束整个流程。
这里的一般查询方式可以得到一定的好处:
1)一般查询方式和一般搜索方式3结合,可以提高实际的抗干扰性能。
2)用一般查询方式了解到应答器的ID的某些共同点后,在只想读取应答器Tag ID的情况下,可以通过使用Back命令的方法实际提高效率。
对于好处1),实际上是通过将不需要读取的应答器排除出工作流程来实现的,这样在环境里,就相应的减少应答器的数量,也就减少了干扰。
对于好处2),在一般搜索过程中灵活使用Back命令,可以看看如下的例子:
在只想读取应答器ID的情况下,通过一般查询方式,我们已经知道Tag群的最后一些bit是什么的情况下,比如:11101000,10101000,11011000,它们后四个bit都是1000,这样,我们只对前4个bit进行二进制搜索就可以了。在搜索到第四个bit后,Reader已经可以确定Tag了,这个时候,只发送一个Back命令就可以节省下面4个bit的操作。这样即节省了时间,又减少了误码和错误。
阅读器对应答器的识别可包含对单个应答器的识别和对阅读器工作范围内的所有应答器的识别。
下面介绍阅读器识别单个应答器的逻辑过程,具体步骤如下:
1.阅读器发送Search命令,初始状态的应答器进入一般搜索状态。
2.应答器在Search命令最后一个bit的Response window上回发应答器识别码的第一个bit。
3.阅读器接到应答器的回答,阅读器可能会接到多个应答器的回答,如果这些回答中只有单一的一个Tag bit(bit’0’或者bit’1’),阅读器就发送这个Tag bit,并且存储这个Tag bit;如果回答中既有bit’0’,又有bit’1’,阅读器自行判断选取bit’0’或者bit’1’进行发送,同时将发送的bit存储起来。
4.应答器接到阅读器的发送信号,每个应答器判断阅读器的发送信号和自己刚刚发出的信号是否一致,如果一致,说明阅读器搜索的ID的前面的bit和自己的ID的前面的bit相符合,应答器要继续发送下一个bit。如果不一致,说明阅读器在搜索别的ID,应答器就退出一般搜索状态,进入等待状态。
5.这样阅读器继续监听应答器的回答,继续执行步骤4。直到得到一个完整的应答器ID。
下面介绍阅读器对其工作范围内的所有应答器的识别的一般逻辑过程1:
逻辑上的一般过程1,识别阅读器工作范围内所有应答器的具体步骤是:
1.应答器群进入阅读器工作范围内。
2.阅读器初始化应答器群,让应答器进入初始状态。
3.阅读器发送Search命令,应答器进入一般搜索状态。
4.阅读器执行前面的搜索单个应答器的过程,确认出一个应答器。
5.阅读器通过发送Back命令让等待状态下的应答器重新进入一般搜索状态。
6.阅读器然后继续执行前面的搜索步骤,直到将所有阅读器工作范围内的应答器都识别出来。
可以举出如下的例子:
识别码是0010和0001的A、B两个应答器。阅读器进行识别的过程如下:
1.阅读器发出Search命令,A、B两个应答器回答以第一个bit:bit‘0’。
2.阅读器只接到bit‘0’,那么阅读器就存储ID register第1位为0,并且回发这个bit‘0’。
3.A、B两个应答器接到bit‘0’,判断这个接到的bit‘0’和刚刚发出的信号一致。然后A、B两个应答器回答第二个bit:bit‘0’。
4.阅读器只接到bit‘0’,那么阅读器就存储ID register第2位为bit‘0’,并且回发这个bit‘0’。
5.A、B两个应答器接到bit‘0’,判断这个接到的bit‘0’和刚刚发出的信号一致。然后A、B两个应答器回答第三个bit:bit‘1’和bit’0’。
6.阅读器同时接到了bit’0’和bit‘1’,阅读器根据接到信号的强弱或者其他的判断标准,(这里设A应答器距离阅读器比较近,因此信号bit’1’比较强,因此阅读器选取bit‘1’为下一个信号)。然后阅读器存储ID register第3位为bit‘1’,然后回发这个bit‘1’。
7.A、B两个应答器接到bit‘1’,A应答器判断这个接到的bit‘1’和刚刚发出的信号一致。因此A应答器继续发送第四个bit:bit‘0’;而B应答器判断这个接到的bit‘1’和刚刚发出的信号不一致,因此B应答器退出一般搜索状态,进入等待状态。
8.阅读器只接到bit‘0’,那么阅读器就存储ID register第4位为bit‘0’,并且回发这个bit‘0’。
9.A、B两个应答器接到bit‘0’,但是B应答器已经进入等待状态,因此B应答器不进行任何操作。只有A应答器判断这个接到的bit‘0’和刚刚发出的信号一致。然而A应答器已经发完所有的bit,因此A应答器进入确认状态,并不进行回答。
10.阅读器什么都没有接到。然后阅读器判断ID register已经接到了0010这样的4bitID。然后阅读器可以发送Back命令。
11.A应答器接到Back命令,从确认状态进入休眠状态。而B应答器接到Back命令,由等待状态进入初始状态。这样对B应答器又可以重新进行搜索。
下面介绍阅读器对其工作范围内的所有应答器的识别的一般逻辑过程2:
逻辑上的又一种过程,这次是采用一般查询方式和一般搜索方式3(分类搜索方式)相结合,按照先查询后搜索的顺序进行。
1.应答器群进入阅读器工作范围内。
2.阅读器初始化应答器群,让应答器进入初始状态。
3.阅读器发送Investigate命令,应答器进入一般查询状态。
4.阅读器进行’0’查询,将应答器回答的bit’0’记录到register0的相应位置上。(此时的流程如阅读器执行一般查询方式中所述)
5.阅读器进行’1’查询,将应答器回答的bit’1’记录到register1的相应位置上(此时的流程如阅读器执行一般查询方式中所述)。
6.阅读器将register0和register1进行比较,判断可以搜索的几类应答器。
7.阅读器选择搜索其中的一类应答器。对应答器群执行一般搜索方式3的搜索。也就是先不监听的发送一部分应答器ID,然后在执行一般的搜索。直到找到阅读器工作范围内的一个类别的所有应答器。
8.在还有其他类别的应答器没有进行搜索的情况下,阅读器再次对应答器执行一般搜索方式3的搜索。直到找到阅读器工作范围内的另一个类别的所有应答器。
9.这样阅读器一直进行这种搜索,直到把阅读器工作范围内的所有应答器都识别出来。
一般在我们的编码方式中,总是把比较主要的标识位放在ID的高位来表明这些Tag的分类,举例而言复旦大学的电话号码6564****。因此可以通过一般查询方式来找到这些应答器群中有几类应答器,然后分类的对这些应答器进行搜索。这样实际上可以将其他类别的应答器排除在搜索过程之外,可以实际的提高整个方法的抗干扰性能。
本发明提供的防碰撞识别方法,适合高频率的射频识别系统采用,着重考虑了高频射频识别系统中常用的反向散射调制方式。比如这里的信号形式,充分考虑了反向散射调制是应答器在阅读器信号上进行反射阻抗变换以进行反射的这一个特点。
从前面的流程方法介绍可以看出,在理论条件下(没有误码情况下),用这种防碰撞识别方法可以达到:在阅读器的一般搜索方式时,每次阅读器发送一个完整的应答器ID,就可以识别出一个应答器。
采用这种防碰撞识别方法,如果环境中有n个应答器,那么需要的时间就是:发送n个应答器ID的时间+必需的应答器初始化花费时间+1个Search命令需要的时间+n个Back命令需要的时间。事实上,由于应答器ID非常长,因此Search命令和Back命令需要的时间可以忽略不计,这样实际需要的时间就只是:发送n个应答器ID的时间+必需的应答器初始化花费时间。
应答器初始化不是这里要讨论的东西,虽然要实现识别,初始化应答器是不可避免的,具体怎样实现初始化,是由应答器制造者自己决定的,和防碰撞识别方法无关。因此这部分初始化应答器的时间是任何一种防碰撞识别方法都无法避免的。
对于一般传统的二进制搜索方法,如果我们设Tag ID有n个bit,阅读器发送一个bit需要时间是t1,应答器回答一个bit需要时间是t2。在理论上用纯粹的一般二进制搜索方法搜索m个应答器需要的时间是(2m-1)*(n*t1+n*t2)。这是可以用数学归纳法来证明的,这里就不进行介绍了。
事实上,由于这里采用的是“传统的逻辑信号”+“时隙”的办法,这样这里防碰撞识别方法的一个信号就相当于t1+t2,只需要发送m个n*(t1+t2)就可以识别出所有应答器,因此这里的防碰撞识别方法理论上需要的时间是m*(n*t1+n*t2)。
从这里可以看出,这里的防碰撞识别方法需要的时间大约是一般传统二进制搜索方法的1/2,相当于效率上是一般传统二进制搜索方法的2倍。
一般的传统二进制搜索方法有一种变形:动态二进制搜索方法,这种方法的理论上的效率刚好等于一般传统二进制搜索方法的2倍。动态二进制搜索方法理论上的效率和这里的防碰撞识别方法相等。
事实上,这里由于在发送一个完整应答器ID过程中就完成了对应答器的排除过程,这一点的原则和动态二进制搜索方法的原则一致。因此这里的防碰撞识别方法不仅仅是二进制搜索方法,而且也是动态二进制搜索方法。
动态二进制搜索方法是理论上能达到的最优效率的办法,而这里的防碰撞识别方法从本质上就是动态二进制搜索方法。因此这里的防碰撞识别方法效率极高。可以这样说,在使用了动态二进制搜索方法后,在当前情况下,如果再想提高效率,已经难以从方法本身入手。不过还可以通过:
1.变搜索应答器ID所有bit为搜索一部分bit,这就是引入Tag Signature的概念。
2.改进硬件,在硬件上减少t1,t2延续的时间。
可以看到两种办法实际上没有对本方法进行任何的修改。
当我们这里采用了本发明的“传统的逻辑信号”+“时隙”信号后,可以发现:同步的问题消失了,而且应答器进行反向散射调制采取的是FSK的形式,FSK形式的信号最大的好处就是抗干扰性,因为幅度可以叠加,而频率却无法叠加。而且应答器会更快的退出一般搜索的流程,电磁环境上也净化了。
这样在采用这里的“传统的逻辑信号”+“时隙”信号后,应答器的回答都在“时隙”(Response window)上进行。这样同步的问题解决了。
这里应答器反向散射时回答的都是FSK调制信号,这样应答器信号相互的干扰的影响很小。
在一般搜索方式中,对应答器而言,处在一般搜索状态中,如果一旦阅读器发送的信号和自己应答器ID的相应bit不一致就停止发送,进入等待状态。这在事实上使环境中进行回答的应答器数量很快减少。
而且,当采用这里的一般查询+一般搜索方式3的时候,可以更好的净化环境,事实上从方法上提高了抗干扰性能。
以上所述实施例只是为了说明本发明,且本发明不局限于这里的具体例子和细节,在不超出本发明的精神范围所做的种种变化实施,都属于本发明的范围。