UHF RFID读写器编解码模块的FPGA实现
数据通过控制状态机流程来进行解码。而其他控制信号,即来自解码预处理模块的数据开始传输指示data_start,数据传输结束指示data_end,数据传输错误指示data_error则直接控制状态机状态的转换。
解码完成之后,根据前面发送命令的类型,对解码后的数据进行CRC5/16校验,若校验正确,则去掉校验位,将有效数据输出;若错误,则返回给状态机,发出解码错误指示。同时,根据状态机所处的特定状态,在每一个解码数据期间会输出持续一个周期的数据采样信号sclk,以及在数据开始解码时便与解码数据同步输出的信号data_out_flag,以便后续模块进行数据的采样与控制。
5、软件仿真与硬件测试
以上各模块均使用硬件描述语言实现。在Quartus II9.0中全部编译通过,满足时序要求,编译报告显示本设计共消耗了679个LE资源。调用Modelsim软件仿真验证。使用了Quartus II软件的Signaltap逻辑分析仪,捕捉了读写器实际工作时FPGA的编解码数据。
图8是读写器先后发送不同命令并与标签交互的部分流程。图9是读写器发送的Query命令的PIE编码,所发送的命令数据是1000_00110000 0000010101,其中前4位1000为Query命令的命令码,后面18位则为命令数据。
图8 命令发送流程及标签信息的返回
图9 命令的PIE编码
图10是读写器接收到标签返回的miller2编码信息后的操作。为了便于观察,将解码后的数据也作为一路信号显示,即decode_data。最后一路信号是串口要发送的数据。图10中的enc_cmd_data_out信号是读写器接收到标签返回来的信息后,发出的ACK命令,发送的命令数据为01_0001111010100111,其中前两位01为ACK命令的命令码,后面的16位数据按照协议要求为标签返回的RN16。
图10 命令的miller2解码
图11 Signaltap的采样信号
图11是在读写器工作时利用Signaltap逻辑分析仪捕获到的解码后的标签数据及采样信号。
结语
本文介绍了在EPCC1G2协议下,利用FPGA快速处理大量数据流的优势,实现UHF RFID读写器中编解码模块的设计方案,解决了读写器读取标签速率难以提升的问题。经过软件仿真与实际硬件测试,读写器工作良好,速度、性能均得到显著提升。
来源:电子科技大学作者:于志宏,张红雨
RFID读写器 相关文章:
- PLC及PC与RFID识别读写器串行通讯的实现(09-08)
- 基于物流仓储管理的RFID读写器设计(08-19)
- 通过提高天线增益延长RFID读写器操作距离(03-10)
- UHF RFID读写器的设计方案(08-26)