首页 > 代码库 > 复位应答ATR的基本结构和数据元
复位应答ATR的基本结构和数据元
根据定义,复位应答是一系列字节的值这些字节是由卡作为对复位命令的响
应发送给接口设备的 ,在I/O电路上,每个字节在一个异步字符中传输
每个成功的复位操作都会导致I/O上的一个初始字符TS,TS后面按照下面的次
序跟有最多32个字符。
初始字符定义了所有后继字符的解码协议。
格式字符声明了第一组接口字符和所有历史字符。
接口字符由格式字符声明的位图技术来指明。
历史字符由编码在格式字符中的一个数字来指明。
校检字符依赖于某些接口字符中参数T的值。
★ 初始字节TS
TS 有两个可能值
反向约定解码时传输的字节等于3F
正向约定解码时传输的字节等于3B
★ 格式字节T0
字节T0 由两部分组成
位b8到b5构成Y(1):每个等于1 的位指明了后继接口字节的存在。
位b4到b1构成K :K 值为历史字节的个数,范围从0到15。
★ 接口字节TA(i) TB(i) TC(i) TD(i)
☆ TD(i)
字节TD(i)由两部分组成
位b8到b5构成Y(i+1):每个等于1的位指明接口字节的存在。
位b4到b1构成参数T的值。
☆ TA(1)
FI:位b8到b5上的时钟率转换因子的引用
DI:位b4到b7上波特率校正因子的引用
☆ TB(1)
最高位b8总是被置为0,即它未被使用。
I1:位b7,b6上最大编程电流的引用。
PI1:位b5到b1规定编程电压的值。
这些参数是第一代智能卡所需要的,它用EPROM而不是EEPROM作为数据存储器,而后者是当前的标准。对EEPROM编程所需的高电压和电流由终端经Vpp触点供给。然而,自从不包括内部电荷泵的智能卡已不复存在,我们可以忽略这个字节编码。
☆ TC(1)
参数 N 是用于从接口设备到发送字符的卡的额外保护时间从卡发送字符到接口设备不用额外保护时间缺省值N=0。
在0到254范围里在准备接收下一字符前N指明卡要求从前一个字符也是由卡或接口设备发送的上沿的后续延迟。
12 etu + (Q*N/f)
公式中Q取两个值中的一个:
F/D 即用于计算etu的值。当T=15不存在于复位应答中时。
Fi/Di 当T=15在复位应答中时。
N=255 指明在传输协议期间两个连续前沿之间的最小延迟在传输的两个方向一
致。
这个最小延迟值是
T=0时12etu
T=1时11etu
★ 历史字符
很长一段时间,没有任何标准对历史字符做出规定,结果是随着操作系统生产者而不同,它们包含了变化广泛的数据。
很多公司使用适当的字节来识别操作系统和相关的ROM掩膜的版本号。通常用ASCII编码,使之易于解释。历史字符在ATR的存在不是规定的,可以把它们全部删除掉。在某些情况下这样处理能使ATR短些并能较快送出。
在ATR中的数据元或历史字符可以包含着关于智能卡和所采用的操作系统的综合信息。例如,它们可以用来存储由智能卡支持的文件选择功能和隐含选择功能,以及有关逻辑通道的机制信息,它们也可以用来存储另外的有关发行商、卡和芯片的序列号、掩膜ROM、芯片和操作系统的版本号等信息。在ISO/IEC7816-4和-5标准中对有关数据的编码做了规定。
★ 校验字符
ATR的最后一个字节为从字节T0开始到校验和字符(TCK)之前的最后一字节的XOR校验和。这个校验和可用于除奇偶性检测之外的ATR传输的正确性核查。
复位应答ATR的基本结构和数据元