【验证】SIM卡协议解析(四)

复位应答ATR:

每个成功的复位操作都会导致I/O上的一个初始字符TS,TS后面最多跟32个字符

1,起始字符TS

TS是ATR的强制部分,总是必须送出的。此字节只允许有两种编码:3B为正向约定,3F为反向约定。使用反向逻辑约定时, I/O的低电平状态等效于逻辑1,且该数据字节的最高位在起始位之后首先发送。使用正向逻辑约定时, I/O的高电平状态等效于逻辑1,且该数据字节的最低位在起始位之后首先发送。

2,格式字符T0

格式字符T0含有一组位表明将要传送哪个接口字符,它同时也指出后继历史字符的个数。像TS一样,每个ATR中都必须有这个字节。

高半字节( b5-b8) 表示后续字符TA1到TD1是否存在。(b5对应TA1,b8对应TD1);

低半字节( b1-b4) 表明可选历史字符的数目( 0到15);

3,接口字符TA1,TB1,TC1,TD1,…

这些字节在ATR中是可选的,由格式字符T0的高半字节决定。

3.1 全局接口字符TA1

TA1高半字节 FI 用于确定 F 的值, F 为时钟速率转换因子。用于修改复位应答之后终端所提供的时钟频率。低半字节 DI 用于确定 D的值, D 为位速率调节因子。用于调整复位应答之后所使用的位持间。etu =F/D * (1/f)

3.2 全局接口字符TB1

TB1传送PI1和II的值,PI1 在 b1 到 b5 位中定义,用于确定IC卡所需的编程电压 P 值;II 在 b6 和 b7位中定义,用于确定IC卡所需的最大编程电流I值。一般情况下ATR中必须包含TB1=00,表示IC卡不使用VPP

3.3 全局接口字符TC1

TC1传送N值,N为额外保护时间。N为TC1的b8~b1位的二进制码,其值表示了额外保护时间所增加的etu数,其值为0~255之间。N=255(TC1=“FF”)有特别的含义,它表明两相邻字符的起始位前沿之间的最短间隔时间: T=0为12etu;T=1为 11etu。

注意,TC1仅用于从终端送到IC卡的两相邻字符间的定时,它既不用于从IC卡送到终端的两相邻字符间的定时,也不用于反向传送的二字符间的定时(请参看传输协议一节中关于T=0或T=1的时序的叙述)。

基本响应: IC卡回送的TC1之值应在“00”至“FF”的范围内。

终端响应: 当IC卡不回送TC1(假定T0的b7位被置为“0”)时,终端不得拒绝,并续用卡过程的处理,就像回送了TC1=“00”一样。

建议在设计IC卡时,应把TC1置成IC卡可接受的最小值,较大的TC1值会导致终端和IC卡间的通信过慢,从而延长了交易时间。

3.2 全局接口字符TD1

TD1字符比较关键,看上面的ATR数据结构图可知,TD1的高4位决定了是否有TA2/TB2/TC2/TD2。

同理,TD2的高4位决定了是否有TA3/TB3/TC3/TD3。

4.历史字符

很长一段时间,没有任何标准对历史字符做出规定,结果是随操作系统生产者而不同,它们包含了变化广泛的数据。

5.校验字符TCK

TCK具有一个检验复位应答期间所发送数据完整性的值。TCK的值应使从T0到包括TCK在内的所有字节进行异或运算的结果为零。

  • 24
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值