一、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
的情况下,一个字符是否