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

您所在的位置:网站首页 rfid读写卡实验 超高频UHF RFID读写模块R200开发测试

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

2023-08-12 08:53| 来源: 网络整理| 查看: 265

超高频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-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 模块引脚

R200引脚

引脚功能VCC3.3v(支持5v)GND接地TTL_RXDUART 串口接收管脚TTL_TXDUART 串口发送管脚ANT天线,模块射频输出端GPIO默认高电平,读到标签输出低电平EN使能端NRST复位引脚ICE_DATMCU 烧录管脚ICE_CLKMCU 烧录管脚 三.R200-C50 开发板

R200-C50 R200-C50 开发板由R200读写模块和RTC-50天线组成,两者必须配套一起,不带天线R200是搜索不了标签的。 1.R200读写模块 R200 2.RTC-50天线线圈 天线 在R200固定发射功率(默认26dbm)情况下天线线圈决定R200读写RFID标签的最大范围,本文的线圈能识别读取2米内的RFID标签。

四.RFID电子标签

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

4.1 PVC白卡

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

4.2 超高频UHF纸质电子标签

纸质电子标签 纸质电子标签只有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张卡 群读卡号

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

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



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3