超高频RFID模块
1.应用开发有两种方法:串口和USB
2.从逻辑上将标签存储器分为四个存储区,每个存储区可以由一个或一个以上的存储器字组成。这四个存储区是:
00 保留区(Password):前两个字是销毁(kill)密码,后两个字是访问(access)密码。可读可写。
01 EPC 区(EPC):存EPC号的区域,本读写器规定最大能存放15字EPC号。可读可写。
10 TID 区(TID):存由标签生产厂商设定的 ID 号,目前有4字和8字两种ID 号。可读,不可写。
11 用户区(User):不同厂商该区不一样。Inpinj 公司的 G2 标签没有用户区。Philips 公司有28字。可读可写。
四个存储区均可写保护。写保护意味着该区永不可写或在非安全状态下不可写;读保护只有密码区可设置为读保护,即不可读。
3. 固件指令
3.1指令帧格式
固件指令由帧头、帧类型、指令代码、指令数据长度、指令参数、校验码和帧尾组成,均为十六进制表示。
3.2指令帧类型
0x00 命令帧: 由上位机发送给JRM20X0模块
0x01 响应帧: 由JRM20X0模块发回给上位机
0x02 通知帧: 由JRM20X0模块发回给上位机
每一条指令帧都有对应的响应帧。响应帧表示指令是否已经被执行了。单次轮询指令和多次轮询指令还有相应的通知帧。发送通知帧的个数是由读写器模块内部的MCU根据读取的情况,自主的发给 上位机。当读写器读到一个标签就发一个通知帧,而当读写器读到多个标签就发多个通知帧。
4.固件指令定义
4.1. 获取读写器模块信息
aa(帧头)00(帧类型)03(指令代码)0001(指令参数长度)00(参数)04(校验位)8E(结束标志) //获取模块的硬件版本
4.1.2. 响应帧定义
aa(帧头)01(帧类型)03(指令代码)000B(指令参数长度)00(参数,硬件版本信息)4A524D3230323020323064426D2056312E32(硬件版本)04(校验位)8E(结束标志) //获取模块的硬件版本
4.2. 单次轮询指令
4.2.1. 命令帧定义
完成一次 EPC Class1 Gen2 协议中轮询 Inventory 操作。该指令中不包含 Select 操作。每次轮询指令执行前 后都会自动打开和关闭功放。单次轮询 Inventory 指令中,Query 操作参数由另外一条指令来配置,固件中已 经有初始值。单次轮询 Inventory 指令如下:
aa(帧头)00(帧类型)03(指令代码)0000(指令参数长度)04(校验位)8E(结束标志) //单次轮询指令
4.2.2. 通知帧定义
读写器模块接收到单次轮询指令后,如果能够读到 CRC 校验正确的标签,读写器模块 MCU 将返回包含 (接收的信号强度)RSSI、PC、EPC和 CRC 的数据。读到一个标签 EPC 就返回一条指令响应,读到多个标签则返回多条指令响应。如下:
AA(帧头)02(帧类型)22(指令代码)0011(指令参数长度)C9(RSSI)34(PC)00(PC)0x30751FEB705C5904E3D50D70(EPC)4A78(CRC)EF(校验位Checksum)8E(结束标志)
4.3.3. 响应帧定义
如果没有收到标签返回或者返回数据 CRC 校验错误,将返回错误代码 0x15,如下:
AA(帧头)01(帧类型)FF(指令代码)0001(指令参数长度)15(指令参数 Parameter:)16(校验位 Checksum:)8E(结束标志)
4.4. 停止多次轮询指令
4.4.1. 命令帧定义
在读写器模块内部 MCU 进行多次轮询 Inventory 操作的过程中,可以立即停止多次轮询操作,非暂停多次轮询操作, 指令如下:
AA(帧头)00(帧类型)28(进行多次轮询指令)0000(指令参数长度)28(校验位)8E(结束标志位)
4.4.2. 响应帧定义
如果停止多次轮询指令成功执行,固件则返回响应如下:
AA(帧头)01(帧类型)28(进行多次轮询指令)0001(指令参数长度)00(指令参数)2A(校验位)8E(结束标志位)
4.5. 设置 Select 参数指令
4.5.1. 命令帧定义
设置 Select 参数,并且同时设置 Select 模式为 0x02。在对标签除轮询操作之前,先发送Select 指令。在多 标签的情况下,可以根据 Select 参数只对特定标签进行轮询和读写等操作。例如:
AA(帧头)00(帧类型)0C(命令帧定义指令)0013(指令参数长度)01(指令参数:存储区选择)00000020(指令参数:存储位开始地址)60(指令参数:Mask 长度 MaskLen)00(指令参数:是否 Truncate)30751FEB705C5904E3D50D70(Mask)AD(校验位)8E(结束标志位)
SelParam 共 1 个 Byte,其中 Target 占最高 3 个 bits,Action 占中间 3 个 bits,MemBank 占最后 2 个 bits。MemBank 含义如下:
2’b00: 标签 RFU 数据存储区
2’b01: 标签 EPC 数据存储区
2’b02: 标签 TID 数据存储区
2’b03: 标签 User 数据存储区
Target 和 Action 详细含义请参见 EPC Gen2 协议。
当 Select Mask 长度大于 80 bits(5 words),发送 Select 指令会先把场区内所有标签设置成Inventoried Flag 为 A, SL Flag 为~SL 的状态,然后再根据所选的 Action 进行操作。当 SelectMask 长度小于 80 bits(5 words) 的时候,不会预先将标签状态通过 Select 指令设置成Inventoried Flag 为 A,SL Flag 为~SL 的状态。
4.5.2. 响应帧定义
当成功设置了 Select 参数后,固件返回如下:
AA(帧头)01(帧类型)0C(命令帧定义指令)0001(指令参数长度)00(指令参数)0E(校验位)8E(结束标志位)
4.6. 设置 Select 模式
4.6.1. 命令帧定义
如果已经设置好了 Select 参数,执行该条指令,可以设置 Select 模式。例如,如果要取消Select 指令:
AA(帧头)00(帧类型)12(命令帧定义指令)0001(指令参数长度)01(指令参数)14(校验位)8E(结束标志位)
4.6.2. 响应帧定义
当成功设置了取消或者发送 Select 指令后,固件返回如下:
AA(帧头)01(帧类型)0C(命令帧定义指令)0001(指令参数长度)00(指令参数)0E(校验位)8E(结束标志位)
4.7. 读标签数据存储区
4.7.1. 命令帧定义指令
对单个标签,读取标签数据存储区 Memory Bank 中指定地址和长度的数据。读标签数据区地址偏移 SA 和读 取标签数据存储区长度 DL,他们的单位为 Word,即 2 个 Byte/16 个 Bit。这条指令之前应先设置 Select 参数, 以便选择指定的标签进行写标签数据区操作。如果 Access Password全为零,则不发送 Access 指令。
AA(帧头)00(帧类型)39(命令帧定义指令)0009(指令参数长度)0000FFFF(访问密码)03(标签数据存储区)0000(读标签数据区地址偏移)0002(读标签数据区地址长度)45(校验位)8E(结束标志位)
4.7.2. 响应帧定义
读到指定标签存储区数据后,并且 CRC 校验正确,会返回如下:
AA(帧头)01(帧类型)39(命令帧定义指令)0013(指令参数长度)0E(操作的标签 PC+EPC 长度 UL)3400(操作的标签PC)30751FEB705C5904E3D50D70(操作的标签EPC)12345678(返回数据)B0(校验位)8E(结束标志位)
如果该标签没有在场区或者指定的 EPC 代码不对,会返回错误代码 0x09,如下:
AA(帧头)01(帧类型)FF(命令帧定义指令:不存在)0001(命令参数长度)09(参数)0A(校验)8E(结束标志)
如果 Access Password 不正确,则返回错误代码 0x16,并会返回所操作的标签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(Access Password 不正确)0010(参数长度)16(指令参数Error Code)0E(PC+EPC长度)3400(PC)30751FEB705C5904E3D50D70(EPC)75(校验位)8E(结束标志)
如果操作标签返回了 EPC Gen2 协议规定的错误代码(error codes),因为 EPC Gen2 规定的 error codes 只有 低 4 位有效,响应帧会将标签返回的错误代码或上 0xA0 之后再返回。 比如如果发送指令参数中地址偏移或者数据长度不正确,读取数据长度超过标签数据存储区长度,按照 EPC Gen2 协议,标签会返回 error code 0x03(存储区超出,Memory Overrun)。响应帧则返回错误代码 0xA3,并 返回所操作标签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(指令代码)0010(指令参数长度)A3(指令参数Error Code)0E(PC+EPC)3400(PC)30751FEB705C5904E3D50D70(EPC)02(校验位)8E(结束标志)
4.8. 写标签数据存储区
4.8.1. 命令帧定义
对单个标签,写入标签数据存储区 Memory Bank 中指定地址和长度的数据。标签数据区地址偏移SA 和要写 入的标签数据长度 DL,他们的单位为 Word,即 2 个 Byte/16 个 Bit。这条指令之前应先设置 Select 参数,以 便选择指定的标签进行写标签数据区操作。如果 Access Password 全为零,则不发送 Access 指令。写入标签数据存储区的数据长度 DT 应不超过 32 个 word,即 64Byte 字节/512Bit 位。
AA(帧头)00(帧类型)49(指令代码 Command)000D(指令参数长度)0000FFFF(Access Password)03(标签数据存储区 MemBank)0000(标签数据区地址偏移)0002(数据长度DL)12345678(写入数据DT)6D(校验位)8E(结束标志)
4.8.2. 响应帧定义
将数据写入标签数据存储区后,如果读写器模块接收到标签返回值正确,则响应帧如下:
AA(帧头)01(帧类型)49(指令代码 Command)0010(指令参数长度)0E(PC+EPC 长度 UL)3400(PC)30751FEB705C5904E3D50D70(EPC)00(指令参数)A9(校验位)8E(结束标志)
如果该标签没有在场区或者指定的 EPC 代码不对,会返回错误代码 0x10,如下:
AA(帧头)01(帧类型)FF(指令代码 Command)0001(指令代吗参数长度)10(指令参数)0A(校验码)8E(结束标志)
如果 Access Password 不正确,则返回错误代码 0x16,并会返回所操作的标签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(指令代码:Command)0010(指令代吗参数长度PL)16(指令参数 Error Code)0E(PC+EPC长度UL)3400(PC)30751FEB705C5904E3D50D70(EPC)75(校验位)8E(结束标志)
如果操作标签返回了 EPC Gen2 协议规定的错误代码(error codes),响应帧会将标签返回的错误代码或上0xB0 之后再返回。 比如如果发送指令参数中地址偏移或者数据长度不正确,写入数据长度超过标签数据存储区长度,按照 EPC Gen2 协议,标签会返回 error code 0x03(存储区超出,Memory Overrun)。则响应帧返回错误代码 0xB3,并 返回所操作标签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(指令代码:Command)0010(指令代吗参数长度PL)B3(指令参数)0E(PC+EPC长度UL)3400(PC)30751FEB705C5904E3D50D70(EPC)12(校验位)8E(结束标志)
4.9. 锁定 Lock 标签数据存储区
4.9.1. 命令帧定义
对单个标签,锁定 Lock 或者解锁 Unlock 该标签的数据存储区。这条指令之前应先设置 Select 参数,以便选 择指定的标签进行锁定 Lock 操作。例如要锁定 Access Password,则指令如下:
AA(帧头)00(帧类型)82(指令代码:Command)0007(指令代吗参数长度PL)0000FFFF(Access Password)020080(Lock 操作数 LD)09(校验位)8E(结束标志)
Lock 操作参数 LD 的高 4 位是保留位,剩下的 20 为是 Lock 操作 Payload,包括 Mask 和Action,从高到低 依次各 10 位。详细含义请参见 EPC Gen2 协议 1.2.0 版 6.3.2.11.3.5 节。Mask 是一个掩膜,只有 Mask 位为 1 的 Action 才有效。每个数据区的 Action 有 2 bits,00~11,依次对应为 开放,永久开放,锁定,永久锁定。比如 Kill Mask 为 2bits 00,则不管 Kill Action 是什么, Kill Action 都不会生效。当 Kill Mask 为 2bits10, Kill Action 为 2bits 10,代表 Kill Password 被 Lock(非 Perma Lock)住了,只有通过有效的Access Password 才能被读 写。Mask 和 Action 每一位的含义如下表表示。
4.9.2. 响应帧定义
如果 Lock 指令执行正确,标签的返回有效,则响应帧为:
AA(帧头)01(帧类型)82(指令代码:Command)0010(指令代吗参数长度PL)0E(PC+EPC 长度 UL)3400(PC)30751FEB705C5904E3D50D70(EPC)00(指令参数)E2(校验位)8E(结束标志)
如果该标签没有在场区或者指定的 EPC 代码不对,会返回错误代码 0x13,如下:
AA(帧头)01(帧类型)FF(指令代码)0001(指令代吗参数长度PL)13(指令参数)14(校验位)8E(结束标志)
如果 Access Password 不正确,则返回错误代码 0x16,并会返回所操作的标签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(指令代码)0010(指令代吗参数长度PL)16(指令参数)3400(PC)30751FEB705C5904E3D50D70(EPC)75(校验位)8E(结束标志)
如果操作标签返回了 EPC Gen2 协议规定的错误代码(error codes),响应帧会将标签返回的错误代码或上0xC0 之后再返回。比如如果标签 TID 区已经被永久锁定了,然后通过 Lock 指令设置 TID 区为开放状态,按照 EPCGen2 协议, 标签会返回 error code 0x04(存储区锁定,Memory Locked)。则响应帧返回错误代码 0xC4,并返回所操作标 签的 PC+EPC,如下:
AA(帧头)01(帧类型)FF(指令代码)0010(指令代吗参数长度PL)C4(指令参数)3400(PC)30751FEB705C5904E3D50D70(EPC)23(校验位)8E(结束标志)
4.10. 灭活 Kill 标签
这条指令之前应先设置 Select 参数,以便选择指定的标签进行灭活 Kill 操作。对单标签的灭活操作。
AA(帧头)00(帧类型)65(指令代码)0004(指令代吗参数长度PL)00FF(指令参数)67(校验位)8E(结束标志)
4.10.2.响应帧定义
如果 Kill 指令执行正确,标签的返回 CRC 正确,则响应帧为:
AA(帧头)01(帧类型)65(指令代码)0010(指令代吗参数长度PL)0E(PC+EPC 长度 UL)3400(PC)30751FEB705C5904E3D50D70(EPC)00(指令参数:执行参数)C5(校验位)8E(结束标志)
如果该标签没有在场区或者指定的 EPC 代码不对,会返回错误代码 0x12,如下:
AA(帧头)01(帧类型)FF(指令代码)0001(指令代吗参数长度PL)12(指令参数)13(校验位)8E(结束标志)
如果操作标签返回了 EPC Gen2 协议规定的错误代码(error codes),响应帧会将标签返回的错误代码或上0xD0 之后再返回。注意: 标签如果没有设置过 Kill Password 密码,即 Kill Password 密码全为 0,按照 Gen2 协议,标签不会被Kill。这时返回错误代码 0xD0, 如下:
AA(帧头)01(帧类型)FF(指令代码)0010(指令代吗参数长度PL)D0(指令参数)0E(PC+EPC 长度 UL)3400(PC)30751FEB705C5904E3D50D70(EPC)2F(校验位)8E(结束标志)
4.11. 获取 Query 参数
4.11.1.命令帧定义
获取固件中 Query 命令相关参数。指令如下:
AA(帧头)00(帧类型)0D(指令代码)0000(指令代吗参数长度PL)0D(校验位)8E(结束标志)
4.11.2.响应帧定义
如果设置 Query 参数指令执行正确,则响应帧为:
AA(帧头)01(帧类型)0D(指令代码)0002(指令代吗参数长度PL)1020(Query Parameter)0D(校验位)8E(结束标志)
参数为 2 字节,有下面的具体参数按位拼接而成。上述响应帧对应的 Query 参数为:
DR=8, M=1, TRext=Use pilot tone, Sel=00, Session=00, Target=A, Q=4
其中:
DR(1 bit):
DR=8(1’b0), DR=64/3(1’b1). 只支持 DR=8 的模式
M(2 bit):
M=1(2’b00), M=2(2’b01), M=4(2’b10), M=8(2’b11). 只支持 M=1的模式 TRext(1 bit):
No pilot tone(1’b0), Use pilot tone(1’b1). 只支持 Usepilot tone(1’b1)模式 Sel(2 bit): ALL(2’b00/2’b01), ~SL(2’b10), SL(2’b11)Session(2 bit): S0(2’b00), S1(2’b01), S2(2’b10),S3(2’b11) Target(1 bit): A(1’b0), B(1’b1)
Q(4 bit): 4’b0000-4’b1111
4.12. 设置 Query 参数
4.12.1.命令帧定义
设置 Query 命令中的相关参数。参数为 2 字节,有下面的具体参数按位拼接而成:
DR(1 bit): DR=8(1’b0), DR=64/3(1’b1). 只支持 DR=8 的模式
M(2 bit): M=1(2’b00), M=2(2’b01), M=4(2’b10), M=8(2’b11). 只支持 M=1 的模式
TRext(1 bit): No pilot tone(1’b0), Use pilot tone(1’b1). 只支持 Use pilot tone(1’b1)模式
Sel(2 bit): ALL(2’b00/2’b01), ~SL(2’b10),
SL(2’b11) Session(2 bit): S0(2’b00), S1(2’b01),
S2(2’b10), S3(2’b11) Target(1 bit): A(1’b0),B(1’b1)
Q(4 bit): 4’b0000-4’b1111
如果 DR=8, M=1, TRext=Use pilot tone, Sel=00, Session=00, Target=A, Q=4,则指令如下:
AA(帧头)00(帧类型)0E(指令代码)0002(指令代吗参数长度PL)1020(指令参数)C6(校验位)8E(结束标志)
4.12.2.响应帧定义
AA(帧头)01(帧类型)0E(指令代码)0001(指令代吗参数长度PL)00(指令参数)10(校验位)8E(结束标志)
4.13. 设置工作地区
AA(帧头)00(帧类型)07(指令代码)0001(指令代吗参数长度PL)01(地区)09(校验位)8E(结束标志)
不同国家地区代码如下表:
Region Parameter
中国 900MHz 01
中国 800MHz 04
美国 02
欧洲 03
韩国 06
4.13.2.响应帧定义
AA(帧头)01(帧类型)07(指令代码)0001(指令代吗参数长度PL)00(指令参数)09(校验位)8E(结束标志)
4.14. 设置工作信道
如果是中国 900MHz 频段,设置读写器工作信道 920.125MHz,如下:
AA(帧头)00(帧类型)AB(指令代码)0001(指令代吗参数长度PL)01(地区)AC(校验位)8E(结束标志)
中国 900MHz 信道参数计算公式,Freq_CH 为信道频率:
CH_Index = (Freq_CH-920.125M)/0.25M
中国 800MHz 信道参数计算公式,Freq_CH 为信道频率:
CH_Index = (Freq_CH-840.125M)/0.25M
美国信道参数计算公式,Freq_CH 为信道频率:
CH_Index = (Freq_CH-902.25M)/0.5M
欧洲信道参数计算公式,Freq_CH 为信道频率:
CH_Index = (Freq_CH-865.1M)/0.2M
韩国信道参数计算公式,Freq_CH 为信道频率:
CH_Index = (Freq_CH-917.1M)/0.2M
4.14.2.响应帧定义
如果信道设置执行正确,则响应帧为:
AA(帧头)01(帧类型)AB(指令代码)0001(指令代吗参数长度PL)00(指令参数)AD(校验位)8E(结束标志)
4.15. 获取工作信道
4.15.1.命令帧定义
在当前的读写器工作地区,获取读写器工作信道,如下:
AA(帧头)00(帧类型)AB(指令代码)0000(指令代吗参数长度PL)AA(校验位)8E(结束标志)
4.15.2.响应帧定义
AA(帧头)00(帧类型)AB(指令代码)0001(指令代吗参数长度PL)00(指令参数)AC(校验位)8E(结束标志)
中国 900MHz 信道参数计算公式,Freq_CH 为信道频率:
Freq_CH = CH_Index * 0.25M + 920.125M
中国 800MHz 信道参数计算公式,Freq_CH 为信道频率:
Freq_CH = CH_Index * 0.25M + 840.125M
美国信道参数计算公式,Freq_CH 为信道频率:
Freq_CH = CH_Index * 0.5M + 902.25M
欧洲信道参数计算公式,Freq_CH 为信道频率:
Freq_CH = CH_Index * 0.2M + 865.1M
韩国信道参数计算公式,Freq_CH 为信道频率:
Freq_CH = CH_Index * 0.2M + 917.1M
4.16. 设置自动跳频
4.16.1.命令帧定义
设置为自动跳频模式或者取消自动跳频模式,如下:
AA(帧头)00(帧类型)AD(指令代码)0001(指令代吗参数长度PL)FF(指令参数)AA(校验位)8E(结束标志)
4.16.2.响应帧定义
AA(帧头)01(帧类型)AD(指令代码)0001(指令代吗参数长度PL)00(指令参数)AF(校验位)8E(结束标志)
4.17. 获取发射功率
AA(帧头)00(帧类型)AD(指令代码)0000(指令代吗参数长度PL)AA(校验位)8E(结束标志)
4.17.2.响应帧定义
如果获取信道执行正确,则响应帧为:
AA(帧头)01(帧类型)B7(指令代码)0002(指令代吗参数长度PL)07D0(功率参数)91(校验位)8E(结束标志)
4.18. 设置发射功率
4.18.1.命令帧定义:
AA(帧头)01(帧类型)B6(指令代码)0001(指令代吗参数长度PL)00(功率参数)B8(校验位)8E(结束标志)
4.19. 设置发射连续载波
4.19.1.命令帧定义
设置发射连续载波或者关闭连续载波,如下:
AA(帧头)00(帧类型)B0(指令代码)0001(指令代吗参数长度PL)FF(FF为打开连续波,00为关闭连续波)B0(校验位)8E(结束标志)
4.19.2.响应帧定义
如果设置执行正确,则响应帧为:
AA(帧头)01(帧类型)B0(指令代码)0001(指令代吗参数长度PL)00(FF为打开连续波,00为关闭连续波)B2(校验位)8E(结束标志)
4.20. 获取接收解调器参数
4.20.1.命令帧定义
获取当前读写器接收解调器参数。解调器参数有 Mixer 增益,中频放大器 IF AMP 增益和信号解调阈值。例如:
AA(帧头)00(帧类型)F1(指令代码)0000(指令代吗参数长度PL)F1(校验位)8E(结束标志)
4.20.2.响应帧定义
如果获取信道执行正确,则响应帧为:
AA(帧头)01(帧类型)F1(指令代码)0004(指令代吗参数长度PL)03(混频器增益)06(中频放大器增益)01B0(信号解调阈值)BO(校验位)8E(结束标志)
信号解调阈值:信号解调阈值越小能解调的标签返回 RSSI 越低,但越不稳定,低于一定值完全不能解调;相反阈值越大能解调的标签返回信号 RSSI 越大,距离越近,越稳定。0x01B0 是推荐的最小值
混频器 Mixer 增益表
Type Mixer_G(dB)
0x00 0
0x01 3
0x02 6
0x03 9
0x04 12
0x05 15
0x06 16
中频放大器 IF AMP 增益表
Type IF_G(dB)
0x00 12
0x01 18
0x02 21
0x03 24
0x04 27
0x05 30
0x06 36
0x07 40
4.21. 设置接收解调器参数
4.21.1.命令帧定义
设置当前读写器接收解调器参数。解调器参数有 Mixer 增益,中频放大器 IF AMP 增益和信号解调阈值。例如:
AA(帧头)00(帧类型)F0(指令代码)0004(指令代吗参数长度PL)03(混频器增益)06(中频放大器增益)01B0(信号解调阈值)AE(校验位)8E(结束标志)
4.21.2.响应帧定义
如果获取信道执行正确,则响应帧为:
AA(帧头)01(帧类型)F0(指令代码)0001(指令代吗参数长度PL)00(指令参数)F2(校验位)8E(结束标志)
4.22. 测试射频输入端阻塞信号
4.22.1.命令帧定义
测试射频输入端阻塞信号 Scan Jammer,用于检测读写器天线在当前地区每个信道的阻塞信号大小。例如:
AA(帧头)00(帧类型)F2(指令代码)0000(指令代吗参数长度PL)F2(校验位)8E(结束标志)
4.22.2.响应帧定义
如果在中国 900MHz 频段下,一共 20 个信道,测试射频输入端阻塞信号 Scan Jammer 道执行正确,则响应 帧为:
AA(帧头)01(帧类型)F2(指令代码)0016(指令代吗参数长度PL)00(测试起始信道)13(测试结束信道)F2F1F0EFECEAE8EAECEEF0F1F5F5F5F6F5F5F5F5(信道阻塞信号)DD(校验位)8E(结束标志)
4.23. 测试信道 RSSI
AA(帧头)00(帧类型)F3(指令代码)0000(指令代吗参数长度PL)F3(校验位)8E(结束标志)
4.23.2.响应帧定义
AA(帧头)01(帧类型)F3(指令代码)0016(指令代吗参数长度PL)00(测试起始信道)13(测试结束信道)BABABABABABABABABABABABABABABABABABABABA(信道阻塞信号)DD(校验位)8E(结束标志)
4.24. 控制 IO 端口
4.24.1.命令帧定义
AA(帧头)00(帧类型)1A(指令代码)0003(指令代吗参数长度PL)000401(指令参数0x00 0x04 0x01)22(校验位)8E(结束标志)
参数说明:
编号 描述 长度 说明
0 参数0 1 byte 0x00:设置IO 方向;
0x01:设置 IO 电平;
0x02:读取 IO 电平。
1 参数1 1 byte 参数值范围为 0x01~0x04,分别对应要操作的端口
2 参数1 1 byte Parameter0 Parameter2 描述(参数值为 0x00 或 0x01。)
0x00 0x00 IO 配置为输入模式
0x00 0x01 IO 配置为输出模式
0x01 0x00 设置 IO 输出为低电平
0x01 0x01 设置 IO 输出为高电平
4.24.2.响应帧定义
响应帧为:
AA(帧头)01(帧类型)1A(指令代码)0003(指令代吗参数长度PL)000401(指令参数0x00 0x04 0x01)23(校验位)8E(结束标志)
编号 描述 长度 说明
0 参数0 1 byte 0x00:设置IO 方向;
0x01:设置 IO 电平;
0x02:读取 IO 电平。
1 参数1 1 byte 参数值范围为 0x01~0x04,分别对应要操作的端口
2 参数1 1 byte Parameter0 Parameter2 描述(参数值为 0x00 或 0x01。)
0x00 0x00 表示 IO 配置失败
0x00 0x01 表示 IO 配置成功
0x01 0x00 表示设置 IO 输出失败
0x01 0x01 表示设置 IO 输出失败
0x02 0x00 表示对应端口为低电平
0x02 0x01 表示对应端口为高电平
4 . 25 NXP ReadProtect/Reset ReadProtect 指令
NXP G2X 标签支持 ReadProtect/Reset ReadProtect 指令。当标签执行 ReadProtect 指令成功,标签的 ProtectEPC and ProtectTID 位将会被设置为’1’,标签会进入到数据保护的状态。如果让标签从数据保护状态 回到正常状态,需要执行 Reset ReadProtect 指令。这条指令之前应先设置 Select 参数,以便选择指定的标 签进行操作。
4.25.1. 命令帧定义
ReadProtect/Reset ReadProtect 指令帧定义如下:
AA(帧头)00(帧类型)E1(指令代码)0005(指令代吗参数长度PL)0000FFFF00(指令参数0x00 0x04 0x01)22(校验位)8E(结束标志)
超高频RFID模块的更多相关文章
- 基于 Arduino 的 RFID 识别实验
http://www.it165.net/embed/html/201512/3287.html 2015年12月04日(周五) 上午 博士的智能卡实验--RFID识别实验,基于51单片机: 我们的 ...
- C# RFID windows 服务 串口方式
话说RFID以前很火所以整理一下一年前自己处理的RFID程序,放源码. 一开始觉得他是个很神奇的东西. 包含串口通讯和网络通讯. 由于网络通讯设备太贵,所以国内的设备基本上都是在外置一个比较便宜的模块 ...
- 【模块应用】MFRC522开发笔记
一.了解基本概念 ①ISO-14443A协议:( 国际标准化组织:International Organization for Standardization)RFID协议的一种; PICC:临近 ...
- rfid 门卡系统和人体红外感应开发
今天忙了一天了,因为毕昇杯我发现如果不加把劲,可能寒假之前代码搞不出了,今天突击了两个模块,一个人体感应模块,和rfid刷卡模块,这两个模块谈不上自己编写代码,今天的任务也仅仅是看懂了代码,现在我总结 ...
- 浅谈RFID电子标签封装技术
1RFID技术概述 1.1RFID技术概念 RFID是RadioFrequencyIdentification的缩写,即射频识别技术,俗称电子标签.RFID射频识别是一种非接触式的自动识别技术,它通过 ...
- 超市RFID结算系统项目进度与总结
超市RFID结算系统项目进度与总结 超市RFID结算系统本周末(明天演示),目前进度如下: 一.后台PHP端已经完成了大部分的工作,包括以下: 1.数据库的建立(目前只包括用户表.商品信息表.购物车表 ...
- RC 522模块在LINUX平台调试笔记
硬件平台: 1 主控:SMDK Exynos4412 POP S5M8767A 2 RFID模块:君盾集团提供的RC522模块 3 通信接口:SPI 软件平台:Android ICS & ke ...
- Linux下读取RFID卡号(C串口编程)
由于项目需要用到RFID.GPRS.摄像头等模块所以便看了一下,整理了一下学习思路,本篇先是整理一下串口读取RFID卡号的程序思路,后面还会更其他的 RFID模块: 本次采用的是125K的RFID读卡 ...
- 浅谈NFC、RFID、红外、蓝牙的区别
很多朋友对NFC和RFID这两个词感到陌生,但是手机经常会出现支持NFC支付,又没太在意,NFC与RFID其实是手机支付的种方式(手机支付也被称作移动支付,是一种允许移动用户使用其移动终端对所消费的商 ...
随机推荐
- 用LSTM生成武侠人名
http://magicly.me/2017/04/07/rnn-lstm-generate-name/?utm_source=tuicool&utm_medium=referral 之前翻译 ...
- 数据挖掘中 决策树算法实现——Bash
数据挖掘中 决策树算法实现——Bash 博客分类: 数据挖掘 决策树 bash 非递归实现 标准信息熵 数据挖掘决策树bash非递归实现标准信息熵 一.决策树简介: 关于决策树,几乎是数据挖掘分类算法 ...
- Android短信收到,语音播报
发送短信功能界面 /** * 发送短信Demo * * @description: * @author ldm * @date 2016-4-22 上午9:07:53 */ public class ...
- mongodb最大连接数、最大连接数修改
mongodb最大连接数是20000. 所以业界流传一段话,千万级以下的用mysql.千万级以上的用mongodb,亿级以上的用hadoop. 查看mongodb最大连接数 mongodb ...
- 命令行下的html转pdf工具wkhtmltopdf
基于webkit和qt的html转pdf的命令行工具,非常好使 http://code.google.com/p/wkhtmltopdf/ http://www.cnblogs.com/shanyou ...
- 浅谈压缩感知(十六):感知矩阵之RIP
在压缩感知中,总是看到"矩阵满足RIP"之类的字眼,没错,这是一个压缩感知绕不开的术语,有限等距性质(Restricted Isometry Property, RIP). 注意: ...
- logistic回归具体解释(二):损失函数(cost function)具体解释
有监督学习 机器学习分为有监督学习,无监督学习,半监督学习.强化学习.对于逻辑回归来说,就是一种典型的有监督学习. 既然是有监督学习,训练集自然能够用例如以下方式表述: {(x1,y1),(x2,y2 ...
- Android Volley 库的使用
本文内容 什么是 Volley 库 Volley 能做什么 Volley 架构 环境 演示 Volley 库的使用 参考资料 Android 关于网络操作一般都会介绍 HttpClient 以及 Ht ...
- 阿里云构建Kafka单机集群环境
简介 在一台ECS阿里云服务器上构建Kafa单个集群环境需要如下的几个步骤: 服务器环境 JDK的安装 ZooKeeper的安装 Kafka的安装 1. 服务器环境 CPU: 1核 内存: 2048 ...
- iOS 中基础字符判断函数收集(如判断大小写、数字等)
函数:isdigit 用法:#include 功能:判断字符c是否为数字 说明:当c为数字0-9时,返回非零值,否则返回零. 函数:islower 用法:#include 功能:判断字符c是否为小写英 ...