zoukankan      html  css  js  c++  java
  • 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卡应当在RST被拉高后的400到40000个时钟周期内发起ATR过程。

    2.2 SIM卡热复位

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

      

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

    2.3 字符帧传输

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

      2.字符帧的结构如下图

        

        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过程由一系列字符组成。应该遵循如下格式

      

         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卡和ME之间的APDU交互过程。

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

      APDU命令格式

      

      APDU响应格式

      

      

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

  • 相关阅读:
    HDOJ 4747 Mex
    HDU 1203 I NEED A OFFER!
    HDU 2616 Kill the monster
    HDU 3496 Watch The Movie
    Codeforces 347A A. Difference Row
    Codeforces 347B B. Fixed Points
    Codeforces 372B B. Hungry Sequence
    HDU 1476 Sudoku Killer
    HDU 1987 How many ways
    HDU 2564 词组缩写
  • 原文地址:https://www.cnblogs.com/a-lai/p/7994507.html
Copyright © 2011-2022 走看看