接触式IC卡技术_第1页
接触式IC卡技术_第2页
接触式IC卡技术_第3页
接触式IC卡技术_第4页
接触式IC卡技术_第5页
已阅读5页,还剩278页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第2章 接触式IC卡技术第2章 接触式IC卡技术2.1 实训实训1:接触式存储器卡与逻辑加密卡的存储结构:接触式存储器卡与逻辑加密卡的存储结构2.2 接触式接触式IC卡的基本物理特性卡的基本物理特性 2.3 接触式接触式IC卡的芯片技术卡的芯片技术 2.4 典型存储器卡典型存储器卡 2.5 实训实训2:接触式存储器卡的操作控制:接触式存储器卡的操作控制2.6 典型逻辑加密卡典型逻辑加密卡 2.7 实训实训3:接触式逻辑加密卡的操作控制:接触式逻辑加密卡的操作控制2.8 接触式接触式IC卡接口技术卡接口技术 思考题思考题 第2章 接触式IC卡技术2.1 实训实训1:接触式存储器卡与逻辑加密卡的存

2、储结构:接触式存储器卡与逻辑加密卡的存储结构1实训目的实训目的(1) 建立对接触式IC卡的感性认识。(2) 理解和掌握接触式存储器卡的访问方式和典型存储结构。(3) 理解和掌握接触式逻辑加密卡的访问方式和典型存储结构。第2章 接触式IC卡技术 2实训设备与器件实训设备与器件 (1) 实训设备:通用接触式IC卡读写器,586电脑,通用接触式IC卡读写器DEMO软件(使用方法参见厂商提供的使用手册)。 (2) 实训器件:AT24C01卡、SLE4442卡、AT88SC1604卡(白卡,实验室准备),IC卡电话卡(已发行,自备)。第2章 接触式IC卡技术 3实训步骤与要求实训步骤与要求 1) 通用接

3、触式IC卡读写器及DEMO软件的安装 (1) 按系统提示安装通用接触式IC卡读写器DEMO软件。 (2) 按标志连接通用接触式IC卡读写器的电源线及串口线,注意电源 +5 V与地不可接反。 2) 使用DEMO软件访问AT24C01卡 (1) 按使用手册的说明操作演示软件,对通用接触式IC卡读写器进行建立连接操作。 (2) 将AT24C01卡插入读写器卡座,选择卡型(自动识别卡型或选择AT24C01卡),进入卡操作界面。 (3) 对AT24C01卡进行读/写/擦除操作,记录操作结果及操作条件。第2章 接触式IC卡技术 3) 使用DEMO软件访问自备的IC卡电话卡 (1) 将IC卡电话卡插入读写器

4、卡座,选择自动识别卡型,记录卡型。 (2) 进入卡操作界面对电话卡进行读/写/擦除操作,在表2.1中记录操作结果及操作条件。表表2.1 电话卡存储结构记录表电话卡存储结构记录表区域名 字段内容 字节地址 字节数 读/写/擦除条件 第2章 接触式IC卡技术 4) 使用DEMO软件访问SLE4442卡 (1) 将SLE4442卡插入读写器卡座,选择卡型,进入卡操作界面。 (2) 对SLE4442卡进行读/写/擦除操作,在表2.2中记录操作结果及操作条件。表表2.2 SLE4442卡存储结构记录表卡存储结构记录表区域名 字段内容 字节地址 字节数 读/写/擦除条件 第2章 接触式IC卡技术 5) 使

5、用DEMO软件访问AT88SC1604卡 (1) 将AT88SC1604卡插入读写器卡座,选择卡型,进入卡操作界面。 (2) 对AT88SC1604卡进行读/写/擦除操作,在表2.3中记录操作结果及操作条件。表表2.3 AT88SC1604卡存储结构记录表卡存储结构记录表区域名 字段内容 字节地址 字节数 读/写/擦除条件 第2章 接触式IC卡技术 4实训总结与分析实训总结与分析 (1) AT24C01卡的操作界面如图2.1所示。 可以看到,AT24C01的存储容量为1 Kb(128 B),存储结构为1288 b。可以按字节操作,所有字节的读/写/擦除均可任意进行。这种卡被称为存储器卡。存储器

6、卡的详细内容参见2.3节。第2章 接触式IC卡技术 (2) IC电话卡的操作界面如图2.2所示。 DEMO软件自动识别该卡为SLE4406卡。可以看到,这种卡的存储容量为104 b(13 B),其中仅后5个字节为用户区,可按位操作。用户区可任意读、任意写(由1变为0称为写),但只能按字节借位擦除(由0变为1称为擦除)。当用户区全为0时,卡将作废。SLE4406卡是一种按位操作的逻辑加密卡,它以一次性的计数方式操作,因此这种卡也称为计数卡(Token Memory Card),其详细介绍参见2.6.1节。第2章 接触式IC卡技术图2.1 AT24C01卡的操作界面 第2章 接触式IC卡技术图2.

7、2 IC电话卡的操作界面 第2章 接触式IC卡技术(3) SLE4442卡的操作界面如图2.3所示。图2.3 SLE4442卡的操作界面 第2章 接触式IC卡技术 通过操作我们发现,SLE4442卡具有2 Kb(256 B)的存储容量,它采用多存储器结构,包括三个存储器:2568 b的EEPROM型主存储器,321 b的PROM型保护存储器和48 b的EEPROM型加密存储器。主存储器可重复擦除使用,按字节操作,并分为保护数据区和应用数据区,读出均不受限制,但保护数据区的擦除和写入受保护存储器熔丝状态的保护,而应用数据区的擦除和写入则受加密存储器中的密码及密码计数器保护。SLE4442卡是一种

8、按字节操作的多存储器逻辑加密卡。第2章 接触式IC卡技术 (4) AT88SC1604卡的操作界面如图2.4所示。 通过操作我们发现,AT88SC1604卡的存储容量为16 384 b(2048 B)。它采用单存储器多逻辑分区结构,主存储器除划分了特定的标志数据区和控制数据区之外,还将应用数据区分成四个完全隔离的子区,并在每个子区中配备了各自的读、写控制标志和写入/擦除密码以及密码输入错误计数器等逻辑控制。AT88SC1604卡是一种按字节操作的大容量逻辑加密卡。第2章 接触式IC卡技术 5思考思考 (1) 若要构成一个接触式IC卡门禁系统,应采用哪一种卡,为什么?与传统的锁加钥匙的方式相比较

9、,由接触式IC卡及其读写器构成的接触式IC卡门禁系统有何优胜之处? (2) 分别说明AT24C01A、SLE4442和AT88SC1604的安全性是由哪些环节保证的?第2章 接触式IC卡技术图2.4 AT88SC1604卡的操作界面 第2章 接触式IC卡技术2.2 接触式接触式IC卡的基本物理特性卡的基本物理特性 所谓接触式IC卡,就是在使用时,通过有形的金属电极触点将卡的集成电路与外部接口设备直接接触连接,提供集成电路工作的电源并进行数据交换的IC卡。其特点是在卡的表面有符合ISO/IEC 7816标准的多个金属触点。第2章 接触式IC卡技术2.2.1 接触式接触式IC卡的基本构成卡的基本构

10、成图2.5 接触式IC卡外形图电极膜片塑料基片0.76 mm85.6 mm53.98 mm第2章 接触式IC卡技术图2.6 接触式IC卡内部结构剖视图0.76 mm塑料基片半导体芯片芯片信号引线电极膜片封口胶芯片封装树脂第2章 接触式IC卡技术 在图2.6中,其各组成部分说明如下: (1) 半导体芯片:它是IC卡的核心部分。一般采用0.380.8 m的HCMOS或NMOS工艺制造的超大规模集成电路。在半导体芯片中包括存储器、译码电路、接口驱动电路、逻辑加密控制电路,甚至微处理器单元(CPU)等各种功能电路。其外形大小约为2 mm1 mm0.3 mm。第2章 接触式IC卡技术 (2) 电极膜片:

11、它是作为半导体芯片各输入/输出信号引脚与外部设备接触连接的导电体,它实际是一种精密的印刷电路板(PCB)。其基底为一层绝缘材料,(一般为环氧树脂玻璃或聚酰亚胺薄膜)。在基底的绝缘材料上沉积一层铜合金,并在其外端表面镀金,以提高其导电性能和防氧化能力。电极膜片的外形大小约为:长9.6213.65 mm,宽9.3211.56 mm。电极膜片的外形一般为矩形或椭圆形。这种形状上的差异主要是为了改善卡片的抗扭曲方面的机械特性。电极膜片上共有多个芯片电极,每个电极的中心位置和最小面积是有规定的。但各电极表面分隔形状没有规定。第2章 接触式IC卡技术图2.7 接触式IC卡模块C1M2.2第2章 接触式IC

12、卡技术 (3) 塑料基片:它是半导体芯片和电极膜片的载体。根据各生产厂家制卡工艺设备的要求,一般采用PVC(聚氯乙烯)、PET和ABS塑料材料。目前在国内所使用或封装生产的IC卡,基片材料大都使用PVC材料。 但随着制卡技术不断发展和对工业环保的要求,PVC材料的使用将会逐渐受到一定的限制。因而目前国外的一些制卡厂商已逐渐将IC卡的基片材料转向改用PET或ABS材料。塑料基片的大小,对于满足国际标准识别卡的ID-1型的尺寸是85.6 mm(长)53.98 mm (宽)0.75 mm(厚)。应该说明,由半导体芯片和电极膜片封装而成的IC卡模块(Wire Boded Module,如图2.7所示)

13、就可以实现IC卡的基本功能。第2章 接触式IC卡技术2.2.2 接触式接触式IC卡的触点尺寸和位置卡的触点尺寸和位置 符合国际标准的IC卡的物理特性主要由国际标准ISO 7810、ISO 7811-1/2/3/4、ISO 7812、ISO 7813和ISO/IEC 7816-1等定义。其主要特性指标包括几何尺寸、抗X射线能力、触点与卡基表面的误差、电阻(触点)、抗电磁干扰、抗磁场干扰、抗静电能力、热耗、抗弯曲特性以及抗扭曲特性等。上述物理特性及其检测方法参见相关国际标准。 接触式IC卡有8个触点,即集成电路引脚,从C1到C8,如图2.8所示。国际标准ISO/IEC 7816-2对接触式集成电路

14、卡的触点尺寸和芯片位置以及功能作了具体的规定。第2章 接触式IC卡技术图2.8 接触式IC卡的触点位置C1C2C3C4C5C6C7C810.25max12.25min17.87max19.87min19.23max20.93min21.77max23.47min24.31max26.01min26.85max28.55min左边沿塑料基片上边沿第2章 接触式IC卡技术 IC卡的电极膜片(即8个触点)既可安排在塑料基片的正面,也可安排在反面。触点之间的排列顺序必须按图2.8所示排列。各触点在卡基平面的几何尺寸、位置均以卡触点的接触面的左边沿和上边沿为基准边。其触点的尺寸及位置如图2.8所示。 在

15、ISO/IEC 7816-2中对每个触点的几何形状和最大面积虽然没有规定,但却规定了每个触点表面积的内切矩形面积不得小于2 mm1.7 mm。 各触点之间应相互隔离。而相邻两个触点之间的最大距离为0.84 mm。8个触点所占最大面积没有规定,但规定最小面积不小于9.62 mm(长)9.32 mm(宽)的矩形平面。第2章 接触式IC卡技术表表2.4 接触式接触式IC卡的触点功能卡的触点功能触点编号 功 能 触点编号 功 能 C1 VCC(电源电压) C5 GND(地) C2 RST(复位信号) C6 VPP(编程电压) C3 CLK(时钟) C7 I/O(数据输入/输出端) C4 ISO/IEC

16、 JTC1/SC17 保留使用 C8 ISO/IEC JTC1/SC17 保留使用 第2章 接触式IC卡技术2.3 接触式接触式IC卡的芯片技术卡的芯片技术2.3.1 存储器卡存储器卡 1存储器卡的逻辑结构存储器卡的逻辑结构图2.9 存储器卡的逻辑结构图串行链接通信接口无芯片安全保护措施,无安全控制逻辑EEPROM存储器触点第2章 接触式IC卡技术 2存储器卡的特点存储器卡的特点 (1) 卡内嵌入的芯片多为通用EEPROM(或Flash Memory)。 (2) 无安全控制逻辑,可对片内信息不受限制地任意存取。 (3) 卡片制造中也很少采取安全保护措施。 (4) 不完全符合或支持ISO/IEC

17、 7816国际协议,而多采用2线串行通信协议(I2C总线协议)或3线串行通信协议(SPI协议)。第2章 接触式IC卡技术 3存储器卡的主要应用场合存储器卡的主要应用场合 存储器卡功能简单,没有(或很少有)安全保护逻辑,但价格低廉、开发使用简便、存储容量增长迅猛,因此多用于某些简单的、内部信息无需保密或不允许加密(如急救卡)的场合。 4存储器卡的代表产品存储器卡的代表产品 存储器卡的代表产品为美国Atmel公司的EEPROM 卡AT24系列2线串行芯片和AT93系列3线串行系列,Flash Memory卡AT45D系列(28 Mb,SPI协议)。第2章 接触式IC卡技术表表2.5 EEPROM存

18、储器卡芯片存储器卡芯片AT24C系列 01A 02 04 08 16 32 64 128 256 容量/Kb 1 2 4 8 16 32 64 128 256 内存组织形式 1288 2568 5128 10248 2568 20488 81928 16 3848 327868 页面写入方式/B 8 8 16 16 16 32 32 64 64 通信协议 ISO/IEC 7816-3同步协议,双线串行接口 工作频率 1 MHz(5 V),1 MHz(2.7 V),400 kHz(1.8 V) 工作电压 5 V,最低可至 1.8 V ICC电流 读:1 mA,写:3 mA 工作温度 070 写/

19、擦除次数 大于 1 000 000次 数据保护 100年 应用领域 数据存储 第2章 接触式IC卡技术2.3.2 逻辑加密卡逻辑加密卡1逻辑加密卡的逻辑结构逻辑加密卡的逻辑结构图2.10 逻辑加密卡的逻辑结构图具有芯片安全保护措施触点 PROM ROM EEPROM等 存储器安全及控制逻辑通信接口第2章 接触式IC卡技术 2逻辑加密卡的特点逻辑加密卡的特点 (1) 具有安全控制逻辑,安全性能较好。 (2) 同时采用ROM、PROM、EEPROM等存储技术。 (3) 从芯片制造到交货,均采取较好的安全保护措施,如运输密码TC(Transport Code)的取用。 (4) 支持ISO/IEC 7

20、816国际标准。 (5) 一般均为专门为IC卡设计的芯片。 (6) 为提高安全性,逻辑加密卡的存储空间被分为多个不同的功能区,典型的存储结构如表2.6所示。 第2章 接触式IC卡技术表2.6 逻辑加密卡的存储结构区域名 地址(字节) 位数 说 明 制造区 01 16 芯片制造商代码(一旦写入,不可更改,用于识别卡的来源) 发行区 25 32 卡制造商、发行商代码 密码区 68 24 持卡人密码(PIN,由发行商在卡个人化时预写入,用卡时将之与持卡人输入的密码相比较, 相符才允许对应用区进行读写和修改该密码) 密码计数区 9 8 允许连续输入错误密码的次数(34 次),若达到则卡自锁,以防止对

21、PIN 的非法试探 个人区 1013 32 持卡人个人信息,可自由读写 应用区 1477 512 应用数据 擦除密码区 7880 24 擦除密码,仅供发行商使用,与发行商输入密码比较,相等即可对整个应用区置 1(擦除),以实现卡的重复使用 擦除计数区 8188 64 擦除次数,该区每一个 1 表示可进行 1 次擦除操作,每输入 1次擦除密码(无论对错)就将 1 个 1 置 0,该区全为 0 时,卡片使用寿命结束。该区本身的擦除只能在发行前进行,一旦发行,只能置 0 和读出 第2章 接触式IC卡技术 3逻辑加密卡的应用场合与代表产品逻辑加密卡的应用场合与代表产品 由于具有一定的保密功能,且价格较

22、CPU卡低,因此在需要保密但对安全性要求不是太高的场合,逻辑加密卡得以大量应用,如电话卡、网吧上网卡、停车卡等小额消费场合,已成为目前IC卡在非金融领域的最主要的应用形式。 (1) 安全数据存储、传输和处理:面向字节操作的逻辑加密卡,如Atmel的AT88SC200、Philips的PC2032/2042、Siemens的SLE4418/4428/4432/4442等,应用于保险卡、加油卡、驾驶卡、借书卡等。第2章 接触式IC卡技术 (2) 相关数据记录、存储、处理,包括: 一次性使用的不可重置式,如Siemens的SLE4406/4436、Atmel的AT88SC06、Gemplus的GPM

23、276/103。 可重置式,如Siemens的SLE4404(64次)、Atmel的AT88SC101/102(128次),应用于IC卡电话、小额电子钱包。 第2章 接触式IC卡技术表表2.7 Siemens系列逻辑加密卡芯片的特性参数系列逻辑加密卡芯片的特性参数 SLE4406 SLE446x SLE4442 SLE4418 产品描述 带保密逻辑的88B EEPROM计数卡 带保密逻辑和高级 保 密 认 证 的498B EEPROM 计数卡 带写保护功能和 保 密 逻 辑 的256B EEPROM计数卡 带写保护功能的 1 KB EEPROM计数卡 ROM 16 B 16 B PROM 56

24、 B 185 B 32 B 1024 B EEPROM 32 B 36 B 256 B 1024 B 保密特性 传输代码; 保密逻辑; 芯片代码一经写入不可更改 密码保护; 传输代码; 高级保密认证; 芯片代码一经写入不可更改; CBC 校验; 响应计数器; 计数器数值验证 密码保护; 传输代码; 字节保护; 芯片代码一经写入不可更改 字节保护; 芯片代码一经写入不可更改 最小写/擦除时间/ms 5 3 5 5 工作电压/V 5 5 5 5 最大供电电流/mA 3 10 10 10 写/擦除次数/次 100 000 100 000 100 000 100 000 数据保持/年 10 10 10

25、 10 注释 20 000 个计数单位 120 000 个计数单位 典型应用 预付费电话卡 电子钱包 健康保险卡; 访问控制; 电子票据; 忠诚卡 健康保险卡; 访问控制; 会员卡 第2章 接触式IC卡技术2.3.3 CPU卡卡 1CPU卡的逻辑结构卡的逻辑结构 CPU卡的硬件构成包括CPU、存储器(含RAM、ROM、EEPROM等)、卡与读写终端通信的I/O接口及加密运算协处理器CAU,其中: (1) CPU一般均为兼容于位字长单片机(如MC68HC05、Intel8051等)的微处理器。它将在COS(Chip Operation System,片内操作系统)控制下,实现卡与外界的信息传输、

26、加密、解密和判别处理等。 (2) ROM用于存放COS,316 KB。 (3) RAM用于存放中间处理结果及作为卡与读写器间信息交换的中间缓存器,128 B1 KB。第2章 接触式IC卡技术 (4) EEPROM则是真正可供用户访问的存储区,用于保存卡的各种信息、密码、密钥、应用文件等,116 KB。 (5) CPU卡通常采用DES、RSA等加密、解密算法提高系统的安全度,采用RSA等算法时要进行对运算速度要求较高的大指数模运算,8位的CPU将难以胜任,因此多设有专用加密、解密运算协处理器CAU。 例如Siemens的SLE44C20,内含8位字长的CPU、15 KB的ROM、32 B的PRO

27、M、2 KB的EEPROM和256 B的RAM。第2章 接触式IC卡技术 2CPU卡的特点卡的特点 (1) 片内带有CPU、各种存储器ROM、RAM以及专用加密、解密运算协处理器CAU,具有很高的数据处理和计算能力以及较大存储容量,因此应用的灵活性、适应性较强。 (2) 在硬件结构、操作系统、制作工艺上采取多层次安全措施,保证了其极强的安全防伪能力。它不仅可验证卡和持卡人的合性法,而且可鉴别读写终端,即进行双向认证。第2章 接触式IC卡技术 3CPU卡的主要应用场合与典型产品卡的主要应用场合与典型产品 目前CPU卡多用于一卡多用(一卡通)及对数据安全保密性特别敏感的场合,如金融信用卡、手机SI

28、M卡等。 CPU卡的详细内容参见第4章。本章将以存储器卡和逻辑加密卡为基础介绍接触式IC卡的芯片及接口技术。第2章 接触式IC卡技术2.4 典型存储器卡典型存储器卡2.4.1 AT24Cxx系列存储器卡芯片总体描述系列存储器卡芯片总体描述 1芯片特点芯片特点 (1) 低电压/标准电压操作:1.85 V。 (2) 内部组成:1288(AT24C01),2568(AT24C02),5128(AT24C04),10248(AT24C08),20488(AT24C16)的串行EEPROM。 (3) 2线串行接口。 (4) 双向数据传输协议。第2章 接触式IC卡技术 (5) 支持ISO/IEC 7816

29、-10同步协议。 (6) 8 B页面(AT24C01/02),16 B页面(AT24C04/08/16)写入方式。 (7) 自定时写入周期(最大10 ms)。 (8) 高可靠性:使用寿命为100 000次写/擦除,数据保留期为100年。 (9) 多种封装形式:提供芯片、模块及标准封装形式。 第2章 接触式IC卡技术2芯片封装及引脚功能芯片封装及引脚功能1) 封装图2.11 AT24Cxx触点分配图C1VCCC2NCC3SCLC4NCC5C6C7C8GNDNCSDANC第2章 接触式IC卡技术卡触点 引脚名 功 能 C1 VCC 工作电压 C2 NC 未连接 C3 SCL 串行时钟(输入) C4

30、 NC 未连接 C5 GND 地线 C6 NC 未连接 C7 SDA 串行数据(输入/输出) C8 NC 未连接 表表2.9 IC卡触点功能表卡触点功能表 第2章 接触式IC卡技术 2) 引脚功能说明 SCL:串行时钟输入(Serial Clock Input)。串行时钟上升沿时,数据输入芯片(写入);串行时钟下降沿时,数据从芯片输出(读出)。 SDA:串行数据(Serial DAta),双向串行传送数据。该端为漏极开路驱动,可与任意数量的其他漏极开路或集电极开路器件“线或”。 A2、A1、A0:器件/页面地址(DevicPage Addresses)。器件地址输入端,应用于标准封装中,在IC

31、卡模块封装中不将A2、A1、A0引出到触点上,详细使用见“器件寻址”。第2章 接触式IC卡技术3逻辑结构与存储器组织逻辑结构与存储器组织图2.12 AT24Cxx的逻辑结构数据输出 /确认逻辑串行多路开关EEPROMX译码数据寄存器升压 / 定时串行控制逻辑数据字地址 / 计数器INCY译码LOADCOMPR / W设备地址比较器LOAD开始 / 停止逻辑DINDOUTWPSCLSDAA2A1A0GNDVCCEN第2章 接触式IC卡技术2.4.2 器件操作器件操作1时钟和数据转换时钟和数据转换图2.13 AT24Cxx数据的有效性时序图SDASCL数据变化数据稳定数据稳定第2章 接触式IC卡技

32、术 1) 输出数据 当数据(包括地址、数据)由接口设备送往AT24Cxx时,称为输出数据(写数据)。数据总是按字节(8位)逐位串行输出,每个时钟脉冲输出一位。SDA总线上的数据应在SCL低电平期间改变(输出),在SCL高电平期间稳定。 基于MCS-51单片机的接口设备可利用如下串行输出字节子程序SHOUT来实现输出(写)一个字节数据的操作。第2章 接触式IC卡技术 SHOUT: ;串行输出一个字节到AT24Cxx,高位在前。调用前,SCL、SDA为低。返回时,SCL为低。调用时数据置入A中。返回CY为1表明应答失败。占用A累加器PUSH BMOVB,#8;设置位计数器L1:RLCA;移一位到C

33、Y中MOVSDA,C;输出位NOP ;保持SCL为低且使数据稳定SETBSCL;升高时钟ACALLDELAY_4 s;保持SCL为高第2章 接触式IC卡技术CLRSCL;降低时钟DJNZB, L1;传送下一位SETBSDA;释放SDA等待应答NOP;保持SCL为低,保持时间tAANOPSETBSCL;升高ACK时钟脉冲ACALLDELAY_4 s;保持SCL为高MOVC, SDA;读入ACK位CLRSCL;降低ACK时钟脉冲POPBRET第2章 接触式IC卡技术 2) 输入数据 当接口设备从AT24Cxx的数据线上读取数据时,称为输入数据(读数据)。数据总是按字节(8位)逐位串行输入,每个时钟

34、脉冲输入一位。AT24Cxx的EEPROM在SCL低电平期间将数据送往SDA总线,在SCL高电平期间,SDA总线上的数据稳定,可供接口设备读取。 基于MCS-51单片机的接口设备可利用如下串行输入字节子程序SHIN来实现输入(读)一个字节数据的操作。第2章 接触式IC卡技术 SHIN: ;从AT24Cxx串行输入一个字节,高位在前。调用前,SCL为低。返回时,SCL为低。返回时接收到的数据置于A中SETBSDA ;使SDA为高,准备读PUSHBMOVB,#8 ;设置位计数器L2:NOP ;保持SCL为低且使数据稳定NOPSETBSCL ;升高时钟第2章 接触式IC卡技术NOP;保持SCL为高N

35、OPMOVC, SDA;输入位RLCA;将位移入ACLRSCL;降低时钟DJNZB, L2;传送下一位POPBRET第2章 接触式IC卡技术 2开始状态开始状态(START) SCL处于高电平时,SDA从高电平转向低电平表示一个“开始”状态,该状态表示一种操作的开始,因此必须在任何其他命令之前执行。AT24Cxx开始/停止定义时序图见图2.14。图2.14 AT24Cxx开始/停止定义时序图SDASCL开始停止第2章 接触式IC卡技术 基于MCS-51单片机的接口设备可利用如下开始子程序START来实现一个开始操作。 START: ;发送START状态,定义当SCL为高时,SDA从高到低。返回

36、时,SCL、SDA为低。当总线无效时,返回CY位为高SETB SDA;升高SDASETB SCL;校验总线有效JNBSDA, ERROR1;若SDA不为高则跳转到ERROR1JNBSCL, BACK1 ;若SDA不为高则跳转到BACK1NOP;保持数据建立延迟及周期延迟第2章 接触式IC卡技术CLRSDA;降低SDAACALLDELAY_4 s;保持SDA为低,保持时间hold delayCLRSCL;降低SDLCLRC;清零错误标志AJMPBACK1ERROR1: SETBC;置位错误标志BACK1:RET第2章 接触式IC卡技术 3停止状态停止状态(STOP) SCL处于高电平时,SDA由

37、低电平转向高电平表示一个“停止”状态。该状态表示一种操作的结束并将终止所有通信。在一个读序列之后,停止命令置EEPROM于待机模式。其停止定义时序图见图2.14。 基于MCS-51单片机的接口设备可利用如下停止子程序STOP来实现一个停止操作。第2章 接触式IC卡技术 STOP: ;发送STOP状态,定义当SCL为高时,SDA从低变高。调用前,SCL为低。返回时,SCL、SDA为高CLRSDANOP;保持SCL为低及数据稳定NOPSETBSCLACALLDELAY_4 s;保持建立延迟SETBSDARET第2章 接触式IC卡技术 4确认应答确认应答(ACK) 所有地址和数据字以位码串行输入/输

38、出EEPROM,EEPROM在收到每个地址或数据码之后,置SDA于低电平作为确认应答,该确认应答发生于第9个时钟周期,见图2.15。图2.15 AT24Cxx确认应答时序图189SCL数据输入数据输出应答开始第2章 接触式IC卡技术 在串行输出字节子程序SHOUT中我们可以清楚地看到,当接口设备向卡发送完8位数据后,程序将产生第9个时钟脉冲并将SDA线读入CY位,此时CY位的状态即为卡响应状态。当CY=1时表示卡尚未接收到数据,不能进行下一步的操作;当CY=0时表示卡已接收到数据,可以进行下一步的操作。第2章 接触式IC卡技术 5待机模式待机模式 AT24Cxx的特性之一是具备待机模式,这一模

39、式当电源掉电;接收到STOP位或完成任何一个内部处理之后有效。 6存储器复位存储器复位 当电源掉电、系统复位或协议中断时,任何一个2线的部分都可通过以下步骤复位:(1) 9个时钟周期之后;(2) 在每个时钟周期当SCL为高时等待SDA为高;(3) 产生一个START状态。第2章 接触式IC卡技术2.4.3 器件寻址器件寻址 以上AT24系列EEPROM在紧接着开始状态后均需一个8位器件地址(Device Address),如图2.16所示,以使器件能够进行读/写操作。 器件地址高4位为1010,这对所有器件都是相同的。 在标准封装中,接下来的3位器件寻址码将因芯片容量的不同而有不同的定义: 对

40、于AT24C01/02来说,下面3位器件寻址码是A2、A1、A0,这3位必须与它们相应的硬件连线输入引脚相对应。第2章 接触式IC卡技术图2.16 AT24Cxx器件地址1010P2 P1P0W/R1010A2 P1P0W/R1010A2 A1 P0W/R1010A2 A1 A0W/RAT24C01/02MSBLSBAT24C04AT24C08AT24C016第2章 接触式IC卡技术 对于AT24C04来说,仅用A2和A1器件寻址位,第3位是存储器页面寻址位。2个器件寻址位必须与硬件连线输入引脚相对应,A0引脚不连接。 对于AT24C08来说,仅用A2器件寻址位,下面2位是存储器页面寻址。A2

41、必须与硬件连线输入引脚相对应,A1和A0引脚不连接。 对于AT24C16来说,无器件寻址位。这3位均用于存储器页面寻址,A0、A1、A2不连接。第2章 接触式IC卡技术 AT24C04/08/16的页面寻址位应被视为随后数据码寻址的最高位。 IC卡上使用的EEPROM芯片,因受尺寸限制,一般只能使用一个芯片,同时应符合国际标准,因此A2、A1、A0未引出到触点上,A2A1A0=000。 器件寻址的第8位是读/写操作选择位,该位为高电平时启动读操作,处于低电平时启动写操作。 设备寻址一经成功,EEPROM将在SDA总线上输出一个确认应答ACK;相反,则芯片回到待机状态。第2章 接触式IC卡技术2

42、.4.4 写操作写操作 1写字节写字节(BYTE WRITE) 写字节时序见图2.17。写字节时序要求在给出“开始”状态、器件地址码和收到卡的确认应答ACK后,紧跟着给出一个8位地址码(32 KB芯片是2个8位地址码)。卡收到地址码后发出确认应答ACK。然后送要写的8位数据到SDA线上,并进入EEPROM单元,每个时钟节拍送入1位。EEPROM单元收到数据后,通过SDA线发出确认应答ACK。数据传送设备必须用“停止”状态来结束写操作。这时EEPROM进入内部定时的写周期,如图2.18中的tWR,在写周期期间,将数据写入非易失性存储器,并禁止所有其他操作直到写完成。第2章 接触式IC卡技术图2.

43、17 AT24Cxx写字节时序图开始MSB器件地址写字节地址数据停止*R/WLSBACKMSBLSBACKACK(*: 对AT24C01无意义)第2章 接触式IC卡技术图2.18 AT24Cxx写周期时序图字n第8位停止状态tWR开始状态ACKSCLSDA(*:对AT24C01无意义)注:写周期时间是指从写时序的有效停止状态到内部写循环结束的时间第2章 接触式IC卡技术 基于MCS-51单片机的接口设备可利用如下写字节子程序WRITE_BYTE来实现写字节操作。 WRITE_BYTE: ;AT24Cxx写字节功能。调用前可编程的器件地址programmable address置于A中,字节地址

44、置于寄存器ADDR_HI和ADDR_LO中,数据置于寄存器XDATA中。未等待写周期完成。返回CY为1表明总线无效或该器件无应答。占用A累加器ACALLSTARTJCBACK2;若总线无效则中断RLA;可编程地址左移一位ORLA, #FADDR;加入固定器件地址CLRACC.0;设置写,建立器件地址第2章 接触式IC卡技术ACALLSHOUT;发送器件地址JCERROR2;若无应答则中断MOVA, ADDR_HI;发送字节地址的高8位ACALLSHOUTJCERROR2;若无应答则中断MOVA, ADDR_LO;发送字节地址的低8位ACALLSHOUTJCERROR2;若无应答则中断MOVA,

45、 ADATA;取数据ACALLSHOUT;发送数据JCERROR2;若无应答则中断CLRC;清零错误标志ERROR2:ACALLSTOPBACK2: RET第2章 接触式IC卡技术 2写页面写页面(PAGE WRITE) AT24C01/02可以进行8 B页面写入,AT24C04/08/16可以进行16 B页面写入。启动写页面与启动写字节操作一样,但数据传送设备无需在第一个字节随时钟输入后发出一个停止状态;在EEPROM确认收到第一个数据码之后,数据传送设备再传送7个(对于AT24C01/02)或15个(对于AT24C04/08/16)数据码;每收到一个数据,EEPROM都将通过SDA回送一个

46、确认应答信号,最后数据传送设备通过“停止”状态终止写页面操作,其过程见图2.19。第2章 接触式IC卡技术图2.19 写页面时序图开始*器件地址写SDA字节地址(n)数据(n)数据(n1)数据(nx)停止( 对AT24C01无意义)*MSBR/WLSBACKACKACKACKACK:第2章 接触式IC卡技术 数据地址的低3位(对于AT24C01/02)或4位(对于AT24C04/08/16)在收到每个数据字后,在芯片内部自动加1。数据字地址的高位字节保持不变,以保持存储器页地址不变。如果传送到EEPROM中的数据字超过8(对于AT24C01/02)或16(对于AT24C04/08/16),数据

47、字地址将“滚动覆盖”,以前写入的数据将被覆盖。 基于MCS-51单片机的接口设备可利用如下写块子程序WRITE_BLOCK来实现写页面操作。第2章 接触式IC卡技术 WRITE_BLOCK: ;向AT24Cxx写入一页数据。调用时器件地址的可编程地址置于A中,第一个字节地址置于寄存器ADDR_HI和ADDR_LO中,数据置于BUFFER中,字节计数器置于寄存器COUNT中。未等待写周期完成。返回时CY位为1表明总线无效或器件无应答。占用A,COUNT,INDEX(注:INDEX为数据缓冲区指针,可使用工作寄存器R0)ACALLSTARTJCBACK3;总线无效则中断RLAORLA, #FADD

48、R;生成器件地址第2章 接触式IC卡技术CLRACC.0;定义写操作ACALLSHOUT;发送器件地址JCERROR3;无应答则中断MOVA, ADDR_HI ;发送字节地址高8位ACALLSHOUTJCERROR3;无应答则中断MOVA, ADDR_LO;发送字节地址低8位ACALLSHOUTJCERROR3;无应答则中断MOVINDEX, #BUFFER;指向数据缓冲区首地址第2章 接触式IC卡技术L3: MOVA, INDEX ;取数据 ACALLSHOUT;发送数据 JCERROR3;无应答则中断 INCINDEX;地址指针加1 DJNZCOUNT, L3;下一个字节 CLRC;清零错

49、误标志ERROR3: ACALLSTOPBZCK3: RET第2章 接触式IC卡技术 3确认查询确认查询(ACKNOWLEDGE POLLING) 一旦内定时写循环开始且禁止EEPROM输入,确认查询将被启动。当数据传送设备在送出一个“开始”状态以及紧随其后的器件地址码(读/写位代表所要进行的操作)时,只有在内定时写循环完成时,EEPROM才通过拉低SDA总线发出“确认”应答,允许读或写过程继续进行。AT24Cxx系列存储器芯片的内定时写周期(tWR)最大为10 ms,因此,每完成一个写操作,应延时约10 ms或查询SDA总线重新为低时才能发出下一个操作的开始命令,否则下一次操作命令将不被器件

50、接收、执行。第2章 接触式IC卡技术2.4.5 读操作读操作 1现行地址读现行地址读(CURRENT ADDRESS READ) 内部数据字地址指针总是保持最后一次读/写操作中最后访问的地址,并按“1”递增。只要芯片保持上电,该地址在两次操作之间一直保持有效。如果最后一个操作是在地址n处读取,则现行地址是n+1;如果最后一个操作是在地址n处写入,则当前地址也是n+1。在出现“滚动覆盖”的情况时,读操作的地址是从最后一页的最后一个字节滚动覆盖到第一页的第一个字节,而写操作的地址是从当前页的最后一个字节滚动覆盖到同一页的第一个字节。第2章 接触式IC卡技术图2.20 现行地址读时序图开始器件地址

51、读数据停止MSBR/WLSBACKNO ACK第2章 接触式IC卡技术 一旦读/写选择位置于1,器件地址随时钟输入,并收到EEPROM的确认应答,现行地址的数据码随时钟被EEPROM串行输出。此时数据传送设备(微控制器)可在SDA线上随时钟串行读入数据。读取数据结束后,微控制器不是通过确认(低电平ACK)来应答,而是使总线处于高电平(NO ACK),随后产生一个停止状态,见图2.20。 基于MCS-51单片机的接口设备可利用如下现行地址读子程序READ_CURRENT来实现现行地址读操作。第2章 接触式IC卡技术 READ_CURRENT: ;AT24Cxx现行地址读功能。调用时,器件地址的可

52、编程地址置于A中,返回数据置于A中。返回时,CY位为1表明总线无效或器件无应答 ACALL START JCBACK4;若总线无效则中断 RLA ORLA, #FADDR;生成器件地址 SETBACC.0;设置读操作 ACALLSHOUT;发送器件地址 JCERROR4;若无应答则中断 ACALLSHIN;接收数据字节第2章 接触式IC卡技术 ACALLNAK;发送高电平NAK应答 CLRC;清零错误标志ERROR4:ACALLSTOPBACK4:RET 注意: 写操作中卡接收到数据(地址、数据)后向接口设备发送低电平应答ACK,程序通过将第9个时钟周期的SDA线读入CY位来接收应答,查询CY

53、位是否为低来判断是否收到卡确认应答。而读操作中是接口设备接到数据后向卡发送高电平应答(NO ACK),该高电平应答由NAK子程序来产生。第2章 接触式IC卡技术 NAK子程序: NAK: ;随时钟输出一个高电平的负应答位。调用前SCL为低,返回时SCL为低,SDA为高SETB SDA;NAK位NOP;保持SCL为低及数据稳定NOPSETB SCL;升高时钟ACALL DELAY_4 s;保持SCL为高CLR SCL;降低时钟RET第2章 接触式IC卡技术 2随机地址读随机地址读(RANDOM ADDRESS READ) 随机读取需要一个“空”字节写序列来载入数据地址,一旦器件地址(读/写选择位

54、置低)和数据地址随时钟输入,并被EEPROM确认,传送设备必须产生另一个开始状态。此时送出的器件地址中读/写选择位处于高电平,将启动一个现行地址读,EEPROM收到器件地址后回送确认应答,并随时钟串行输出数据码,微控制器读取数据后不通过确认应答,而是使SDA总线处于高电平,随后产生一个停止状态,见图2.21。 基于MCS-51单片机的接口设备可利用如下随机地址读子程序READ_RANDOM来实现随机地址读操作。从程序中可以看到,在完成了一个“空”写之后,直接调用上面给出的现行地址读子程序就可以实现随机地址读操作了。第2章 接触式IC卡技术图2.21 随机地址读时序图开始*器件地址写SDA字节地

55、址(n)停止开始器件地址读数据nMSBR/WLSBACKMSBLSBACKMSBLSBACKNO ACK空写( 对AT24C01无意义)*:第2章 接触式IC卡技术READ_RANDOM:;AT24Cxx随机地址读功能。调用时器件地址的可编程地址置于A中,字节地址置于寄存器ADDR_HI和ADDR_LO中,返回数据置于A中。返回时CY位为1表明总线无效或器件无应答PUSHBMOV B, A;可编程器件地址暂存B中;*发送空写命令来设置内部地址*ACALLSTARTJCBACK5;总线无效则中断RLA ORLA, #FADDR;生成器件地址第2章 接触式IC卡技术CLRACC.0;设置写操作AC

56、ALLSHOUT;发送器件地址JCERROR5;无应答则中断MOVA,ADDR_HI;发送字节地址高8位ACALLSHOUTJCERROR5;无应答则中断MOVA, ADDR_LO;发送字节地址低8位ACALLSHOUTJCERROR5;无应答则中断;*调用现行地址读功能*第2章 接触式IC卡技术MOVA, B ;取可编程器件地址ACALLREAD_CURRENTAJMPBACK4 ;退出ERROR5:ACALLSTOPBACK5:POPBRET第2章 接触式IC卡技术 3顺序读顺序读(SEQUENTIAL READ) 顺序读取由现行读或随机地址读启动。微控制器收到一个数据码之后回送“确认”应

57、答,只要EEPROM收到“确认”之后,便会继续增加数据地址并随时钟串行输出后面的数据。当达到存储地址极限时,数据地址将重复滚动,顺序读取将继续;当终止顺序读操作时,微控制器不产生低电平确认信号,而是使SDA总线处于高电平应答,随后产生一个停止状态。顺序读时序图见图2.22。 第2章 接触式IC卡技术图2.22 顺序读时序图SDA器件地址 读数据(n)数据(n1)数据(n2)数据(nx)停止ACKACKACKNO ACKR/WACK第2章 接触式IC卡技术 基于MCS-51单片机的接口设备可利用如下读块子程序READ_BLOCK来实现顺序读操作。 READ_BLOCK: ;从AT24Cxx读一页

58、数据。当读出超过一个字节时执行由随机地址读扩展而来的顺序读。调用时器件地址的可编程地址置于A中,第一个字节地址置于寄存器ADDR_HI和ADDR_LO中,字节计数器置于寄存器COUNT中。返回时数据置于BUFFER中。返回时CY为1表明总线无效或器件无应答。占用A,COUNT,INDEX(注:COUNT为字节计数器,可使用工作寄存器R1) 第2章 接触式IC卡技术;*发送空写命令来设定第一个字节的地址*ACALLSTARTJCBACK6;若总线无效则中断RLAORLA, #FADDR;生成器件地址MOVINDEX, A;暂存器件地址于INDEXCLRACC.0;设置写操作ACALLSHOUT;

59、发送器件地址JCERROR6;若无应答则中断MOVA, ADDR_HI ;发送字节地址高8位ACALLSHOUTJCERROR6;若无应答则中断MOVA, ADDR_LO;发送字节地址低8位ACALLSHOUTJCERROR6;若无应答则中断 第2章 接触式IC卡技术;*发送读命令及接收数据*ACALLSTART;第二次开始启动读操作JCERROR6;若总线无效则中断MOVA,INDEX;从INDEX中取器件地址SETBACC.0;设置读操作ACALL SHOUT;发送器件地址JCERROR6;若无应答则中断MOVINDEX, #BUFFER;指向数据缓冲区首地址L6:ACALLSHIN;接收

60、数据字节MOVINDEX, A;保存数据CJNECOUNT, #1, NEXT;不是最后一个字节则继续ACALL NAK;读完发送NAK应答AJMPDONE;完成第2章 接触式IC卡技术NEXT: ACALL ACK;发送ACK应答字节 INCINDEX;数据缓冲区地址加1 DJNZCOUNT, L6;读下一个字节DONE: CLRC;清零错误标志ERROR6: ACALL STOPBACK6: RET 第2章 接触式IC卡技术 注意: 写操作中卡接收到数据后向接口设备发送低电平应答ACK,程序通过将第9个时钟周期的SDA线读入CY位来接收应答,查询CY位是否为低来判断是否收到卡确认应答。而顺

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论