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章。

  • 相关阅读:
    Filter 和 interceptor 的区别
    JAVA基础知识|Optional
    CentOS 7安装MariaDB 10详解以及相关配置
    Linux系统zookeeper环境搭建(单机、伪分布式、分布式)
    Java设计模式——模板方法模式
    Java设计模式——装饰模式
    Java设计模式——观察者模式
    Java设计模式——代理模式
    Java设计模式——适配器模式
    Java设计模式——策略模式
  • 原文地址:https://www.cnblogs.com/a-lai/p/7994507.html
Copyright © 2011-2022 走看看