基于FM 1702SL的射频读写器
设计天线时还要注意天线的品质因数。国际标准ISOl4443规定无论TYPEA或TYPEB非接触式IC卡,读写器和卡之间的数据传输速度为106kbit/s,载波的频率f0=13.56MHz,因此,每一位的数据维持的时间tO=106/104k=9.44μs,TypeA类射频卡智能卡读写器到射频卡的信号编码是修正米勒编码,传送每一位数具有t=3μs的载波中断,因此,该信号的带宽近似为B=lT=1/3μs=333.333kHz,故天线的品质因数Q= fO/B=13.56 MHz33.333kHz=35,天线的传输带宽与品质因数成反比关系。因此,过高的品质因数会导致带宽缩小,从而减弱读写器的调制边带,会导致读写器无法与卡通信。
读写器对卡的操作流程
FMl702SL内部有8个寄存器页,每页有8个寄存器,每个寄存器有8位数据。这些寄存器是统一编址的,从Ox00~0x3F,MCU通过SPI接口与 FMl702SL通信对这些寄存器进行设置。例如,MCU需要让FMl702SL执行某个命令(Transceive)时,把此命令的代码(1E)写入 Command寄存器就可以了。
必须注意的是,MCU对卡片的操作不是简单的一条指令所能完成的,其中必须有对FMl702SL硬件内部寄存器的设置。操作步骤如图5所示。
(1)复位初始化FMr702SL:初始化FMl702SL的SPI接口,初始化FMl702SL定时器,设置定时器控制寄存器,打开Txl、TX2。
(2)Request(请求):当一张Mifare卡片处在卡片读写器的天线的工作范围之内时,程序员控制读写器向卡片发出R:EQUEsT all(或REQUEsT std)命令。卡片的ATR将启动,将卡片BLOCkO中的卡片类型(TagType)号共2个字节传送给读写器,建立卡片与读写器的第一步通信联络。如果不进行复位请求操作,读写器对卡片的其它操作将不会进行。
(3)Antieollision LOOp(防冲突机制):如果有多张Mifare卡片处在卡片读写器的天线的工作范围之内时,读写器将首先与每一张卡片进行通信,取得每一张卡片的系列号。由于每一张Mifare卡片都具有其唯一的序列号,决不会相同,因此读写器根据卡片的序列号来保证一次只对一张卡操作。该操作读写器得到卡的返回值为卡的序列号。
(4)Select Tag(选择卡片):完成了上述二个步骤之后,读写器必须对卡片进行选择操作。执行操作后,返回卡上的SIZE字节。
(5)Authentication(三次相互验证):经过上述三个步骤,在确认已经选择了一张卡片时,读写器在对卡进行读写操作之前,一必须对卡片上已经设置的密码进行认证。如果匹配,才允许进一步的读写操作。
(6)读写操作:对卡的最后操作是读、写、增值、减值、存储和传送等操作。
评论