ISO 7816标准规定的Smart Card卡的规格及芯位置如图1所示,本节将主要讨论传输协议及一些基本命令。

如图1 Smart Card卡的规格及芯片位置
ISO 7816-3 Smart Card与主机交互操作的细节如下。
1.Connection and activation of the contacts(连接激活)
由主机设备激活,激活过程包括如下几个步骤。
(1)RST is L:复位为低电平。
(2)VOC is powered: VCC上电。
(3)I/O in the interface device is in reception mode:接口设备的I/O处于接收模式。
(4)VPP is raised to idle state:VPP进入空闲状态。
(5)CLK is provided with a suitable,stable clock:稳定及匹配的时钟信号。
2. Reset of the card(卡复位)
主机发一个复位给Smart Card,Smart Card响应此复位(在40 000个Clock周期内使Reset为高电平)。如果没有响应,则复位信号Reset为低电平,主机解除Smart Card激活。
3.ANSwer to Reset(复位应答)
在ISO 8613-3中有两种复位应答类型,即异步和同步传输。本节仅讨论异步传输,在这种类型下,字符以异步半双工模式在I/O线上传输。标准的位周期被定义为1个为基本时间单位(oneE1ementary Timer Unit,ETU)。初始ETU为372/fi,fi单位为Hz,初始化操作丘为1~5 MHz。一个字符包括10个连续位及一个保护时间,说明如下。
(1)起始位,用于帧同步。
(2)8位数据位。
(3)校验位,偶校验。
保护位在字符与字符之间,如图2所示为异步字符帧框图。

如图2 异步字符帧框图
复位应答包括多33个字符,由5个域组成,说明如下。
(1)初始化字符(TS)。
(2)格式字符(TO)。
(3)接口字符(TAji,TBji,TCji,TDji)。
(4)历史字符(T1,T2…TK)。
(5)检查字符(TCK)。
每个域按如图3所示顺序发送。

如图3 发送顺序
初始化字符TS决定了数据传输速率及逻辑判断,其格式如图3所示。有正向和反向两种应用模式,在反向模式中,A表示逻辑1,Ba为MSB;在正向模式中,Z表示逻辑1,Ba为LSB。
TO对后续字符进行解释,如图4所示。Bit8~Bit5指定TAI~TD1哪些字符存在,Bit4~Bit1指定历史字符数。

如图4 初始化字符格式

如图5 格式字符与接口字符
历史字符包含相关卡的生命周期信息。如果在复位应答周期,仅仅T=0协议被指定,则不应该发送校验字符;在其他情况下,TCK作为复位应答的一个字符被发送。
4.The T=0 Communicaiton Protocol(T=0通信协议)
接口设各总是会指出T=0协议命令,它与卡之间的交互产生成功的命令或响应。T=0协议信息流如图6所示。

如图6 T=0协议信息流
其中IFD是Smart Card控制器,ICC是Smart Card。命令头中包含如下5个字节。
(1)CLA:指令种类。
(2)INS:指令码。
(3)P1:指令码限定(如存储器地址)。
(4)P2:附力口指令石马限定。
(5)P3:数据块长度。
卡会响应状态字节SW1和SW2,如果是正常响应,SW1和SW2分别为90和00hex。当SW1=6x或9x时,卡有错误。
表1和表2所示分别为CLA类和INS指令集。在本设计中应用了ISO 7816-4指令类80和基本指令码A4(选择文件)、B2(读记录)及CO(获取响应)。

表1 CLA类

表2 INS指令集
免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。