Select命令选择基于用户定义标准的标签群、启动单元(U)、相交和基于标签分块的否定(~)。询问机发送连接Select命令执行U和操作。Select命令可以确认或取消确认适用于四个通话的标签的SL标记,或者可以在四个通话的其中一个通话中将标签的已盘标记设置为A或B。
询问机和标签应如表6.18所示执行Select命令。目标应表示该Select命令是否修改标签的SL标记或已盘标记,如果是在已盘标记的情况下,则表示是否为某通话修改SL标记或已盘标记。动作应执行如表6.19所示的标签应答。决定标签是否匹配的标准在存储体、指针、长度和掩模字段中有规定。截断表示标签反向散射的应答是否在被截断后只包括掩模后的EPC和CRC-16。Select命令要经过从询问机到标签的以下参数:
目标表示Select命令是否修改标签的SL标记或已盘标记,如果是在已盘标记的情况下则进一步规定四个通话的其中一个通话。修改SL标记的Select命令不应修改已盘标记,反之亦然。
动作表示匹配标签是否确认或取消确认SL标记,或是否将其已盘标记设置到A或B。符合存储体、指针、长度和掩模字段内容的标签为符合标签。不符合上述字段内容的标签为不符合标签。
存储体规定掩模是否应用于EPC、TID或用户存储体。Select命令应用于单个存储体。连续Select命令可应用于不同的存储体。存储体不应规定保护内存。如果标签收到的Select命令规定MemBank=002,则应忽略该Select命令。保留存储体参数值002以供将来使用(RFU)。
指针、长度和掩模:指针和长度描述存储范围。指针指示存储位位置(不限制指针的词界),并使用EBV格式化(参见附录A)。长度为8位,允许掩模的长度从0位达到255位。长度位长的掩模包含标签与以指针开始和以长度位结束的存储位置相比较的位串。若长度为零,那么所有标签均应被视为匹配。若指针和长度指示的存储位置在标签中不存在,那么,该标签应视为与Select命令不匹配。
截断:若询问机宣布截断,并且后来的Query命令规定Sel=10或者Sel=11,那么被选定的标签应截断对ACK的应答,继之以存储于EPC存储器00h至0Fh的CRC-16。询问机应宣布截断:
在询问机发出Query命令之前最后发出的一个(仅是最后一个)Select命令
只在Select命令的目标=1002时
只在掩模以EPC结束时
这些限制条件都不排除询问机发出多个针对SL标记和/或已盘标记的Select命令。这些限制条件要求询问机只在最后一个Select命令中宣布截断,且只有当这最后一个Select命令针对以SL标记为目标时。标签应取消宣称的截断启动。
标签应决定是否根据最近收到的Select命令截断其反向散射的EPC。若标签收到的Select命令截断=1但目标<>1002,那么该标签应忽略该Select命令。如果标签收到的Select命令截断=1但掩模末端超出了EPC(即以PC位结束或以CRC-16结束),则该标签应忽略该Select命令。
掩模可在EPC的最后位结束,在这种情况下所选择的标签应反向散射其CRC-16。
截断应答不包括PC位,因为掩模必须以EPC结束。
标签应以在前同步码和截断应答之间插入的四个前导零(00002)开始其截断应答。标签不应重新为截短应答重新计算CRC-16。
询问机可以发送动作=0002和长度值为零的select命令,利用该命令使通话中的所有标签全部复位到盘存状态 A。
询问机应预先考虑带有帧同步的select命令(参见6.3.1.2.8)。CRC-16从第一个操作码位计算到截断位。
标签不应回答select命令。
表6.18 select命令
命令 目标 动作 存储体 指针 长度 掩模 截断 CRC-16
位号 4 3 3 2 EBV 8 变量 1 16
描述 1010 000: 已盘标记 (S0)
001: 已盘标记(S1)
010: 已盘标记(S2)
011: 已盘标记(S3)
100: SL
101: RFU
110: RFU
111: RFU 参见表6.19 00: RFU
01: EPC
10: TID
11: User 启动掩模地址 掩模长度(位) 掩模值 0:禁止截短
1:启动截短
表6.19 标签对动作参数的响应
动作 匹配 不匹配
000 确认SL标志或已盘标志→ A 取消确认SL标志或已盘标志→ B
001 确认SL标志或已盘标志→ A 无作为
010 无作为 取消确认SL标志或已盘标志→ B
011 否定SL 标志or (A → B, B → A) 无作为
100 取消确认SL标志或 已盘标志→ B 确认SL标志或已盘标志→ A
101 取消确认SL标志或已盘标志→ B 无作为
110 无作为 确认SL标志或已盘标志 → A
111 无作为 否定SL标志或(A → B, B → A)
通过设置mask地址,长度,mask值可以筛选出所需要的标签。其中membank可以指定哪个内存器,一般我用的都是user区。同时要指定哪个user区的起始地址。
来源:oschina
链接:https://my.oschina.net/u/2252538/blog/751613