SIM卡接口学习
一、操作过程
1) 接口设备激活电路
2) 卡和接口设备交换信息
3) 接口释放电路
1、接口设备激活电路
1) RST置为L状态
2) 按接口设备所选的条件,VCC加电为A类或B类
3) 接口设备上的I/O置于接受状态(A类VPP为中止状态,B类VPP保留)
4) CLK提供时钟信号(A类:1~5M;B:1~4M)
2、复位:冷复位和热复位
1) 冷复位:VCC和VPP上电后,加CLK,在200个CLK周期以内将I/O置于状态Z,加时钟后置
于RST为状态L,并保持400个CLK周期。然后将RST置为H,在RST置为L结束后的400到
40000个CLK周期里CARD将应答复位,否则接口释放电路。
2) 热复位:冷复位是在稳定的VCC和CLK期间,将RST置为L 400个CLK周期,在RST的上升沿
后的400到4000个CLK周期里接口设备的I/O将受到复位应答,否则接口释放电路。 3、时钟停止
将I/O置为状态Z 1860个CLK周期。时钟周期将停止
4、电路释放
1) RST置为状态L
2) CLK置为状态L
3) VPP释放(如果已经激活)
4) I/O置为状态A
5) VCC释放
二、字符场
1、字符场由是个时刻组成分别是m1~m10。
1) M1为开始位,为L
2) M2~m9为数据编码位
3) M10为效验位。
4) 两个连续的字符之间有一个至少保持12个ETU的延时
接收方应在0.7ETU之前确认开始位,在1.5+-0.2个ETU开始接收m2,在在8.5+-0.2个ETU开始接收
m9。在9.5+-0.2个ETU接收效验位。
2、差错信号和字符重发
当字符效验错误时,接收方将发送一个差错信号到I/0电路上。接收器在(10.5+-0.2)ETU时刻将I/O拉为L状态,并保持1到2个ETU。
为了
差错信号发送器在(11.5+-0.2)时刻监测I/O电路,如果检测到为H则接受正确,如果检测到为L将在一到两个ETU后重发该字符。
三、复位答复:每一次成功的复位后都有复位答复
1、复位答复的格式:
TA1、TB1、TC1、TD1、……TA(i) 、TB(i) 、TC(i) 、TD(i) T1、T2、……….TK TS T0
TS:称为初始字符。他后面最多跟32个字符。其中T0为格式字符(强制),TA1、TB1、TC1、TD1、……TA(i) 、TB(i) 、TC(i) 、TD(i)为接口字符(可选),T1、T2、……….TK为历史字符(条件)。 2、初始字符:定义后继字符的解码协议。它有两种形式:
1) LHHLLLLLLH建立一个极性反相协议,m2时刻传输最高有效位(msb)。
2) LHHLHHHLLH建立一个正常的协议,并且m2时刻传输最高有效位(Lsb)。
T0格式字符:他由两部分构成Y1(m8~m5),K(m4~m1)。
1) Y1(m8~m5)说明后继的TA1、TB1、TC1、TD1是否存在
2) K(m4~m1)他是传输协议的编码。常用的有T=0(异步半双工字符传输协议)和T=1(异步半双工
块传输协议)。
3、TA1、TB1、TC1、TD1、……TA(i) 、TB(i) 、TC(i) 、TD(i)接口字符
1) TD(i):他也由两部分构成Y(i+1)(m8~m5)说明后继的TA(i+1)、TB(i+1)、TC(i+1)、TD(i+1)
是否存在。T:协议参考和接口字符限制。具体如下:
2) TA1、TB1、TC1、中的T是对FI、DI、II、PI1、N、PI2、XI和UI等参数进行编码。这些参数是
用来计算F、D、N、P、I、X和U的值。(F,D用来计算ETU,P、I可编程电压和最大可编程电
流,N是用于从接口设备到发送字符的卡的额外保护时间。X为时钟停止符,以及CLK上电是优
先选用的状态。U为级别指示符:指明卡的操作级别)。
3) TA(2):专用模式字节,描述了卡操作专用模式的有关特点
4) TB(2):用八位上的编程电压值PI2编码以代替PI1
5) TA(i):在TD(i-1)(i>2)中的T=15的第一个出现后编码。XI,位b8b7上时钟停止指示的参考,UI,
位b6到b1上级别指示的参考。
6) 在TD(i-1) (i>2)中的T=15后正常忽略TA(i) TB(i) TC(i)所不支持的协议的接口字节特性。 四、操作模式
总工有两种操作模式:TA(2)存在时的专用模式和TA(2)不存在时的协商模式。
1、专用模式:当TA(2)中的b5位为0时使用Fi和Di;当TA(2)中的b5位为1时,使用默认值。
2、协商模式:只要IFD发送给ICC的第一字节允许在PPS请求与协议命令之间有明显差别,则“缺省选择”是可能的。
在复位应答后无PPS请求,则“首选协议”将使用Fd和Dd。
F范围为Fd到Fi,D的范围为Dd到Di)提供时,IFD应发当协议由ICC和/或参数F、D的其它值(
送一个带Fd和Dd的PPS请求,以便从协商模式转到专用模式。成功完成PPS(见交换后9.4),协商协议应使用Fn和Dn。
五、协议和参数选择
1、PPS协议:
1) IFD发送一个PPS请求给ICC
2) 如果ICC收到一个错误的请求,则不响应。
3) 如果ICC受到一个正确的请求,则返回一个PPS响应,否则将超过初始等待时间
4) 如果ICC超出初始等待时间,则IFD复位或者拒绝ICC
5) 如果IFD收到一个错误的应答,则复位或者拒绝ICC
6) 如果PPS交换失败,则IFD复位或者拒绝ICC
2、PPS请求的结构和内容
PPS请求和应答的结构如下:
初始字符 PPSSPPSS
格式字符 PPS0
PPS1
参数字符
PPS2
PPS3
效验字符 PCK
PPS识别PPS请求或响应并等于“FF”。
PPS0通过位b5、b6、b7分别指明可选字节PPS1、PPS2、PPS3的存在。位b4到b1传输参数T的值以提出协议。位b8留作未来使用并设定为0。
PPS1允许IFD对卡提出F和D的值。
3、成功的PPS交换
当PPS响应为下列情况之一时,该PPS交换也是成功的:
1) PPSS响应=PPSS请求
2) PPS0的响应
, 应回送B1到B4
, 回送B5或将他置为0(如果B5=1,则PPS1响应=PPS1请求。若B5=0,则无PPS1,则使用
Fd和Dd)。
, 回送B6或者将他置为0(如果B6=1,则PPS2响应=PPS2请求。若B6=0,则PPS2请求和相
应都不存在)
, 会送B7或者将它置为0(如果B7=1,则PPS3响应=PPS3请求,若B7=0,则PPS3请求和相
应都不存在)。
PPS交换的其它情况都应被解释为不成功。
六、异步半双工字符传输协议
1、命令的结构和处理
命令由接口设备启动,它是以5个字节的报头
卡做什么,并且允许在卡发出的过程字节的控制下传输数据字节。
5个连续的字节为包头,这5个字节指定为CLA,INS,P1、P2、P3。 接口设备通过
1) CLA为指令类别,值FF保留。
2) INS为指令类别中的指令代码。
3) P1、P2是一个完成指令代码的参考符
4) P3对指令期间被传输的数据字节(D1„Dn)的数目n编码。
在一个5个字节的包头传输之后,接口设备等待一个过程字节。
2、过程字节
过程字节的值将指明接口设备请求的动作。有三种类型的过程字节:
1) NULL的值为60。
2) 在ACK中,除了6X和9X以外,在ACK字节中的七个最高有效位(B8到B2)全部等于INS字
节中的相应位或者与之补位。
3) SW1的值为‘6X’或‘9X’但不包括60
在每一个过程字节中,卡可以用一个ACK或NULL字节来把这个命令继续进行下去,或以适当的不应答
示不赞同,或用结束序列SW1-SW2结束这个命令。
字节 值 有效的数据传输 接受
无 一个过程字节 NULL 60
所有剩余的数据字节 一个过程字节 INS ACK 下一个数据字节 一个过程字节 INS,FF
6X,9X(不包含60) 无 一个过程字节 SW1
3、NULL字节
NULL请求不影响数据传出,仅等待一个过程字节。
4、确认字节
ACK被用作数据字节传输的控制。
1) 假如ACK=INS,所有剩余的字节将随后传送
2) 如果ACK与INS异或等于FF,那么仅下一个字节将被传输。
5、状态字节
接受到SW1以后,接口设备将等待一个SW2字节的传输。对SW2的至无限制。结束命令SW1 SW2在命令的结尾给出卡的状态。置为9000只是处理正常完成。
SW1的有效位的高4位等于6时,SW1的含义与应用无关。
七、异步半双工块传输
1、块帧:一个块由一串字符组成,每个字符已异步字符的形式传输。块由下列域构成(下表)
起始域 信息域 终止域
NAD PCB LEN INF EDC
一一一0至254个字1或2个字节(LRC或
字字字节 CRC)
节 节 节
协议定义了三种基本的块:
1) 信息块(I):用于传送应用层信息。另外他传送可定与否定的确认信息。
2) 接受准备块(R):用于发送肯定或否定的信息,他没有信息域。
3) 管理块(S):用于IFD和ICC交换控制信息。(S块的信息域存在与否取决于S块控制功能的需
要)。
2、起始域:它由三部分组成:节点地址(NAD),协议控制字(PCB)和长度(LEN)每个部分占一个字节。
1) 节点地址:B1到B3指明源节点地址(SAD),B5到B7指明目的节点地址(DAD)。B4和B8用
于VPP状态控制。
由IFD发送的第一个块的NAD确定了SAD和DAD地址的逻辑连接关系。在随后的块中的NAD域也
在后续的信息交换期间内其它的逻辑连接同包含相同的SAD/DAD地址对,并具有相同的逻辑关系。
样也由相应的SAD/DAD对定义。
2) 协议控制字(PCB)协议控制字节用于传送控制传输所需要的信息。其编码意义略。
3) 长度(LEN)指示其块的信息域中被传输的位数。00表明不存在信息域,FF留用。 3、信息域:
1) I块中的信息域用于应用信息
2) R块中无信息域
3) S块中的信息域传递应用信息(INF应与S块中的一个单独字节一起存在,负责调整IFS和WT
X,在一个VPP状态出错或者管理连接中止,或者同步的S块中不存在INF)。 4、终止域:它是差错检测编码。共有两种差错编码方式LCR,占一个字节。或者CRC占两个字节。
5、信息域尺寸
1) 卡的信息域尺寸(IFSC):它是卡能接受各个块中信息域的最大长度,在第一TA(i)中声明,
缺省值为32
2) 接口设备信息域尺度(IFSD)意义同上,缺省值为32。
6、等待时间
1) 字符等待时间:定义为同一块中两个连续字符起始沿之间的最长时间
第一Tb(i)的最低有效半字节(b4至b1)编码为字符等待时间整数值(CWI),其范围为0—15,CWT的计算公式为: CWI CWT=(2+11)etu
当前字符 下一字符
T