当前位置: 首页 > article >正文

深圳大学-智能网络与计算-实验一:RFID原理与读写操作

实验目的与要求

  1. 掌握超高频RFID标签的寻卡操作。
  2. 掌握超高频RFID标签的读写操作。
  3. 掌握超高频RFID标签多张卡读取时的防冲突机制。

方法,步骤

  1. 软硬件的连接与设置
  2. 超高频RFID寻卡操作
  3. 超高频RFID防冲突机制
  4. 超高频RFID读写卡操作

实验过程及内容

一.软硬件的连接与设置

(1) 从实验箱中取出超高频 RFID 读写器模块
在这里插入图片描述
(2) 跳线帽如下
在这里插入图片描述
(3) 用跳线帽将读写器模块的跳线跳至 USB 端
在这里插入图片描述
(4) 900MHz 超高频RFID读写器与 PC 端连线
使用 USB 线将超高频读写器模块与电脑连接后,模块上的 Power 指示灯会常亮,如图所示。说明超高频读写器模块功能正常;随后,将超高频 RFID 标签置于读写器上方一定距离,即可开始实验。
在这里插入图片描述
在这里插入图片描述

二.超高频RFID寻卡操作

(1) 打开 PC 端的 RFIDDemo 软件
在这里插入图片描述
(2) 在左侧边栏选择“超高频900M”模块,软件将自动设置串口号、波特率。打开串口,界面如下:
在这里插入图片描述
(3) 寻卡。将 900M 的超高频 RFID 标签放在射频识别模块上方。单击底部的“单次寻卡”,卡号信息就被读取出来,在“寻卡操作”区和 “数据读写”区的卡号框内显示。
在这里插入图片描述

三.超高频RFID防冲突机制

(1) 原理:如果在读写器附近同时出现几张卡,可以看到不同的卡号相继被读出。当需要获取其中某一张卡片的信息时,在右侧的卡号下拉框中选中要操作的卡号即可对卡片进行读写操作
(2) 将多张卡一起放在检测区域旁边,观察RFIDDemo软件读出来的结果,结果如下:
在这里插入图片描述
(3) 通过上述操作,我们可以发现:

  1. 超高频RFID读写器是可以同时读取多张900M电子标签的,具有防冲突机制。
  2. 寻卡操作读出的卡号是 EPC 存储器存储的电子产品代码(EPC 编码),共 12 字节,即 96bit-EPC。
    例如:上面读出的 900M 标签 EPC 编码为 E2 00 00 1D 71 13 01 34 24 00 66 13。
    E2(H)为标头;固定为 8bit,用于识别 EPC 的长度、类型、结构、版本号 ;
    00001D7(H)为厂商识别代码;固定为 28bit,识别公司或企业实体 ;
    113013(H)为对象分类代码,固定为 24bit;
    424006613(H)为序列号,固定为 36bit。

四.超高频RFID读写卡操作

1.各内存区数据读取操作
“卡号”下方是“内存区域”,有四个下拉选项,分别是 RFU、EPC、TID、USER。
在这里插入图片描述
其中,EPC、TID 区 是不可写入的。选择 EPC、TID 区时,最下方的写入按钮是无效的。如图所示
在这里插入图片描述
在这里插入图片描述
“内存区域”下方是“起始读取地址”,默认从 0 开始;读取以1个字(16bit)为单位长度,例如读取长度为4,则代表读4个字(64bit)的数据
(1) 选择内存区域为 RFU,单击“读取”按钮进行 RFU 数据读取,且 RFU 保留区数据读取要求“起 始读取地址”+“读取长度”不得大于4,否则会出现“重新输入起始读取地址和读取长度”的提示。因此,RFU区一次性能读取的最大存储空间为4个字。如图所示:
在这里插入图片描述
在这里插入图片描述
(2) 选择内存区域为 EPC。这里可以查看卡片的 EPC 号码。首先选择起始读取地址为0,读取长度为4,单击读取按钮,查看读取信息。
在这里插入图片描述
对上述数据进行分析:根据超高频 RFID 标签存储结构,我们可知,EPC存储区的第 1~2 字节为 CRC-16 校验,第3~4个字节是 PC 数据,第5~16字节为 EPC 编码号。因此,本张超高频 RFID 标签的 CRC-16校验是 AB 17,PC 为 34 00。可是EPC编码是12字节(96bit)的数据,这里只显示了E2 00 00 1D,共 4 个字节的数据,这是怎么回事呢?这是因为读取长度和读取地址造成的。
保持最大读取长度4不变,更改“起始读取地址”为4,继续读取EPC编码。
在这里插入图片描述
将上述两段数据进行拼接,即可得到完整的 EPC 存储区数据。是否可以继续读取呢?进行尝试,当起始读取地址填入5,读取长度为4时,就会出现如下错误提示(如下图所示)。这是因为起始读取地址+读取长度的值不得大于8造成的,现起始读取地址为5,读取长度为4,5+4>8,故出现错误提示。因此,EPC区一次性能读取的最大存储空间为8个字。
在这里插入图片描述
(3) 读TID区。TID码是不同标签之间的识别码,具有唯一性。
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
由上测试,我们可以发现,当起始读取地址填入8,读取长度为2时,出现了错误提示。这是因为 读取TID区数据时,要求“起始读取地址”+“读取长度”之和不得大于9,否则会出现“重新输入起始读取地址和读取长度”的提示。因此,TID区一次性能读取的最大存储空间为 9个字。
(4) 选择 UESR 内存区,单击读取。
在这里插入图片描述
当起始读取地址填入16,读取长度为5时,出现了错误提示。这是因为读取TID区数据时,要求“起始读取地址”+“读取长度”之和不得大于20,否则会出现“重新输入起始读取地址和读取长度”的提示。如下图所示,由此可知USER区一次性能读取的最大存储空间为20个字节。
在这里插入图片描述
2. 各内存区数据写入操作
根据实验手册指示,在USER区进行写入数据操作
(1) 在内存区域,选择“USER”
在这里插入图片描述
(2) 在最下方的写入栏,指定“起始写入地址”,“写入长度”为系统计算,单击“写入”按钮,写入信息。
在这里插入图片描述
出现写入成功提示
在这里插入图片描述
再单击读取,读取信息栏会显示写入后的数据
在这里插入图片描述
第二次写入信息。
在这里插入图片描述
出现写入成功提示
在这里插入图片描述
第二次读取到的内容
在这里插入图片描述
3. 其他设置
在RFIDDemo软件的左侧,还可以获取射频模块的一些数据并对其进行设置,如地区的设置、功率的设置以及 RF 频道的设置。
在这里插入图片描述

实验结论

1.工作原理:
RFID系统由读写器和标签组成。读写器通过发送射频信号与标签通信,标签接收射频信号并回复包含其识别信息的数据。RFID标签通常包括一个芯片和一个天线。当标签处于读写器的射频场内时,射频能量激活标签芯片,使其能够回复数据。
2.寻卡操作:
寻卡操作是读写器向周围环境发送射频信号,使得附近的RFID标签被激活并回复。读写器接收并解码标签回复的数据,识别特定标签的存在和位置。
3. 读写操作:
读写操作是指读写器向标签发送指令,要求标签回复其存储的数据。标签收到指令后,将存储的数据回复给读写器,读写器解码并显示或存储这些数据。
4. 防冲突机制:
在多张卡同时读取时,可能出现多个标签同时响应的问题,即冲突。RFID系统采用不同的防冲突机制来处理这种情况,如时间分割多址或碰撞检测算法,以确保每个标签都能被正确读取而不受干扰。

心得体会

在本次实验中,我接触并了解了RFID技术,我对其在物联网和智能化领域中的广泛应用有了更深刻的认识。RFID技术不仅可以用于物品追踪和管理,还可以在各行各业中提高工作效率、简化流程,并为数据采集和分析提供更多可能性。
例如在交通领域,RFID技术可用于电子收费、智能停车场管理、车辆识别等,提升交通运输效率,改善交通拥堵问题。
总的来说,RFID技术不仅在物联网领域有着广泛应用,还在各行各业中发挥着重要作用,为实现智能化、自动化和数字化提供了强有力的支持和基础。


http://www.kler.cn/a/517559.html

相关文章:

  • 【Git版本控制器--3】Git的远程操作
  • TCP 三次握手四次挥手
  • vulnhub靶场【kioptrix-3】靶机
  • RabbitMQ 多种安装模式
  • vim如何显示行号
  • 激光定位+RTK组合导航概念学习1
  • Charles 4.6.7 浏览器网络调试指南:功能详解下(五)
  • HarmonyOS NEXT边学边玩:从零实现一个影视App(七、今日票房页面的设计与实现)
  • 结构生物学3-冷冻电镜单颗粒重构:
  • 【C++】异常与智能指针
  • 分组表格antd+ react +ts
  • Python数据分析-数据加载与存储(六)
  • .NET 9.0 的 Blazor Web App 项目、Bootstrap Blazor 组件库、自定义日志 TLog 使用备忘
  • 【开源实录】从App Store审核失败到开源:一个AI辅助开发的SwiftUI项目
  • Docker 在Linux 系统中的使用说明
  • 数据结构与算法再探(六)动态规划
  • AIP-128 声明友好接口
  • Java语言程序设计(第3版) 课后练习
  • 《jEasyUI 动态改变列》
  • 解决lombok注解失效
  • 鸿蒙(HarmonyOS) HDC 命令合集分类记录
  • UDP/TCP ③-拥塞控制 || 滑动窗口 || 流量控制 || 快速重传
  • FineBI数据连接失败
  • 提示词工程(Prompt Engineering)
  • Android多语言开发自动化生成工具
  • Unity3D仿星露谷物语开发25之创建时钟界面