防冲撞协议原理实验报告
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验三防冲撞协议原理实验
一、实验目的
通过本实验使学生了解 RFID 的防冲撞原理的实现方法,掌握时间槽、VICC 四种状态的含义以及状态的切换规律。
二、实验设备
TI TRF7960 读卡器一个、usb 连接线一条、电脑一台、HF RFID 实验上位机软件、ISO15693标签若干张
三、实验知识预备及原理
1、VICC 状态
一个 VICC 可能处于以下 4 种状态中的一种:
断电
准备
静默
选择
这些状态间的转换在图 6.22中有规定。断电、准备和安静状态的支持是强制性的。选择状态的支持是可选的。
(1)断电状态
当VICC不能被VCD激活的时候,它处于断电状态。
(2)准备状态
当 VICC 被 VCD 激活的时候,它处于准备状态。选择标志没有置位时,它将处理任何请求。
(3)安静状态
当 VICC 处于安静状态,目录标志没有设置且寻址标志已设置情况下,VICC 将处理任何请求。
(4)选择状态
只有处于选择状态的 VICC 才会处理选择标志已设置的请求。
注 1:状态转换方法的意图是,某一时间只有一个 VICC 应处于选择状态。
注 2:VICC 状态转换图只图示出有效的转换。在所有的其它情况下,当前的 VICC 状态保持不变。当 VICC
不能处理一个 VCD 请求(例如 CRC 错误,等等),它将仍然处于当前状态。
注 3:虚线表示的选择状态图示出 VICC 支持的选择状态是可选的。
2、上位机软件防碰撞算法实现流程
上位机界面打开默认设置:支持 ISO15693,高速率,数据编码 1/4 操作,寄存器会自动设置一些参数:
1).在询卡请求时检测标志位(B5)如果设置了,slots=1,如果没有设置,
slots=16 同时使能不反应中断。
2). 初始化 mask length=0;mask value=0
3).初始化 slot 数指针为 0
4). 发送询卡请求命令带上 mask length,mask value 值
5). 等待发送完成中断
6).等待下一个中断,中断可能是以下情况:
a.接受完成
b.碰撞
c.没有反应
检测 IRQ 状态寄存器中断类型
如果是接收完成中断,就意味着没有错误/碰撞在 FIFO 接收 UID 过程中,从 FIFO中可以读出完整的 UID
如果是碰撞中断,在 slot 指针里记录碰撞位置,指针数值加 1
如果是标签没反应中断,忽略。
7). 复位 FIFO
8). 如果 slots 数是 16,发送 EOF;如果 slots 数是 1,退出。
9). 对以所有的 16 个 slots 重复步骤 5 和 6,在 16 个 slots 结束时,屏蔽不反应中断。
10). 检查 slot 指针数值,如果不为 0,计算新的 mask;如果为 0,退出。
a.增加 mask 长度 4 bits
b.new mask=slot 数(碰撞位置 slot 数)+old mask
11).返回到第 4 步骤(new mask value 和 length)
12) slot 指针加 1
13) 返回到第 10 步骤
四、实验过程及分析
1、确保 TI TRF7960RFID 与电脑连接正常,打开虚拟机软件,右击【我的电脑】---->【属性】---->【硬件】---->【设备管理器】,查看连接的端口,如下图:
2、将15693卡放在感应区,打开上位机软件无线龙 RFID,标签类型选
择 15693,在端口处输入COM3,点击【选择端口】,显示命令:
08:29:23.781 --> 010*******FF0000
08:29:23.953 <-- 010*******FF0000
TRF7960 EVM
08:29:23.953 **** COM Port found! ****
如下图:
3、选择【询卡】命令,点击【设置协议】---->【执行】,窗口输出命令如下:
08:38:18.278 --> 010C00030410002101000000
08:38:18.278 \\.\COM3
08:38:18.590 <-- 010C00030410002101000000
Register write request.
08:38:18.590 --> 010*******F0000000
08:38:18.715 <-- 010*******F0000000
08:38:18.715 --> 010*******F1FF0000
08:38:18.840 <-- 010*******F1FF0000
08:38:27.996 --> 010B000304140401000000 08:38:28.200 <-- 010B000304140401000000 ISO 15693 Inventory request.
[,40]
[,40]
[,40]
[,40]
[,40]
[F58E8E75000104E0,66]
[,40]
[,40]
[,40]
[,40]
[,40]
[,40]
[,40]
[,40]
[,40]
[,40]