当前位置:首页 >> >>

SIM卡的硬件和软件接口有关技术

SIM 卡(Subscriber Identity Module)。即用户识别模块,是一张符合 GSM 规范的"智慧卡"。SIM 卡可以插入任何一 部符合 GSM 规范的移动电话中,"实现电话号码随卡不随机的功能",而通话费则自动计入持卡用户的帐单上,与手机无 关。
SIM 卡作为智能卡中特殊的一类卡,采用标准的接触式 IC 卡。他受到 ISO7816 标准(接触式集成电路 IC 卡的规定) 和 ETSI(欧洲电信标准委员会)的 GSM11.11 等标准的规范。他沿袭了智能卡在安全中的特色,并在移动用户认证和移动 商务中扮演重要的角色。
目前手机用户将一些重要的电话号码都储存在手机的 SIM 卡上。如果手机失窃,用户可以买一部新的,但是储存的号码 怎么办呢?如果用户能事先将储存在 SIM 卡上的电话号码做一份电子拷贝,这样就算手机丢失了,用户还是可以很容易地 将保存的号码写入到新的 SIM 卡里。为此,研究并设计了 SIM 卡读卡器,通过他可以将手机 SIM 卡中信息读取到电脑中, 方便地实现电话簿和短消息的编辑、备份和管理。为经常使用手机的用户提供了一个经济、便捷的信息备份管理解决方 案。
SIM 卡是一张符合 GSM 规范"智能卡",他实际上是一个装有微处理器的芯片卡,内部有 5 个模块,且每个模块都对应 一个功能:CPU(8 位)、程序存储器(3~8 kb)、工作存储器(6~16 kb)、数据存储器(128~256 kb)和串行通信单元。SIM 卡能实现存储数据(电话本、短消息等)和在安全条件下(个人身份号码 PIN、鉴权钥 Ki 正确)完成客户身份鉴权和客户信息 加密算法的全过程。这些功能都是由 SIM 卡内的一部具有操作系统的微处理机完成。SIM 卡具有机卡分离(SIM-ME 接口)、 通信安全可靠、成本低等特点。
(1) SIM 卡的物理特征:可以分尺寸为 54 mm×84 mmID-1 SIM(大卡)和尺寸为 25 mm×15 mmPlug-in SIM(小卡) 两种。
(2) SIM 卡的存储容量:一般 SIM 卡有 8 kB 的存储容量,另外还有容量分别为 16 k 和 32 k 的 SIM 卡,即 STK SIM 卡。
(3) SIM 卡的使用温度:标准温度-25~+70℃,极限温度-35~85℃,极限情况下每次使用不得超过 4 小时,总共使 用不得超过 100 次。
(4) SIM 卡的使用寿命:物理寿命是取决于客户的插拔次数,约在 1 万次左右;而集成电路芯片的寿命取决于数据 存储器的写入次数,不同厂家其指标有所不同,就 Mo-torola 经试验室试验约 5 万次左右。平均寿命约为 4 年。
一、SIM 卡接口电路 SIM 卡引脚功能的定义如表 1 所列:

SIM 卡芯片有 8 个触点,与移动台设备相互接通: (1) 电源 VCC(触点 C1):4.5~5.5 V,ICC<10 mA; (2) 复位 RST(触点 C2); (3) 时钟 CLK(触点 C3):卡时钟 3.25 MHz; (4) 不提供(触点 C4); (5) 接地端 GND(触点 C5); (6) 编程电压 VPP(触点 C6); (7) 数据 I/O 口(触点 C7); (8) 不提供(触点 C8)。 SIM 卡同移动台设备连接时至少需 5 个连接线:数据 I/O 口(Data)、复位(RST)、接地端(GND)、电源(VCC)、时 钟(CLK)。他与基带单元的接口电路如图 1 所示。其中 SIM CD 为 SIM 卡检测脚,用于检测 SIM 卡的拔插;SIM CLK 为 ME 提供的读/写 SIM 卡的参考时钟;SIMRST 为 SIM 卡复位信号;SIM IO 为串行数据输入/输出线,由 20 kΩ 上 拉电阻上拉至高电平;SIM RnW 为读/写控制信号,用以指示当前 SIM_IO 线上数据传输的方向;SIM PWCTRL 为功 率控制信号,可在空闲方式时控制 SIM 卡上的电源关闭,从而降低功耗,延长待机时间。 二、单片机与 SIM 卡的接口 单片机与 SIM 卡的接口电路如图 1 所示。该电路主要由外围有源晶体 Y2 提供 4MHz、稳定的时钟频率给 SIM 卡,电源 由一颗 LDO 输出 3.3V、纯净的直流电到 SIM 卡的 Cl_VCC 上。这里选择 ST7267 的 PE2 脚作为 I/O 引脚,通过一个 4.7 kΩ 的上拉电阻与 SIM 卡实现通讯;选择 PE3 脚作为 SIM 卡的复位控制引脚。
四、SIM 卡内部数据结构 SIM 卡共有 3 类数据文件:主文件(Master File,MF)、专用文件(Dedicate File,DF)、基本文件(ElementFile,EF)。

组织结构规定如下: 0x3F00 代表根目录,0x2FXX 代表根目录下的基本文件; 0x7FXX 代表一级子目录,0x6FXX 代表一级子目录下的基本文件; 0x5FXX 代表二级子目录,0x4FXX 代表二级子目录下的基本文件。 5 SIM 卡上电复位流程 SIM 卡符合国际标准 ISO7816 的要求,按照协议中的规定,SIM 应有 8 个触点,包括电源接口、复位控制接口、时
钟输入接口、数据输入输出接口,SIM 卡工作时整体电流消耗小于 10 mA。SIM 卡的时钟频率可由外部提供,在指定时 问内运行鉴权过程时至少需要 13/4 MHz 的时钟频率,其他情况下,使用最小为 13/8 MHz 的时钟频率。I/O 端口的 数据传输波特率为时钟频率的 1/372。
五、底层软件设计 SIM 卡的数据传输方式与其他存储卡不同,它遵循 ISO7816 标准。因此在进行 SIM 卡读写设计时应该注意数据传输时
每一个数据位的宽度,然后按照 ISO7816 的标准编写程序。首先是接收到正确的复位应答信号(ATR),其次是向 SIM 卡 发送命令,得到正确的返回数据和状态标志。 5.1 ETU 的计算
ETU(基本时间单位)就是 SIM 卡 I/O 脚上输入/输出每一位数据的时间,计算公式是;
其中:参数 F 和 D 分别是时钟频率转换因子和波特率调整因子,这里使用默认的速率,即 F=372,D=1;使用的时钟频 率 f 是 4MHz。可以计算出基本时间单位是 93μs。 5.2 基本数据帧结构
通信使用的协议是 ISO7816-3 所规定的 T=0 的异步半双工字符传输协议。基本的数据帧是由 1 个起始位(低电平)、8 个数据位和 1 个奇偶校验位组成的,如图 2 所示。其中,校验位是将 8 个数据位与其自身做偶校验,也就是其中 1 的个 数必须足偶数。起始位不做校验运算。在保护时间内 SIM 卡和单片机都要处于高电平(即 I/O 口是高电平)。在 T=O 协议 里,如果 SIM 卡或者单片机检测到奇偶校验结果不正确,则在保护时间内把 I/O 端口拉低,以示出错。

5.3 SIM 卡的 APDU 结构 应用协议数据单元 APDU(Application Protocol Data Units)包括了命令 APDU 以及应答 APDU,其结构如下:
其中:CLA 是指令的类别,A0 被制定为 GSM 的应用;INS 是指令代码;Pl、P2、P3 是指令参数,P3 指示的是数据的长度; Data 就是要传输的数据;SWl 和 SW2 就是命令处理后返回的状态。 5.4 基本程序模块的设计
设 myBit 为从 I/O 端口采样的存储变量,设 Parity 为奇偶校验变量,Parlty 的初始化值为 0。每次从 I/O 口采样后,my Bit 都要与 Parity 进行一次“异或”,结果放入 Parity。这样采样 9 次后,如果 Parity 的最终值是 0,就说明奇偶校验正确; 如果不是 0,就说明读取数据失败,返回错误信息,要求发送者重发。


更多相关标签: