微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 工业电子 > 基于FPGA的UHF的RFID读写器设计

基于FPGA的UHF的RFID读写器设计

时间:08-04 来源:互联网 点击:
.1FPGA器件及开发平台

FPGA选择Xilinx公司的SPARTIIXC2S100规模为1O万门,系统时钟选择40MHz,满足要求。开发软件选择Xilinx公司ISE6.2,仿真软件为Modelsim5.7。设计实现采取原理图和VHDL语言相结合的原则。顶层模块采用原理图设计,功能模块采用VHDL语言实现

3.2结构框图

从系统的结构图可以看出FPGA实现的调制解调部分包括:单片机接口(单片机的命令接收模块、向单片机发送数据模块)、复位信号产生模块、命令调制模块、命令接收模块。



单片机向FPGA发送数据采用对地址操作方式,单片机对FPGA读取数据采用查询方式。FPGA整个工作过程:FPGA接收单片机控制命令,接收单片机命令模块将所收到的命令赋值给相应寄存器,同时复位信号产生模块根据单片机发送的命令产生复位信号(单片机写FPGA过程即为复位)。命令调制模块根据单片机送来的命令以及相应控制字,输出相应的调制信号(bit—sent)输出到射频模块。接收模块始终在检测回波数据,当检测到回波数据的帧头有效时通知读命令数据接收模块接收数据。同时将接收到的数据送CRC校验模块校验,数据接收完成,CRC校验也即完成,CRC校验模块校验成功即产生CRCOK=l表示读卡号成功,单片机查询到此位为高时通过MCU接口模块读卡号和CRC。在Ping命令时,Ping命令接收模块判断命令发送模块此时发送的命令类型。如果为Ping命令时,则接收数据,将接收的各槽数据及状态信息放在BINDATA寄存器中。

3.3关键功能模块

(1)命令调制模块

命令调制模块发送的命令必须符合EPC规范对信息编码要求以及命令格式要求。信息编码占空比为1/8时钟表示“0”,占空比为3/8时钟表示“l”。命令格式要求如图3所示,根据EPC规范,可以将命令格式分为3种,分别为ping命令格式、写卡(program)命令格式、读卡(scrolled)命令格式,具体命令格式参照文献。命令调制模块实现3种命令格式的调制。命令调制模块设计采



(2)Ping命令接收模块

回波编码和发送编码方式不同,Ping命令和scrollid命令回波编码用“1010”表示l,用“l100”表示0。接收数据模块必须将回波调制信号解调成~0,1信号。Ping命令是基本多卡操作命令。如图3所示,Ping命令的标签应答是在8个槽(bin)中应答,对应着不同的8组标签。这样一次Ping命令可以判断8组标签。提高了多卡效率.每一个槽(bin)信息用2个寄存器表示,BIN0(1:O)表示卡的状态信息:有卡、无卡、多卡。BIN(7:O)表示槽的数据。单片机根据槽状态信息决定是否读取槽数据.

(3)scollid命令数据接收模块

scrollid以及scrollallid,verifyid命令的回波格式相同,接收方式相同.回波格式如图4所示


一帧完整回波包括帧头(F7H),16位CRC,96位或64位EPCDATA。接收模块采用检测帧头的方式,通过一个32位移位寄存器(1b数据由4个状态信息表示)检测帧头,帧头有效则读数据模块解调回波数据,解调数据存储在EPCDATA寄存器中。同时将检测到的bits送到CRC校验。

(4)CRC校验模块

CRC模块对数据接收模块检测到的数据按照CRC—CCITT算法校验,校验通过则产生CRCOK=”1”。单片机根据此状态读取EPCDATA。CRC—CCITT算法实现采用串行方式。程序非常简单,而且节省FPGA资源。

节选代码如下:

xOr_flag_en: process(elk)begin
if elk== ‘0’ and elk event then
if en ==’l’ then
if crc_bur(15)== ‘1’ then
crc bur< = (crc bur(14 downto O)&data_in)
xor”OOO1OOOOOO1OOOO1”:
xor_flag<= ‘l’
else erc_buf <=crc_buf(14 downto O)&data_in :
xor_flag< = ‘0’;
end if;
else crc_buf< =”111ll111111llll1”;
endif;
endif;
end prOcess

4 结语

FPGA实现了对EPC Classl 96位和64位卡的读写操作命令,读写成功率非常高,能实现8 m距离的正常读,多卡读取速度快。读写器和标签的读写速率为上行70 kb/s,下行140 kb/s。此读写器也已经在批量生产,投放市场。

在读写器设计过程中仍有几方面问题需要进一步改善。一是Ping命令回波没有CRC校验,所以Ping命令的回波检测成功率不够高,影响多卡速度;另一方面,当回波信号信噪比不高时,接收成功率下降速度很快。同时,在读写器设计过程中发现EPC标签的一些问题。其中突出的是,调试发现96位标签在应答时存在累积周期差,不能和读写器的时钟同步。标签锁相环不够准确,给读写器的设计带来不小难度.

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

网站地图

Top