一、ATR是什么

ATR也叫复位应答,是一个字节序列,这些字节是由卡作为对复位命令的响应发送给读卡器的。在I/O电路上,每个成功的复位操作都会导致I/O上的一个由初始字符 TS 开始, 后跟最多32个字符 的复位应答。ATR的作用是告诉读卡器,我是一张什么样的卡片,以便读卡器知道接下来该以什么样的方式和卡片通信。

二、ATR的基本数据结构

三、起始字符——TS

初始字符定义了所有后继字符的解码协议。它只有两种可能:3B-正向约定,3F-反向约定。正向约定就是高电平为1,低电平为0,且从一个字节的低位开始发送。反向约定就是低电平为1,高电平为0,且从一个字节的高位开始发送。

四、格式字符——T0

(一)TA1(重要)

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

    TC1为0时,表示不需要额外的保护时间。

    五、ATR分析示例

    ATR : 3B 70 13 00 00 
    Protocol : SCARD_PROTOCOL_T0
      + TS  = 3B --> Direct Convention
      + T0  = 70, Y1=0111, K=0 (historical bytes)
      + TA1 = 13 --> Fi=372, Di=4
      + TB1 = 00 --> Vpp not connected
      + TC1 = 00 --> EGT=0

    其中TA1的高4位为1,低4位为3,分别在下面两个表中查询,所以得出:Fi=372, Di=4。

    Fi的编码

    在激活过程结束(接口设备中 RST 处于 L 状态,VCC 上电,I/O 进入接收模式,CLK 已被提供了一个匹配并稳定的时钟信号)时,卡片已就绪,可以进行冷 复位 。卡片在冷 复位 之前的内部状态不做规定。 根据图 1,在 Ta 时间点上时钟信号应用于 CLK。卡片应当在时钟信号应用于 CLK(在 Ta+ta 时间点)之后的 200 个时钟周期(ta时延)内将 I/O 设置为 H 状态...
    当加上供电电压、时钟和 复位 信号后,智能卡经I/O引线送出其 复位 应答 ATR 。这个数据串,它最多含有33 字节,总是按分频值(时钟频率转换因子)为372传送的,这是遵照ISO/IEC7816-3标准的规定。它含有关于 传输协议和卡的各种数据,即使在 ATR 之后的传输协议使用的是不同的分频值(例如:512),也应当用这个 分频值。这就保证了从任何卡总能接收到一个 ATR ,而不管传输协议的参数是怎样的。 ATR 很少具有最大的允许长度,通常 ATR 只有几个字节,特别是对那些在激活序列之后卡应快速投人使用的 应用来说, ATR 应当很短。典型的例子是智能卡电子钱包、公路收费的支付等。不管交通工具通过收费闸门
    根据定义, 复位 应答 是一系列字节的值这些字节是由卡作为对 复位 命令的响 应发送给接口设备的 ,在I/O电路上,每个字节在一个异步字符中传输 每个成功的 复位 操作都会导致I/O上的一个初始字符TS,TS后面按照下面的次 序跟有最多32个字符。 初始字符定义了所有后继字符的解码协议。 格式字符声明了第一组接口字符和所有历史字符。 接口字符由格式字符声明的位图技术来指明
    1-数据传输格式和初始化     对于刚接触智能卡的工程师来说,在阅读7816-3规范的时候,常常被其中的一些术语迷惑,读起来会觉得有些别扭。尤其是在看到 复位 应答 中的F和D设置以及对应的etu的时候,会觉得有些复杂和难以理解。     其实从本质上说7816-3定义了智能卡(这里指的是接触式CPU卡,对于逻辑加密卡以及非接触 IC卡 不在此列)和读写设备之间的通讯协议,说白了就是数据位传输...
    如果终端不支持 IC卡 支持的其它传输协议以及传输参数值, IC卡 应该有能力用基本 ATR 定义的模式和终端进行交互。   终端如果无法满足 IC卡 回送 ATR 中定义的传输模式,将发送一个热 复位 信号,或将 IC卡 置为静止状态以结束卡片操作过程。 复位 应答 中回送字符的最大个数(包括历史字符,但不包括TS)为32个。   1、TS--初始字符   起始字符TS具有两个功能:一是向终端提供一个便于位同步
    IC卡 必须支持T=0或T=1的协议,但不是同时支持这两种协议,而终端则必须同时支持T=0和T=1的协议。 • T=0通讯协议是异步半双工字符传输协议; • T=1通讯协议是异步半双工块传输协议; 在ISO7816-3标准中,具体规定了这两种协议:T0和T1。 IC卡 所用的协议在TD1中指定,如果在 复位 应答 信息中没有TD1,则表示用T=0的协议进行通讯。在 复位 应答 后, IC卡 和终端之间即用 IC卡 指定的协议进行通讯。 2. 硬件接口 1)VCC:电源输入(A类:5V, B类:3V) 2)GND:地
    摘   要: 在符合基本 ATR 的情况下,一个字符是否存在,以及允许的取值范围(如果存在)由其“基本 应答 ”信息指明。基本 应答 描述和可能存在的其它扩展情况之间不冲突。例如,如果 IC卡 支持多个传输协议和多种传输参数值,它可以回送附加字符,但是,只有在 IC卡 返回一个基本 ATR ,或者返回一个满足最低功能需求的终端支持的 ATR ,才能够保证接下来字符的正确交换。   在符合基本 ATR 的情况下,一个字符是否