APDU指令格式

经过40000个~45 000个时钟周期后,终端向卡的RST端发出一个高电平,以激活卡。卡须在RST上升沿后400个~40000个时钟周期内向终端发送一个ATR字符应答终端。ATR包含后续通信操作的详细信息,包括T=0或T=1协议的选择。如果没有指定协议,则终端默认通信协议为T=0。

基于DS5002和接口芯片DS8007实现智能卡接口设计

ATR序列的第一个字符定义为起始字符TS。TS的前4位包含1个低电平起始位,然后是两个高电平位,最后是一个低电平位。这种固定位模板允许TS同步信息传输。TS的后续三位如果全为高平电,则表示后续数据为正向约定解码(传数据时,低位在前);如果这些位全部为低电平,则表示后续数据为反向约定解码(传数据时,高位在前)。EMV规范允许使用反向约定,但推荐在新的卡设计中使用正向约定。

TS的最后三位由两个低电平位和一个校验位组成,10位字符帧的最后一位是校验位,该位电平保证这一帧中1的个数为偶数。

ATR序列的第二个字符为格式字符,称为T0。这个字符包含两部分,用来确定后续ATR所包含的字符。T0的高4位称为Y1,用来指示随后所发送的TA1、TB1、TC1或TD1,0个~4个字符的发送取决于Y 1中有多少位置1。

T0的低4位用K表示,代表数字0到15,表示后续ATR序列中包含的“历史字节”。“历史字节”提供卡的一般信息,比如卡的制造商、卡内芯片、芯片ROM或卡的使用期限等。ISO-7816和EMV规范都没有对该部分信息传输进行准确的定义。

如果ATR中带有TB1字符,则它传递的是智能卡对编程电压的要求:b1~b5位(称为PI1)指出编程电压;b6和b7(称为II)指出编程需要的最大电流。与基本EVM兼容的ATR,TB1=00,说明VPP没有连接到智能卡。

TC1字符传送的数字N决定从终端向智能卡发送的两个相邻字符之间需要加入的额外安全时间。这个数字不会影响从卡到终端的字符传输,也不影响两个相反方向的字符传输。N所代表的二进制数指明加入额外安全时间的ETU数目。当TC1=FF时,两个字符之间使用最短的延迟时间,在T=0协议中,这个时间是12个ETU,在T=1协议中,这个时间是11个ETU。N可以是0~255的任何数字。如果ATR中不含TC1,终端将默认为TC1=00而继续进行后续工作。由于N可以在字符传输时加入额外的时间,它可以将输入速率降到最低。表2是对EMV规范中T=0协议的ATR总结。

  • UC3846控制芯片工作原理控制图 逆变焊机原理与用途
  • 数字万用表电阻档测试二极管正反向没有阻值(使用万用表测量二极管的正向电阻,为什么各档)
  • 学单片机需要学数电模电吗(学单片机要先学数电模电吗)
  • 电工怎么选择适合自己用的万用表(电工初学者买什么样的万用表好)
  • 单片机需要同时运行多个任务怎么办(单片机怎么同时执行多个任务)
  • 电机保护的方案取决于负载的机械特性
  • 绝缘电阻表正负搭接不复零位是怎么回事
  • 短路怎么用万用表查