采用AT89C51CC01和FM1712芯片的射频卡读写器的实现

时间:2012-02-13来源:网络

6 读写器对卡的操作

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

  

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

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

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

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

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

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

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

  7 结束语

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

1 2

关键词: 读写器 实现 射频卡 芯片 AT89C51CC01 FM1712 采用

加入微信
获取电子行业最新资讯
搜索微信公众号:EEPW

或用微信扫描左侧二维码

相关文章

查看电脑版