您的位置 首页 制造

怎么规划ST7267单片机与SIM卡的接口?

随着信息技术的不断发展,手机逐渐成为现代社会必不可少的工具。但是,一旦手机丢失,存在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便是指令处理后回来的状况。

2.4 根本程序模块的规划

设myBit为从I/O端口采样的存储变量,设Parity为奇偶校验变量,Parlty的初始化值为0。每次从I/O口采样后,myBit都要与Parity进行一次“异或”,成果放入Parity。这样采样9次后,假如Parity的最终值是0,就阐明奇偶校验正确;假如不是0,就阐明读取数据失利,回来过错信息,要求发送者重发。

依照以上接纳一个字节程序的结构,能够很方便地规划出发送一个字节的程序。只是在发送字节时,在发送完奇偶校验位后,一定要转为接纳形式。假如在接下来的一个ETU里,I/O端口坚持高电平,则阐明发送数据正确;假如I/O端口被拉低,为低电平,就阐明发送数据过错,要重发。

结语

本文介绍了根据ST7267读写SIM卡的办法。相对于其他硬件读卡芯片,这种用软件完成的办法愈加灵敏,并且能够完成多种设备(例如U盘和SIM卡读卡器)的整合,这样能够下降产品的本钱。

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/bandaoti/zhizao/149520.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部