发明内容
本发明要解决的技术问题在于,针对现有技术的上述不灵活、系统效率较低的缺陷,提供一种较为灵活、系统效率较高的射频识别中阅读器与标签的通讯方法。
本发明解决其技术问题所采用的技术方案是:构造一种射频识别中阅读器与标签的通讯方法,包括如下步骤:
A)阅读器发出唤醒信号使得其作用范围内的标签被唤醒而进入工作状态;
B)所述阅读器按照事先设定的防碰撞协议,使所述被唤醒的标签接入,并为每个已接入的标签分配表示其在收集时隙中时隙位置的收集时隙编号;
C)所述阅读器发出收集指令,所述标签在其接收到的收集时隙编号所决定的时间内将所述收集指令要求的数据传输到所述阅读器。
在本发明所述的射频识别中阅读器与标签的通讯方法,所述收集指令中包括收集时隙的时隙总数、收集时隙中每个时隙的宽度、标签其分配的时隙中所执行的动作和/或需要传送的参数名称。
在本发明所述的射频识别中阅读器与标签的通讯方法,所述步骤C)中进一步包括如下步骤:
C1)所述阅读器发出所述收集指令;
C2)标签依据接收到的收集指令中的参数,结合已接收的收集时隙编号,计算其自身发送信号的时间,并在该时间内发送所述收集指令中要求的数据;
C3)阅读器在所述标签接收到的收集时隙编号所决定的时间内接收所述标签发来的数据。
在本发明所述的射频识别中阅读器与标签的通讯方法,还包括如下步骤:
D)所述阅读器发出包括单个被选中标签信息的对话指令,所述被选中的单个标签响应所述阅读器。
在本发明所述的射频识别中阅读器与标签的通讯方法,所述方法中还包括多次重复或依次重复的步骤B)、步骤C)或/步骤D)。
在本发明所述的射频识别中阅读器与标签的通讯方法,所述方法还包括如下步骤:在所述阅读器发出唤醒信号后,所述阅读器发出休眠指令,接收到所述休眠指令的标签进入休眠状态。
在本发明所述的射频识别中阅读器与标签的通讯方法,所述步骤B)进一步包括如下步骤:
B1)所述阅读器发送接入指令到所述标签,开始一个接入帧;所述接入指令包括分组参数Q和时隙参数N,多个所述标签分别随机在0到2Q-1的整数中选择组数;
B2)在步骤B1)中选择组数是0的标签参与本接入帧的接入,所述标签在0到N-1的整数中随机选择其在本帧内的接入时隙;
B3)选择本帧内一个未遍历的接入时隙的所述标签按二进制树的方法接入;
B4)遍历所有时隙?如是,执行步骤B5);否则,返回步骤B3);
B5)还有标签未接入?如是,返回步骤B1)开始下一个接入帧;否则,退出本次接入。
在本发明所述的射频识别中阅读器与标签的通讯方法,所述步骤B5)中进一步包括调节所述分组参数Q并返回步骤B1)或调节所述分组参数Q和时隙参数N并返回步骤B1)。
在本发明所述的射频识别中阅读器与标签的通讯方法,在不同的接入帧开始时,清除所有未接入的标签在上一个接入帧所选择的组数;所述步骤B3)中,选择时隙时包括在本帧内未被选择过的时隙中按其编号依次选择所述时隙或在本帧内未被选择过的时隙中随机选择。
在本发明所述的射频识别中阅读器与标签的通讯方法,所述步骤B3)中进一步包括如下步骤:
B31)符合要求的标签生成随机数0或1,并将其值赋予标签中的计数器;
B32)计数器值为0的标签回复标签信息;
B33)阅读器接收正确?如是,阅读器发送成功信息,计数器值不为零的标签其计数器值减1并返回步骤B32);否则,执行步骤B34);
B34)阅读器接收错误?如是,阅读器发送错误信息,计数器值不为零的标签的计数器值加1,计数器值为零的标签再次生成随机数0或1,生成随机数1的标签的计数器值加1,生成随机数0的标签维持计数器值不变并返回步骤B32);如否,执行步骤B35);
B35)阅读器未接收到回复信号,发送再次发送接入指令,计数器值不为1的标签,保持计数器值不变;计数器值为1的标签再次生成随机数0或1,生成随机数1的标签的计数器值不变,生成随机数0的标签计数器值减1并返回步骤B32)。
实施本发明的射频识别中阅读器与标签的通讯方法,具有以下有益效果:由于将阅读器和标签设置为主从工作模式,标签响应阅读器的指令而进行动作,同时将整个通讯过程的不同阶段进行了明确的划分和定义,使得射频识别系统的通信框架更加合理和全面,从而使系统工作更加高效、灵活。
具体实施方式
下面将结合附图对本发明实施例作进一步说明。
如图1所示,在本发明射频识别中阅读器与标签的通讯方法实施例中,该方法包括如下步骤:
步骤S11阅读器发送唤醒信号,唤醒标签:在本实施例中,将本步骤所持续的期间称为唤醒期,阅读器向处于休眠的标签发送一定持续时间的唤醒信号唤醒标签无线收发机,接着阅读器发送唤醒命令使得标签进入工作准备状态。阅读器发送唤醒命令起始一个清点过程。具体地,阅读器发送一个低频或2.4GHz的唤醒信号,该信号中可以携带一定的信息。处于休眠的标签收到该信号后,打开标签的无线收发机。处于接收状态的标签,在收到阅读器的唤醒命令后,进入工作状态,即标签可以响应阅读器的命令。
步骤S12阅读器发送接入指令,开始一个或多个接入帧,并为已接入的标签分配收集时隙号:在本实施例中,将本步骤所持续期间称为接入期,阅读器执行一种预定好的防碰撞算法(或协议)完成多标签接入。具体地,阅读器根据防碰撞协议,逐个接入标签。当标签响应后没有发送碰撞(碰撞信息可以由阅读器反馈)时,表示该标签接入成功。阅读器对于碰撞或成功的标签给出反馈。对于接入成功的标签,阅读器进行成功确认,同时阅读器分配给该标签一个收集时隙序号,该序号作为在收集期标签响应的时隙。
在本步骤中,当阅读器成功接入一个标签时,回复给标签一个确认信息。同时阅读器分配给该标签一个时隙序号。具体地,阅读器可以发送一个分组给标签以确认阅读器接收成功,该分组可以包含之前收到的标签发送数据和时隙序号。
此外,本步骤中所采用的防碰撞的步骤,即接入的具体步骤在稍后描述。
步骤S13阅读器发送收集指令,接收已接入标签信息:在本实施例中,将本步骤所持续期间称为收集期,阅读器逐时隙完成对已接入标签信息的收集。阅读器发送收集期起始命令,标签在收到阅读器的收集期起始命令后,按照在接入期获得的时隙序号,在各自时隙内回复阅读器需要的信息。具体地,阅读器发送收集期起始命令,该命令至少包含收集期长度信息、时隙宽度信息、标签在时隙内的收或发的指示、以及要发送的数据。标签收到该命令后,根据时隙宽度和自己的时隙序号计算自己的时间位置,并根据收发指示和时隙宽度做出相应的收发响应。在本步骤中,收集期的时隙宽度由阅读器在收集期起始时发送给所有参与到收集期的标签。同时,阅读器通过命令指示标签在该时隙内是只发送或接收,或者两个都有。具体地,阅读器根据系统需要确定是标签在时隙中的收发动作已经占用的时间宽度。例如,当阅读器仅需要收集每个标签的TID信息时,阅读器根据传输该信息需要的时间长度而设定时隙宽度,并指示标签在该时隙仅发送。当阅读器需要在收到标签发送的数据后进一步与标签通信时,例如,阅读器收到后向标签发送确认数据,此时,阅读将收发指示设置为标签在时隙内一次发送和一次接收。标签根据该指示,在时隙开始时刻发送数据,接着转到接收状态接收阅读器数据。
步骤S14阅读器发送会话指令,与单个标签对话:在本实施例中,本步骤所持续期间称为会话期,在会话期中,阅读器与标签进行点对点通信。即阅读器发送命令给特定标签,该标签响应。具体地,在会话期,阅读器根据收集期收集到的标签基本信息,决定对全部或部分标签进行点到点通信。阅读器可以通过收集到的基本信息,比如TID(Tagidentifier,标签识别号),来区别标签;也可以通过临时的ID,比如,随机数来区分标签,进而实现点到点通信。
在本步骤中,阅读器可以对单个标签进行相应的安全鉴别。具体地,在会话期,阅读器可以对单个标签分别执行不同级别的安全鉴别过程,以确认单方或双方合法身份。在会话期,完成鉴别的阅读器和标签可以执行相应权限的读写操作。
步骤S15阅读器发送休眠指令,使标签进入休眠状态:在本步骤中,阅读器发送一个休眠命令,使得所有标签进入休眠状态。值得一提的是,本步骤并不仅仅在上述各步骤执行完成之后进行,当阅读器唤醒标签后,可以在后续三个阶段(接入期、收集期和会话期)的任何一个发送休眠命令,收到休眠命令的标签进入休眠,同时退出清点过程。具体地,阅读器在完成对单个标签的读写操作后,可以向该标签发送休眠命令,使得该标签结束清点,进入休眠状态。但阅读器也可以在任何系统需要的阶段发送休眠命令而使标签休眠,从而结束清点。
此外,在一些实施例中,上述步骤也不是都必须存在,视具体情况而定,上述步骤可以只有其中一部分,例如只有唤醒阶段、接入阶段和收集阶段,也可能在唤醒阶段之后就输出休眠指令;例如,当仅仅只需要知道标签的数量时,对所有标签完成步骤S12(接入期)即可。又如,当需要知道标签基本信息时,例如,TID,可以在步骤S13(收集期)收集。当需要进一步对识别到的标签进行读写操作时,可以在会话期与单个标签进行点到点的通信。步骤S14中,阅读器可以收集标签的基本信息,例如,TID,也可以由阅读器通过命令设置收集的内容。同时,上述各阶段也可能不是仅执行一次,可能在唤醒阶段之后依次循环执行上述步骤S12-S14,也可能重复执行多次接入阶段后,执行一次步骤S13-S15。
图2是本实施例中通讯方法中各阶段的设置示意图,在图2中,所述通信方法大致上分为四个阶段,即唤醒期、接入期、收集期和会话期。这里一次清点也称为一个清点周期。
在唤醒期,阅读器发送低频(比如,125kHz)或者2.4GHz唤醒信号,标签收到该唤醒信号后打开无线收发机。阅读器发送唤醒命令,标签收到阅读器的唤醒命令后进入就绪状态。唤醒时间用Tw表示。在一个清点周期中定义了四种不同的时隙,分别为第一接入时隙S1,第二接入时隙S2,收集时隙S3和会话时隙S4,其各自的定义为:
第一接入时隙S1:接入期中长度为N的帧由N个时隙构成,分别记为S1(0),S1(1),…,S1(N-1)。
第二接入时隙S2:阅读器逐时隙(S1时隙)以二进制树算法接入选择同一个第一接入时隙S1的标签。在以二进制树接入过程中,阅读器与标签的一个完整交互定义为一个第二接入时隙S2。一个完整的交互可以为阅读器发送接入标签的相关命令,标签回复RN8(8bit随机数)。阅读器对当前收到的RN8的确认信息包含于接入成功确认命令之中。
收集时隙S3:假设在收集期开始之前有M个标签接入成功,并按照一定顺序分配给每个成功的标签一个接入成功序号,比如,0到M-1。那么,该收集期可分为M个收集时隙,S3(0),S3(1),…,S3(M-1)。
会话时隙S4:假设在会话期有L个标签需要分别与阅读器进行交互信息。阅读器与单个标签的一个完整交互定义为一个会话时隙S4。
在接入期,阅读器发送接入期起始帧命令起始一个接入帧。例如,当标签收到包含参数第一接入时隙S1时隙序号为0的接入命令时,选择时隙S1(0)的标签开始接入。接入完成S1(0)的标签共占用S2时隙K个。为减低接入期冲突开销,接入期使用短帧长命令,且标签只回复RN8。一个接入期可以有一个或多个接入帧。
在收集期,阅读器发送命令起始收集期,标签收到起始命令后在约定的收集时隙S3同步发送标签标识符等信息。例如,在收集期开始之前有M个标签接入成功,则占用M个收集时隙S3。一个收集期中,可以收集一个或多个接入帧中成功的标签信息。
在会话期,阅读器发起一个会话过程,与通信的标签完成点到点信息交互。
图3给出了本实施例中通信方法进行标签清点的一个具体示例及其时序。图3中Ttr表示收发转换时间,Tw表示唤醒时间,GD表示存储于标签的通用数据,第一接入时隙S1,第二接入时隙S2,收集时隙S3和会话时隙S4的定义如上所述。
在图3中,阅读器利用本发明提供的通信方法清点场区内的M个标签。过程如下:
阅读器发送时间长度为Tw的唤醒信号,唤醒处于休眠的标签。标签被唤醒后打开无线收发机,并在接收状态等待;
阅读器发送命令开始接入标签。以本发明示例的成帧的二进制树算法为例,在接入期,接入过程可以逐帧完成。这里设帧长为N,在每帧有N个时隙。阅读器对一帧中的时隙第一接入时隙S1(0)到第二接入时隙S2(N-1)逐个接入。在每个第一接入时隙S1时隙内的标签,采用二进制树算法(一种常用的防冲突算法)进入接入。比如,在第一接入时隙S1(0)的第一个第二接入时隙S2时隙S2(0)阅读器发送接入命令,只有标签#1回复RN8(8bit随机数),因而发送成功。在第二接入时隙S2(1)阅读器发送命令确认标签发送成功,同时给标签#1分配一个时隙序号,比如,以接入先后顺序为序,因此,该标签的时序序号为0。在第二接入时隙S2(1),当其它第一接入时隙S1(0)的标签收到阅读器命令后,回复RN8,比如,有标签#2和标签#3同时回复了RN8,因此发生碰撞;阅读器在S2(2)反馈碰撞。当第一接入时隙S1(N-1)被接入完后,完成了一帧的接入。如果依然存在未接入的标签则开始新的一帧。当所有M个标签都接入完成后,系统进入收集期;
阅读器发送收集期起始命令,对接入成功的M个标签进行收集。阅读器发送的收集期起始命令中包含了收集期的长度和时隙宽度以及收发指示和发送内容。比如,指示标签只发送GD数据。则标签根据在接入期得到的序号,也就是接入成功顺序,在收集期计算自己的时间位置发送GD数据。例如,标签#1在收集S3(0)发送GD数据,标签#M在S3(M-1)发送GD数据。收集完毕后,阅读器发送反馈信息,比如,成功确认。
阅读器对单个标签进行点到点通信。例如,阅读器只对标签#1进行读写操作。则阅读器在会话时隙S4(0)完成与标签#1的读写操作。例如,对标签#1进行安全鉴别。鉴别成功后,对标签#1进行相关权限的读写操作。
完成以上步骤,M个标签清点完毕。此时,阅读器可以发送一个休眠命令,使得所有标签进入休眠状态。
图4是本实施例中步骤S13的进一步分解,在步骤S13,可以具体包括:
步骤S31阅读器发送收集指令:在本步骤中,阅读器发送收集期起始命令,收集指令中包括收集时隙的时隙总数、收集时隙中每个时隙的宽度、标签其分配的时隙中所执行的动作和/或需要传送的参数名称。
步骤S32标签接收收集指令,并计算出本标签的发送时间:在本步骤中,标签接收到上述参数后,依据之前分配到的收集时隙号,每个时隙的宽度等等,可以得出每个已接入的标签应该在何时发送数据到阅读器。
步骤S33标签按照其计算的发送数据时间,依次发送数据,阅读器分别接收上述数据:由于各个标签在上述步骤S32中均已经按照上述步骤计算得到本标签发送数据的时间,由于时隙编号不同,加上时隙的宽度在收集指令中已经通知各标签,因此,对于一个起始时间(例如,收集指令的发出时间)而言,各标签发出数据的时间是确定的、不会冲突的,只要在规定时间发出数据,阅读器就能够知道当前收到的数据是哪一个标签的。在本步骤中,各标签按其计算的时间各自地、依次地在该时间上发出收集指令要求的数据即可。
步骤S35退出:在本步骤中,退出本次收集期。
图5和图6是本是实施例中接入的具体流程,该流程包括了如下步骤:
步骤S101发送分组参数Q和时隙参数N到多个标签:在本实施例中,标签的接入(即将标签的回复信号发送到阅读器)是采用接入帧的实现的,上述接入帧在结构上包括帧头和多个时隙,即在帧开始时,阅读器发送一个喊参数的命令,该命令中包含了上述分组参数Q和时隙参数N,之后,阅读器在一定时间后开始逐个时隙接入;每个时隙内上述阅读器处理的是被分配在该时隙内的标签的接入信号。当设置在上述阅读器的作用范围内的被阅读器激活并发出确认激活的信号到阅读器之后,阅读器开始构建并对上述多个标签发送接入帧,使得上述多个标签能在较短时间内、经过较少的碰撞接入上述阅读器。在本步骤中,当一个接入帧开始,阅读器首先对多个标签发送帧头部分,而帧头部分包括分组参数Q和时隙额参数N,其中,分组参数Q表示各标签可以随机选择的组数,而时隙参数N表示每一帧所具有的时隙数。这些参数都随上述接入帧的帧头发送到各标签。
步骤S102多个标签分别在0到2Q-1范围内选择组数:在本步骤中,上述被激活的标签都会通过接收上述阅读器发出的接入帧取得上述分组参数Q和时隙额参数N,于是,各标签的首先按照其接受到的分组参数Q,随机在0到2Q-1的正整数取值范围内选择一个作为本标签的组数。
步骤S103标签分别判断自己所选组数为0?如是,执行步骤S105;否则,执行步骤S104:在本步骤中,标签判断在上述步骤中随机选择的组数是否为零,如是,本标签参与本接入帧的接入;否则,本标签不参与本接入帧的接入。
步骤S104本接入帧内不接入,等待清除所选Q值:执行完本步骤后,跳转到步骤S111。
步骤S105参与接入,在0到N-1范围内选择时隙:由于本标签所随机选择的组数为零,所以该标签参与本接入帧的接入,进一步地,该标签在上述步骤中接收到时隙参数N的基础上,在0到N-1的整数范围内随机选择该标签在该接入帧内的时隙。具体来讲,一个接入帧中的时隙(也就是可以传送接入信号的时间段)数就是上述时隙参数N。
步骤S106阅读器选择当前时隙,并通知上述参与接入的标签:本步骤由阅读器选择当前可以接入的时隙,通知上述各个标签。也就是阅读器选择允许接入的时隙数,并将该时隙数通知各标签。
步骤S107本标签选择的时隙是当前时隙?在本步骤中,参与接入的各标签检查自己在上述步骤中选择的时隙是否当前时隙,如是执行步骤S109,否则执行步骤S108;具体而言,就是各标签在接收到阅读器的通知后,得知当前的时隙数,并判断在上述步骤中自己选择的时隙数是否与当前时隙数相等,如相等,则判断为本标签所处时隙为当前时隙,否则,判断为不是当前时隙。
步骤S108该时隙内不接入,等待下一个当前时隙:在本步骤中,由于判定在上述步骤中标签所选择的时隙不是当前时隙,因此,选择该时隙的各标签均不参与本时隙的接入,而是等待下一个当前时隙。当阅读器再次发送上述的当前时隙通知时,这些标签返回步骤S106,参与下一个当前时隙而得判断及传输。
步骤S109按二进制树接入:在本步骤中,参与本次时隙的接入的所有标签,按照二进制数的接入方法,依次接入上述阅读器。
步骤S110完成所有时隙遍历?如是,执行步骤S111,否则,跳转到步骤S106,选择下一个时隙接入。在本实施例中,时隙的遍历就是是否本接入帧内的所有时隙都已经接入;此外,上述当前时隙的选择可以是依次选择的,例如,第一次时隙接入选择本接入帧中的时隙1,第二次时隙接入选择本接入帧中的时隙2,依次类推;也可以是随机选择的,例如第一次时隙接入选择本接入帧中的时隙5,第二次时隙接入选择本接入帧中的时隙3,……等等,但是一个原则是,本接入帧中的所有时隙都要经历过(也就是接入过)才能执行步骤S111,否则,就只能在步骤S106和步骤S110之间循环,知道所有的本接入帧中的时隙均与处理过。
步骤S111清除尚未接入的标签的分组,改变或不改变上述Q值:在本步骤中,由于已经完成本接入帧的接入,因此需要将剩下的、还没有接入阅读器的标签在上述步骤中选择的参数Q和N消除掉,准备进行下一个接入帧的传输。在本实施例中,经过上述步骤,一定有标签已经接入阅读器,但是,仍有没有接入的标签,所以需要构建并传输下一个接入帧,因此返回步骤S101。在上述步骤被重复多次之后,将会出现所有标签均与接入的情况,在这种情况下,并不需要再次构建及传输下一个接入帧。同时,在本步骤中,可以依据况将上述Q请款增加或不增加Q值的方位。
在图2示出的本发明的实施例中方法流程中利用二进制树的方法,也就是说,下面所描述的步骤S201-步骤S208是一个接入帧中一个时隙中多个标签的接入方法,其具体包括如下步骤:
步骤S201随机生成0或1,并将其输送到计数器:在本步骤中,多个选择了一个时隙的标签自己生成随机数,该随机数的取值是0、1中的一个,该随机数生成后,各标签将生成的随机数赋值到该标签的计数器中,使得计数器的值为其生成的随机数。值得一提的是,上述标签中的计数器的值是随时间而变化的。当经过设定时间后,计数器的值减1。这样设置的目的在于将多个标签分为不同的子集,进而减少同时接入的标签的数量。
步骤S202计数器为零的标签接入:在本步骤中,上述标签中计数器为0的,开始接入,及发送回复信息到上述阅读器。
步骤S203阅读器接收到正常信号?当上述的标签发送回复信息后,如果阅读器接收到,也就是阅读器接收到正常信号,则阅读器发送确认信号,执行步骤S207;否则,执行步骤S204。
步骤S204阅读器接收错误:当上述阅读器接收到一个错误的回复信号后,则阅读器发送失败确认信号,执行步骤S208;否则,执行步骤S205。
步骤S205阅读器接收为空:在本步骤中,可以判定阅读器接收到的信号为空,也就是阅读器实际上并没有接收到信号,因此,阅读器发出重新接入指令,标签收到后,执行步骤S206
步骤S206计数器值为非1的,保持其值;计数器值为1的,重新生成随机数0、1,并将其赋值计数器:标签接收到上述阅读器发出的重新接入指令后,如果其计数器值为非1的,保持该计数器值,如果计数器值为1的,则标签重新生成随机数0或1,并给计数器赋值,同时返回步骤S202。
步骤S207发送成功信息,计数器值不为零的其值减1:阅读器发送成功回复信号,该标签接收到上述确认信号后,退出接入,不再相应本次接入;同时,计数器值不为0的标签的计数器的值减1,并返回步骤S202。
步骤S208计数器值为非零的,其值加1;计数器值为零的,重新生成随机数0、1,并将其赋值计数器:阅读器发送失败确认指令,标签接收到后,如果其计数器的值为非0,则计数器值加1;如果计数器的值为0,则该标签重新生成随机数,给其计数器赋值,同时返回步骤S202。
实际上而言,上述步骤S203到步骤S205是几种可能出现的情况,而步骤S207、步骤S208和步骤S206分别是上述步骤S203、S204、S205出现时采取的相应动作。
总之,在本实施例中,上述方法可以描述如下:阅读器对处于有效射频场区域的标签进行唤醒和选择。阅读器可以通过唤醒信号及唤醒指令唤醒处于休眠状态的标签,并使标签转入接入相关的状态。同时,阅读器可以在接入相关的指令中利用参数特征选择部分标签参与当前接入。阅读器发送指令开始当前帧的标签接入。该指令起始一个接入帧。该指令中至少包含组选参数Q和帧长参数N。阅读器利用参数Q使得所有标签分散到2Q个组中,在[0,2Q-1]内随机选择的一个整数代表一个组。帧长参数N使得被阅读器规定的参与接入组的标签进一步分散到N个时隙内。标签收到接入指令后,根据参数Q在[0,2Q-1]内随机选择一个整数,且选择0的标签参与当前帧的接入。没有选择0的标签在后续帧中重新根据参数Q在[0,2Q-1]内随机选择随机数,且选择0的标签参与下一个当前帧的接入。参与到当前帧的标签在[0,N-1]内随机选择一个整数,该整数表示该标签在当前帧中的时隙位置。阅读器采用二进制树的方法接入当前帧内每个时隙内的标签。在本实施例中,参数Q根据当前帧中参与的标签数目增大或减小Q值。而二进制树方式(算法)是指:标签收到接入指令后,启动随机数发生器。所有生成1的标签使计数器加1;所有生成为0的标签,计数器值保持不变(计数器值为0),并立即回复标签信息。若阅读器在规定的时间区间中正确接收标签的回复信息,阅读器发送成功确认指令,并进入下一个时间区间接收。当发送的标签收到成功确认指令时,不再响应与接入相关的指令。未发送的标签(即计数器值不为0的标签),其计数器值减1。若阅读器在规定时间区间上错误接收标签回复信息,阅读器发送失败确认指令,并进入下一个时间区间接收。标签收到失败确认指令时,计数器值不为0的标签,计数器值加1。计数器值为0的标签,启动随机数发生器。所有生成1的标签使计数器加1;所有生成为0的标签,计数器值保持不变(计数器值为0),并立即回复标签信息。若阅读器在规定时间区间上未收到标签回复信息,发送重新接入的指令。当标签收到重新接入的指令时,计数器值不为1的标签,计数器值保持不变。计数器为1的标签,启动随机数发生器。所有生成1的标签使计数器值保持不变;所有生成为0的标签,计数器值减1(变为0),并立即回复标签信息。
在本实施例中,重复上述步骤,逐帧接入所有标签。阅读器在每帧开始时可以根据上一帧中的成功、碰撞和空闲的情况调整Q值和N值。
在本实施例中,以N=16,Q=4为例说明如下:
(1)阅读器唤醒所有标签;
(2)阅读器发送帧起始指令,含参数N=16,Q=4;
(3)标签收到指令后,在在[0,15]内随机选择一个整数,且选择0的标签参与当前帧的接入;
(4)参与到当前帧的标签在[0,15]内选择随机数作为帧时隙序号,比如,有3个标签选择时隙2;
(5)阅读器采用二进制树的方法接入当前帧内每个时隙内的标签。比如,第2时隙内的三个标签采用二进制树方法接入;
(6)重复(2)-(5),并在(2)中根据接入情况修正参数,直至所有标签全部接入。
以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。