1)  冷复位(Cold Reset)

当IC卡的电源电压和其他信号从静止状态中复苏且申请复位信号时,IC卡产生的复位。

2)  热复位(Warm Reset)

在时钟(CLK)和电源电压(VCC)处于激活状态的前提下,IC卡收到复位信号时产生的复位。

1. 缺省模式

当IC卡上电时,COS向卡外发送“复位应答”序列,返回:3B6D0000,0081,543100,8660,1108160000xx(固定标识,T1-T2芯片制造商标识符,T3-T5操作系统版本,T6-T7卡片制造商标识符,T8-TD卡片序列号)说明:

  • 这个序列总是以3B 6D 00 00打头。
  • 芯片制造商标识符 = 0081(代表华大)0085(代表华虹) 0087 (代表大唐) 0090(FM)
  • 芯片操作系统信息 = 543100(54是“T”,代表Turbo COS/SS 3.1)
  • 卡片制造商标识符 = 86 60(代表东信和平)。

符号

说明

TS

3B

正向约定,首先传送的是字符最低有效位

T0

6D

TB1、TC1 存在,历史字符为13个

TB1

00

无须额外编程电压

TC1

00

无须额外的保护时间

T1-T2

0090

芯片提供机构注册标识号

T3-T5

543116

芯片提供方或卡操作系统提供方自定义(T4为COS版本号)

54为cos名称

31为cos版本号。

16为这款芯片容量

T6-T7

8660

卡片制造机构注册标识号

T8-TD

YYYYYY+ZZZZZZ

YYYYYY为时间日期:110816

ZZZZZZ为卡序列号:000001~000020 依序递增

复位应答中回送字符的最大个数(包括历史字符,但不包括TS)为32个。

1.1 TS(初始字符)

TS有两个功能:向终端提供一个便于位同步的已知位模式,并指定解释后续字符的逻辑约定。 对于正向逻辑约定,I/O 的高电平状态等效于逻辑l,并且该数据字节的最低位在起始位之后首先发送,第1个半字节LHHL用于位同步。

基本响应:IC卡将回送的TS为:(H)LHHLHHHLLH——正向约定,值为3B,即从IO口向外传送数据时,先传送低位。

1.2 T0(格式字符)

T0由两部分组成,高半字节(b5-b8)表示后续控制字符TA1 、TB1 、TC1 和TD1 是否存在,b5-b8位设置成逻辑1,表明TA1到TD1存在;相应地,低半字节(b1-b4)表明可选历史字符的数目(0到15)

基本响应:IC卡应回送T0。x的值表示要回送的可选历史字符的数目。

b8

b7

b6

b5

b4

b3

b2

b1

2x

0

0

1

0

x

x

x

x

3x

0

0

1

1

x

x

x

x

6x

0

1

1

0

x

x

x

x

7x

0

1

1

1

x

x

x

x

8x

1

0

0

0

x

x

x

x

9x

1

0

0

1

x

x

x

x

Cx

1

1

0

0

x

x

x

x

Dx

1

1

0

1

x

x

x

x

1.3 TA1到TA3(接口字符)

在复位应答后的终端和IC卡信息交换期间,TA1到TA3表示传输控制参数F、D、N、P、I、X及U的值。TA1到TC1和TA3传送的信息将用于后续数据交换。

TA1传送FI和DI的值,其中:

——FI用于确定F的值,F为时钟速率转换因子。用于修改复位应答之后终端所提供的时钟频率。

——DI用于确定D的值,D为比特速率调节因子。用于调整复位应答之后所使用的位持续时间。

TA1 传送FI(用于确定时钟速率转换因子F的值)和 DI(用于确定比特速率调节因子D的值)的值,复位应答期间缺省值分别为十进制的372和1。若不回送TA1,则在整个后续信息交换过程中仍继续使用缺省值F=372 和D=1 。

TA2的存在与否表示IC卡是以特定模式还是以协商模式工作。 基本响应:IC卡将不回送TA2,TA2不存在表示以协商模式工作。

TA3传送XI和UI的值,其中:

——XI在b8、b7位中定义,用于确定时钟停止指示符X的值。X向接口设备表明是否支持时钟停止,如果支持,则在时钟停止时CLK端上的电平状态见表14。

——UI在b1到b6位中定义,用于确定类别指示符U的值。U向接口设备表明卡所接受的操作条件。

TD1 表示是否有后续的接口字符及后续传输所使用的协议。选用 T=0 协议时,不回送 TD1 。选用 T=1协议时,TD1 应为十六进制的81H ,表示TD2存在,且后续传输协议为T=1协议。

TD2 在选用T=1协议时,其值为十六进制的31H,表示TA3(IC卡信息域字节数,大小为10H到FEH)和TB3(低半字节指示字符等待时间整数CWI的值,取值范围0到4;高半字节指示块等待时间整数BWI的值,取值范围0到5)存在且后续传输协议为T=1协议。

下面是其中一些常用芯片测试的返回值,参考:

Ø 华大:

3B6D0000 0081 544436 8660 440200 000001

3B6D0000 0081 544000 8660 440100 0000A6

Ø 大唐:

3B6D0000 0087 545000 8660 000000 000001

Ø 复旦:

3B6B0000 2090 000000 0000 16FE81 530000

3B6D0000 0090 202090 0090 000066 560BA1

Ø NXP

3B6D0000 0081 4D2208 8660 122226 200001

3B8D8001 0081 4D2208 8660 122226 200001 3B(CONTACTLESS)

3B6C0000 4A43 455356 3230 5F5034 310000 (NEW)

2. 协商模式

卡上电复位或热复位后,卡发送的复位应答结构如下:

3B

7x('0'~'F')

FD

00

00

历史字节(0~15字节)

3. 特定模式

卡片在该模式下,返回复位应答后,将直接使用特定波特率因子FD进行通讯,不接受协商命令。

3B

FX(1~F)

FD

00

00

10

80

历史字节(0~15字节)

典型时钟频率:f = 3.5712MHZ,FD值如下:

F

D

Fi

Di

分频比

典型通讯速率

1001

0001

512

1

512

6975 bps

1001

0010

512

2

256

13950bps

1001

0011

512

4

128

27900bps

1001

0100

512

8

64

55800bps

1001

0101

512

16

32

111600bps

1001

0110

512

32

16

223200kbps

1001

0111

512

64

8

446400bps

0001

0001

372

1

372

9600bps

0001

0010

372

2

186

19200bps

0001

0011

372

4

93

38400bps

0011

1000

744

12

62

57600bps

0001

1000

372

12

31

115200bps

社保系列11《ATR》的更多相关文章

  1. Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例

    概要 前一章,我们学习了HashMap.这一章,我们对Hashtable进行学习.我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable.第1部分 Ha ...

  2. Java 集合系列 11 hashmap 和 hashtable 的区别

    java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ...

  3. ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改

    原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改 ASP.NET MVC+EF框架+EasyUI实现权限管系列  (开篇)   (1):框架搭建    ...

  4. saltstack自动化运维系列11基于etcd的saltstack的自动化扩容

    saltstack自动化运维系列11基于etcd的saltstack的自动化扩容 自动化运维-基于etcd加saltstack的自动化扩容# tar -xf etcd-v2.2.1-linux-amd ...

  5. C#程序集系列11,全局程序集缓存

    全局程序集缓存(GAC:Global Assembly Cache)用来存放可能被多次使用的强名称程序集.当主程序需要加载程序集的时候,优先选择到全局程序集缓存中去找寻需要的程序集. 为什么需要全局程 ...

  6. 【转】Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例

    概要 前一章,我们学习了HashMap.这一章,我们对Hashtable进行学习.我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable.第1部分 Ha ...

  7. Spring框架系列(11) - Spring AOP实现原理详解之Cglib代理实现

    我们在前文中已经介绍了SpringAOP的切面实现和创建动态代理的过程,那么动态代理是如何工作的呢?本文主要介绍Cglib动态代理的案例和SpringAOP实现的原理.@pdai Spring框架系列 ...

  8. .Net程序员学用Oracle系列(11):系统函数(下)

    1.聚合函数 1.1.COUNT 函数 1.2.SUM 函数 1.3.MAX 函数 1.4.MIN 函数 1.5.AVG 函数 2.ROWNUM 函数 2.1.ROWNUM 函数简介 2.2.利用 R ...

  9. 【 D3.js 入门系列 — 11 】 入门总结

    D3 新专题首页 一转眼,这个入门系列已经积累了二十二篇文章之多,我想作为 D3.js 这款数据可视化工具的入门来说已经足够了.相信仅仅要看完本系列.以后全然能够在辅以查询的情况下完毕大部分可视化工作 ...

随机推荐

  1. 关于conversation generation的论文笔记

    对话模型此前的研究大致有三个方向:基于规则.基于信息检索.基于机器翻译.基于规则的对话系统,顾名思义,依赖于人们周密设计的规则,对话内容限制在特定领域下,实际应用如智能客服,智能场馆预定系统.基于信息 ...

  2. 慕课网-安卓工程师初养成-2-5 如何命名Java变量

    来源:http://www.imooc.com/code/1221 如同酒店会给每个房间起个性化的名字一样,程序中的变量也需要用合理的名字进行管理---变量名! 需要注意,给酒店房间起名字时可以是数字 ...

  3. SQL基本语句(2)

    使用Insert语句插入新数据 语法:INSERT [INTO] tbl_name [(col_name,...)] VALUES (pression,...),… INSERT [INTO] tbl ...

  4. Type-base dispatch

    In the previous section we added two Time objects, but you also might want to add an integer to a Ti ...

  5. iOS copy&mutableCopy理解

    Copy&mutableCopy   通过copy方法可以创建可变或不可变对象的不可变副本,通过mutableCopy可以创建可变或不可变对象的可变副本. 拷贝分为浅拷贝和深拷贝: 浅拷贝:指 ...

  6. WebView 获取网页点击事件

    网页上的点击按钮 本身绑定了URL,点击的时候webview 会在下面的这个方法中加载URL - (BOOL)webView:(UIWebView*)webView shouldStartLoadWi ...

  7. windows bat 文件

    windows下的bat文件即批处理文件或批处理脚本,英文为BATCH,  BAT文件是无格式的文本文件. 在命令提示下键入批处理文件的名称,或者双击该批处理文件,系统就会调用Cmd.exe按照该文件 ...

  8. Android 之 下拉框(Spinner)的使用

    下拉列表 Spinner. Spinner的使用,可以极大提高用户的体验性.当需要用户选择的时候,可以提供一个下拉列表将所有可选的项列出来.供用户选择. Demo如下,可以留作参考 一.使用数组作为数 ...

  9. 用代码给TABLE 添加字段,设置属性并编译

    AOTTableFieldList AOTTableFieldList ,TableFieldNode; TableName tableName = "SML_InventTableExt& ...

  10. rem是如何实现自适应中的?

    使用rem 然后根据媒体查询实现自适应.跟使用JS来自适应也是同个道理,不过是js更精确一点.使用媒体查询: html { font-size: 62.5% } @media only screen ...