复位应答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 ,当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的基本结构和数据元的更多相关文章
- IC卡复位应答ATR的数据元和它们的意义
ISO/IEC 7816-3标准中对ATR的数据串和数据元做了规定和描述.ATR的数据元和它们的意义: 数据元 说明 TS 起始字符 T0 格式字符 TA1,TB1,TC1,TD1,... 接口字符 ...
- IC卡复位应答ATR解析
输入的是ATR,通过解析输出TA.TB.TC.TD的信息. 似乎没有容错处理,~~~~(>_<)~~~~ #include <stdio.h> #define TA_BIT ( ...
- ATR的基本结构与意义(无历史字符部分)
Reset 3B FA 13 00 00 81 31 FE 45 4A 43 4F 50 34 31 56 32 32 31 96 复位应答 ATR TS( The Initial character ...
- [Python]ctypes+struct实现类c的结构化数据串行处理
1. 用C/C++实现的结构化数据处理 在涉及到比较底层的通信协议开发过程中, 往往需要开发语言能够有效的表达和处理所定义的通信协议的数据结构. 在这方面是C/C++语言是具有天然优势的: 通过str ...
- MySQL 5.7:非结构化数据存储的新选择
本文转载自:http://www.innomysql.net/article/23959.html (只作转载, 不代表本站和博主同意文中观点或证实文中信息) 工作10余年,没有一个版本能像MySQL ...
- WordPress插件--WP BaiDu Submit结构化数据插件又快又全的向百度提交网页
一.WP BaiDu Submit 简介 WP BaiDu Submit帮助具有百度站长平台链接提交权限的用户自动提交最新文章,以保证新链接可以及时被百度收录. 安装WP BaiDu Submit后, ...
- 关于oracle中创建新表时将我们要用的表的结构和数据都复制过去
今天在oracle中遇到了一个问题,就是给我查询出来了一张表的数据,只有部分的字段,让我将这张表的结构和数据放到新的临时表中,并进行数据的查询. 我是这样做的: 如:create table tabl ...
- mysql,命令导入\导出表结构或数据
在命令行下mysql的数据导出有个很好用命令mysqldump,它的参数有一大把,可以这样查看: mysqldump 最常用的: mysqldump -uroot -pmysql databasefo ...
- PLSQL怎样导出oracle表结构和数据
1.导出表结构和数据方式1.tools->export user objects是导出表结构 tools ->export user object 选择选项,导出.sql文件 说明:导出的 ...
随机推荐
- 5th day
感觉mysql里面的东西好多,很容易忘记,不是很熟练,知道某些函数有某种功能,但就是想不起来函数的名字,需要去翻笔记,真的还需要大量的练习,毕竟这块的内容可以说是全新的...不知道后面做项目怎么样,这 ...
- python最简洁的条件判断语句写法
这篇文章主要介绍了Python返回真假值(True or False)小技巧,本文探讨的是最简洁的条件判断语句写法,本文给出了两种简洁写法,需要的朋友可以参考下 如下一段代码: def isLen(s ...
- 单件模式Singleton来控制窗体被重复或多次打开
本文转载:http://blog.csdn.net/a0700746/article/details/4473796 一般在百度搜一下,会出来一下内容,看来很好用.Singleton很方便的一个用处就 ...
- Codeforces 437B The Child and Set
题目链接:Codeforces 437B The Child and Set 開始是想到了这样的情况,比方lowbit之后从大到小排序后有这么几个数,200.100,60.50.S = 210.那先选 ...
- 动态规划晋级——POJ 3254 Corn Fields【状压DP】
转载请注明出处:http://blog.csdn.net/a1dark 分析:刚开始学状压DP比较困难.多看看就发现其实也没有想象中那么难.这道题由于列数较小.所以将行压缩成二进制来看.首先处理第一行 ...
- OSX10.11 CocoaPods 升级总结
本文不会讨论CocoaPods的各种使用技巧以及各种原理,只是简单记录一下在升级过程中遇到的问题,如果使用中有各种问题来欢迎交流. Podfile.loc 文件变化 前几天一个小伙更新了CocoaPo ...
- linux之CentOS-7.0环境搭建
此文作为新手安装centos-7的图文教程. 一. 前言 最近,师兄要进行实验室架构搭建,需要学习docker.而docker是完全依赖于linux系统的.所以,有了这篇文章. linux有很多发 ...
- Facade 门面模式 外观模式
简介 作用: (1)封装一组交互类,一致地对外提供接口 (2)封装子系统,简化子系统调用 JDK中体现:java.util.logging包 java.lang.Class javax.faces.w ...
- HTML5 微信二维码提示框
这是一个js的小案例,主要效果是显示一个微信二维码的提示框,非常简单实用. 源码如下: JS部分 <script src="js/jquery-1.8.3.min.js"&g ...
- 001-视频 video
<!DOCTYPE HTML> <html> <body> <video width="320" height="240&quo ...