您好,  [请登录] [QQ登录]  [支付宝登录[免费注册]

商品分类

分享到: 百度搜藏 搜狐微博 新浪微博 腾讯微博 QQ收藏 人人网 Facebook Twitter

基于FPGA的超高频RFID读写器计划

发布日期:2011-05-16

        射频辨认技能(RFID)是利用射频方法举行远间隔通讯以到达物品辨认目标,可用来追踪和办理几 乎全部物理东西。在产业主动化、贸易主动化、交通运输控制办理、防伪等浩繁范畴,乃至军事用途都具有遍及的应用远景,并且引起了遍及的存眷。

       1 引 言

        RFID体系 一样平常包括读写器和电子标志(或称应答器)2个部分。RFID电子标志(Tag)由芯片与天线(Antenna)构成,每个标志具有惟一的电子编码。标志附在物体上以标识目标东西。RFID读写器(Reader)的重要任务是控制射频模块向标志发射读写信号,并吸取标志的应答。对标志信息举行解码,并将信息 传输到主机以供处理惩罚。根据应用的差别,阅读器可以是手持式或牢固式。本文重点先容的便是读写器的开辟。

        EPC范例已经颁发第一代规 范。范例把标志细分为Class 0,Class 1,Class 2三种。此中Class 0和Class 1标志都是一次写入多次读取标志, Class 0标志只能由厂商写入信息,用户无法修改,因而又称为只读标志,重要用于提供链办理)Class 1则提供了更多的机动性,信息可由用户写入 一次。

        Class 0和Class 1标志采取差别的空中接口标准举行通讯,因此两类标志不克不及互操纵。Class 2标志具备多次写入本领,并增长了部分 存储空间用于存储用户的附加数据。Class 2标志容许参加寂静与访问控制、感知网络和Ad Hoc网络等成果支持。如今EPCglobal正在订定第 二代标志标准,即UHF Class l Generation 2(C1G2)。C1G2具有随时更新标志内容的本领,包管标志始终生存最新信息。 EPC范例l_0版本包括EPC Tag数据范例、Class 0(900 MHz)标志范例、C1ass 1(13.56 MHz)标志接口范例、 Class l(860~930 MHz)标志射频与逻辑通讯接口范例、物理标识语言(PhysicalMarkup Language,PML)。

        本文重点先容EPC Class 1读写器体系计划、数字部分计划及FPGA在数字实现上的应用。由于U 频段RFID技能的应用还处在早期的生长阶段,切合EPCClass 1协议的读写器在海内还没有相干产品面世。本文对相干开辟有肯定的参考代价。

        2 EPC Class lb体系计划

        一个完备的RFID体系包括:读写器、天线、标志和PC机。读写器完成对标志(Tag)的读写操纵。通过RS 232或RS 485总线完成PC机的下令接 收和EPC卡号的上传。图l是读写器的体系构成框图。读写器构成包括与PC机的串口通讯部分、单片机和FPGA构成的数字部分、射频部分。RF单位实现和 标志的通讯,数字部分完成对射频部分的控制、回波下令分析 PC机吸取卡号实现上位机的控制。下面对各模块做大略先容。

        2.1 PC 端

        RFID系同一样平常要将标志信息读取到谋略机上,然后等待处理惩罚 用户通过PC机可以实现读写器控制,完成对标志的读写操纵。读写器与PC机通讯是基于RS 232总线,纠错算法是CRC—CCITT算法。

        -图1-


        2.2 射频模块

        读写器对标志的读写是通过发送射频能量和对回波实现的。射频模一方面将数字模块送来的信息完成调制并发送。标志应答,射频模块吸取回波信号将他解调成基带信号,送到数字模块。

        2.3 数字模块

        数字模块由单片机(cygnal C8O51F126)、存储器(24Cz56),FPGA(xl SlOO)构成 单片机的成果有:

        (1)实现与PC机通讯,吸取PC机下令,完成分析下传到FPGA

        (2)将FPGA送来的EPC卡号加算CRC—CCITT校验上传PC机。择Xilinx公司ISE6.2,仿真软件为Modelsim 5.7。计划实现采取原理图和VHDL语言相连合的原则。顶层模块采取原理图计划,成果模块采取VHDL语言实现。

        (3)办理多卡碰撞,实现多卡读取。由于FPGA实现多卡读取算法非常斲丧FPGA资源,并且必要FPGA有大量的存储器资源存放读到的卡号,本钱较高。而要是由PC机实现多卡读取算法,则读取速率很难进步。

        (4)实现对射频模块的锁相环频率控制以及功率控制 读写器发射功率常必要调解,并且读写器偶然必要在差别射反复率,乃至跳频下事变。单片机通过对射频模块的锁相环控制实现对射反复率和功率的控制。

        单片机采取CYGNAL公司的C8051F126。内部有128 k的FLASH存储器和8 k的RAM,可以在5O MHz主频下事变。

        FPGA 实现EPC Class l通讯协议,吸取单片机控制下令,将下令根据协议标准编码送到射频模块调制并发送,然后解调并吸取射频模块送来的回波基带信号, 将得到的标志信息发送给单片机。FPGA实现的EPC Class l下令的根本下令包括scrollid,scrollallid,pinged, quiet,talk,kill;编程下令programid,verifyid,lockid,eraseid 这些下令包括下令的发送和回波的分析。 根据发送下令差别,映射的发送下令格局也不雷同,分为2类。回波信号格局也根据下令的差别分为2类。下面先容FPGA实现的EPC Class 1协议。

        3 FPGA实现的信号调制解调

        3.1 FPGA 器件及开辟平台 
        FPGA 选择Xilinx公司的SPART II XC2S100范围为1O万门,体系时钟选择40 MHz,餍足请求。开辟软件选择Xilinx公司ISE6. 2,仿真软件为Modelsim 5.7。计划实现采取原理图和VHDL语言相连合的原则。顶层模块采取原理图计划,成果模块采取VHDL语言实现。
 
        3.2 布局框图

        从体系的布局图可以看出FPGA实现的调制解调部分包括:单片机接口(单片机的下令吸取模块、向单片机发送数据模块)、复位信号孕育产生模块、下令调制模块、下令吸取模块。

        -图2-

        单片机向FPGA发送数据采取对地点操纵方法,单片机对FPGA读取数据采取查问方法。FPGA整个事变进程:FPGA吸取单片机控制下令,吸取单片机下令 模块将所收到的下令赋值给相应寄存器,同时复位信号孕育产生模块根据单片机发送的下令孕育产生复位信号(单片机写FPGA进程即为复位)。下令调制模块根据单片机 送来的下令以及相应控制字,输出相应的调制信号(bit— sent)输出到射频模块。吸取模块始终在检测回波数据,当检测到回波数据的帧头有效时关照读 下令数据吸取模块吸取数据。同时将吸取到的数据送CRC校验模块校验,数据吸取完成,CRC校验也即完成,CRC校验模块校验告成即孕育产生CRCOK=  l 表现读卡号告成,单片机查问到此位为高时通过MCU接口模块读卡号和CRC。在Ping下令时,Ping下令吸取模块判毕下令发送模块此时发送的命 令范例。要是为Ping下令时,则吸取数据,将吸取的各槽数据及状态信息放在BIN DATA寄存器中。

        3.3 关键成果模块

        (1)下令调制模块

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

        -图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所示 
        -图4-

 

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

        (4)CRC校验模块

        CRC模块对数据吸取模块检测到的数据根据CRC—CCITT算法校验,校验通过则孕育产生CRC OK=”1”。单片机根据此状态读取EPC DATA。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位标志在应答时存 在累积周期差,不克不及和读写器的时钟同步。标志锁相环不敷正确,给读写器的计划带来不小难度。