基于FPGA和 C8051F020 的915 MHz射频读卡器设计

发布者:SereneSpirit最新更新时间:2011-05-18 来源: 电子技术应用关键字:射频识别  读卡器  altera 手机看文章 扫描二维码
随时随地手机看文章

摘  要: 参照ISO/IEC 18000-6 Type B 协议设计了一款工作频率为915 MHz的射频读卡器,采用FPGA完成协议中规定的数字信号处理,C8051F020单片机作为主控器。利用Verilog HDL硬件描述语言,搭建FPGA内部各个小模块及系统的验证平台,选用Altera公司Cyclone系列的EP1C6Q240C8芯片为目标器件,使用Quartus II进行综合,并通过时序和功能验证。实验结果表明,该读卡器符合ISO/IEC 18000-6 Type B 协议要求,具有结构灵活、体积小、升级容易等优点。
关键词: 射频识别;读卡器;FPGA;C8051F020

    射频识别(RFID)技术是一种非接触式的自动识别技术,通过射频信号自动识别目标对象并获取相关信息。通常RFID系统主要由应用软件、射频卡以及读卡器三部分构成[1]。相对于低频段的RFID系统,工作在860 MHz~960 MHz的超高频段(UHF)RFID系统有着读取距离远、阅读速度快等优点,是目前国际上RFID技术发展的热点[2]。读卡器的设计是RFID系统设计中的关键部分,设计方案有很多种。FPGA[3]具有开发简单、静态可重复编程和动态在线编程的特点,已经成为当今应用最广泛的可编程专用集成电路。目前生产RFID产品的很多公司都使用自己的标准,可供射频卡使用的几种标准有ISO/IEC 11784、ISO/IEC 14443、ISO/IEC 15693和ISO/IEC 18000等。其中应用最多的是ISO/IEC 14443、ISO/IEC 15693和ISO/IEC 18000这三个标准[4]。本文基于ISO/IEC 18000-6 Type B协议设计了一款工作频率为915 MHz的读卡器。


1 读卡器的硬件设计
    读卡器的硬件可以分为三大模块:FPGA数字信号处理模块、MCU及人机接口模块和射频收发模块,其结构框图如图1所示。FPGA数字信号处理模块用来实现ISO/IEC 18000-6 Type B 协议中规定的基带数据编解码,MCU及人机接口模块用来实现指令的跳转控制和返回数据的显示等一些操作接口,射频收发模块用来处理前端的超高频信号。

1.1 FPGA数字信号处理模块
    FPGA数字信号处理模块包含时钟分频模块、FIFO、曼彻斯特编码器、CRC生成校验、FM0解码器、串并变换电路及对应的帧发送接收控制器,其结构框图如图2所示。

该模块的内部工作流程如下:
    (1)发送部分
    ①数据通信接口8 bit并行接收来自MCU的命令数  据,数据在FIFO中缓冲。
    ②数据做并行到串行的转换。
    ③在发送控制器的控制下,串行数据通过CRC模块,生成16 bit的CRC校验值,并附加在原数据的后面。
    ④根据ISO/IEC 18000-6 Type B协议规定,把上述的数据进行曼彻斯特编码。
    ⑤把已经过曼彻斯特编码的数据引向一个已预置帧头的移位寄存器,数据一到便启动移位寄存器,然后把输出数据传送给射频收发模块。
   (2)接收部分
    ①从射频收发模块接收一帧基带信号,用移位寄存器来检测帧头。若检测到帧头,则发一个收到帧头的信号给接收控制器。
    ②若接收控制器接收到帧头的信号,则马上启动FM0解码。
    ③解码后的数据传送给串/并行的转换电路,转换后的数据暂存在FIFO。
    ④同时解码后的数据也送给CRC模块进行校验,若校验结果错误,则清除存于FIFO中的数据,通知MCU其接收的数据错误;若校验结果正确,则把FIFO中的数据传送给MCU。


1.2 MCU及人机接口模块
    MCU及人机接口模块以C8051F020单片机[5]为核心,由FPGA接口、LCD、PS/2键盘、UART接口以及JTAG接口等外围电路组成,其结构框图如图3所示。

    该模块实现的功能有:(1)C8051F020负责整个读卡器内各部分的协调工作(包括与计算机的数据通信);(2)在启动时向FPGA传送配置数据,初始化FPGA;(3)在读卡过程中向FPGA传送读卡命令,然后通过INT1中断启动接收FPGA信号;(4)处理接收回来的射频卡信息(卡号、密码等);(5)实现二进制树形防碰撞功能;(6)驱动LCD,显示系统的提示信息;(7)扩展一个PS/2键盘,可以输入数据及命令;(8)控制TR1000芯片,设置OOK发射方式或ASK接收方式;(9)控制发射功率大小;(10)扩展EEPROM,存储读出的射频卡的信息。


1.3 射频收发模块
    超高频段射频收发模块的开发一般可以采用两种方案:一是采用分立元件搭建射频电路;二是采用无线射频收发模块以实现基带信号的调制解调[6]。由于第一种方法的电路调试比较麻烦,而且会占用很长的开发时间,所以本设计采取第二种方案。
    ISO/IEC 18000-6 Type B 协议规定读卡器到射频卡端的射频调制方式为调制深度为99%的ASK调制,也就是可以近似看作为OOK调制;而射频卡到读卡器端的射频调制方式为反向散射调制,其调制方式与ASK调制类似,所以在解调端可以按照ASK方式解调。射频收发模块的核心芯片采用RFM公司的TR1000芯片。TR1000是一款单片OOK/ASK通用无线射频收发器芯片,适合高稳定、小尺寸、低功率、低价格的短距离无线数据通信和无线控制应用。
2 读卡器的软件系统设计
    软件设计采用模块化和结构化的编程思想,在初始化的时候由单片机配置FPGA。考虑到C语言可读性强,移植性好以及MCU的实际情况,本设计采用C语言对C8051F020进行编程。读卡器的软件系统大致可以分为:读写卡操作程序、防冲突程序和串行通信程序。

[page]
2.1 读写卡操作程序
    读写卡操作程序完成基于ISO/IEC 18000-6 Type B协议的基带信号编解码,其程序设计流程图如图4所示。
具体工作过程如下:(1)上电复位,系统初始化,包括单片机时钟、端口、LCD、定时器的初始化,配置FPGA和开中断。(2)等待接收上位机或键盘发送的指令。(3)对指令进行判断,如果为多卡操作,则进入防冲突子程序;如果为单卡操作,则直接进行读卡、写卡、值操作和中止操作。(4)若操作成功,所得数据回传给上位机,同时驱动LCD显示操作成功信息;若操作失败,则驱动LCD显示操作失败信息。

2.2 防冲突程序
    当读卡器对射频卡进行多卡操作时,在其天线覆盖范围内的所有射频卡将被激活,并处于识别状态,造成了多张射频卡读写冲突。所以解决冲突是多卡操作的关键。ISO/IEC 18000-6 Type B协议详细规定了防冲突机制,其程序设计流程图如图5所示。该防冲突机制的原理是利用随机产生的0和1信号实现二进制树形搜索,并且设定了成功命令,进一步提高了搜索的效率,是一种二进制树形的防冲突算法[7]。具体实现过程为:首先,射频卡进入读卡器的工作范围,从离场掉电状态进入就绪状态。读卡器可以通过GroupSeleet命令和GroupUnseleet命令让读卡器工作范围内处于就绪状态的所有或部分的射频卡参与防冲突过程。针对该模式的防冲突机制,射频卡应该具有如下两种硬件电路:一个8 bit的计数器和一个0、1随机数发生器。当射频卡进入识别状态(ID状态)后,将其内部的计数器清0,其中的一部分可以通过接收GroupUnselect命令重新回到就绪状态,其他处于识别状态的射频卡则进入了防冲突执行的过程中。被选中的射频卡开始下面的循环:(1)所有处于识别状态并且内部计数器为0的射频卡将发送其识别码;(2)如果有一个以上的射频卡发送识别码时,读卡器将检测到冲突而发送Fail命令;(3)所有接收到Fail命令并且内部计数器不等于0的射频卡将把本身的计数器加1;所有接收到Fail命令并且内部计数器等于0的射频卡(即刚刚发送过应答的射频卡)将产生一个1或0的随机数。如果选择了1,射频卡将把自己的计数器加1;如果选择了0,射频卡将保持计数器为0并且再次发送它们的识别码。在接下来的过程中会出现4种可能的情况;(4)情况1:如果有一个以上的射频卡发送,将重复步骤(2);(5)情况2:如果所有的射频卡都随机选择了1,读卡器将接收不到应答,此时,读卡器将会发送Success命令,所有的射频卡的计数器减1,然后计数器等于0的射频卡开始发送,接着重复步骤(2);(6)如果只有一个射频卡发送并且它的识别码被读卡器正确接收,读卡器将发送包含识别码的DataRead命令,射频卡正确接收该条命令后将进入数据交换状态,开始发送它的数据。此后,读卡器将发送Success命令,使处于识别状态的射频卡的计数器减1;(7)情况3:如果只有一个射频卡的计数器等于0并且返回应答,重复步骤(5)读卡器发Success命令或重复步骤(6)发送DataRead命令;如果有一个以上的射频卡返回应答,重复步骤(2);(8)情况4:如果只有一个射频卡返回应答,并且它的识别码未被正确接收,读卡器将发送一个Resend命令。如果识别码被正确接收,重复步骤(5)。如果识别码被重复几次的接收(这个次数可以基于系统所希望的错误处理标准来设定),就假定有一个以上的射频卡在响应,重复步骤(2)。

    经过如上的防冲突过程,射频场内的射频卡将可以逐一被识别并进行数据交换。


2.3 串行通信程序
    系统使用PC机作为上位机,读卡器作为下位机。上位机与下位机之间的通信采用基于RS-232-C的串口通信。RS-232-C是一种串行通信总线标准,是数据终端设备(DTE)和数据通信设备(DCE)之间的接口标准,不同厂家生产的设备,只要它们都具有RS-232-C标准接口,则不需要任何转换电路,就可以互相插接起来。
串行通信程序是MCU与PC机通信的控制程序。发送程序采用查询的方式设计,即把待发送的数据先送到缓冲区中,然后查询串口发送中断标志是不是有空,若有空就发送下一个数据。
    接收程序采用中断的方式设计,即当PC机要发数据给MCU时,主动向MCU申请中断,接收中断标志有效,则PC向MCU传送数据。


3 验证方案
3.1 验证平台的建立
    为了验证所设计的读卡器能否完成预期的功能,设计了相应的验证平台[8]。验证平台由数据解码通道、数据编码通道以及指令分析器三部分组成。数据解码通道是对读卡器发送出的数据帧进行解码,提取指令的原始数据;指令分析器是对收到的指令数据进行判断,同时返回相应的数据并发送给数据编码通道;数据编码通道则是对发送来的数据进行编码,再发送给读卡器。
    平台采用Verilog HDL硬件语言搭建,选用Altera公司Cyclone系列的EP1C6Q240C8芯片为目标器件,使用Quartus II进行综合验证,其结构框图和电路原理图分别如图6、图7所示。

3.2 测试结果分析
    (1)时序分析
    通过运行QuartusII 7.1自带的时序分析器,可以得到时序分析的一些参数:tsu(输入建立时间)、tco(时钟到输出延时)、th(保持时间)分别为3.530 ns、13.174 ns、0.751 ns。基频时钟clk最大可以达到89.06 MHz,而ISO/IEC 18000-6 Type B协议规定的基频时钟为40 kHz。从分析本系统的时序结果显示,完全符合协议要求。具体的时序分析结果如图8所示。

    (2)功能分析
    功能分析以GROUP_SELECT_LT命令为例。 GROUP_SELECT_LT命令是多卡操作中的组选命令,射频卡接到此命令,卡内指定地址的数据与帧中提供的数据进行对比。若卡内数据较小,则返回射频卡的64 bit序列号,否则不作任何响应。GROUP_SELECT_LT命令的命令号为03,地址设为0F,掩码设为FF,64 bit数据全设为F,所以从MCU传给FPGA的命令数据为03_0F_FF_FFFF_FFFF_FFFF_FFFF。原始数据经过FPGA数字信号处理模块处理后,就成了一帧基带数据信号。验证平台将读卡器发来的数据帧进行解码,然后判断指令并返回射频卡的64 bit序列号,经编码后成一帧数据帧发送给读卡器。读卡器收到此帧后即解码,并进行CRC校验,若都没有错,则把解码后的数据传输给MCU。
    GROUP_SELECT_LT命令仿真波形图如图9所示,实验证明可实现ISO/IEC 18000-6 Type B协议。
随着RFID相关国际标准的确立(如ISO/IEC 18000)RFID的研发已成为国际性的课题。在诸多RFID工作频段中,UHF频段的RFID技术前景最为看好,也成为现今RFID技术领域研究的热点。

关键字:射频识别  读卡器  altera 引用地址:基于FPGA和 C8051F020 的915 MHz射频读卡器设计

上一篇:赛灵思:超越摩尔定律
下一篇:采用FPGA实现医疗影像

推荐阅读最新更新时间:2024-05-02 21:23

Altera为Nois II处理器提供C语言硬件加速工具
Altera公司今天宣布为Nios II系统开发人员提供新的效能工具Nios® II C语言至硬件加速(C2H)编译器,该工具能够有效的提高嵌入式软件的性能。由于越来越多的嵌入式设计使用了FPGA,因此,Nios II C2H编译器的目的是帮助嵌入式系统开发人员提高效率,实现成功的设计。作为Nios II C2H编译器的一部分,Altera还允许第三方工具供应商使用其系统级基本结构,包括Quartus® II SOPC Builder工具,以促进多种电子系统级(ESL)设计工具的开发。 Nios II C2H编译器利用Altera系统级基本结构来切实提高多种实际应用的性能。这一新工具能够将对性能要求较高的C语言例程自动转换为硬件加
[单片机]
Altera FPGA支持超高清电视杜比视觉
Altera公司近日宣布,其Arria V FPGA满足了杜比实验室超高清(UHD)显示创新的Dolby Vision图像处理技术的高性能需求。杜比视觉的价值定位是为电视显示提供完全不同的视觉体验,支持内容开发人员和电视制造商进一步提高亮度,而深色颜色会更深、更细微,覆盖调色板的所有颜色。杜比实验室报告说,杜比视觉提供的信号要比目前的电视亮40倍,而对比度高1,000倍。 据杜比实验室消费类成像业务副总裁Roland Vlaicu,“利用Altera FPGA提供的处理和压缩功能,杜比视觉突破了以前的技术限制,不再要求修改视频内容才能进行传输。采用杜比视觉,制片人和开发团队可以自由的使用所有颜色,获得峰值亮度和深度对比,实现更
[嵌入式]
射频识别芯片在汽车智能防盗报警装置中的应用
射频识别(Radio Frequency Identification,以下简称RFID)技术是近几年发展起来的一项新技术,它是射频技术和IC卡技术有机结合的产物。较之普通的磁卡和IC卡,RFID技术具有使用方便、数据交换速度快、便于维护和使用寿命长等优点。特别是它解决了无源(卡中无电源)和免接触这两大难题。与磁卡、IC卡等接触式识别技术不同,RFID系统的应答器和读写器之间无须物理接触就可完成识别功能,因而可实现多目标识别、运动目标识别,因而可应用在更广泛的场合。文中介绍的射频识别系统和相应的数据校验算法是射频识别技术在汽车防盗器中应用的一次成功尝试。   1 射频识别基本原理 典型的射频识别系统由应答器(Transponde
[汽车电子]
Altera发布Quartus II软件7.2,延续效能优势
开发软件实现Stratix III FPGA编译时间比高端65-nm竞争器件快3倍 2007年10月9号,北京—— Altera公司(NASDAQ: ALTR)今天发布了Quartus II软件7.2,继续为FPGA用户提供无与伦比的效能工具。通过这一新版软件,Altera延续了在关键效能标准——编译时间上的优势。设计人员利用Quartus II软件7.2,和高端65-nm竞争FPGA相比,Stratix III FPGA在编译时间上有三倍的优势。 Quasar系统设计服务公司总裁Joe Jacob评论说:“15年来,使用多家供应商大容量复杂FPGA的经验告诉我,Altera的Quartus II软件在效能上名列第一。利用Al
[新品]
艾睿电子、Altera和NS提供电机控制开发平台
艾睿电子公司(NYSE:ARW)、Altera公司(NASDAQ: ALTR)和国家半导体公司(NYSE: NSM)今天宣布,面向北美客户联合推出MotionFire电机控制开发平台。基于FPGA的MotionFire平台帮助工程师迅速高效地设计电机应用,进行原型开发并测试,广泛应用在各种工业、汽车、医疗、仪表和消费类电子设备中。 MotionFire开发平台于2008年在欧洲开始启动,该平台基于Altera Cyclone® III FPGA,实现了灵活的低功耗电机控制环境,支持并连接多种工业网络协议,降低了产品过时的风险。MotionFire包括FireFighter FPGA通信基本板和FireDriver电机驱动器电源模
[嵌入式]
艾睿电子、<font color='red'>Altera</font>和NS提供电机控制开发平台
Altera推出最新IP内核产品
2012年7月11号,北京——Altera公司(NASDAQ: ALTR)今天宣布,推出40-Gbps以太网(40GbE)和100-Gbps以太网(100GbE)知识产权(IP)内核产品。这些内核能够高效的构建需要大吞吐量标准以太网连接的系统,包括,芯片至光模块、芯片至芯片以及背板应用等。介质访问控制(MAC)和物理编码子层以及物理介质附加(PCS+PMA)子层IP内核符合IEEE 802.3ba™-2010标准要求,降低用户在Altera 28-nm Stratix® V FPGA和40-nm Stratix IV FPGA中集成40GbE和100GbE连接的设计复杂度。 企业和产品市场副总裁Vince Hu评论说:“越来越多
[嵌入式]
探秘Altera 2012变革所在
    近年来,半导体技术发展迅速,依照摩尔定律每18个月就会出现新工艺节点,其晶体管密度更高,速率更快,而功耗更低。当前,在28 nm,芯片容量足以实现整个系统,节省了功率元件和商用存储器。但是,工艺工程师、电路设计人员、芯片设计人员和规划人员必须一起协同工作,才能在越来越困难的技术环境中进一步提高系统性能和能效。 这种变化对整个半导体行业产生了深远的影响,推高了工程成本,增加了风险,大部分系统开发人员很难使用专用芯片系统(SoC)。这同时也改变了FPGA企业的本质及其与用户的关系。 在新的制程中,FPGA通常是最先被采用, 验证和优化该工艺的器件之一。例如,Altera于2011年初在其定制28nm FPGA系列中开始
[嵌入式]
基于RFID技术的不停车收费系统的设计
0 引言 不停车收费系统是一种能实现不停车收费的全天候智能型分布式计算机控制、处理系统,是电子技术、通信和计算机、自动控制、传感技术、交通工程和系统工程的综合产物。不停车收费的关键是利用车载智能识别卡与收费站车辆自动识别系统的无线电收发器之间,通过无线电波进行数据交换、获取车辆的类型和所属用户等相关数据,并由计算机系统控制指挥车辆通行,其费用通过计算机网络,从用户所在数据库中专用账号自动缴纳。 当车辆通过拥有不停车收费系统(Electronic Toll Collection,ETC)的收费站时,ETC系统自动完成所过车辆的登记、建档、收费的整个过程。在不停车的情况下收集、传递、处理该汽车的各种信息。图1为不停车收费系统的工作
[单片机]
基于RFID技术的不停车收费系统的设计
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved