1
在读写器的响应范围之外,非接触式IC卡处于无源状态。通常,非接触式IC卡没有自己的供电电源(电池),只是在读写器响应范围之内,卡才是有源的,卡所需要的能量以及时钟脉冲、数据,都是通过耦合单元的电磁耦合作用传输给卡的。 2
非接触式IC卡的制造工艺是在四层PVC薄膜(两层嵌入薄膜和两层覆盖薄膜)之间粘合一个非接触式IC卡模块及耦合元件而构成的。 其中,耦合元件一般为电磁感应天线线圈,起电感耦合作用。将设计成线圈状的天线安放在承载薄膜的上面,且用适当的连接技术将其与芯片模块连接在一起。天线的制造主要采用以下四种方法:绕制工艺、布线工艺、丝网印刷工艺和蚀刻工艺。非接触式IC卡的薄膜结构如图所示。 3
典型的非接触式IC卡读写器(也称为“阅读器”)包含有高频模块(发送器和接收器)、控制单元以及与卡连接的耦合元件,如图3.4所示。由高频模块和耦合元件发送电磁场,以提供非接触式IC卡所需要的工作能量以及发送数据给卡,同时接收来自卡的数据。此外,大多数非接触式IC卡读写器都配有上传接口,以便将所获取的数据上传给另外的系统(个人计算机、机器人控制装置等)。 4
相对于接触式IC卡,非接触式IC卡需要解决的问题主要有以下三个方面: (1) 非接触式IC卡如何取得工作电压。 (2) 读写器与IC卡之间如何交换信息。
(3) 防冲突问题:多张卡同时进入读写器发射的能量区域(即发生冲突)时如何对卡逐一进行处理。 5
非接触式IC卡在卡的表面上无触点,IC卡与读写器之间通过无线方式(即发射和接收电磁波)进行通信,因此非接触式IC卡的使用依赖于射频识别(RFD)技术的发展,故又将非接触式IC卡称为射频卡(RFC)。典型的射频识别系统由应答器和寻呼器组成,非接触式IC卡的读写器就是寻呼器,而卡则是应答器。 6
读写器和IC卡之间的工作关系如下:
(1) 读写器发射激励信号(一组固定频率的电磁波)。
(2) IC卡进入读写器工作区内,被读写器信号激励。在电磁波的激励下,卡内的LC串联谐振电路产生共振,当所积累的电荷达到2 V时,此电容可以作为电源为其他电路提供工作电压,供卡内集成电路工作所需。
(3) 同时卡内的电路对接收到的信息进行分析,判断发自读写器的命令,如需在EEPROM中写入或修改内容,还需将2 V电压提升到15 V左右,以满足写入EEPROM的电压要求。
(4) IC卡对读写器的命令进行处理后,发射应答信息给读写器。 (5) 读写器接收IC卡的应答信息。 7
图中阴影部分为fc=13.56 MHz载波,数据传输速率=13.56 MHz/128=106 kb/s(9.4 μs/b),从PICC发向PCD的信号用副载波(subcarrier)调制,副载波的频率fs=fc/16=847 kHz。一个位时间等于8个副载波周期。
可以看到,两种方式最主要的分别在于载波调制程度的不同(如图3.6(a)所示)以及二进制数据的编码方法不同(如图3.6(b)所示)。 从TYPE A和TYPE B的比较可以看出以下几点:
(1) 从读写器到卡的调制,TYPE A用100%ASK,因此其信号区别明显,易于检测,抗干扰能力强;但在每一位的传送(传送速率为106 kb/s时,传送周期为9.4 μs)中,有约3 μs的信号间歇,这时的读写器到卡的能量供应中断,必须在卡内电路中加一个大容量电容以维持一定的能量供应;而TYPE B用10%ASK,卡片可以从读写器获得持续的能量;但信号区别不明显,容易造成误读/写,抗干扰能力较差。
(2) TYPE A的防冲突需要卡片上较高和较精确的时序,因此需要在卡和读写器中分别加一些硬件,而TYPE B的防冲突可以用软件来实现。
目前TYPE A与TYPE B孰优孰劣尚在争议中。TYPE A 的产品具有更高的市场占有率,如Philips公司的MIFARE系列占有了当前约80%的市场,且在较为恶劣的工作环境下更有优势。但TYPE B应该在安全性、高速率和适应性方面有更好的前景,并且更适合于CPU卡。 8
AntiCollision防冲突
(1) 指令功能:如果有多于一张的MIFARE 1卡处在MCM天线的有效工作范围(距离)内,则发生了冲突。AntiCollision指令使MCM能够在这一叠 MIFARE 1卡中选择某一张卡。
AntiCollision指令开始于一个AntiCollision Loop(防冲突循环,内部处理)。AntiCollision循环的启动是通过设置STACON寄存器中的AC位来完成的。防冲突循环结束时,AntiCollision指令将提供给用户在这些卡片中选定的那张卡片的一个有效的40位长的序列号(SN,Serial Number)。全球每一张MIFARE 1卡的SN各不相同。 14
1.RF射频接口电路
在卡的RF射频接口电路中,波形转换模块接收读写器所发送的13.56 MHz的无线电调制信号。一方面送调制/解调模块,经解调得到相应的数字信息送数字电路模块;另一方面进行波形转换,将正弦波转换为方波,然后对其整流滤波,由电压调节模块对电压进行进一步的处理,包括稳压等,最终输出提供卡片上各电路的工作电压。
POR模块主要是对卡片上的各个电路进行POWER-ON-RESET(上电复位),使各电路同步启动工作。
而数字电路模块送出的数字信息则经由调制/解调模块调制为13.56 MHz的无线电调制信号,再送往波形转换模块发送给读写器。 2.数字电路部分模块
1) ATR模块:Answer To Request(“请求之应答”)
当一张MIFARE 1卡处在读写器的天线工作范围之内时,程序员控制读写器向卡发出Request all(或Request std)命令后,卡的ATR将启动,将卡片Block 0 中2个字节的卡类型号(TagType)传送给读写器,建立卡与读写器的第一步通信联络。 如果不进行第一步的ATR工作,读写器对卡的其他操作(读/写操作等)将不会进行。
2) AntiCollision模块:防(卡片)冲突功能
如果有多张MIFARE 1卡处在读写器的天线工作范围之内,则AntiCollision模块的防冲突功能将被启动工作。读写器将会首先与每一张卡进行通信,读取每一张卡的序列号(Serial Number)。由于每一张MIFARE 1卡都具有惟一的序列号,决不会相同,因此程序员将启动读写器中的AntiCollision防重叠功能配合卡上的防重叠功能模
块,根据卡序列号来选定其中一张卡。被选中的卡将被激活,可以与读写器进行数据交换;而未被选中的卡处于等待状态,随时准备与读写器进行通信。
AntiCollision模块(防重叠功能)启动工作时,读写器将得到卡片的序列号(Serial Number)。序列号存储在卡的Block 0中,共有5个字节,实际有用的为4个字节,另一个字节为序列号的校验字节 。
3) Select Application 模块:卡片的选择
当卡与读写器完成了上述两个步骤,读写器要想对卡进行读/写操作时,必须对卡进行“Select”操作,以使卡真正地被选中。
被选中的卡将卡片上存储在Block 0中的卡容量“Size” 字节传送给读写器。当读写器收到这一字节后,方可对卡进行进一步的操作,如密码验证等。 4) Authentication & Access Control 模块:认证及存取控制模块
完成上述的三个步骤后,读写器对卡进行读/写操作之前,必须对卡上已经设置的密码进行认证,如果匹配,则允许进一步的读/写操作。
MIFARE 1 卡上有16个扇区,每个扇区都可分别设置各自的密码,互不干涉,必须分别加以认证,才能对该扇区进行下一步的操作。因此每个扇区可独立地应用于一个应用场合,整个卡可以设计成一卡多用(一卡通)的形式来应用。 5) Control & Arithmetic Unit:控制及算术运算单元
这一单元是整个卡的控制中心,是卡的“头脑”。它主要对卡的各个单元进行操作控制,协调卡的各个步骤;同时它还对各种收/发的数据进行算术运算处理、递增/递减处理和CRC运算处理等,是卡中内建的中央微处理器(MCU)单元。 6) RAM/ROM 单元
RAM主要配合控制及算术运算单元,将运算的结果进行暂时存储,例如将需存储的数据由控制及算术运算单元取出送到EEPROM存储器中;将需要传送给读写器的数据由控制及算术运算单元取出,经过RF射频接口电路的处理,通过卡片上的天线传送给读写器。RAM中的数据在卡失掉电源后(卡片离开读写器天线的有效工作范围)将会丢失。
同时,ROM中则固化了卡运行所需要的必要的程序指令,由控制及算术运算单元取出,对每个单元进行指令控制,使卡能有条不紊地与读写器进行数据通信。 7) Crypto Unit:数据加密单元
该单元完成对数据的加密处理及密码保护。加密的算法可以为DES标准算法或其他。
8)EEPROM存储器及其接口电路:EEPROM INTERFACE/EEPROM MEMORY 该单元主要用于存储用户数据,在卡失掉电源后(卡片离开读写器天线的有效工作范围)数据仍将被保持。
MIFARE 1卡片中的这一单元容量为8192 b(1 KB),分为16个扇区。