实验二: 防冲撞协议原理实验
一、实验目的
通过本实验了解RFID的防冲撞协议原理的实现方法,掌握时间槽、VICC四种状态的含义以及状态的切换规律。
二、实验设备
读卡器一个、usb连接线、电脑、上位机软件、ISO15693标签若干张
三、实验原理及准备
断电 1.VICC状态 4种状态
? ? ? ?
断电(Power-Off) 就绪(Ready) 静默(Quiet) 选择(Selected)
离 离 于 场 内 选择标志位为0任何其他命令 离 开 场 开 场 开 场 就绪 复位至 选择(UID) 选 就绪 或 择 复 不 保持静默 同 位 (UID) 的 至 UID 选择(UID) 就 绪 静默 (选择 选择
保持静默(UID) 标志位为1) 任何 其他命令 任何其他命令 寻址标志位为1,目录标志位为0 保持静默(UID)
(1)断电状态:当VICC不能被VCD激活的时候,它处于断电状态。
(2)准备状态:当 VICC 被 VCD 激活的时候,它处于准备状态。选择标志没有置位时,它将处理任何请求。
(3)静默状态:当 VICC 处于静默状态,目录标志没有设置且寻址标志已设置情况下,VICC 将处理任何请求。
(4)选择状态:只有处于选择状态的 VICC 才会处理选择标志已设置的请求。
2.15693请求帧格式
SOF+标志+命令编码+强制和可选的参数+数据+CRC+EOF
其中请求标志域为8位,其给出了选择标志、寻址标志等,从而决定了VICC状态间的转换,以及模式的选择。
1
3. 15693应答帧格式
SOF+标志+命令编码+强制和可选的参数+数据+CRC+EOF
4.上位机软件防碰撞算法实现流程
上位机界面打开默认设置:支持ISO15693,高速率,数据编码1/4操作,寄存器会自动设置一些参数:
1).在询卡请求时检测标志位(B5)P167B6:时隙数标志,0为16,1为1.如果设置了,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
2
13) 返回到第10步骤
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与电脑连接正常,打开上位机软件无线龙RFID选择可用的COM3端口连机。标签类型选择15693,并设置相应的协议。
3