当前位置:首页 > 电源 > 线性电源
[导读]本文利用ST7267单片机的GPIO端口,实现了对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,就说明读取数据失败,返回错误信息,要求发送者重发。
    读1字节的基本程序流程如图3所示。

    具体子程序如下:


    按照以上接收一个字节程序的框架,可以很方便地设计出发送一个字节的程序。只是在发送字节时,在发送完奇偶校验位后,一定要转为接收模式。如果在接下来的一个ETU里,I/O端口保持高电平,则说明发送数据正确;如果I/O端口被拉低,为低电平,就说明发送数据错误,要重发。


结语
   
本文介绍了基于ST7267读写SIM卡的方法。相对于其他硬件读卡芯片,这种用软件实现的方法更加灵活,而且可以实现多种设备(例如U盘和SIM卡读卡器)的整合,这样可以降低产品的成本。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

串口作为单片机开发的一个常用的外设,应用范围非常广。大部分时候,串口需要接收处理的数据长度是不定的。那么怎么才能判断一帧数据是否结束呢,今天就以STM32单片机为例,介绍几种接收不定长数据的方法。

关键字: 单片机 串口 STM32

标普500指数今年迄今为止下跌22.7%,但高盛(Goldman Sachs)策略师认为估值依然太高。摩根士丹利旗下的Morgan Stanley Wealth Management称,面对高通胀环境下的利率大幅上升,股...

关键字: DMA MANAGEMENT 高通 ST

奈飞(Netflix)今年早些时候从数据中看到了一个令人担忧的信号:用户访问该流媒体服务的频率下降了。该公司对其用户在四周时间里观看其内容的天数进行了跟踪,并担心访问频率的下降会增加用户取消订阅的可能性。在发现这一问题之...

关键字: 信号 流媒体 TI ST

郑州2022年10月17日 /美通社/ -- 近日,《福布斯》发布了"2022年全球最佳雇主榜单"(The World's Best Employers 2022),中国平安再度上榜并排名全...

关键字: 福布斯 ST TI BSP

苏州2022年10月17日 /美通社/ -- 开拓药业(股票代码:9939.HK),一家专注于潜在同类首创和同类最佳创新药物研发及产业化的生物制药公司,宣布其自主研发、潜在同类首创的福瑞他恩(KX-826)治疗痤疮的中国...

关键字: ST FDA 代码 ADI

单片机诞生于1971年,经历了SCM、MCU、SoC三大阶段。单片机由以前的1位、4位、8位、16位,发展到现在的32位甚至64位。当前国内MCU厂商已有上百家,对标进口芯片的情况非常严重,导致国内MCU产品将陷入同质化...

关键字: 单片机 MCU 市场

iPhone 14系列发布后,安卓厂商们也即将开始新一波旗舰的换代,预计时间点会安排在11月的骁龙技术峰会也就是骁龙8 Gen2推出之后。

关键字: 骁龙8 Gen2 架构 SIM卡

(微控制单元 MCU(Microcontroller Unit),又称单片机,是把中央处理器(CentralProcess Unit; CPU)的频率与规格做适当缩减,并将内存(memory)、计数器(Timer)、US...

关键字: 单片机 芯片 CPU

在疫情的影响下,出门后、用餐前使用酒精消毒已成了人们的日常,而酒精喷雾机也因此变得十分热销。为了避免交叉感染的风险,自动酒精喷雾器也就应运而生。不同于传统手动喷雾器不美观、手部接触不卫生的bug,此款自动感应酒精喷雾器使...

关键字: 芯岭技术 方案开发 解决方案 单片机

在实际的单片机控制系统中,有时候会使用数字逻辑芯片对单片机和受控元件进行隔离,以保护单片机,或者令单片机更好地对后级进行控制。

关键字: 单片机 数字逻辑芯片 受控元件

线性电源

1619 篇文章

关注

发布文章

编辑精选

技术子站

关闭