ATR是卡向终端在复位进程之后向终端发送的一串数据,以向终端提供操作要求。
1、ATR最长由33个字节组成:TS + TO + (【TA】 + 【TB】 +【TC】 +【TD】) * N + Historical byte +TCK
2、TS为初始字符,用来规定字节里位传送的先后。LHHL+ HHH + LLH 指正向规则,H代表1,并且从低位开始传送,此时,初始字符为3B;LHHL+ LLL + LLH 指正向规则,L代表1,并且从高位开始传送,此时,初始字符为3F;
3,TO为第二个字符,该字符是强制的。位8到位5为指示位,位4到位1对随后的历史字节长度进行编码。
4,TA1,TB1,TC1,TA2,TB2为全局字节,TC2只适用于T=0,后续的接口字节都为局部字节,并且对上一个TD中编码的协议T有效。
5,历史字节用来描述卡片的操作特性,具体内容和结构在ISO7816-4中有规定。
6,校验字符TCK在只有T=0协议的情况下不存在。当T=0和T=T15同时存在或者其它情况,TCK都存在。从T0到TCK之间所有字节的异或运算结果须为‘00’。