微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频识别(RFID) > UHF RFID读写器编解码模块的FPGA实现

UHF RFID读写器编解码模块的FPGA实现

时间:11-29 来源:电子科技大学 点击:

数据通过控制状态机流程来进行解码。而其他控制信号,即来自解码预处理模块的数据开始传输指示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读写器中编解码模块的设计方案,解决了读写器读取标签速率难以提升的问题。经过软件仿真与实际硬件测试,读写器工作良好,速度、性能均得到显著提升。

来源:电子科技大学作者:于志宏,张红雨

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top