IC卡接口芯片TDA8007的读写器设计
发布时间:2008/6/3 0:00:00 访问次数:1114
摘要:阐述t=0传输协议,给出ic卡读写器中使用的ic卡apdu指令流程和原理框图;重点介绍其中的ic卡接口芯片philips的tda8007,给出通过tda8007对cpu ic卡上下电过程、具体程序及tda8007使用中应注意的问题。
关键词:cpu ic卡 tda8007 iso7816
ic卡(integrated circuit card)即集成电路卡,是将一个集成电路芯片镶嵌于朔料基片中,封装成卡的形式,外形与常用的覆盖磁条的磁卡相似。ic卡芯片具有写入和存储数据的能力。ic卡存储器中的内容根据需要可以有条件地供外部读取,或供内部信息处理和判定。根据卡中所镶嵌的集成电路的不同,可以分成存储器卡、逻辑加密卡、cpu卡三类。其中cpu卡即为由中央处理器cpu、eeprom、随机存储器ram以及固化在只读存储器rom中的片内操作系统cos(chip operation system)组成的ic卡。ic卡按与外界数据传送的形式来分,有接触式和非接触式两种。
图1 t=0的cpu卡apdu指令实现流程
1 cpu ic卡t=0的协议介绍
目前大多数cpu ic卡采用t=0模式。所谓t=0,即cpu ic卡与接口设备(即读写器)中数据传输方式为异步半双工字符传输模式。
从t=0协议的功能出发,该协议的实现可以分为物理层、数据链路层、终端传输层和应用层。其中物理层和数据链路层可以具体参看iso7816标准。在t=0协议应用,终端传输层和应用层实际上是不易分割来说明的,下面简单说明。
终端传输层根据卡片返回的过程字符和状态字节执行相应的操作,使读写器对数据的处理过程明朗清晰。卡片返回的过程字节和状态字节跟应用层发送给卡的apdu(application protocol data unit,应用协议数据单元)和vpp使用等有关。表1为vpp未用时的终端传输层中返回的过程字节。
表1
字 节 | 值 | 结 果 |
ack | ins | vpp空闲,所有其余的数据字节相继续被传送 |
ins+'ff' | vpp空闲,下一个数据字节随后被传送 | |
sw1 | sw2 | vpp空闲,接口设备等待sw2字节 |
应用层即为由cla、ins、p1、p2、p3作为命令头组成的命令消息体的apdu响应和应答处理层。其中cla为指令类别,ins为指令码,p1、p2为参数,p3为根据apdu的不同格式为发送给卡的数据长度或期望响应的数据长度。apdu的几种情况如表2所列。
表2
命令头 | 发送数据长度 | 发送的数据 | 期望应答的数据长度 | ||||||||||||||||||||||||||||||||||||||||
通用apdu | cla ins p1 p | lc | data | le | |||||||||||||||||||||||||||||||||||||||
情况一 | cla ins p1 p | ||||||||||||||||||||||||||||||||||||||||||
情况二 | cla ins p1 p | le | |||||||||||||||||||||||||||||||||||||||||
情况三 | cla ins p1 p | lc | data | ||||||||||||||||||||||||||||||||||||||||
情况四 | cla ins p1 p2 | lc | da
摘要:阐述t=0传输协议,给出ic卡读写器中使用的ic卡apdu指令流程和原理框图;重点介绍其中的ic卡接口芯片philips的tda8007,给出通过tda8007对cpu ic卡上下电过程、具体程序及tda8007使用中应注意的问题。 关键词:cpu ic卡 tda8007 iso7816 ic卡(integrated circuit card)即集成电路卡,是将一个集成电路芯片镶嵌于朔料基片中,封装成卡的形式,外形与常用的覆盖磁条的磁卡相似。ic卡芯片具有写入和存储数据的能力。ic卡存储器中的内容根据需要可以有条件地供外部读取,或供内部信息处理和判定。根据卡中所镶嵌的集成电路的不同,可以分成存储器卡、逻辑加密卡、cpu卡三类。其中cpu卡即为由中央处理器cpu、eeprom、随机存储器ram以及固化在只读存储器rom中的片内操作系统cos(chip operation system)组成的ic卡。ic卡按与外界数据传送的形式来分,有接触式和非接触式两种。 目前大多数cpu ic卡采用t=0模式。所谓t=0,即cpu ic卡与接口设备(即读写器)中数据传输方式为异步半双工字符传输模式。 从t=0协议的功能出发,该协议的实现可以分为物理层、数据链路层、终端传输层和应用层。其中物理层和数据链路层可以具体参看iso7816标准。在t=0协议应用,终端传输层和应用层实际上是不易分割来说明的,下面简单说明。 终端传输层根据卡片返回的过程字符和状态字节执行相应的操作,使读写器对数据的处理过程明朗清晰。卡片返回的过程字节和状态字节跟应用层发送给卡的apdu(application protocol data unit,应用协议数据单元)和vpp使用等有关。表1为vpp未用时的终端传输层中返回的过程字节。
应用层即为由cla、ins、p1、p2、p3作为命令头组成的命令消息体的apdu响应和应答处理层。其中cla为指令类别,ins为指令码,p1、p2为参数,p3为根据apdu的不同格式为发送给卡的数据长度或期望响应的数据长度。apdu的几种情况如表2所列。
|