sim通信功能(SIM卡通信协议详解)

SIM卡通信过程分为4个步骤
  1. SIM卡连接和激活
  2. SIM卡复位
  3. SIM卡和ME之间的命令和响应过程
  4. SIM卡释放
1 SIM卡的连接和激活

  正确连接ME和SIM卡后,ME按照如下的顺序激活SIM卡

  •   置RST为低电平
  • 给Vcc供电
  • ME和SIM卡的IO口均设置为接收状态
  • CLK上有稳定的时钟信号
2 SIM卡的复位

  在激活SIM卡后,ME会冷复位和热复位SIM卡。随后,SIM卡应该复位内部数据并且发起ATR过程。ME根据ATR的信息,有可能发起PTS过程来进一步商议通信协议和波特率。这些都成功后,ME和SIM卡就可以进行APDU交互过程。

2.1 SIM卡冷复位

  正确连接SIM卡后,ME就会立刻对SIM卡进行冷复位,复位时序如下

sim通信功能(SIM卡通信协议详解)(1)

  注:SIM卡应当在RST被拉高后的400到40000个时钟周期内发起ATR过程。

2.2 SIM卡热复位

  ME可以在SIM卡被激活后的任何时间里随时对SIM卡进行复位,这叫热复位。热复位时,RST会仙贝拉低40000个时钟周期,然后被拉高,SIM卡应答跟冷复位相同。

sim通信功能(SIM卡通信协议详解)(2)

  注:SIM卡应当在RST被拉高后的400到40000个时钟周期内发起ATR过程。

2.3 字符帧传输

  1.SIM卡和ME之间使用IO的半双工通信(一般为异步),IO上的信息被打包成字符帧来传输。PTS和APDU都是这种方式。

  2.字符帧的结构如下图

sim通信功能(SIM卡通信协议详解)(3)

    S是开始位,低电平。

    Bi是i字节的有效数据据。

    C 是奇偶校验位。

    P是保护时间

    S是停止位。

  3.字符帧的时序

    字符帧内每一位的持续时间定义为基本时间单元(etu),他依赖与时钟频率(f),时钟转换因子(f),比特调整因子(D),

          etu = F/(f*D)秒

    保护时间P一般为2 N etu

    参数F,D,N可以在ATR和PTS过程中由SIM和ME商榷确定。默认值为F=372,D=1,N=0。

2.4 ATR过程

  ATR过程使用默认参数F=372,D=1,N=0,若CLK上是3.579HZ 那么etu = 372/2.579波特率为1/etu=9600bps。

  ATR 过程包含如下信息:传输协议的类型,控制参数,和识别信息。ATR过程由一系列字符组成。应该遵循如下格式

sim通信功能(SIM卡通信协议详解)(4)

  TS    :初始字符(必须传输)

   TO   :格式字符(必须传输)

   TAi~TBi : 接口字符(可选)

   TCK   :奇偶校字符

   字符具体含义和编码参考GSM11.11文档

2.5 PTS过程

  在协商模式下,ATR过程默认使用的参数所表明的协议会一直用下去,直到一个成功的PTS过程完成。GSM11.11规定,如果TA1不等于‘11’那么ME就会发起PTS过程。

  PTS过程包括ME的PTS请求和SIM卡的PTS应答。他们一般由4个字符组成。

  •   PTSS初始字符 总为FF
  • PTS0格式字符 高四位分别表示后面字符的存在,低4位表示协议类型
  • PTS1参数字符 高半字节代表FI,低半字节代表DI.(与TA1匹配)
  • PCK校验字符

sim通信功能(SIM卡通信协议详解)(5)

SIM卡和ME之间的APDU交互过程。

  SIM卡在复位,ATR过程,PTS过程正常结束后就可以正式接收ME的各种命令APDU应该使用T=0来传输,正常的APDU分为命令和响应两部分,响应的编码如下

  APDU命令格式

sim通信功能(SIM卡通信协议详解)(6)

  APDU响应格式

sim通信功能(SIM卡通信协议详解)(7)

  详细状态参考GSM11.11第9章。

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页