基于FM1712的通用射频卡读写模块设计

引言

    射频卡(非接触IC)是最近几年发展起来的一项新技术,与传统的接触式IC卡磁卡相比较,利用射频识别技术(radio frequency identifica-tion)开发的非接触式IC卡成功解决了无源和免接触等难题,是电子器件领域的一大突破。其高度安全保密性以及使用简单等特点,使之在各领域的应用异军突起。本文介绍的非接触射频卡读写器就是基于单片机AT89C51CC01 (笔者应设计需要选择带独立CAN控制器的MCU)与复旦微电子股份有限公司的FM1712嵌入式读写芯片开发的。它能完成对Mifare卡的所有读写及控制操作,并可方便地嵌入到其它的系统(例如:门禁,公交,考勤等)中而成为用户系统的一部分。

    1 FM1712芯片简介

    FM1712系列是复旦微电子股份有限公司设计的非接触卡读卡机专用芯片。它采用0.6微米CMOS EEPROM工艺制造,可分别支持13.56 MHz频率下的typeAtypeB非接触式通信协议,以及Mifare标准的加密算法,并可兼容PhilipsRC500RC530RC531读卡机芯片。FM1712内部的发射器不需要增加有源电路就可以驱动近距离天线(可达10 cm),而其接收部分则提供了一个坚固而有效的解调和解码电路,以用于接收ISO14443兼容的应答信号。数字部分还可以处理ISO14443帧和错误检测奇偶CRCFM1712芯片只需少量的外围电路就可以工作,它支持6种微处理器接口,其数字电路具有TTLCMOS两种电压工作模式。

   2 系统设计

    1所示是基于FM1712的通用射频读写系统的结构框图。该系统由AT89C51CC01、键盘、EEPROMFM1712LCD,以及485通信模块组成。MCU负责控制FM1712Mifare(也就是应答器PICC)的读写操作,再根据得到的数据对LCDEEPROM进行相应的操作。MCUPC机通过CAN总线进行通信。使用时,即使PC机与MCU之间通信发生异常,MCU也可以独立工作。在与PC机通信恢复之后,MCU还可以将备份在EEP-ROM中的信息再传给PC机。AT89C5lCC01是一款单片封装的微控制器,它采用高性能的处理器结构,其指令执行时间只需24个时钟周期。EEPROM采用的FM24C64L是一款以I2C为操作方式的存储芯片。LCD则选择内置HD61202U控制器的点阵式液晶LM12864,因为LM12864是并口操作方式,因此使用起来比较方便。整个系统采用12 V电源供电,再由稳压芯片稳压成3.6 V

   

   3 工作原理

    射频卡的电气部分由天线和1个高速(106KBs)RF口、1个控制单元和18 KBEEPROM组成。其中EEPROM分为16个扇区,每个扇区为4,每块16个字节,以块为存取单位,每个扇区有独立的一组密码以进行访问控制。每张卡都有一个{wy}的32位序列号。该RF卡无电源,自带高频天线,内含加密控制逻辑和通讯逻辑电路。信息存储在Mifare卡里,读写器与Mifare卡通过各自的天线建立二者之间的非接触信息传输通道。系统数据存储在无源Mifare,也就是PICC(应答器)中。图2为系统工作原理,可以看出,PCD(读写器)的主要任务是传输能量给PICC,并建立与之的通信。PICC是由一个电子数据作载体,通常由单个微型芯片以及用作天线的大面积线圈等组成;PCD则可产生高频强电磁场,这种磁场能穿过线圈横截面和线圈周围的空间。因为FM1712提供的频率为13.56 MHz,其波长比PCD的天线和PICC之间的距离大好多倍,故可以把PICC到天线之间的电磁场当作简单的交变磁场来对待。首先让PCD天线线圈发射磁场的一小部分磁力线穿过PICC的天线线圈,接着将PICC天线线圈和电容器C构成的振荡回路调频到PCD的发射频率。回路的谐振可使PICC线圈的电压达到{zd0}值,将该电压整流后作为数据载体(微型芯片)的电源。这样,PICC启动之后,可与PCD之间进行数据通信。如上所述可以看出。PCD的性能与天线的参数有着直接的关系。在对天线的性能进行优化之后,PCD的读卡距离可以达到10 cm

    4 读写器的天线设计

    由于FM1712的频率是13.56 MHz,属于短波段,因此可以采用小环天线。小环天线有方型、圆形、椭圆型、三角型等。本系统采用方型天线。天线是非接触式lC卡读写器的一个重要组成部分,在读写器和非接触式IC卡通信中,天线主要用于产生能发射和接收射频信号磁通量,而磁通量用于给读写器提供电源并在读写器和卡片之间传送信息。根据互感原理可知,半径越大、匝数越多,读写器上的天线和卡上天线的互感系数就越大。根据国际标准要求,卡和读写器的通信距离为10 cm。天线可等效成RLC并联回路(见系统工作原理图),故在设计天线时要注意天线的品质因数。国际标准ISO14443规定:无论TYPEATYPEB非接触式IC,其读写器和卡之间的数据传输速度为106 KBs,载波的频率f0=13.56 MHz,因此,每一位数据的维持时间T0=106104k=9.44μsTYPEA类射频智能卡读写器到射频卡的信号编码是修正米勒编码,传送每一位数都会具有3μs的载波中断,因此,该信号的带宽近似为B=1T=13μs=333.333 kHz。这样,天线的品质因数应为:Q=f0/B=13.56 MHz333.333kHz=35。由于天线的传输带宽与品质因数成反比关系,因此,过高的品质因数会导致带宽缩小,从而减弱读写器的调制边带。导致读写器无法与卡通信。

    

    5 硬件接口电路设计

    3所示是该读卡器的硬件接口电路。由图3可以看出,MCUFM1712是通过SPI总线通信的。本系统采用中断(INT1)工作模式,MCU利用FM1712提供的中断信息对其进行控制。需要注意的是,FM1712复位后必须进行一次初始化程序以视始化SPI接口模式,这样还可以同步进行MCUFM1712的启动工作。另外,根据系统的需要,也可以采用查询方式对FM1712进行操作。

    

    6 读写器对卡的操作

    FM1712内部有8个寄存器页,每页有8个寄存器,每个寄存器有8位数据。这些寄存器是统一编址的(0x000x3F),MCU通过SPI接口与FM1712通信来对这些寄存器进行设置。如MCU需要让FM1712执行某个命令(Transceive),就可以把此命令的代码(1E)写入Command寄存器。必须注意的是,MCU对卡片的操作不是简单的一条指令所能完成的,其中必须有对FM1712内部硬件寄存器的设置。其操作如图4所示。以下是对卡的操作定义。

     

    (1) 初始化:包括对MCU的初始化和对各硬件寄存器设定初始值、打开RF场以及看门狗复位等操作;同时要初始化FM1712SPI接口和定时器。设置定时器控制寄存器,并打开TX1TX2

    (2) Request (请求):当一张Mifare卡片处在卡片读写器的天线工作范围之内时,程序员可控1制读写器向卡片发出REQUEST all(REQUESTstd)命令,以启动卡片的ATR将卡片Block0中的卡片类型(TagType)号共2个字节传送给读写器,从而建立卡片与读写器的{dy}步通信联络。如果不进行复位请求操作,读写器对卡片的其它操作将不能进行。

    (3) Anticollision Loop(防冲突机制):如果有多张Mifare卡片处在卡片读写器的天线工作范围之内,PCD将首先与每一张卡片进行通信,以取得每一张卡片的系列号。由于每一张Mifare卡片都具有其{wy}的序列号而决不会相同,因此,PCD可根据卡片的序列号来保证一次只对一张卡进行操作。该操作后,PCD得到PICC的返回值即为卡的序列号。

    (4) Select Tag(选择卡片):完成上述步骤之后,PCD必须对卡片进行选择操作。执行操作后,返回卡上的SIZE字节。

    (5) Authentication(三次相互验证):经过上述步骤并在确认已经选择了一张卡片时,读写器在对卡进行读写操作之前,还必须对卡片上已经设置的密码进行认证。如果匹配,才允许进一步进行读写操作。

    (6) 读写操作:对卡的{zh1}操作就是读、写、增值、减值、存储和传送等操作。在每一个加值和减值操作后都必须跟随一条Transfer传送指令。这样才能真正地将数据结果传送到卡片上。如果没有传送指令,数据结果仍将保持在数据缓冲寄存器中。

    (7) 若循环询问是Request All指令,那么,在处理完一张卡片后,还要判断是否还有未处理完的卡片。

    7 结束语

    IC卡以其高度的信息集成及安全性已经融入当今信息技术的主流之中。本文介绍的读写器所用的读卡芯片FM1712是一款优秀的新型国产芯片,经实验证明,基于该芯片设计的Mifare卡读写器,工作十分稳定。此外,在此读写器的基础上,只要稍加改动还能开发成不同的射频识别应用系统,因而具有很好的市场前景。



郑重声明:资讯 【基于FM1712的通用射频卡读写模块设计】由 发布,版权归原作者及其所在单位,其原创性以及文中陈述文字和内容未经(企业库qiyeku.com)证实,请读者仅作参考,并请自行核实相关内容。若本文有侵犯到您的版权, 请你提供相关证明及申请并与我们联系(qiyeku # qq.com)或【在线投诉】,我们审核后将会尽快处理。
—— 相关资讯 ——