智能卡复位应答-字符定义
文章出处:http://www.nexussmartsolutions.com 作者: 人气: 发表时间:2012年05月06日
在符合基本ATR的情况下,一个字符是否存在,以及允许的取值范围(如果存在)由其“基本应答”信息指明。基本应答描述和可能存在的其它扩展情况之间不冲突。例如,如果IC卡支持多个传输协议和多种传输参数值,它可以回送附加字符,但是,只有在IC卡返回一个基本ATR,或者返回一个满足最低功能需求的终端支持的ATR,才能够保证接下来字符的正确交换。
如果终端不支持IC卡支持的其它传输协议以及传输参数值,IC卡应该有能力用基本ATR定义的模式和终端进行交互。
复位应答中回送字符的最大个数(包括历史字符,但不包括TS)为32个。
终端如果无法满足IC卡回送ATR中定义的传输模式,将发送一个热复位信号,或将IC卡置为静止状态以结束卡片操作过程。
1、TS--初始字符
起始字符TS具有两个功能:一是向终端提供一个便于位同步的已知位模式,二是指定解释后续字符的逻辑约定。
使用反向逻辑约定时,I/O的低电平状态等效逻辑1,并且该数据字节的最低位在起始位之后发送,第一个半字节LHHL用于位同步(其中L表示低电平,H表示高电平)。
基本响应:IC卡将回送的TS为以下两个值之一。
* (H)LHHLLLLLLH表示反向约定,值为0x3F。
* (H)LHHLHHHLLH表示正向约定,值为0x3B。
终端一般都支持正向约定和反射约定,并接收IC卡回送的0x3F和0x3B中的任何一个,对于其他值将拒绝。目前反向约定模式的卡片使用越来越少,在以后的卡片规范和应用规范版本中可能淘汰,所以在我们的设计中,建议大家使用0x3B,即正向约定。
2、T0--格式字符
格式字符T0由两个部分组成,高半字节(b5~b8)表示后续字符TA1到TD1是否存在,b5-b8位设置为逻辑“1”表示TA1到TD1存在,相应的,低半字节(b1~b4)表明可选历史字符的数目(0~15),如下所示:
[b]T0的基本响应代码[/b]
[b] b8 b7 b6 b5 b4 b3 b2 b1 [/b]
T=0 0 1 1 0 x x x x
T=1 1 1 1 0 x x x x
基本响应:
* 选择T=0时,IC卡应回送T0=0x6X,表示字符TB1和TC1存在。
* 选择T=1时,IC卡应回送T0=0xEX,表示字符TB1、TC1和TD1存在。
其中X表示历史字符的数目。
兼容终端能够接收满足以上条件的所有值。
3、TA1~TC3--接口字符
在复位应答后的终端与IC卡信息交换期间,TA1到TC3表示控制参数F、D、I、P、N、IFSC、BW1和CW1的值。这些参数都用于T=1协议,TA1到TC1和TC2传送的信息将用于后续数据交换且与所使用的协议类型无关。这些参数的具体意义在下面给出。
(1)TA1
TA1传送FI和DI的值,其中:
* FI用于确定F的值。F为时钟速率转换因子,用于修改复位应答以后终端提供的时钟频率。
* DI用于确定D的值。D为比特速率调节因子。用于调整复位应答之后所使用的位持续时间。
在复位应答期间发送ATR时所使用的默认值FI=1、DI=1,分别表示F=372、D=1。
基本响应:如果IC卡不回送TA1值,则表示IC卡使用默认参数,在整个后续信息交换过程中继续使用默认值F=372和D=1。
兼容终端接收默认的TA1值(0x11)
为提高终端与IC卡之间的数据传送速率,某些IC卡在终端支持的情况下可以选择使用其他的TA1值协商使用高速模式。
(2)TB1
TB1传送PI1和II值,其中:
* PI1在b1~b5位中定义,用于确定IC卡所需的编程电压P值,PI1=0表示IC卡不需要编程电压VPP。
* II在b6~b7位定义,用于确定IC卡所需的最大编程电流I值。PI1=0时不使用这一参数。
* b8位不使用,设置位逻辑0。
基本响应:在目前使用的大多数IC卡芯片都不要编程电压的支持,所以,IC卡回送TB1=0x00,表示IC卡不使用VPP。
终端接受满足上述定义的任何TB1,如果不需要VPP的话,终端将在卡片使用过程中保持VPP为静止状态。
(3)TC1
TC1传送N值,N用于表示增加到最小持续时间的额外保护时间,此处的最小持续时间表示从终端发送到IC卡的、作为后续信息交换的两个连续字符的起始位上升沿之间的时间。N在TC1的b1~b8位为二进制编码,其值作为额外保护时间表示增加的etu数目,其值可在0到255之间任选。N=255具有特殊含义,表示在使用T=0协议时,两个连续字符的起始位上升沿之间的最小延迟时间可减少到12个etu,而在使用T=1协议时可减少到11个etu。
TC1的值定义的参数只适用于终端向IC卡发送的两个连续字符之间的间隔时段,不适用于IC卡向终端发送字符的情况,也不适用于两个反方向发送字符的情况。
如果TC1值在0x00到0xFE之间,增加到字符间最少持续时间的额外保护时间为0~254个etu,对于后续传输,意味着其额外保护时间将在12~266个etu之间。
如果TC1值为0xFF,则后续传输的字符最小持续时间在使用T=0协议时为12个etu,使用T=1协议时为11个etu。
基本响应:根据芯片内I/O的处理情况,IC卡回送0x00~0xFF之间的任何值。
终端能够接收满足以上条件的任何TC1值。
在实现过程中,我们可以计算出特定芯片可接收的最小持续时间,建议TC1设置为这个最小时间,否则TC1如果过大可能造成终端与IC卡之间的通信缓慢,延长交易时间,如果TC1过小的话芯片无法及时处理I/O端口到来的数据,会造成数据丢失。
第1页第2页 |