天天看点

超高频UHF RFID读写模块R200开发测试概述

超高频UHF RFID读写模块R200开发测试

  • 概述
    • 一.使用模块
    • 二.UHF-R200 模块简述
      • 2.1 模块参数
      • 2.2 模块引脚
    • 三.R200-C50 开发板
    • 四.RFID电子标签
      • 4.1 PVC白卡
      • 4.2 超高频UHF纸质电子标签
    • 五.串口指令控制R200收发数据
      • 5.1 单次读取卡号
      • 5.2 群读卡号
      • 5.3 结束群读
      • 5.4 Read读卡内容
      • 5.5 Write写入内容
      • 5.6 设置发射功率
    • 六.搜索2张卡 群读卡号

概述

本文主要是测试R200–C50开发板对RFID标签的读写效果,识别距离以及在多个RFID标签下的识别效果

一.使用模块

1.超高频R200读写模块;

2.RTC-50天线;

3.R200-C50开发板(26dbm);

4.超高频PVC白卡;

5.超高频UHC纸质电子标签

二.UHF-R200 模块简述

2.1 模块参数

超高频UHF RFID读写模块R200开发测试概述

UHF-R200 是一款超高频读写模块,体积小,功耗低,最大功率为28dbm,并且功率可调;主要用于典型读距离在 0-30m 以内的应用。该芯片具有低功耗,小尺寸、远距 离的特征,是低成本 RFID 系统的优良解决方案。

模块特点 具体说明
工作电压 3~5 V(建议3.3v)
工作频段 840Mhz – 960Mhz
输出功率 5~28dBm,1dbm 递进,功率可调
适用距离 0-30 米,匹配不同增益天线有不同距离效果
波特率 115200 bps
通讯接口 TTL Uart 接口
模块地址 模块具有唯一物理 ID
支持协议 EPCglobal UHF Class 1 Gen 2 /ISO 18000-6C 标准协议

2.2 模块引脚

超高频UHF RFID读写模块R200开发测试概述
引脚 功能
VCC 3.3v(支持5v)
GND 接地
TTL_RXD UART 串口接收管脚
TTL_TXD UART 串口发送管脚
ANT 天线,模块射频输出端
GPIO 默认高电平,读到标签输出低电平
EN 使能端
NRST 复位引脚
ICE_DAT MCU 烧录管脚
ICE_CLK MCU 烧录管脚

三.R200-C50 开发板

超高频UHF RFID读写模块R200开发测试概述

R200-C50 开发板由R200读写模块和RTC-50天线组成,两者必须配套一起,不带天线R200是搜索不了标签的。

1.R200读写模块

超高频UHF RFID读写模块R200开发测试概述

2.RTC-50天线线圈

超高频UHF RFID读写模块R200开发测试概述

在R200固定发射功率(默认26dbm)情况下天线线圈决定R200读写RFID标签的最大范围,本文的线圈能识别读取2米内的RFID标签。

四.RFID电子标签

本文用的RFID标签都是UHF超高频电子标签,840MHz~960MHz的

4.1 PVC白卡

超高频UHF RFID读写模块R200开发测试概述

一般的电子标签有4个存储区:RFU,USR,EPC以及TID四个数据存储区,而PVC白卡只有EPC存储区,宽度为12个字节,一般存了卡号,就用不了别的地方了。

4.2 超高频UHF纸质电子标签

超高频UHF RFID读写模块R200开发测试概述

纸质电子标签只有USR和EPC两个存储区,EPC用于存储12字节卡号,USR存储区可存最大64字节数据,一般利用用户存储区来放需要处理的数据。

五.串口指令控制R200收发数据

5.1 单次读取卡号

Send:BB 00 22 00 00 22 7E

如果读到卡,模块回复:

BB 02 22 00 11 DC 30 00 00 00 00 00 00 00 00 00 00 00 00 00 0D AD FB 7E

BB 02 22 :是包识别符,长度3个字节;

00 11 :是包长度,16进制,0x11表示 17个字节,长度2个字节;

DC:

30 00:PC

00 00 00 00 00 00 00 00 00 00 00 00 00:卡号(EPC),可修改,占12个字节(通过修改EPC来改卡号)

0D AD:卡号的CRC

FB:Checksum;

7E;结束符;

如果读不到卡,或者无卡,模块回复:

BB 01 FF 00 01 15 16 7E

一共8个字节;

5.2 群读卡号

Send:BB 00 27 00 03 22 FF FF 4A 7E

BB 00 27 :帧标志,3个字节;

00 03:数据长度,2个字节;0003表示3个字节;

22:保留字节;

FF FF : 读取次数,连续读取65535次;如果连续读取100次,填入00 64;

4A:Checksum,00 27 00 03 22 FF FF 每个字节都累加起来,得到0x024A;支取低8位 4A;

7E:结束符

Recv: BB 01 FF 00 01 15 16 7E

BB 01 FF 00 01 15 16 7E

.

.

.

BB 02 22 00 11 C8 34 00 E2 00 10 71 00 00 52 9B 09 40 B4 02 16 3D D3 7E

BB 01 FF 00 01 15 16 7E

BB 02 22 00 11 C9 34 00 E2 00 10 71 00 00 52 9B 09 40 B4 02 16 3D D4 7E

BB 02 22 00 11 C0 34 00 E2 00 10 71 00 00 52 9B 09 40 B4 02 16 3D CB 7E

BB 01 FF 00 01 15 16 7E

发出连读读取帧后,会联续的接收到收到两种类型的包。

BB 01 FF 00 01 15 16 7E

这是其中一种,表示读取失败;

BB 02 22 00 11 C0 34 00 E2 00 10 71 00 00 52 9B 09 40 B4 02 16 3D CB 7E

这是另外一种,表示读到卡号:

具体格式与单次读取卡号的回复包相同;

BB 02 22:帧标志,3个字节;

00 11:数据长度,11 表示16进制,实际为17个字节;

C0:信号强度;RSSI,一个字节;

34 00:PC,2个字节;

E2 00 10 71 00 00 52 9B 09 40 B4 02:卡号,12个字节;

16 3D :CRC2个字节;

CB:Checksum,02 ~ 16 3D 累加,取低8位;

7E:结束符;

5.3 结束群读

Send: BB 00 28 00 00 28 7E

由于群读次数多时,操作时间会很长,客户可以发送该指令结束群读指令;

Recv: BB 01 28 00 01 00 2A 7E

模块执行结束群读指令的回复。

5.4 Read读卡内容

Send :BB 00 0C 00 07 23 00 00 00 00 60 00 96 7E (选择命令)

BB 00 39 00 09 00 00 00 00 03 00 00 00 04 49 7E (读命令)

其实是发送了两包数据,第一包是Select Set;第二包是写入包。Select Set的详细信息请参考上面Select Set的帧解析;下面介绍读取包:

BB 00 39 :是包识别符,长度3个字节;

00 09 :是包长度,16进制,0x09表示 9个字节,长度2个字节;

00 00 00 00:是访问密码(默认是00 00 00 00),长度4个字节;

03 : 表示选择用户存储区;

00 00 :表示读取的存储区的地址偏移量,00 00 指从0地址开始写入;

00 04 :表示去读的数据长度,00 04 表示写入4个字(8个字节);

49:Checksum,计算公式是,Checksum字节前面的所有字节,除了第一个字节BB外,每个字节的累加,结果只取低8位;

比如:00 39 00 09 00 00 00 00 03 00 00 00 04 累加的结果是:0x49,所以 Checksum就是0x49;

7E :结束字符;

Recv:BB 01 0C 00 01 00 0E 7E

BB 01 39 00 17 0E 34 00 E2 00 00 16 55 11 02 06 03 90 EA AF 01 02 03 04 05 06 07 08 49 7E

读取成功会接收到其实是2包,第一包是Select Set 的响应包;第二包是读取成功的响应包:

BB 01 39 :是包识别符,表示读取成功,长度3个字节;

00 17 :是包长度,16进制,0x17表示 23个字节,长度2个字节;

0E :PC+卡号的长度,16进制,0x0E表示 14个字节,长度1个字节;

34 00: 是PC值,这里不作解析,可以不处理;

E2 00 ~ EA AF :是成功写入的卡号,一共12个字节;

01 02 03 04 05 06 07 08 : 是读取的具体数据,一共8个字节。

49: Checksum;

7E:结束符;

读取失败会收到:

BB 01 0C 00 01 00 0E 7E

BB 01 FF 00 10 09 0E 34 00 E2 00 10 71 00 00 52 9B 09 40 B4 02 AA 7E

读取失败接收到其实是2包,第一包是Select Set 的响应包;第二包是读取失败的响应包:

BB 01 FF :是包识别符,表示出错,长度3个字节;

00 10 :是包长度,16进制,0x10表示 16个字节,长度2个字节;

09: 错误码: 0x09表示没找到卡;

0x16表示 访问密码错误;

0xA3表示超出读写范围;

5.5 Write写入内容

写入标签数据存储区的数据长度 DT 应不超过 32 个 word,即 64Byte 字节

Send:BB 00 0C 00 07 23 00 00 00 00 60 00 96 7E (选择命令)

BB 00 49 00 11 00 00 00 00 03 00 00 00 04 01 02 03 04 05 06 07 08 85 7E (写命令)

其实是发送了两包数据,第一包是Select Set;第二包是写入包。Select Set的详细信息请参考上面Select Set的帧解析;下面介绍写入包:

BB 00 49 :是包识别符,长度3个字节;

00 11 :是包长度,16进制,0x11表示 17个字节,长度2个字节;

00 00 00 00:是访问密码(默认是00 00 00 00),长度4个字节;

03 : 表示选择用户存储区;

00 00 :表示写入的存储区的地址偏移量,00 00 指从0地址开始写入;

00 04 :表示写入的数据长度,00 04 表示写入4个字(8个字节);

01 02 03 04 05 06 07 08 :是写入的数据;

85:Checksum,计算公式是,Checksum 字节前面的所有字节,除了第一个字节BB外,每个字节的累加,结果只取低8位;

比如:00 49 00 11 00 00 00 00 03 00 00 00 04 01 02 03 04 05 06 07 08 累加的结果是:0x85,所以 Checksum就是85;

7E :结束字符;

Recv:写入成功会收到:

BB 01 0C 00 01 00 0E 7E

BB 01 49 00 10 0E 34 00 E2 00 00 16 55 11 02 06 03 90 EA AF 00 2E 7E

写入成功会接收到其实是2包,第一包是Select Set 的响应包;第二包是写入的响应包:

BB 01 49 :是包识别符,表示写入成功,长度3个字节;

00 10 :是包长度,16进制,0x10表示 16个字节,长度2个字节;

0E :PC+卡号的长度,16进制,0x0E表示 14个字节,长度1个字节;

34 00: 是PC值,这里不作解析,可以不处理;

E2 00 ~ EA AF :是成功写入的卡号,一共12个字节;

00 : 表示操作成功;

2E : Checksum;

7E:结束符;

写入失败会接收到:
  BB 01 0C 00 01 00 0E 7E
  BB 01 FF 00 10 10 0E 34 00 E2 00 00 16 55 11 02 06 03 90 EA AF F4 7E 
  写入失败接收到其实是2包,第一包是Select Set 的响应包;第二包是写入的响应包:
  BB 01 FF :是包识别符,表示出错,长度3个字节;
  00 10 :是包长度,16进制,0x10表示 16个字节,长度2个字节;
  10: 错误码: 0x10表示没找到卡;
       0x16表示 访问密码错误;
       0xB3表示超出读写范围;
           

5.6 设置发射功率

Send:

BB 00 B6 00 02 04 E2 9E 7E ;设置发射功率为18.5/12.5dBm(R200功率/R200 Lite功率); (0.6m)

BB 00 B6 00 02 05 78 35 7E ;设置发射功率为20/14dBm; (0.8m)

BB 00 B6 00 02 06 0E CC 7E ;设置发射功率为21.5/15.5dBm; (0.9m)

BB 00 B6 00 02 06 A4 62 7E ;设置发射功率为23/17dBm; (1m)

BB 00 B6 00 02 07 3A F9 7E ;设置发射功率为24.5/18.5dBm; (1.15m)

BB 00 B6 00 02 07 D0 8F 7E ;设置发射功率为26/20dBm;(最大发射功率,也是默认设置) (2m)

以上的数据包,选择发送一条;

Recv:

BB 01 B6 00 01 00 B8 7E

发送设置任何发射功率,设置成功后,均回复该数据包。

## 五.串口指令控制R200收发数据

六.搜索2张卡 群读卡号

超高频UHF RFID读写模块R200开发测试概述
超高频UHF RFID读写模块R200开发测试概述

划红线的就是卡号,搜索到两种卡号,证明搜索到附近的两张RFID标签了

/纯属个人记录,侵权会删/