第十八章 非接触式IC卡及其读写设备 主要内容 智能卡基本知识概要 非接触式IC卡 非接触式IC卡读写设备设计 《嵌入式应用技术基础教程》课件 第十八章 非接触式IC卡及其读写设备 主要内容 智能卡基本知识概要 非接触式IC卡 非接触式IC卡读写设备设计
18.1 智能卡基本知识概要 18.1.1 关于智能卡 (1)存储卡:内部封装了为电可擦除可编程只读存储器EEPROM。 《嵌入式应用技术基础教程》课件 18.1 智能卡基本知识概要 18.1.1 关于智能卡 智能卡(“smart card”),也称作集成电路卡(integrated circuit card),即IC卡。它一般指将集成电路芯片嵌装于塑料等基片上制成的卡片,外形与磁卡相似,芯片具有存储、加密及数据处理等功能。IC卡可以分为以下三类: (1)存储卡:内部封装了为电可擦除可编程只读存储器EEPROM。 (2)逻辑加密卡:封装了上述EEPROM存储器外,还专设有逻辑加密电路,提供了硬件加密手段。 (3)CPU卡 :卡片内集成了中央处理器CPU, 程序存储器ROM, 数据存储器EEPROM 和RAM。 18.1 智能卡基本知识概要
18.1.1 关于智能卡 《嵌入式应用技术基础教程》课件 根据读写方法把IC卡分为:接触式IC卡和非接触式IC卡。两种卡的集成电路均密封在塑料卡基片内部,可防水,防尘,防磁。 接触式IC卡:表面可以看到一个方型镀金接口,共有八个或六个镀金触点,用于与读写器接触,通过电流信号完成读写。 非接触式IC卡:卡内除包含前述三种IC卡电路,还有射频收发电路及相关电路。IC卡在一定距离内即可收发读写器的信号,实现非接触读写。因而称这种IC卡为非接触式,或者感应式IC卡,或者射频识别(Radio Frequency Identification,简称RFID)卡。 18.1 智能卡基本知识概要
18.1.2 智能卡的接口设备 《嵌入式应用技术基础教程》课件 智能卡接口设备IFD(inter face device),通常也称作IC卡读写设备/读写器。读写设备按运行方式可分为单机型和联机型两大类。 单机型读写设备:可独立存储和工作,无需和主机相连就可完成数据读写,可与应用设备结合或单独工作。有着系统规模小、适应范围广、不需要联接微机、输出直接控制终端执行机构(例如电控锁、闸门等)以及安装简单、使用方便等诸多优点。典型应用有IC卡电表、水表,公交车票刷卡机等。 联机型读写设备:通过并行或串行口与PC机或应用系统网络连接,组成不同的应用系统。联机型读写设备一般应用于金融和商品交易部门,适合大型系统或金融支付系统使用。 18.1 智能卡基本知识概要
18.1.3 智能卡的国际标准 (1)接触式IC卡的国际标准 (2)非接触式IC卡的国际标准 (3)测试标准 《嵌入式应用技术基础教程》课件 ISO/IEC 7816是IC卡遵循的主要国际标准,对IC卡的物理特性、触点的尺寸和位置、电信号和传输协议、交换用行业命令、生物个人认证方法、密码信息应用等做出了详细规定。 (2)非接触式IC卡的国际标准 标准 卡类型 作用距离(约) ISO 10536 密耦合 0~1cm ISO 14443 近耦合 0~10cm ISO 15693 疏耦合 0~1m (3)测试标准 对各种卡进行测试的国际标准是ISO/IEC 10373。 返回 18.1 智能卡基本知识概要
18.2 非接触式IC卡 18.2.1 非接触式IC卡 《嵌入式应用技术基础教程》课件 非接触式IC卡Contactless Smart Card(CSS),也称作感应卡、射频卡,由IC芯片、感应天线组成,并完全密封在一个标准PVC卡片中, 无外露部分,其结构示意图如下。 外壳 芯片 天线 18.2 非接触式IC卡
非接触IC卡工作原理图 《嵌入式应用技术基础教程》课件 天线 非接触IC卡 读写器 (内置芯片、天线) PC 数 据 能 量 时 序
非接触IC卡的优点: 《嵌入式应用技术基础教程》课件 (1)高可靠性:无触点,避免了由接触读写产生的各种故障。提高了抗静电和环境污染能力,因此提高了可靠性及使用寿命。 (2)易用性:操作方便、快捷,无需插拔卡,完成—次操作只需0.1~0.3秒。 (3)高安全性:序列号全球唯一。卡与读写设备之间采用双向互认验证机制。所有数据都加密,不同分区的数据用不同的密码和访问条件进行保护。 (4)高抗干扰性:对有防冲突电路的非接触卡,在多卡同时进入读写范围内时,读写设备可一一对卡进行处理。 (5)一卡多用:卡片上的数据分区管理,实现一卡多用、一卡通。 (6)多种工作距离:作用距离从几厘米到几米,适应不同场合。 18.2 非接触式IC卡
18.2.2 非接触卡的应用 (1)公共交通 (2)身份识别 (3)门禁控制 《嵌入式应用技术基础教程》课件 18.2.2 非接触卡的应用 (1)公共交通 (2)身份识别 (3)门禁控制 另外,高速公路收费,停车场收费,加油站收费,智能卡水表、电表、煤气表等应用。 18.2 非接触式IC卡
18.2.3 非接触式IC卡Mifare (1)Mifare 1卡特点 《嵌入式应用技术基础教程》课件 Philips是世界上最早研制非接触式IC卡的公司,其Mifare技术已经被制定为IS0/IEC14443 TYPE A国际标准。 (1)Mifare 1卡特点 ① 采用CMOS工艺,内建E2PROM存储器、MCU智能控制器等。 ② 卡片电路不用任何电池供电。 ③ 标准操作距离高达10cm,通信速率高达106kbit/s。 ④ 具有先进的数据通信加密和双向密码验证功能。 ⑤ 具有防冲突功能。 ⑥ 其芯片在制造时具有全球唯一的序列号。 ⑦ 内建8K的E2PROM存储器,分16个扇区。 ⑧ 芯片设计有增/减值运算电路,其运算时间最长不超过100ms。 ⑨ 擦写能力超过10万次,数据保存期大于10年。 18.2 非接触式IC卡
(2)MF1卡主要参数 《嵌入式应用技术基础教程》课件 工作频率:13.56MHZ; 数据保存期:≥10年; 操作时间:≤96ms; 读写距离:2.5~10cm ; 存储容量:8Kbit; 尺寸:85.6mm×54mm×0.76mm ; 存储器类型:E2PROM; 操作环境温度:-20℃~50℃; 多重应用区:16个分区; 厂商序列号:32位,全球唯一; 相对湿度:90% ; 写卡次数:10万次以上; 材料:PVC。 18.2 非接触式IC卡
(3)MFl芯片逻辑结构 《嵌入式应用技术基础教程》课件 数 字 控 制 单 元 射频接口 E2PROM 防冲突 E2PROM接 口 认证 控制和算术运算单元 防冲突 E2PROM接 口 加密单元 天线 18.2 非接触式IC卡
(4)MFl卡片的存储结构 《嵌入式应用技术基础教程》课件 Mifare 1卡片采用EEPROM作为存储介质,容量为1K × 8位 ,分为16个扇区(0~15),每个扇区有4个块(0~3),每块有16字节。一个扇区共16 Byte × 4 = 64 Byte。扇区的第四块称作尾块,包含了该扇区的密码A(6个字节)、存取控制(4个字节)、密码B(6个字节),是控制块。其余三块是数据块。 扇区0的块0固化了厂商代码信息,不可改写。其中:第0~4字节为卡片的序列号;第5字节为序列号的校验码;第6字节为卡片的容量“SIZE”;第7,8字节为卡片的类型号(Tagtype);其他字节由厂商另加定义。如下图所示。 扇区 块 1 2 3 4 5 6 7 8 9 A B C D E F 描述 密码A 权限位 密码 B 第0扇区尾块 数据块 厂商标志块 18.2 非接触式IC卡
18.2.4 非接触式IC卡标准ISO/IEC 14443 《嵌入式应用技术基础教程》课件 ISO/IEC 14443是近耦合IC卡的国际标准,包括四个部分: 第一部分ISO/IEC 14443-1制定了有关非接触卡的物理特性; 第二部分ISO/IEC 14443-2制定了有关射频功率及信号界面的特性;第三部分ISO/IEC 14443-3则为非接触卡的初始化及防冲突机制; 第四部分ISO/IEC 14443-4为有关的交易协定。 18.2 非接触式IC卡
Type A与Type B 的比较 《嵌入式应用技术基础教程》课件 非接触式IC卡的分为Type A和Type B两种。Philips公司的MF1卡就是A型卡。 下表中PCD(Proximity Coupling Device)指阅读器,PICC(Proximity Integrated Circuit Card)指近耦合非接触式IC卡。 A型 B型 PCD 到 PICC 调制 ASK 100% ASK 10% 位编码 改进的Miller编码 NRZ编码 波特率 106kdB 同步 位级同步(帧起始,帧结束标记) 每个字节有1个起始位和1个结束位 用振幅键控调制847kHz的 负载调制的副载波 用相位键控调制847kHz的 曼彻斯特编码 1位“帧同步”(帧起始,帧结束标记) 返回 18.2 非接触式IC卡
18.3 非接触式IC卡读写设备设计 18.3.1 概述 (1)非接触IC卡读写设备基本功能 《嵌入式应用技术基础教程》课件 18.3.1 概述 (1)非接触IC卡读写设备基本功能 ① 非接触IC卡进/出射频区的识别和控制。 ② 向非接触IC卡提供其所需要的稳定的电源。 ③ 实现与卡的数据交换,并提供相应的控制信号。 ④ 提供相应的加密解密处理及密钥管理机制。 ⑤ 提供相应的外部控制信息及与其他设备的信息交换。 18.3 非接触式IC卡读写设备设计
(2)非接触IC卡读写设备工作过程 《嵌入式应用技术基础教程》课件 ① 读写设备终端不断向周围发送一组固定频率的电磁波。当频率相同的卡片进入其工作领域时,卡片内的LC串联谐振电路在电磁激励下产生共振,为卡内的电容充电。 ② 在电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内存储,当所积累的电荷达到2v时,此电容了可源为集成电路提供工作电压。 ③ 卡片集成电路中的有关控制逻辑电路对接收到的信号进行解码。根据解码信息判断读写设备终端发来的命令要求,若是读取信息则控制逻辑电路从存储器中读取有关信息;若是修改信息则有关控制逻辑启动电压泵将2V工作电压提升到15V.以便对存储器E2PROM中内容进行重新写入编程。 ④ 当电容放电时,非接触卡内的发射电路就将从存储器中读取的数据信息及相关信息发送给读写设备终端。 ⑤ 读写设备终端对接收到的信息进行处理。 18.3 非接触式IC卡读写设备设计
(3)非接触IC卡读写设备系统组成 《嵌入式应用技术基础教程》课件 与主机的通信接口 LED/ LCD显 示 键盘 其它 MCU 天线 射频处理 模块 18.3 非接触式IC卡读写设备设计
18.3.2 硬件设计 (1)非接触IC卡读写芯片MF RC500 《嵌入式应用技术基础教程》课件 1)MFRC500功能结构 控制线 MF RC500 并行微控制器接口 (带输入输出缓冲) Crypto1 安全算法及 密码验证 状态及控制 数据处理 并行/串行转换 CRC/奇偶生成及校验 帧封装生成及校验 位编码及译码 模拟电路 集成解码器 位译码器 输出驱动 数据线 Mifare1 S50 ISO14443A 地址线 18.3 非接触式IC卡读写设备设计
《嵌入式应用技术基础教程》课件 2)MF RC500引脚 OSCIN 1 〇 32 OSCOUT 2 31 IRQ RSTPD 3 30 MFIN MFOUT TX1 TVDD TX2 TVSS NCS NWR NRD DVSS D0 D1 D2 D3 OSCOUT RSTPD VMID RX AVSS AUX AVDD DVDD A2 A1 A0 ALE D7 D6 D5 D4 1 〇 32 2 31 3 30 4 29 5 28 6 27 7 26 8 25 24 23 22 12 21 13 20 14 19 15 18 16 17 18.3 非接触式IC卡读写设备设计
MCU对MF RC500的控制是通过对其内部的寄存器的读写来实现的.MF RC500内部共有64个寄存器,分成8页,每页8个寄存器。 《嵌入式应用技术基础教程》课件 3)MF RC500的寄存器 MCU对MF RC500的控制是通过对其内部的寄存器的读写来实现的.MF RC500内部共有64个寄存器,分成8页,每页8个寄存器。 MF RC500的寄存器描述请参见附录G。 18.3 非接触式IC卡读写设备设计
开始(StartUp) 空闲(Idle) 传送(Transmit) 接收(Receive) 传收(Transceive) 《嵌入式应用技术基础教程》课件 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)。 18.3 非接触式IC卡读写设备设计
(2)GP32与MF RC500的连接 《嵌入式应用技术基础教程》课件 地址锁存 数据/地址 复位 片选 写 读 中断 高电平 低电平 PTB0-PTB7 PTC0 PTC1 PTC2 PTC3 PTC4 IRQ MC68HC908GP32 D0-D7 A0 A1 A2 RSTPD NCS ALE MF RC500 TX2 RX TX1 VMID 匹配 电路 天线 NWR NRD 18.3 非接触式IC卡读写设备设计
18.3.3 低端软件设计 (1)对MF RC500的操作 《嵌入式应用技术基础教程》课件 1)访问RC500寄存器 RC500内部共有64个寄存器,分8页。每页8个寄存器,每页的第一个寄存器均称为页寄存器Page-Register,如下图。 7 6 5 4 3 2 1 0 使用页选择 页选择 寄存器的第7位是使用页选择位,若置1,页选择有效;若置0,则页选择无效。第0到第2位是页选择,仅当第7位(使用页选择位)为1时才有效。其数值就是寄存器地址A5、A4、A3的内容,即寄存器的页号。 18.3 非接触式IC卡读写设备设计
复用地址数据线方式下的寄存器地址 《嵌入式应用技术基础教程》课件 当使用复用地址数据线方式时,地址可以采用页模式或线性地址这两种方式。如下表: 寄存器访问方式 是否使用页选择 寄存器地址 页模式 1 PageSelect2 PageSelect1 PageSelect0 AD2 AD1 AD0 线性地址 AD5 AD4 AD3 使用页模式时,页选择寄存器的使用页选择位有效,页选择位确定页号,复用地址数据线上的AD0~AD2确定是该页中的第几个寄存器。MF RC500每次复位后,其页选择寄存器默认值为$80,即默认使用页模式。 使用线性地址时,应先使页选择寄存器的UsePageSelect位为0,确认不使用页选择模式,地址组成就是由复用地址数据线上的AD0~AD5确定。 18.3 非接触式IC卡读写设备设计
读、写MF RC500寄存器步骤: 《嵌入式应用技术基础教程》课件 开始 开始 初始化数据口方向为输出 ALE:01,地址锁存 数据口地址上线 NCS:10,片选选中 数据口方向改为输入 数据口内部上拉 NRD:10,读信号线有效 读数据到数据口 NRD:01,读信号线无效 NCS: 01,片选无效 ALE:01,地址锁存 结束 初始化数据口方向为输出 写MF RC500寄存器的程序流程图 开始 ALE: 01,地址锁存 地址上线 ALE:10,锁存无效 NCS: 10,片选选中 NWR:10,写信号线有效 数据上线 NWD:01,写信号线无效 NCS: 01,片选无效 结束 初始化数据口方向为输出 18.3 非接触式IC卡读写设备设计
与FIFO缓冲区状态关系紧密的寄存器有: FIFO缓冲区数据寄存器:FIFOData FIFO缓冲区数据长度寄存器:FIFOLength 《嵌入式应用技术基础教程》课件 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 18.3 非接触式IC卡读写设备设计
(2)与卡片的通信过程 《嵌入式应用技术基础教程》课件 1)卡片的通信流程以及命令 非接触卡MF1的通信流程 询卡Request Standard 询卡Request All POR 防冲突循环得序列号 选中卡片 三遍验证确定分区 读块 写块 减量 增量 恢复 挂起 传送 存储区操作 验证过程 识别及选中过程 18.3 非接触式IC卡读写设备设计
MF1卡对存储器的操作命令: 《嵌入式应用技术基础教程》课件 读数据块 READ 写数据块 WRITE 数据块内容增值 INCREMENT 数据块内容减值 DECREMENT 数据块内容重存 RESTORE 传送数据块内容 TRANSFER 18.3 非接触式IC卡读写设备设计
《嵌入式应用技术基础教程》课件 2)卡片的状态 POWER OFF 状态 上电复位 IDLE REQA、WUPA命令 防冲突循环 READY HALT命令 应用 SELECT命令 REQA、WUPA命令 防冲突循环 上电复位 WUPA命令 IDLE READY ACTIVE HALT 18.3 非接触式IC卡读写设备设计
18.3.5 PC机软件设计 《嵌入式应用技术基础教程》课件 3)射频通信应用程序 ①询卡函数 ②防冲突函数 ③选中卡片函数 ④密码验证函数 ①询卡函数 ②防冲突函数 ③选中卡片函数 ④密码验证函数 ⑤读数据块函数 ⑥写数据块函数 ⑦增值函数 ⑧减值函数 ⑨卡片挂起函数 18.3.5 PC机软件设计 PC机放软件主要功能:将卡中读出的数据形象地显示在界面上,将需要写入的数据以最方便的方式传送到主控MCU中,再写入卡中。 返回 18.3 非接触式IC卡读写设备设计
《嵌入式应用技术基础教程》课件 本章小结 智能卡在我们的日常生活中广泛使用,本章在介绍智能卡的基础上,重点分析了非接触式IC卡读写设备的实现方法,并介绍了与智能卡相关的一些计算机技术,使大家对智能卡有一个全面了解, 返回