用于提供关于射频标签的识别和访问的方法与流程

文档序号:14796933发布日期:2018-06-29 19:29阅读:235来源:国知局

本发明涉及射频识别协议领域,这些射频识别协议定义无源应答器(标签)与读取器之间的通信的物理和逻辑要求。本发明具体地涉及一种用于提供关于射频无源标签的识别和访问的方法。

在射频识别中,术语标签或应答器指被配置为响应于询问接收信号而发出识别信号的设备。RFID标签不一定具有自身的内部电源或电池,在这种情况下,从由读取器(也被称为询问器,用于询问标签)生成的电磁场获得使应答器通电所需的电力。此类标签完全依赖反向散射通信。术语无源指这种类型的标签。



背景技术:

一种射频识别(RFID)系统包括读取器(也被称为询问器)、以及标签(也被称为标记或应答器)。一个或多个RFID读取器可以以任何数量的方式与一个或多个RFID标签通信。某些此类方式被称为协议,它们需要读取器与标签之间的特定信令方式。EPC UHF Gen2空中接口协议是一种广泛使用的协议,其定义无源标签的物理和逻辑要求,在这种情况下,读取器首先在860到960MHz频率范围内对话。在后面的文本中,术语“Gen2V2协议”将用于指该协议。

根据Gen2V2协议,读取器使用三种基本操作来管理其有效读取区域内的标签组(tag population)。这些操作中的每一种可以包括多个命令。操作被定义如下:

-选择,用于选择标签组。专用于选择操作的命令集包括Select(选择)命令。

-盘点,用于识别标签组内的个体标签。专用于盘点操作的命令集包括Query(查询)、QueryAdjust、QueryRep、ACK和NAK命令。

-访问,用于与所识别的标签通信。读取器可以执行核心操作,例如读取、写入、锁定或灭活(kill)标签;安全相关的操作,例如认证标签;或者文件相关的操作,例如打开标签存储器中的特定文件。除其他命令外,专用于访问操作的命令集包括Req_RN和 Authenticate(认证)命令。

读取器支持并且标签提供4个会话,它们表示为S0、S1、S2和S3。标签在一个盘点循环期间参与一个并且仅一个会话,并且两个或更多读取器能够使用会话来独立盘点公共标签组。每个标签包括四个标志,它们表示为“已盘点标志”,每个已盘点标志与四个会话中的一个会话关联。标签将针对其四个会话中的每一个会话维护一个独立的已盘点标志,并且每个已盘点标志可以具有两个值,即,值A或值B。

此外,每个标签具有时隙计数器(slot counter)和状态,它们可以在选择、盘点以及访问操作的整个过程中实现。时隙计数器包含值,所述值用于确定在盘点循环中标签可以做出响应的时刻,这将在后面解释。状态表征标签的行为和对读取器命令的响应。标签状态集包括就绪(Ready)、仲裁(Arbitrate)、回应(Reply)、确认(Acknowledged)、开放)(Open)、保护(Secured)以及灭活(Killled)。

就绪是未被灭活或当前未参与盘点循环的已激励标签的保持状态:在进入激励射频(RF)场时,未被灭活的标签将进入就绪状态。读取器可以首先发出Select命令以便选择处于就绪状态的一组标签。在四个会话中的任何一个会话中,Select命令可以将标签的已盘点标志设置为A或B。在这种情况下,Select命令包括配置参数,所述配置参数包括会话编号和已盘点标志值。Select命令还包括选择准则,在此将不详述。一旦接收到Select 命令,每个标签就评估选择准则,并且取决于所述评估,可以将该命令中指定的会话的已盘点标志设置为该命令中指定的值。

随后,读取器将发出Query命令。Query启动盘点循环并且决定哪些标签参与该循环。Query命令包括会话编号、已盘点标志值、以及在范围 (0,15)内的整数,该整数表示时隙计数参数Q。时隙计数参数设置盘点循环中的时隙数量。一旦接收到Query命令,具有已指定会话的匹配已盘点标志值的标签就将从它们的随机数发生器或伪随机数发生器获取Q位随机值,并且将所述值加载到它们的时隙计数器中。随后,如果标签的时隙计数器中的值为非0,则标签将转变到仲裁状态并且保持静默,或者如果标签的时隙计数器中的值为0,则转变到回应状态。

仲裁是参与当前盘点循环并且其时隙计数器保存非0值的标签的保持状态。在发出Query命令但在被称为“立即回应时间”的时间T1内未接收到响应之后,读取器通常发出一个或多个QueryAdjust或QueryRep命令。QueryAdjust命令包括前一个Query中的会话编号,但包括更高或更小的时隙计数参数Q。处于仲裁状态的标签在接收对应于当前正在进行的盘点循环的QueryAdjust时,将调整其时隙计数器中的值,然后选择新的 Q位数,并且将该数加载到其时隙计数器中。随后,如果所述数为0,则标签将转变到回应状态,或者如果所述数为非0,则停留在仲裁状态。 QueryRep命令包括前一个Query的会话编号而不改变时隙计数参数。在仲裁状态下,每次标签接收对应于当前正在进行的盘点循环的QueryRep 时,标签将使其时隙计数器中的值递减1,并且当标签的时隙计数器中的值达到0时,标签将转变到回应状态。应该注意,处于确认、开放或保护状态的标签(该标签接收其会话参数与前一个Query中的会话参数相匹配的QueryRep命令,并且未在Kill(灭活)或Access(访问)命令序列的中间)将针对当前会话反转其已盘点标志(即,A→B或B→A,视情况而定),并且转变到就绪。

一旦进入回应状态,标签就将反向散射16位随机或伪随机数(被称为 RN16)。作为响应,读取器将通过回送标签反向散射的RN16来确认该标签。这将通过发送包括RN16的ACK命令来完成。因此,如果标签接收到包含相同RN16的ACK命令(有效ACK命令),则它将转变到确认状态。随后,标签将发送存储在其存储器(被称为“EPC存储器”)的一部分中的EPC代码。EPC代码识别标签所属或将被粘附到的物体。应该注意,可以将包括所述RN16的另一个ACK命令再次发送到处于所述确认状态的标签,以便再次接收EPC代码。相反,如果标签在时间T2内未能接收到ACK命令或接收到无效ACK(即,包括不同RN16的ACK命令),则它将返回到仲裁状态。

访问始终始于读取器通过发出包括所述标签的RN16的Req_RN命令,将标签从确认状态移动到开放或保护状态。如果处于确认状态的标签接收到具有正确RN16的Req_RN,则它将生成、存储和反向散射新的16 位随机或伪随机数(表示为句柄),并且转变到开放或保护状态。随后,如果读取器想要确保仅该标签处于开放或保护状态,则它可以发出具有所述句柄作为参数的ACK命令。接收具有正确句柄的ACK命令的标签将通过反向散射所述句柄来回应,并且保持处于其当前状态(开放或保护,视情况而定),而接收具有不正确句柄的ACK命令的那些标签将从开放或保护状态转变到仲裁状态。

当接收具有正确句柄的Req_RN命令时,转变到开放或保护状态的选择取决于标签的访问密码,所述访问密码是存储在该标签的存储器中的值。应该注意,处于开放状态的标签可以仅执行某些命令,而具有适当特权的处于保护状态的标签可以执行所有命令。处于开放状态的标签将在成功认证之后转变到保护状态。为了启动所述认证,读取器可以发出Authenticate 命令,所述命令包括该标签的句柄。

读取器和标签可以在开放或保护状态下无限期地通信,但读取器可以随时结束通信,以便通过发出QueryRep命令来识别和访问其它标签。在这种情况下,标签将从开放或保护状态转变到就绪状态。当读取器在Query 命令之后已发出Q-1个QueryRep命令时,整个过程结束,其中Q是包括在所述Query命令中的时隙计数参数。

图1示出包括两个读取器(读取器A和读取器B)和标签组(其包括五个标签1、2、3、4、5)的RFID系统。标签1、2和3在读取器A的有效读取区域中,并且标签3、4和5在读取器B的有效读取区域中。这意味着标签1、2和3能够接收操作能量和命令,并且反向散射来自由读取器 A生成的RF场的响应,以及标签3、4和5能够接收操作能量和命令,并且反向散射来自由读取器B生成的RF场的响应。

仅作为举例,图1A示出根据Gen2V2协议的在读取器A与标签1、2 和3之间的盘点和访问序列。第一列涉及读取器A,并且具体示出读取器 A发出的命令、以及读取器A在通信序列期间接收的响应。最后一列涉及标签,并且具体示出响应于从读取器A接收的命令而由标签执行的动作。中间一列示出消息方向:向右的箭头指示从读取器A到至少一个标签的命令;向左的箭头指示从至少一个标签到读取器A的响应。第二列示出通信时隙,其从0开始并且每次读取器A在Query命令之后发出QueryRep命令时其被递增1。当通信时隙达到Q-1时(其中Q是包括在Query命令中的时隙计数参数),序列结束。第四列示出要应用于命令或回应的计时要求。

图1B涉及标签1,相应的图1C、1D涉及相应的标签2、3。对于每个图,第一列示出标签的状态,第二列示出标签的时隙计数器中的值,第三列示出由标签的随机数发生器或伪随机数发生器生成的RN16或句柄 (采用十六进制),第四列示出标签用于与读取器A通信的会话,并且最后一列示出与所述会话关联的已盘点标志值。

在步骤1,读取器A生成RF场。因此,在读取器A的读取区域中的标签1、2和3进入就绪状态。在该阶段,对于这些标签中的每一个,时隙计数器不包含任何值,尚未生成RN16或句柄,尚未定义要与读取器A一起使用的会话,并且已盘点标志值不适用,因为会话未被定义。

在步骤2,读取器A发出Select命令,所述命令包括会话编号Sx和已盘点标志值IFVx。在所述示例中,会话编号Sx是S2,并且已盘点标志值IFVx是A。因此,标签1、2和3将会话S2的已盘点标志值设置为A。

在步骤3,读取器A发出Query命令,所述命令包括会话编号Sx、已盘点标志值IFVx、以及在范围(0,15)内的时隙计数参数Q。在所述示例中,会话编号Sx是S2,已盘点标志值IFVx是A,并且时隙计数参数Q是8。因此,标签1、2和3进入仲裁状态,并且使用其随机数发生器或伪随机数发生器生成Q位数和16位数(RN16)。在所述示例中,由标签1生成的 Q位数和RN16是1和1111;由标签2生成的Q位数和RN16是2和2222;以及由标签3生成的Q位数和RN16是3和3333。通信时序被设置为0。

在步骤4,读取器A等待时间T1并且未接收到任何回应,因为标签1、 2或3在其时隙计数器中均没有0值。

在步骤5,读取器A发出QueryRep命令,所述命令包括前一个Query 命令的会话编号,即S2。因此,时隙计数器保存非0值的标签1、2和3 递减其时隙计数器计数。此外,因为标签1的时隙计数器中的值变成0,所以标签1转变到回应状态。通信时隙增加到1。

在步骤6,标签1反向散射其RN16,所述RN16由读取器A接收。

在步骤7,读取器A通过在ACK命令内回送标签1的RN16来确认标签1。因此,标签1转变到确认状态。

在步骤8,标签1发送其EPC代码,所述EPC代码由读取器A接收。

在步骤9,读取器A发送包括标签1的RN16的Req_RN命令,这使得标签1转变到开放或保护状态,具体取决于标签1的访问密码。

在步骤10,标签1生成、存储和反向散射新的16位随机或伪随机数 (句柄),所述句柄由读取器A接收。在所述示例中,由标签1生成的句柄是6666。

在步骤11,读取器A发送包括标签1的句柄的Authenticate命令。因此,标签1转变到开放状态。

在步骤12,标签1反向散射加密响应,所述加密响应由读取器A接收。

在步骤13,读取器A发出QueryRep命令以便识别其它标签。所述命令包括前一个Query命令的会话编号,即S2。因此,标签1反转其已盘点标志(A→B)并且转变到就绪状态。除此之外,具有会话S2的已盘点标志值A并且时隙计数器保存非0值的所有标签(即,标签2和3)递减其时隙计数器。因为标签2的时隙计数器中的值变成0,所以标签2转变到回应状态。通信时隙增加到2。

在步骤14,标签2反向散射其RN16,所述RN16由读取器A接收。

在步骤15,读取器A通过在ACK命令内回送标签2的RN16来确认标签2。因此,标签2转变到确认状态。

在步骤16,标签2发送其EPC代码,所述EPC代码由读取器A接收。

在步骤17,读取器A发送包括标签2的RN16的Req_RN命令,这使得标签2转变到开放或保护状态,具体取决于标签2的访问密码。

在步骤18,标签2生成、存储和反向散射新的16位随机或伪随机数 (句柄),所述句柄由读取器A接收。在所述示例中,由标签2生成的句柄是7777。

在步骤19,读取器A发送包括标签2的句柄的Authenticate命令。因此,标签2转变到开放状态。

在步骤20,标签2反向散射加密响应,所述加密响应由读取器A接收。

在步骤21,读取器A发出QueryRep命令以便识别其它标签。所述命令包括前一个Query命令的会话编号,即S2。因此,标签2反转其已盘点标志(A→B)并且转变到就绪状态。除此之外,具有会话S2的已盘点标志值A并且时隙计数器保存非0值的所有标签(即,仅标签3)递减其时隙计数器。因为标签3的时隙计数器中的值变成0,所以标签3转变到回应状态。通信时隙增加到3。

在步骤22,标签3反向散射其RN16,所述RN16由读取器A接收。

在步骤23,读取器A通过在ACK命令内回送标签3的RN16来确认标签3。因此,标签3转变到确认状态。

在步骤24,标签3发送其EPC代码,所述EPC代码由读取器A接收。

在步骤25,读取器A发送包括标签3的RN16的Req_RN命令,这使得标签3转变到开放或保护状态,具体取决于标签3的访问密码。

在步骤26,标签3生成、存储和反向散射新的16位随机或伪随机数 (句柄),所述句柄由读取器A接收。在所述示例中,由标签3生成的句柄是8888。

在步骤27,读取器A发送包括标签3的句柄的Authenticate命令。因此,标签3转变到开放状态。

在步骤28,标签3反向散射加密响应,所述加密响应由读取器A接收。

在步骤29,读取器A发出QueryRep命令以便识别其它标签。所述命令包括前一个Query命令的会话编号,即S2。因此,标签3反转其已盘点标志(A→B)并且转变到就绪状态。没有发生其它操作,因为读取器A 的读取区域中没有使A作为会话S2的已盘点标志值的更多标签。通信时隙增加到4。

在步骤30,读取器A等待时间T1并且未接收到对前一个QueryRep 命令的任何回应。

在步骤31,读取器A发出另一个QueryRep,所述另一个QueryRep 包括前一个Query命令的会话编号,即S2。没有发生操作,因为读取器A 的读取区域中没有使A作为会话S2的已盘点标志值的更多标签。通信时隙增加到5。

在步骤32,读取器A等待时间T1并且未接收到对前一个QueryRep 命令的任何回应。

在步骤33,读取器A发出另一个QueryRep,其包括前一个Query命令的会话编号,即S2。没有发生操作,因为读取器A的读取区域中没有使A作为会话S2的已盘点标志值的更多标签。通信时隙增加到6。

在步骤34,读取器A等待时间T1并且未接收到对前一个QueryRep 命令的任何回应。

在步骤35,读取器A发出另一个QueryRep,其包括前一个Query命令的会话编号,即S2。没有发生操作,因为读取器A的读取区域中没有使A作为会话S2的已盘点标志值的更多标签。通信时隙增加到7。

在步骤36,读取器A等待时间T1并且未接收到对前一个QueryRep 命令的任何回应。因为时隙计数参数是8并且通信时隙已达到7,所以在此最后一次不成功的识别其它标签的尝试之后,结束盘点循环。

如已经解释的,由读取器发出并且针对标签的所有ACK命令将包括先前由该标签生成和反向散射的16位随机数,所述数是RN16或句柄。如果读取器向处于回应或确认状态的标签发出ACK命令,则回送的数字将是该标签先前在从仲裁状态转变到回应状态时反向散射的RN16。如果读取器向处于开放或保护状态的标签发出ACK命令,则回送的数字将是该标签的句柄。为了方便起见,包括在ACK命令中的所回送的16位随机数 (RN16或句柄)被称为“会话句柄”。因此,“会话句柄”可以一般性地指标签的RN16或句柄。一旦接收ACK命令,标签就将在执行所述命令之前验证会话句柄正确。

在具有并行工作的多个RFID读取器的RFID系统中,可能发生接收具有不正确会话句柄的ACK命令,因为某些标签可能同时在多于一个读取器的有效读取区域内,无论这是否是有意的。例如,在图1中所示的示例中,标签3在读取器A和B两者的有效读取区域中。因此,标签3可以在与读取器A通信的同时监听到由读取器B发出的ACK命令。所述ACK 命令可以例如用于标签4。两个读取器同时与具有相同会话句柄的两个标签通信的概率为1/216,包括在所述ACK命令中的会话句柄很可能不同于标签3的会话句柄。

监听到具有不正确会话句柄的ACK命令的标签将不执行所述命令。此外,如已经提及的,如果所述标签状态是开放或保护,则标签将转变到仲裁状态。这存在问题,因为转变到仲裁状态基本上终止标签和与标签通信的读取器之间的通信。在先前提及的示例中,如果标签3处于开放或保护状态并且监听到读取器B发送用于标签4的ACK命令(所述ACK命令包括标签4的会话句柄),则标签3将转变到仲裁状态,从而失去与读取器A的连接。

如果标签终止与读取器的通信,则通常可能随后识别和访问所述标签。但是,当标签迅速通过读取区域时,情况并非始终如此。



技术实现要素:

本发明的一个目标是提供一种与Gen2V2协议兼容的识别和访问方法,其中避免了由于接收具有不正确会话句柄的ACK命令而导致的通信丢失的情况。

因此,本发明涉及一种用于提供关于标签组中的无源射频标签的识别和访问的方法,所述无源标签被配置为接收命令,所述命令中用于确认标签的命令被称为ACK,ACK命令包括形式为16位数的识别参数,所述标签具有:

-时隙计数器,其保存确定在盘点循环中所述标签能够做出响应的时刻的值

-随机数发生器或伪随机数发生器,其被布置为当所述标签开始参与盘点循环时生成一个16位值,并且被布置为当所述读取器开始访问所述标签时生成另一个16位值

-状态,其表征所述标签的行为和对所述读取器的命令的响应,所述状态是状态列表的一部分,所述状态列表包括:

○就绪,其是当前未参与盘点循环的标签的保持状态

○仲裁,其是当前参与盘点循环并且时隙计数器保存非0值的标签的保持状态

○开放或保护,其是当读取器开始访问标签时标签转变到的状态。

根据本发明,所述方法包括由初始处于所述就绪状态的所述标签执行的以下步骤:

-接收用于启动盘点循环的命令,该命令被称为盘点启动命令,所述盘点启动命令包括形式为N位数的读取器标识符作为参数,N是在范围(1,15)内的整数

-借助所述随机数发生器或伪随机数发生器生成被称为第一绑定句柄的16位值,所述第一绑定句柄包括形成所述读取器标识符的N个并置位

-反向散射所述第一绑定句柄,所述第一绑定句柄由所述读取器接收

-接收用于启动标签访问的命令,该命令被称为访问启动命令,所述访问启动命令具有所述第一绑定句柄作为参数

-借助所述随机数发生器或伪随机数发生器生成被称为第二绑定句柄的16位值,所述第二绑定句柄包括形成所述读取器标识符的N个并置位,所述读取器标识符位于所述第二绑定句柄内的位置类似于所述读取器标识符在所述第一绑定句柄内的位置

-反向散射所述第二绑定句柄,所述第二绑定句柄由所述读取器接收

-转变到所述开放或保护状态

-接收ACK命令

-将所述读取器标识符与由所述ACK命令的所述识别参数的N个位形成的代码相比较,所述N个位位于与所述读取器标识符在所述第一或第二绑定句柄内的位置类似的位置处,并且在所述代码和所述读取器标识符不同的情况下,忽略所述ACK命令。

本发明提供一种被称为盘点启动命令的新命令,其可以被集成在 Gen2v2协议内。优选地,所述盘点启动命令提供与Gen2V2协议中定义的命令序列Select/Query类似的功能。所述盘点启动命令使所述读取器能够开始盘点循环,并且指示所述标签参与所述盘点循环。一旦接收所述盘点启动命令,所述标签就将生成第一绑定句柄,如同如果它已响应于Query、 QueryAjust或QueryRep命令,则它将生成RN16一样。但是,所述第一绑定句柄与传统RN16的不同之处在于它不完全是随机数:所述第一绑定句柄的一部分包括包含在所述盘点启动命令中的所述读取器标识符。所述读取器的所述标识符可以是与用于所有其它读取器的值不同的唯一值,或者至少对于它们的读取区域的某一部分是公共区域的读取器而言不同。然后,所述标签将反向散射所述第一绑定句柄,如同它处理传统RN16一样。随后,所述第一绑定句柄由所述读取器接收,并且所述第一绑定句柄能够用于通过使用识别参数是所述第一绑定句柄的ACK命令来识别和确认所述标签。

然后,在某一时刻,所述读取器发送访问启动命令,即Gen2V2协议中定义的Req_RN命令,以便启动对所述标签的访问操作。如由Gen2V2 定义的,Req_RN将包括先前由所述标签反向散射的16位值,在这种情况下,所述16位值是所述第一绑定句柄。一旦接收到包括所述第一绑定句柄的所述访问启动命令,所述标签就将生成第二绑定句柄。所述第二绑定句柄与传统句柄的不同之处在于它不完全是随机数:所述第二绑定句柄的一部分包括包含在所述盘点启动命令中的所述读取器标识符。然后,所述标签将反向散射所述第二绑定句柄,如同它处理传统句柄一样,并且转变到所述开放或保护状态。随后,所述第二绑定句柄由所述读取器接收,并且访问操作可以继续。

从此时刻开始并且只要所述标签处于所述开放或保护状态,如果所述读取器发出用于所述标签的ACK命令,则所述ACK命令将具有所述第二绑定句柄作为识别参数。根据Gen2V2协议,在接收到识别参数不同于处于所述开放或保护状态的所述标签的句柄的ACK命令时,所述标签将转变到仲裁状态。根据本发明,先前在识别和访问序列中已接收盘点启动命令并且现在处于所述开放或保护状态的标签在接收ACK命令时,将判定所述ACK命令的识别参数是否包括所述第一识别命令的读取器标识符。如果不包括,则这意味着所述ACK命令由另一个读取器发出。然后,所述标签简单地忽略所述ACK命令并且不转变到仲裁状态。应该注意,如果这另一个读取器同样使用根据本发明的方法来识别和访问另一个标签,则所述ACK命令中的识别参数包括所述另一个读取器的标识符。否则,所述ACK命令中的识别参数是完全随机数。

此外,根据本发明的方法可以包括以下特征中的一者或以下特征的组合。

在一个实施例中,在所述代码和所述读取器标识符匹配的情况下,则所述方法包括将所述参数的其它位与所述第二绑定句柄的其它位相比较的步骤,并且在所述位匹配的情况下,则所述方法包括响应所述ACK命令的步骤。

在一个实施例中,所述状态列表包括回应,所述回应是在当前参与盘点循环的标签的时隙计数器中的值变成0时该标签转变到的状态,所述随机数发生器或伪随机数发生器被布置为当该标签开始参与盘点循环时生成Q位值,Q是在范围(0,15)内的整数,所述盘点启动命令包括Q作为参数,所述参数被称为时隙计数参数,以及所述方法包括在接收所述盘点启动命令之后执行的以下步骤:

-借助所述随机数发生器或伪随机数发生器生成Q位值并将所述Q位值加载到所述时隙计数器中

-如果所述Q位值为非0,则转变到所述仲裁状态,否则转变到所述回应状态。

应该注意,在所述第一和第二绑定句柄中包括所述Q位值向所述读取器提供了标签响应用于正确读取器的额外置信度。

在一个实施例中,所述第一绑定句柄和所述第二绑定句柄包括不同于所述N个并置位的Q个并置位,所述Q个并置位形成所述Q位值,所述 Q位值位于所述第一绑定句柄内的位置类似于所述Q位值在所述第二绑定句柄内的位置。

在一个实施例中,Q在范围0至5内。

在一个实施例中,所述第一和第二绑定句柄中剩余的16-N-Q个位由所述随机数发生器或伪随机数发生器随机地生成。

在一个实施例中,所述标签具有用于每个会话的已盘点标志,读取器能够使用所述已盘点标志在盘点循环内识别所述标签,所述已盘点标志具有指示所述标签是否能够响应所述读取器的值,所述盘点启动命令包括会话编号和已盘点标志值作为参数,以及所述方法包括在接收所述盘点启动命令之后执行的以下步骤:将所述盘点启动命令中指定的所述会话的所述已盘点标志设置为所述盘点启动命令中指定的值。

在一个实施例中,所述读取器标识符是5位数,即N=5。

附图说明

下面将参考附图描述本发明,附图通过示例的方式给出但不限于此,这些附图是:

图1(已经提及)是包括两个读取器(读取器A和读取器B)和标签组(其包括五个标签1、2、3、4、5)的RFID系统的示意性表示,其中标签3在读取器A和读取器B两者的有效读取区域中;

图1A(已经提及)示出读取器A与标签1、2和3之间的盘点和访问序列;

图1B、1C和1D(已经提及)示出标签1、2和3沿着图1A的通信序列的某些特性;

图2A示出根据本发明的一个实施例的读取器A与标签1、2和3之间的盘点和访问序列;

图2B、2C和2D示出标签1、2和3沿着图2A的通信序列的某些特性。

具体实施方式

假设根据本发明的方法由射频无源标签执行。所述标签包括用于执行 Gen2V2协议的部件,因此如之前更详细地解释的那样,它具有:

-存储器,其中存储EPC代码和访问密码;

-四个已盘点标志,针对每个会话S1、S2、S3、S4具有一个已盘点标志,读取器可以使用已盘点标志在盘点循环内识别标签。每个已盘点标志具有值A或值B,所述值指示该标签是否能够响应读取器;

-时隙计数器,其保存确定在由读取器启动的盘点循环中所述标签能够做出响应的时刻的值;

-随机数发生器或伪随机数发生器,其被布置为:

○当标签开始参与盘点循环时,即响应于具有适当参数的 Query、QueryRep或QueryAdjust命令,生成被称为RN16的 16位值

○当标签开始参与盘点循环时,即响应于具有适当参数的Query、QueryRep或QueryAdjust命令,生成Q位值,Q是在范围(0,15)内的整数

○当标签开始参与访问操作时,即响应于具有RN16作为参数的Req_RN命令,生成被称为句柄的16位值。

如在Gen2V2协议中定义的,标签的行为和对读取器的命令的响应由该标签的状态来定义,除其他状态外,这些状态是:

-就绪,其是当前未参与盘点循环的标签的保持状态;

-仲裁,其是参与盘点循环并且时隙计数器保存非0值的标签的保持状态;

-回应,其是当处于仲裁状态的标签的时隙计数器中的值达到0时,该标签转变到的状态;

-确认,其是当处于回应状态的标签接收到识别参数等于标签的RN16 的ACK命令时,该标签转变到的状态;

-开放或保护,其是当处于确认状态的标签接收到参数等于标签的 RN16的Req_RN命令时,该标签转变到的状态。

根据本发明,向在Gen2V2协议中定义的命令集添加额外命令。该命令(被称为盘点启动命令)提供与命令序列Select/Query类似的功能。盘点启动命令具有以下参数:

-会话编号Sx(S1、S2、S3或S4);

-已盘点标志值IFVx(A或B);

-时隙计数参数Q,Q是在范围(0,15)内的整数;

-发出盘点启动命令的读取器的标识符RD,其采取N位值的形式,N 是在范围(1,15)内的整数。

一旦在处于就绪状态期间接收到盘点启动命令,标签将:

-将盘点启动命令中指示的会话Sx的已盘点标志设置为盘点启动命令中指定的值IFVx;

-借助随机数发生器或伪随机数发生器生成Q位值并将所述Q位值加载到时隙计数器中;

-如果所述Q位值为非0,则转变到仲裁状态,否则转变到回应状态;

-借助随机数发生器或伪随机数发生器生成被称为第一绑定句柄的16 位值,所述第一绑定句柄包括N个并置位(其形成盘点启动命令中指定的读取器标识符RD)、Q个并置位(其形成Q位值)、以及16-N-Q 个随机位。优选地,N=5并且Q在范围0至5内。在所述实施例中,绑定句柄具有以下结构:4个最高有效位表示读取器标识符,4个最低有效位表示Q位值,并且8个中间位是随机值。在另一个实施例中,第一绑定句柄包括N个并置位(优选地为4或5,其形成盘点启动命令中指定的读取器标识符RD)、以及16-N个随机位。在此另一个实施例中,绑定句柄优选地具有以下结构:4或5个最高有效位表示读取器标识符,以及12或11个最低有效位是随机值;

-反向散射第一绑定句柄。

先前在同一盘点和访问序列内已接收第一初始命令的标签将在处于确认状态下接收Req_RN命令时,在所述Req_RN具有标签的第一绑定句柄作为参数的情况下:

-转变到开放或保护状态,结束状态的选择取决于标签的访问密码(如果访问密码为0,则标签将转变到保护状态;如果访问密码为非0,则标签将转变到开放状态);

-借助随机数发生器或伪随机数发生器生成被称为第二绑定句柄的16 位值,所述第二绑定句柄具有与第一绑定句柄相同的结构:例如4个最高有效位表示读取器标识符,4个最低有效位表示Q位值,并且8 个中间位是随机值;

-反向散射第二绑定句柄。

仅作为举例,图2A示出实现盘点启动命令的读取器A与标签1、2 和3之间的盘点和访问序列。第一列涉及读取器A,并且具体示出读取器 A发出的命令、以及读取器A在序列期间接收的响应。最后一列涉及标签,并且具体示出响应于来自读取器A的命令而由标签执行的动作。中间一列示出消息方向:向右的箭头指示从读取器A到至少一个标签的命令;向左的箭头指示从至少一个标签到读取器A的响应。第二列示出通信时隙,其从0开始,并且每次读取器A在盘点启动命令之后发出QueryRep命令时,其被递增1。当通信时隙达到Q-1时,序列结束。第四列示出要应用于命令或回应的计时要求。

图2B涉及标签1,相应的2C、2D涉及相应的标签2、3。对于每个图,第一列示出标签的状态,第二列示出标签的时隙计数器中的值,第三列示出由标签的随机数发生器或伪随机数发生器在序列的某些时刻生成的第一或第二绑定句柄(采用十六进制),第四列示出标签用于与读取器A 通信的会话,并且最后一列示出与所述会话关联的已盘点标志值。

在步骤1,读取器A生成RF场。因此,在读取器A的读取区域中的标签1、2和3进入就绪状态。在该阶段,对于这些标签中的每一个标签,时隙计数器不包含任何值、尚未生成第一或第二绑定句柄、尚未定义要与读取器A一起使用的会话、以及已盘点标志值不适用,因为会话未被定义。

在步骤2,读取器A发出具有以下项作为参数的第一启动命令:

-会话编号S2;

-已盘点标志值A;

-作为时隙计数参数Q的8;

-读取器标识符C(采用十六进制,即二进制系统中的1100)。

因此,标签1、2和3将会话S2的已盘点标志值设置为A。此外,标签1、2和3使用其随机数发生器或伪随机数发生器生成8位数和16位数 (第一绑定句柄)。在所述实施例中,绑定句柄具有以下结构:4个最高有效位表示读取器标识符,4个最低有效位表示Q位值,并且8个中间位是随机值。在所示示例中,由标签1生成的8位数和第一绑定句柄是1和 C661;由标签2生成的8位数和第一绑定句柄是2和C772;以及由标签3 生成的8位数和第一绑定句柄是3和C883。此外,标签1、2和3进入仲裁状态。除此之外,通信时隙被设置为0。

在步骤3,读取器A等待时间T1并且未接收到任何回应,因为标签1、 2或3在其时隙计数器中都没有0值。

在步骤4,读取器A发出QueryRep命令,所述命令包括前一个Query 命令的会话编号,即S2。因此,时隙计数器保存非0值的标签1、2和3 递减其时隙计数器。此外,因为标签1的时隙计数器中的值变成0,所以标签1转变到回应状态。通信时隙增加到1。

在步骤5,标签1反向散射其第一绑定句柄,所述第一绑定句柄由读取器A接收。

在步骤6,读取器A通过在ACK命令内回送第一绑定句柄来确认标签1。因此,标签1转变到确认状态。

在步骤7,标签1发送其EPC代码,所述EPC代码由读取器A接收。

在步骤8,读取器A发送包括标签1的第一绑定句柄的Req_RN命令,这使得标签1转变到开放或保护状态,具体取决于标签1的访问密码。

在步骤9,标签1生成、存储和反向散射新的16位随机或伪随机数,即第二绑定句柄,所述第二绑定句柄由读取器A接收。在所述示例中,由标签1生成的第二绑定句柄是CDD1。

在步骤10,读取器A发送包括标签1的第二绑定句柄的Authenticate 命令。因此,标签1转变到开放状态。

在步骤11,标签1反向散射加密响应,所述加密响应由读取器A接收。

在步骤12,读取器A发出QueryRep命令以便识别其它标签。所述命令包括前一个Query命令的会话编号,即S2。因此,标签1反转其已盘点标志(A→B)并且转变到就绪状态。除此之外,具有会话S2的已盘点标志值A并且时隙计数器保存非0值的所有标签(即,标签2和3)递减其时隙计数器。因为标签2的时隙计数器中的值变成0,所以标签2转变到回应状态。通信时隙增加到2。

在步骤13,标签2反向散射其第一绑定句柄,所述第一绑定句柄由读取器A接收。

在步骤14,读取器A通过在ACK命令内回送第一绑定句柄来确认标签2。因此,标签2转变到确认状态。

在步骤15,标签2发送其EPC代码,所述EPC代码由读取器A接收。

在步骤16,读取器A发送包括标签2的第一绑定句柄的Req_RN命令,这使得标签2转变到开放或保护状态,具体取决于标签2的访问密码。

在步骤17,标签2生成、存储和反向散射新的16位随机或伪随机数,即第二绑定句柄,所述第二绑定句柄由读取器A接收。在所述示例中,由标签2生成的第二绑定句柄是CEE2。

在步骤18,读取器A发送包括标签2的第二绑定句柄的Authenticate 命令。因此,标签2转变到开放状态。

在步骤19,标签2反向散射加密响应,所述加密响应由读取器A接收。

在步骤20,读取器A发出QueryRep命令以便识别其它标签。所述命令包括前一个Query命令的会话编号,即S2。因此,标签2反转其已盘点标志(A→B)并且转变到就绪状态。除此之外,具有会话S2的已盘点标志值A并且时隙计数器保存非0值的所有标签(即,仅标签3)递减其时隙计数器。因为标签3的时隙计数器中的值变成0,所以标签3转变到回应状态。通信时隙增加到3。

在步骤21,标签3反向散射其第一绑定句柄,所述第一绑定句柄由读取器A接收。

在步骤22,读取器A通过在ACK命令内回送标签3的第一绑定句柄来确认标签3。因此,标签3转变到确认状态。

在步骤23,标签3发送其EPC代码,所述EPC代码由读取器A接收。

在步骤24,读取器A发送包括标签3的第一绑定句柄的Req_RN命令,这使得标签3转变到开放或保护状态,具体取决于标签3的访问密码。

在步骤25,标签3生成、存储和反向散射新的16位随机或伪随机数,即第二绑定句柄,所述第二绑定句柄由读取器A接收。在所述示例中,由标签3生成的句柄是CFF3。

在步骤26,读取器A发送包括标签3的句柄的Authenticate命令。因此,标签3转变到开放状态。

在步骤27,标签3反向散射加密响应,所述加密响应由读取器A接收。

在步骤28,读取器A发出QueryRep命令以便识别其它标签。所述命令包括前一个Query命令的会话编号,即S2。因此,标签3反转其已盘点标志(A→B)并且转变到就绪状态。没有发生其它操作,因为读取器A 的读取区域中没有使A作为会话S2的已盘点标志值的更多标签。通信时隙增加到4。

在步骤29,读取器A等待时间T1并且未接收到对前一个QueryRep 命令的任何回应。

在步骤30,读取器A发出另一个QueryRep,其包括前一个Query命令的会话编号,即S2。没有发生操作,因为读取器A的读取区域中没有使A作为会话S2的已盘点标志值的更多标签。通信时隙增加到5。

在步骤31,读取器A等待时间T1并且未接收到对前一个QueryRep 命令的任何回应。

在步骤32,读取器A发出另一个QueryRep,其包括前一个Query命令的会话编号,即S2。没有发生操作,因为读取器A的读取区域中没有使A作为会话S2的已盘点标志值的更多标签。通信时隙增加到6。

在步骤33,读取器A等待时间T1并且未接收到对前一个QueryRep 命令的任何回应。

在步骤34,读取器A发出另一个QueryRep,其包括前一个Query命令的会话编号,即S2。没有发生操作,因为读取器A的读取区域中没有使A作为会话S2的已盘点标志值的更多标签。通信时隙增加到7。

在步骤35,读取器A等待时间T1并且未接收到对前一个QueryRep 命令的任何回应。因为时隙计数参数是8并且通信时隙已达到7,所以在此最后一次不成功的识别其它标签的尝试之后,结束盘点循环。

如已经提及的,标签3在读取器A和读取器B两者的读取区域中,这暗示标签3可以在根据本发明的识别和访问序列的任何时间,接收由读取器B发出并且用于另一个标签(比如标签4)的ACK命令。因此,根据本发明,标签3分析标签3的标识符应该位于其中的ACK命令的识别参数的位(在优选实施例中,所述识别参数的4个最高有效位),以便确定哪个读取器发出了所述命令。当然,读取器B可以与标签4一起使用根据本发明的识别和访问序列(即,包括盘点启动命令的序列)、或者根据 Gen2V2协议的传统盘点和访问序列(即,包括Select和Query命令的序列)。在第一种情况下,包括在ACK命令中的识别参数是标签4的第一或第二绑定句柄,所述第一或第二绑定句柄包括标签4的标识符。因此,标签3的标识符应该位于其中的ACK命令的识别参数的位实际上形成标签4的标识符,并且标签3断定ACK命令无效。在第二种情况下,包括在ACK命令中的标识参数是16位随机数,即标签4的RN16或标签4的句柄。因此,标签3的标识符应该位于其中的ACK命令的识别参数的位不形成任何读取器标识符,并且标签3断定ACK命令无效。

当与读取器A一起执行根据本发明的识别和访问序列时,标签3接收由读取器B发出的ACK命令:

-如果标签3的状态不是开放或保护,则标签3忽略来自读取器B的 ACK命令(如由Gen2V2协议定义);

-如果标签3的状态是开放或保护,识别参数具有正确的读取器标识符,但识别参数不同于标签3的第二绑定句柄,则标签3将转变到仲裁并且停止与读取器A的通信(如由Gen2V2协议定义);

-如果标签3的状态是开放或保护,识别参数具有正确的读取器标识符,并且识别参数等于标签3的第二绑定句柄,则标签3响应ACK命令并且可能不再与读取器A同步(如由Gen2V2协议定义);

-但是如果标签3的状态是开放或保护,并且如果识别参数没有正确的读取器标识符,则标签3忽略来自读取器B的ACK命令,这是本发明的目标。

应该注意,标签3可以从读取器B接收其它种类的命令:

-如果标签3从读取器B接收盘点启动命令,则标签3将从读取器A 切换到读取器B,并且随后可以被读取器B盘点和访问;

-如果标签3从读取器B接收Req_RN命令,然后如果标签3的状态是就绪、仲裁或回应,或者如果包括在所述命令中的16位数与预期值不匹配,则标签3将忽略Req_RN命令。否则,如果16位值与预期值匹配(尽管这高度不可能),则标签3将响应Req_RN命令并且可能不再与读取器A同步;

-如果标签3从读取器B接收Authenticate命令,然后如果标签3的状态是就绪、仲裁、回应或确认,或者如果包括在所述命令中的16位值与预期绑定句柄值不匹配,则标签3将忽略所述命令。否则,如果 16位值与预期值匹配(尽管这高度不可能),则标签3将响应 Authenticate命令并且可能不再与读取器A同步;

-如果标签3从读取器B接收Select命令,则标签3将从读取器A切换到读取器B,并且随后可以被读取器B盘点和访问;

-如果标签3从读取器B接收Query命令,则标签3将从读取器A切换到读取器B,并且随后可以被读取器B盘点和访问;

-如果标签3从读取器B接收QueryRep或QueryAdjust命令,则标签3将忽略所述命令,因为标签3的会话不同于所述命令中提及的会话。

尽管已具体参考示例性实施例的某些方面详细描述了示例性实施例,但应该理解,本发明能够具有其它实施例,并且其细节能够在各种明显方面进行修改。如所属技术领域的技术人员很容易地显而易见的,可以在保持在本发明的精神和范围内的情况下实现变化和修改。因此,上述公开、描述和附图仅用于示例性目的,并且不以任何方式限制由权利要求限定的本发明。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1