社保系列11《ATR》
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》的更多相关文章
- Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
		概要 前一章,我们学习了HashMap.这一章,我们对Hashtable进行学习.我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable.第1部分 Ha ... 
- Java 集合系列 11  hashmap 和 hashtable 的区别
		java 集合系列目录: Java 集合系列 01 总体框架 Java 集合系列 02 Collection架构 Java 集合系列 03 ArrayList详细介绍(源码解析)和使用示例 Java ... 
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改
		原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(11)-验证码实现和底层修改 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1):框架搭建 ... 
- saltstack自动化运维系列11基于etcd的saltstack的自动化扩容
		saltstack自动化运维系列11基于etcd的saltstack的自动化扩容 自动化运维-基于etcd加saltstack的自动化扩容# tar -xf etcd-v2.2.1-linux-amd ... 
- C#程序集系列11,全局程序集缓存
		全局程序集缓存(GAC:Global Assembly Cache)用来存放可能被多次使用的强名称程序集.当主程序需要加载程序集的时候,优先选择到全局程序集缓存中去找寻需要的程序集. 为什么需要全局程 ... 
- 【转】Java 集合系列11之 Hashtable详细介绍(源码解析)和使用示例
		概要 前一章,我们学习了HashMap.这一章,我们对Hashtable进行学习.我们先对Hashtable有个整体认识,然后再学习它的源码,最后再通过实例来学会使用Hashtable.第1部分 Ha ... 
- Spring框架系列(11) - Spring AOP实现原理详解之Cglib代理实现
		我们在前文中已经介绍了SpringAOP的切面实现和创建动态代理的过程,那么动态代理是如何工作的呢?本文主要介绍Cglib动态代理的案例和SpringAOP实现的原理.@pdai Spring框架系列 ... 
- .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 ... 
- 【 D3.js 入门系列 — 11 】 入门总结
		D3 新专题首页 一转眼,这个入门系列已经积累了二十二篇文章之多,我想作为 D3.js 这款数据可视化工具的入门来说已经足够了.相信仅仅要看完本系列.以后全然能够在辅以查询的情况下完毕大部分可视化工作 ... 
随机推荐
- Oozie 中各种类型的作业执行结果记录
			一,提交的作业被SUSPEND,然后再被KILL,记录如下: TYPE1: appType WORKFLOW_JOB id 0000002-160516095026479-oozie-oozi-W e ... 
- linux使用flock文件锁解决crontab冲突问题
			* * * * * flock -xn /dev/shm/redis.lock -c "/usr/local/bin/redis-server" 可以用flock命令,配合使用rs ... 
- wamp环境下外网访问自己电脑自己写的网站
			首先我广州电信是对外封杀80端口的,但是内网可以用80端口访问, 可以将访问的端口改成81, apache的配置文件,httpd.conf 首先找到3个Listen 将80端口改成81 #Listen ... 
- 未来十年的十三条思考(FW)
			支付宝在某种意义上延续了“双十一”的购物狂欢. 如果你关注微信朋友圈,你会发现支付宝最近以各种广告.方案植入方式推出强劲广告.而其中很重要的一个促销手段便是,从今年12月1日到12月15日,用户在一些 ... 
- 进程内外的session
			进程内session:缺点:当访问量大的时候,会导致进程内session的重启优点:存储速度快 进程外session: 01.将session存储在状态服务器中 asp.net state servi ... 
- Java中可变长参数的使用及注意事项
			在Java5 中提供了变长参数(varargs),也就是在方法定义中可以使用个数不确定的参数,对于同一方法可以使用不同个数的参数调用,例如print("hello");print( ... 
- VBS创建数据表
			'创建数据表'参数:strDBPath 字符串型 数据库路径'参数:strTableName 字符串型 需要创建的数据表的名称'参数:strColumnName 字符串型 初始化的字段名称,其实可以算 ... 
- Oracle笔记 二、常用dba命令行
			1.给用户解锁 alter user scott account unlock; 2.注销.断开.切换当前用户连接 quit conn scott/tiger 3.用户权限查询 A .查看所有用户: ... 
- WP8_区分滑动和点击(在图片列表中)
			在windows phone中,对于一个页面中 有图片列表的,滑动的时候,很容易被误认为是点击了图片,而打开图片详细信息等,原意是滑动列表,由此对图片添加2个事件,来控制其点击行为(滑动的时候,基本不 ... 
- nc命令学习
			监测端口是否存在 nc -z 127.0.0.1 9100 扫描端口 nc -z -v 127.0.0.1 8000 9999 发送http nc www.baidu.com 80 GET / HTT ... 
