cpu卡的接口特性、传输协议与读写程序设计

cpu卡的接口特性、传输协议与读写程序设计

ID:25351907

大小:85.51 KB

页数:7页

时间:2018-11-19

cpu卡的接口特性、传输协议与读写程序设计_第1页
cpu卡的接口特性、传输协议与读写程序设计_第2页
cpu卡的接口特性、传输协议与读写程序设计_第3页
cpu卡的接口特性、传输协议与读写程序设计_第4页
cpu卡的接口特性、传输协议与读写程序设计_第5页
资源描述:

《cpu卡的接口特性、传输协议与读写程序设计》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、CPU卡的接口特性、传输协议与读写程序设计摘要介绍ISO7816-4及中国金融集成电路(IC)卡规范所规定的T=0协议的CPU卡与终端之间的接口特性和传输协议,及以C51语言设计的CPU卡复位、下电及读写程序。关键词IC卡CPU卡终端复位字符传输协议(T=0协议)  IC卡的概念是20世纪70年代提出的。法国BULL公司首创IC卡产品,并将这项技术应用到金融、交通、医疗、身份证明等多个方面。IC卡的核心是集成电路芯片,一般为3μm以下的半导体技术制造。IC卡具有写入数据和存储数据的能力。IC可存储其中的内容,根据需要可以有条件地供外部读取,或供内部信息处理或

2、校验用。  根据各种集成电路的不同,IC卡可以分为以下三类:存储器卡、逻辑加密卡与CPU卡。其中,存储器卡仅有数据存储能力,没有安全措施;逻辑加密卡仅有几个字节的密码,卡中有一个错误计数器,如果指定次数验证密码失败,则卡中数据被自动锁死,该卡数据不能再更改;CPU卡是这三类IC卡中最高级的卡,一般有ROM、RAM和EEPROM三种存储器。ROM中存放的是程序,程序是为IC卡的CPU专门设计的,用来解释读写器终端送来的命令。IC卡应用系统根据应用需要由终端送一系列命令到CPU卡,通过改变命令的内容和命令的顺序就可以满足不同的需要,因此有较高的灵活性;同时,因为

3、CPU有计算功能,存储容量又大,可以进行比较复杂的加密/解密运算,极大提高了安全性。EEPROM主要用来存放一些应用数据,其容量比逻辑加密卡大,可实现一卡多用,是目前最安全的卡类型。因此,CPU卡是目前IC卡的重要发展方向之一。1CPU卡的接口特性1.1触点定义  触点的定义遵循ISO7816-2的规定,如图1所示。符号说明如表1所列。图1 CPU卡的触点表1 符号说明1.2 字符帧  数据在I/O上以图2所示的字符帧方式传输。图2 字符帧传输方式  每个位宽是1个etu,etu=372/f。在此处,f=3.57MHz。  起始位由接收端通过对I/O周期采样

4、获得,采样周期应小于0.2etu。2个连续字符起始位上升沿之间的间隔时间等于(10±0.2)etu加上1个保护时间(最少2个etu)。在保护时间内,卡与终端都应处于接收模式(I/O为高电平状态)。如果卡或终端作为接收方检测出奇偶错误,则I/O被置为低电平,以向发送方表明出现错误。1.3 卡操作  卡操作的步骤如下:  ① 将卡插入终端接口设备,使两者的触点相接并激活触点;  ② 将卡复位,建立卡与终端间的通信;  ③ 执行操作;  ④释放触点,并从接口设备取出卡片。  以下是除第③步(执行操作)以外,各步的时序要求。  (1) 触点激活  时序如图3所示。图

5、3 触点激活时序  (2)  卡复位  卡利用低电平复位来完成异步复位应答,随着触点的激活,终端将进行一个冷复位并从卡获得复位应答。冷复位时序如图4所示。图4 冷复位时序  冷复位过程之后,如果收到的复位应答信号不满足标准的规定,终端将启动一个热复位并从卡获得复位响应。热复位时序如图5所示。图5 热复位时序  在实际程序设计时,由Reset子程序实现触点激活和卡复位。  (3) 触点释放时序  触点释放时序过程如图6所示。图6 触点释放时序2传输协议与卡命令处理程序  ISO7816-4及中国金融集成电路(IC)卡规范所规定的异步半双工传输协议,是关于终端为

6、实现传输控制和特殊控制而发出的命令的结构及其处理过程,包括了两种协议:字符传输协议(T=0)和块传输协议(T=1)。本文着重讨论字符传输协议(T=0)协议,它是IC卡推荐使用的通信协议。2.1 命令  命令包含1个连续4字节的命令头,用CLA、INS、P1和P2以及1个可变长度的条件体来表示。  命令头定义如下:  ◇CLA:指令类别,除"FF"外的任何值;  ◇INS:在指令类别中的指令码,当最低位是"0",并且高位半字节既不是"6"也不是"9"时,INS才有效;  ◇P1、P2完成INS的参数字节。  条件体定义如下:  ◇Lc(发送数据长度)占1个字节

7、,在命令中定义为发送数据的字节数,取值范围是1~255。  ◇Data为将要发送的命令数据域,字节数由Lc定义。  ◇Le(接收数据长度)占1个字节,指出命令响应中预期的数据最大字节数。Le的取值范围是0~255。如果Le=0,预期数据字节的最大长度是256。  可能的命令结构的4种情况定义如表2所列。表2  命令全部由终端应用层(TAL)初始化。它通过终端传输层(TTL)向卡发送1个由5个字节组成的命令头,并等待一个过程字节。2.2 过程字节  卡收到命令后,紧接着返回一个过程字节给TTL,指明下一步该作什么,如表3所列。表3  在(1)、(2)情况中,T

8、TL完成动作后将等待另一个过程字节。在(3)情况中,

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。