碧波液压网 欢迎你,游客。 登录 注册

ST7267单片机与SIM卡的接口设计

版权信息:站内文章仅供学习与参考,如触及到您的版权信息,请与本站联系。

  随着信息技术的不断发展,手机逐渐成为现代社会必不可少的工具。但是,一旦手机丢失,存在SIM卡内的资料也就丢失了,因而造成了很多不必要的麻烦。为了保存这些重要的资料,在电脑上做必要的备份显得十分重要了。本文利用ST7267单片机的GPIO端口,实现了对SIM卡的读写。

  1 硬件电路的设计

  1.1 ST7267单片机概述

  ST7267具有USB2.O的硬件接口,大容量存储控制接口可以支持各种类型的NAND Flash。具有54 KB的ROM和4KB的RAM空间。

  1.2 SIM卡接口电路

  SIM卡引脚功能的定义如表1所列。

  

  ST7267单片机与SIM卡的接口电路如图1所示。该电路主要由外围有源晶体Y2提供4MHz、稳定的时钟频率给SIM卡,电源由一颗LDO输出3.3V、纯净的直流电到SIM卡的Cl_VCC上。这里选择ST7267的PE2脚作为I/O引脚,通过一个4.7kΩ的上拉电阻与SIM卡实现通讯;选择PE3脚作为SIM卡的复位控制引脚。

  

  2 底层软件设计

  SIM卡的数据传输方式与其他存储卡不同,它遵循ISO7816标准。因此在进行SIM卡读写设计时应该注意数据传输时每一个数据位的宽度,然后按照ISO7816的标准编写程序。首先是接收到正确的复位应答信号(ATR),其次是向SIM卡发送命令,得到正确的返回数据和状态标志。

  2.1 ETU的计算

  ETU(基本时间单位)就是SIM卡I/O脚上输入/输出每一位数据的时间,计算公式是;

  

  其中:参数F和D分别是时钟频率转换因子和波特率调整因子,这里使用默认的速率,即F=372,D=1;使用的时钟频率f是4MHz。可以计算出基本时间单位是93μs。

  2.2 基本数据帧结构

  通信使用的协议是ISO7816-3所规定的T=0的异步半双工字符传输协议。基本的数据帧是由1个起始位(低电平)、8个数据位和1个奇偶校验位组成的,如图2所示。其中,校验位是将8个数据位与其自身做偶校验,也就是其中1的个数必须足偶数。起始位不做校验运算。在保护时间内SIM卡和单片机都要处于高电平(即I/O口是高电平)。在T=O协议里,如果SIM卡或者单片机检测到奇偶校验结果不正确,则在保护时间内把I/O端口拉低,以示出错。

  

  2.3 SIM卡的APDU结构

  应用协议数据单元APDU(Application Protocol Data Units)包括了命令APDU以及应答APDU,其结构如下:

  

  其中:CLA是指令的类别,A0被制定为GSM的应用;INS是指令代码;Pl、P2、P3是指令参数,P3指示的是数据的长度;Data就是要传输的数据;SWl和SW2就是命令处理后返回的状态。

你没有登陆,无法阅读全文内容

您需要 登录 才可以查看,没有帐号? 立即注册

标签:
点赞   收藏

相关文章

发表评论

请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。

用户名: 验证码:

最新评论