18.3.1 概述
(1)非接触IC卡读写设备基本功能
① 非接触IC卡进/出射频区的识别和控制。
② 向非接触IC卡提供其所需要的稳定的电源。
③ 实现与卡的数据交换,并提供相应的控制信号。
④ 提供相应的加密解密处理及密钥管理机制。
⑤ 提供相应的外部控制信息及与其他设备的信息交换。
(2)非接触IC卡读写设备工作过程
① 读写设备终端不断向周围发送一组固定频率的电磁波。当频率相同的卡片进入其工作领域时,卡片内的LC串联谐振电路在电磁激励下产生共振,为卡内的电容充电。 ② 在电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内存储,当所积累的电荷达到2v时,此电容了可源为集成电路提供工作电压。 ③ 卡片集成电路中的有关控制逻辑电路对接收到的信号进行解码。根据解码信息判断读写设备终端发来的命令要求,若是读取信息则控制逻辑电路从存储器中读取有关信息;若是修改信息则有关控制逻辑启动电压泵将2V工作电压提升到15V.以便对存储器E2PROM中内容进行重新写入编程。 ④ 当电容放电时,非接触卡内的发射电路就将从存储器中读取的数据信息及相关信息发送给读写设备终端。 ⑤ 读写设备终端对接收到的信息进行处理。
(3)非接触IC卡读写设备系统组成
18.3.2 硬件设计
(1)非接触IC卡读写芯片MF RC500
1)MFRC500功能结构
2)MF RC500引脚
3)MF RC500的寄存器
MCU对MF RC500的控制是通过对其内部的寄存器的读写来实现的.MF RC500内部共有64个寄存器,分成8页,每页8个寄存器。
MF RC500的寄存器描述请参见附录G。
4)MF RC500的命令
RC500内部有一个状态机,可以执行命令寄存器(Command)中的命令。命令的启动只需要将命令代码写到Command寄存器中。执行命令所需要的变量以及数据通过FIFO缓冲区来传递。RC500的命令集有13条命令:
开始(StartUp) 空闲(Idle) 传送(Transmit)
接收(Receive) 传收(Transceive)
写E2PROM(WriteE2) 读E2PROM(ReadE2)
取密码(LoadKey) 取E2PROM中的密码(LoadKeyE2)
认证1(Authent1) 认证2(Authent2)
载入配置(LoadConfig) 计算CRC(CalcCRC)。
(2)GP32与MF RC500的连接
18.3.3 低端软件设计
(1)对MF RC500的操作
1)访问RC500寄存器
RC500内部共有64个寄存器,分8页。每页8个寄存器,每页的{dy}个寄存器均称为页寄存器Page-Register,如下图。
寄存器的第7位是使用页选择位,若置1,页选择有效;若置0,则页选择无效。第0到第2位是页选择,仅当第7位(使用页选择位)为1时才有效。其数值就是寄存器地址A5、A4、A3的内容,即寄存器的页号。
复用地址数据线方式下的寄存器地址
当使用复用地址数据线方式时,地址可以采用页模式或线性地址这两种方式。如下表:
使用页模式时,页选择寄存器的使用页选择位有效,页选择位确定页号,复用地址数据线上的AD0~AD2确定是该页中的第几个寄存器。MF RC500每次复位后,其页选择寄存器默认值为$80,即默认使用页模式。
使用线性地址时,应先使页选择寄存器的UsePageSelect位为0,确认不使用页选择模式,地址组成就是由复用地址数据线上的AD0~AD5确定。
读、写MF RC500寄存器步骤:
2)读写RC500的FIFO缓冲区
MF RC500内部有64字节的FIFO(First In First Out,先进先出)缓冲区,是MCU与RC500之间输入和输出数据流的缓存。缓冲区中数据的流向按照先进先出的顺序进行。
FIFO缓冲区的一个重要作用就是传递执行MF RC500命令时需要的参数。当MCU启动一个命令操作时,MF RC500到FIFO缓冲区去取得执行这个命令的参数。实际中只有一个FIFO缓冲区,而对缓冲区的访问有读入和取出两个方向。
与FIFO缓冲区状态关系紧密的寄存器有:
FIFO缓冲区数据寄存器:FIFOData
FIFO缓冲区数据长度寄存器:FIFOLength
FIFO缓冲区大小寄存器:FIFOLevel
控制寄存器:Control
(2)与卡片的通信过程
MF1卡对存储器的操作命令:
读数据块 READ
写数据块 WRITE
数据块内容增值 INCREMENT
数据块内容减值 DECREMENT
数据块内容重存 RESTORE
传送数据块内容 TRANSFER
2)卡片的状态
3)射频通信应用程序
①询卡函数 ②防冲突函数
③选中卡片函数 ④密码验证函数
⑤读数据块函数 ⑥写数据块函数
⑦增值函数 ⑧减值函数
⑨卡片挂起函数
18.3.5 PC机软件设计
PC机放软件主要功能:将卡中读出的数据形象地显示在界面上,将需要写入的数据以最方便的方式传送到主控MCU中,再写入卡中。
本章小结
智能卡在我们的日常生活中广泛使用,本章在介绍智能卡的基础上,重点分析了非接触式IC卡读写设备的实现方法,并介绍了与智能卡相关的一些计算机技术,使大家对智能卡有一个全面了解