基于FPGA的RFID读写器设计
2 系统软件设计
2.1 主程序
读写器上电复位后,对各功能模块进行初始化,然后发出询卡/应答指令寻找有效范围内的电子标签。电子标签在读写器的阅读范围外为无电状态,不能进行任何操作。当进入读写器的载波有效范围内时,电子标签上电复位,进入等待接收询卡/应答指令的状态。收到询卡
指令后,电子标签会发出自己独有的ID码,读写器根据收到的IDR码发出选卡指令,选择该标签进行下一步的通信。
在应用中可能会遇到多个电子标签同时在读写器的有效工作范围内的情况,这些标签就会在收到询卡指令后,同时发出自己的ID码时发生互相冲突,因此就要求系统能够具有防冲突的机制,才能从多个标签中选择出其中一个。主程序流程见图4。
2.2 防碰撞算法
A型射频卡采用了ISO/IECl4443系列协议,配合读写器共同实现防碰撞的快速交互通信。为了从多张电子标签中快速识别出一张来单独进行通信,A型卡采用了位碰撞监测协议实现防碰撞过程,即阅读器对卡返回的唯一识别号(即UID)数据帧中的每一位进行冲突监测。当多张A型射频卡在同一时刻向读写器传送UID数据帧时,一定会在同时返回的某一位上有不同的位值。根据Manchester编码规则,这一位正负边沿抵消了,故读写器无法识别的该数据位即为碰撞位。碰撞位监测到后马上启动防碰撞过程。读写器主动地发出一系列命令数据帧,主要是ANTICOLLISION命令和SELECT命令。射频卡被动地响应每一条指令完成交互的会话过程。
3 结束语
本设计在Modelsim SE6.1和Altera Quartus II 7.2中进行了功能仿真和综合,结果表明能够满足设计的需求。
评论