基于FM1702SL的射频读写器

时间:2022-07-16 11:21:28

FM1702SL是应用于13.56MHz非接触式通信中的高集成读卡IC,该芯片采用0.6μm CMOS EEPROM工艺,支持13.56MHz频率下TYPE A非接触通信协议,支持多种加密算法,兼容飞利浦的MF RC530(SPI接口) 读卡芯片。内部的发射器不需要增加有源电路就可以驱动近距离的天线(可达10cm)。接收电路中的FM1702SL采用了正交解调电路来解调RX脚上ISO14443标准的负载波信号。

系统设计

系统框图如图1所示,系统由MCU、键盘、EEPROM、FM1702SL、液晶屏、485通信模块组成。MCU 控制FM1702 对 Mifare 卡进行读写操作,再根据得到的相应数据对液晶屏、EEPROM进行相应的操作。MCU 与PC机通过485总线通信,即使PC机与MCU之间通信发生异常,MCU也可以独立工作,在与PC机通信恢复之后,MCU可以将备份在EEPROM中的信息再传给PC机。

P89LPC931是一款单片封装的微控制器。P89LPC931采用了高性能的处理器结构,指令执行时间只需2~4个时钟周期。P89LPC931集成了许多系统级的功能,这样可大大减少元件的数目和电路板面积,并降低系统的成本。EEPROM用的是FM24C64L,它是一款以I2C为操作方式的存储芯片。液晶驱动芯片是PCF8576,也是以I2C为操作方式。整个系统用12V电源供电,再由稳压芯片2576稳压成3.6V。

工作原理

Mifare卡包含一片容量为8K位EEPROM,为16个扇区,每个扇区为4块,每块16个字节,以块为存取单位,每个扇区有独立的一组密码及访问控制。每张卡有唯一序列号,为32位。无电源,自带高频天线,内含加密控制逻辑和通讯逻辑电路。

信息存储在Mifare卡里,读写器与Mifare卡通过各自的天线建立起二者之间非接触信息传输通道。当Mifare卡进入系统的工作区域时,读写器向Mifare卡发一组固定频率的电磁波,Mifare卡内有一个 LC 串联谐振电路,其频率与读写器发射的频率相同,在电磁波的激励下,LC 谐振电路产生共振,从而使电容内有了电荷,在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内储存,当所积累的电荷达到 2V 时,此电容可做为电源为其它电路提供工作电压,将卡内数据发射出去或读取读写器的数据。通过调整天线驱动电压可以改变通信的最长距离。

FM1702SL与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,载波的频率f0=13.56MHz,因此,每一位的数据维持的时间t0=106/104k =9.44μs,TypeA类射频卡智能卡读写器到射频卡的信号编码是修正米勒编码,传送每一位数具有t=3μs的载波中断,因此,该信号的带宽近似为B=1/T=1/3μs= 333.333kHz,故天线的品质因数Q=f0/B=13.56 MHz/333.333kHz=35,天线的传输带宽与品质因数成反比关系。因此,过高的品质因数会导致带宽缩小,从而减弱读写器的调制边带,会导致读写器无法与卡通信。

读写器对卡的操作流程

FM1702SL内部有8个寄存器页,每页有8个寄存器,每个寄存器有8位数据。这些寄存器是统一编址的,从0x00~0x3F,MCU通过SPI接口与FM1702SL通信对这些寄存器进行设置。例如,MCU需要让FM1702SL执行某个命令(Transceive)时,把此命令的代码(1E)写入Command寄存器就可以了。

必须注意的是,MCU对卡片的操作不是简单的一条指令所能完成的,其中必须有对FM1702SL硬件内部寄存器的设置。操作步骤如图5 所示。

(1)复位初始化FM1702SL:初始化FM1702SL的SPI接口,初始化FM1702SL定时器,设置定时器控制寄存器,打开TX1、TX2。

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

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

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

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

(6) 读写操作:对卡的最后操作是读、写、增值、减值、存储和传送等操作。

结束语

IC卡以其高度的信息集成及安全性已经融入当今信息技术的主流,本文介绍的读写器应用的读卡芯片FM1702SL是一款优秀的新型国产芯片,经实验证明基于该芯片设计的Mifare 卡读写器工作稳定。在此读写器的基础上, 只要稍加改动就能开发成不同的射频识别应用系统, 如考勤系统、门禁系统、公交车收费系统等。

上一篇:飞思卡尔ZigBee射频芯片MC13192的原理与应用 下一篇:“金九银十”楼市热销能否延续价格是关键