读写器通信协议开发者指南
同步盘存
  
此命令和0X21命令之间的区别在于该命令在设置的时间内盘存天线场区中的所有标签,并返回标签的数量,直到设置的时间到期。发送命令后,如果盘存到任何标签,需要稍后发送0x29(获取标签缓冲区)命令以获取标签信息。目前标签缓冲区最多可存储299个标签。因此在发送命令后,在设置的盘存时间中最多可以保存299个标签。当标签缓冲区中累积299个标记时,将停止盘存并返回结果。

命令属性

Command Code Bootloader 命令 App Firmware 命令
0x22

Host to Reader

Data字段格式
字段 字节长度 描述
Option(包含Select-Option Bits) 1 Non-Sel-Option Bits必须是0x0.
Search Flags 2 目前只有BIT2有效。其他设置为0。当BIT2 = 1时,盘存命令嵌入标签访问命令。当BIT2 = 0时,无标签访问命令嵌入。目前,天线的工作模式是,如果启用了天线1,3和4,那么盘存将从1开始,如果没有读到标签则跳转到3,然后跳转到4,然后跳转到1。
Timeout 2 盘存时间, 单位为ms
Access Password 4 访问密码. 如果标签已锁定且嵌入读标签数据命令则需要密码,请发送正确的访问密码。如果标签未锁定或访问操作不需要密码,则密码为0x00000000。注意:如果Select-Option Bits = 0,则命令中不包含4字节访问密码。
Select Content N Tag Singulation的详细内容,如果Select-Option Bits未启用标签过滤功能,则此字段不存在。
Embedded Command Content N 同步命令可以嵌入另一个标签访问操作命令。目前仅支持嵌入0x28命令。当Search Flags的BIT2为0时,不应该有此字段。
 
注意:命令中的字段排序首先是Option,然后是Search FlagsTimeout,Access Password和Select Content,这与典型的匹配过滤器格式略有不同。此外,仅当Select-Option Bits = 0时,必须从命令中删除访问密码。此时,Select Content也不存在。当Select-Option Bits = 0x05时,只有Access Password,没有Select ContentSelect-Option Bits = 1时,Select Content的子字段Select Address不存在。
   
Embedded Command Content
字段 字节长度 描述
Embedded Command Count 1 嵌入命令的数量; 必须是1。
Embedded Command Length 1 嵌入命令的数据字段长度,以字节为单位。
Embedded Command Opcode 1 嵌入的命令代码,目前仅支持0x28命令。
Embedded Values N 嵌入命令的数据字段
  

Reader to Host

Data字段格式
字段 字节长度 描述
Option 1 与host-to-reader命令相同。
Search Flags 2 与host-to-reader命令相同。如果盘存标签的数量大于255,则Search Flags的BIT 4将设置为1。
Tags Found 1 盘存到的标签数量,如果标签数量大于255,则此字段为4个字节。
Embedded Command Result N 如果未使用嵌入命令,则不存在此字段。
 
Embedded Command Result
字段 字节长度 描述
Embedded Command Count 1 嵌入命令的数量必须为1。
Embedded Command Opcode 1 与host-to-reader命令相同。
Operations Succeeded 2 嵌入命令操作成功的次数。由于在盘存期间可以多次操作相同的标签,因此这里成功操作的数量仅可用作参考。
Operations Failed 2 嵌入命令操作失败的次数。由于在盘存期间可以多次操作相同的标签,因此这里的操作失败次数只能用作参考。
Embedded Command Data Returned N 嵌入命令成功运行返回的数据(如果0x28命令操作成功,它将返回读到的标签数据。如果不成功,则没有此字段)
  
注意:当盘存嵌入0x28命令成功执行时,0x29命令可用于获取存储的标签信息。当盘存嵌入0x28命令时,读取标签存存储区的长度最多为32个字节。嵌入的0x28命令的格式可参考读标签数据章节。 盘存嵌入0x28命令的操作流程是每次盘存后对标签执行0x28命令,无论命令0x28的操作是否成功,都将保存标签的EPC,并在退出时返回。

举例

例子1

启用匹配过滤,匹配区域为EPC
  
Host to Reader
FF 0F 22 04 00 00 03 E8 00 00 00 00 00 00 00 78 08 66 DE C0
Header Data Length Command Code Option Search Flags Timeout Access Password Select Address Select data length Select data CRC
  
Reader to Host
FF 04 22 00 00 04 00 00 02 B7 6E
Header Data Length Command Code Status Code Option Search Flags Tag Found CRC
  
如果盘存到的标签数量超过255,则Tag Found的长度为4个字节,Search Flags的BIT 4设置为1.如果盘存了257个标签,则返回命令的格式如下。
FF 07 22 00 00 04 00 10 00 00 01 01   
Header Data Length Command Code Status Code Option Search Flags Tag Found CRC
  
例子2

不使用过滤匹配功能
    
Host to Reader
FF 05 22 00 00 00 00 C8        
Header Data Length Command Code Option Search Flags Timeout CRC
  
Reader to Host
FF 04 22 00 00 00 00 00 00   
Header Data Length Command Code Status Code Option Search Flags Tag Found CRC
  
例子3

不使用过滤匹配, 嵌入0x28命令,读取USER bank从块地址0开始的32个数据块。
   
Host to Reader
FF 11 22 00 00 04 03 E8 01 09 28
Header Data Length Command Code Option Search Flags Timeout Embedded Command Count Embedded Command Length Embedded Command Opcode
00 00 00 03 00 00 00 00 20    
Embedded Command Timeout Embedded Command Option Read MemBank Read Address Read Word Count CRC
 
注意:嵌入命令的Embedded Command Timeout和Embedded Command Option的值不起作用,均为0,整个命令的执行时间是Timeout指定的时间。
   
Reader to Host
FF 4A 22 00 00 00 00 04 24 01
Header Data Length Command Code Status Code Option Search Flags Tag Found Embedded Command Count
28 00 1C 00 29 00 00…………….00 00    
Embedded Command Opcode Operations Succeeded Operations Failed Data Read (64 bytes) CRC
  
注意:如果嵌入的0x28命令没有成功操作或根本没有盘存到标签,则返回的命令中不包Data Read字段。
   
例子4

使用标签匹配滤波,匹配区域是从TID bank的地址0x00开始的8位,匹配值是0xE2,并且盘存嵌入0x28命令,读取从RESERVED bank的地址0x02开始的2个块(即是读取访问密码)
   
Host to Reader
FF 1B 22 02 00 04 03 E8 22 22 11 11 00 00 00 00 08
Header Data Length Command Code Option Search Flags Timeout Access Password Select Data Address Select Data Length(
E2 01 09 28 00 00 00 00 00 00 00 02 02   
Select Data Embedded Command Count Embedded Command Length Embedded Command Opcode Embedded Command Timeout Embedded Command Option Read MemBank Read Address Read Word Count CRC
 
Reader to Host
FF 0E 22 00 00 02 00 04 1C 01
Header Data Length Command Code Status Code Option Search Flags Tag Found Embedded Command Count
28 00 01 00 2F 22 22 11 11    
Embedded Command Opcode Operations Succeeded Operations Failed Data Read CRC