基于FM1702S L的射频读写器
文章出处:http://www.nexussmartsolutions.com 作者:蒋慧 人气: 发表时间:2011年10月16日
FM1702SL是应用于13.56MHz~接触式通信中的高集成读卡Ic,该芯片采用0.6 mCMOSEEPROM工艺,支持13.56MHz频率下TYPE A非接触通信协议,支持多种加密算法,兼容飞利浦的MF RC530(SPI接口)读卡芯片。内部的发射器不需要增加有源电路就可以驱动近距离的天线(可达10cm)。接收电路中的FM1702SL采用了正交解调电路来解调RX脚上ISO14443标准的负载波信号。
系统设计
系统框图如图l所示,系统由MCU、键盘、EEPROM、FM1702SL、液晶屏、485通信模块组成。MCU控制FM1702对Mifare卡进行读写操作,再根据得到的相应数据对液晶屏、EEPROM进行相应的操作。MCU与PC机通过485总线通信,即使PC机与MCU之间通信发生异常,MCU也可以独立工作,在与PC机通信恢复之后,MCU可以将备份在EEPROM中的信息再传给PC机。
P89LPC93 1是一款单片封装的微控制器。P89LPC93 1采用了高性能的处理器结构,指令执行时间只需2~4个时钟周期。P89LPC93 1集成了许多系统级的功能,这样可大大减少元件的数目和电路板面积,并降低系统的成本。EEPROM用的是FM24C64L,它是一款以I2C为操作方式的存储芯片。液晶驱动芯片是PCF8576,也是以FC为操作方式。整个系统用12V电源供电,再由稳压芯片2576稳压成3.6V。
工作原理
Mifare卡包含一片容量为8K位EEPROM,为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位,每个扇区有独立的一组密码及访问控制。每张卡有唯一序列号,为32位。无电源,自带高频天线,内含加密控制逻辑和通讯逻辑电路。信息存储在Mifare卡里,读写器与Mifare卡通过各自的天线建立起二者之间非接触信息传输通道。当Mifare卡进入系统的工作区域时,读写器向Mifare卡发一组固定频率的电磁波,Mifare卡内有一个LC串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到2V时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或读取读写器的数据。通过调整天线驱动电压可以改变通信的最长距离。
FM17029L与MCU的接口电路
电路如图2所示,MCU与FM1702SL是通过SPI总线通信的,采用中断工作模式。需要注意的是在FM1702SL复位后,必须进行一次初始化程序以便初始化SPI接口模式,而且可以同步MCU和FM1702SL的启动工作。
读写器天线的设计
根据互感原理可知,半径越大、匝数越多,读写器上的天线和卡上的天线的互感系数就越大。根据国际标准的要求,卡和读写器的通信距离为10cm。天线可等效成R、L、C并联回路,示意图如图3所示,图3中,L为天线的自感,R为天线的等效电阻,C为天线的分布电容。图4为天线的PCB图。
设计天线时还要注意天线的品质因数。国际标准ISO14443规定无论TYPEA或TYPEB非接触式Ic卡,读写器和卡之间的数据传输速度为106kbit/s,载波的频率fo=13.56MHz,因此,每一位的数据维持的时间tO=106/10@ :9.44 S,TypeA类射频卡智能卡读写器到射频卡的信号编码是修正米勒编码,传送每一位数具有t=3 s的载波中断,因此,该信号的带宽近似为B=I/T=I/3 s=333.333kHz,故天线的品质因数Q~o/B=13.56 MHz/333.333kHz=35,天线的传输带宽与品质因数成反比关系。因此,过高的品质因数会导致带宽缩小,从而减弱读写器的调制边带,会导致读写器无法与卡通信。
读写器对卡的操作流程
FM1702SL内部有8个寄存器页,每页有8个寄存器,每个寄存器有8位数据。这些寄存器是统一编址的,从0x00~Ox3F,MCU通过SPI接口与FM1702SL通信对这些寄存器进行设置。例如,MCU需要让FM1702SL执行某个命令(Transceive)时,把此命令的代码(1E)写入Command寄存器就可以了。
必须注意的是,MCU对卡片的操作不是简单的一条指令所能完成的,其中必须有对FM1702SL硬件内部寄存器的设置。操作步骤如图5所示。
(1)复位初始化FM1702SL:初始化FM1702SL的SPI接口,初始化FM 1702SL定时器,设置定时器控制寄存器,打开TX1、TX2。
(2)Request(请求):当一张Mifare卡片处在卡片读写器的天线的工作范围之内时,程序员控制读写器向卡片发出REQUEST all(或REQUEST std)命令。卡片的ATR将启动,将卡片BlockO中的卡片类~_(TagType)号共2个字节传送给读写器,建立卡片与读写器的第一步通信联络。如果不进行复位请求操作,读写器对卡片的其它操作将不会进行。
(3)Anticollision Loop(防冲突机制):如果有多张Mifare卡片处在卡片读写器的天线的工作范围之内时,读写器将首先与每一张卡片进行通信,取得每一张卡片的系列号。由于每一张Mifare卡片都具有其唯一的序列号,决不会相同,因此读写器根据卡片的序列号来保证一次只对一张卡操作。该操作读写器得到卡的返回值为卡的序列号。
(4)Seleet Tag(选择卡片):完成了上述二个步骤之后,读写器必须对卡片进行选择操作。执行操作后,返回卡上的SIZE字节。
(5)Authentication(~次相互验证):经过上述三个步骤,在确认已经选择了一张卡片时,读写器在对卡进行读写操作之前,必须对卡片上已经设置的密码进行认证。如果匹配,才允许进一步的读写操作。
(6)读写操作:对卡的最后操作是读、写、增值、减值、存储和传送等操作。
结束语
Ic卡以其高度的信息集成及安全I生已经融入当今信息技术的主流,本文介绍的读写器应用的读卡芯片FM1702SL是一款优秀的新型国产芯片,经实验证明基于该芯片设计的Mifare卡读写器工作稳定。在此读写器的基础上,只要稍加改动就能开发成不同的射频识别应用系统,如考勤系统、门禁系统、公交车收费系统等。