463.IC卡读写电路的设计及编程_第1页
463.IC卡读写电路的设计及编程_第2页
463.IC卡读写电路的设计及编程_第3页
463.IC卡读写电路的设计及编程_第4页
463.IC卡读写电路的设计及编程_第5页
已阅读5页,还剩32页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、ic卡读写电路的设计及编程摘 要接触式ic卡具有结构简单、成本低廉等优点,因此在我们的生活中还有着非常广泛的应用。本系统就以德国simens(西门子)公司设计的逻辑加密存储卡sle4442作为主要研究对象,然后围绕其应用中的周边电路及设备进行讨论。从硬件和软件两个方面来对系统分别进行设计,最后再对系统的软硬件进行优化,以实现软硬件的完美结合。完成其功能要求。首先,本文对ic卡的由来、发展历史、现状以及未来的发展方向进行了简要的介绍。其次,本文叙述了单片机系统的基本组成以及其工作原理,并介绍了由单片机构成的系统的优点。再次,讨论了接触式ic卡读写电路实现的基本方法,分析了它的工作原理,并且给出了

2、其实现的具体电路以及ic卡读写电路的软件设计方法。最后,在附录中,本文还将给出一些必要的系统设计资料,供参考之用。关键词:ic卡,单片机,射频卡,读写器the ic card reads and writes design and programming of the circuit abstractthe contact-type ic card has advantage of simple structure, and the cost is cheap, so there is very extensive application in our life. this system en

3、crypts the storage card sle4442 as the main research object with the logic that germany simens company designs, then organize discussion around peripheral circuit and apparatus in its application. design the system respectively from hardware and software two respects, optimize the software and hardw

4、are of the system afterwards, in order to realize the perfect combination of the software and hardware. finish its functions requiring. first of all, this text has introduced the brief one to the origin, developing history, current situation and future developing direction of the ic card. secondly,

5、this text has narrated basic composition of the one-chip computer system and its operation principle, have introduced the advantage of the system become by the single organization. moreover, it is discussed that the contact-type ic card reads and writes the basic tool that the circuit realizes, has

6、analyzed its operation principle, and concrete circuit and ic card providing its realization read and write the software design method of the circuit. finally, in the appendix, this text will also provide some essential systems and design the materials, for reference.key words: ic card, one-chip com

7、puter, the radio frequency ic card, reading and writing device目 录1 绪论11.1 课题背景介绍11.2 课题研究状况11.3 课题研究方法22 设计方案论证32.1 设计方案论述32.1.1 由微机实现的ic卡读写电路32.1.2 由单片机实现的ic卡读写电路42.2 元器件介绍52.2.1 at89s51介绍52.2.2 sle4442介绍62.3 设计方案确定93 系统硬件设计103.1 ic卡读写电路介绍103.1.1 ic卡读写电路的分类103.1.2 ic卡读写电路的组成123.2 ic卡读写电路设计143.2.1 i

8、c卡接口及供电电路设计143.2.2 单片机处理与控制单元设计163.2.3 键盘显示电路设计174 系统软件设计194.1 ic卡接口电路程序设计194.1.1 ic卡的插入识别程序设计194.1.2 ic卡上下电控制程序设计204.2 ic卡的读写控制程序设计224.2.1 ic卡的数据读出程序设计224.2.2 ic卡的数据写入程序设计254.3 外围辅助电路程序设计264.3.1 键盘电路程序设计264.3.2 显示电路程序设计27结论29致谢30参考文献31附录 ic卡读写电路硬件电路图321 绪论1.1 课题背景介绍在当今社会,各种各样的ic卡已经成为了人们生活中不可缺少的一部分,

9、从早期的ic电话卡到现在已经应用非常广泛的手机ic(sim)卡,而这些ic卡的广泛应用,离不开各种各样的ic卡读写设备的支持,ic卡读写电路的作用就是完成ic卡与应用设备之间的信息的交换。作为一名工科大学生,利用自己所学的专业知识设计一个ic卡的读写电路必将大大提高我们的专业技能。这次毕业设计,我们就是围绕这一问题而展开的1。随着科学技术的发展,非接触式的ic卡也取得了非常广阔的应用,而且有一步步取代传统的接触式ic卡的趋势,相比接触式的ic卡,非接触式ic卡主要就是取消了ic卡与读写设备的触点,取而代之的是一种无线的接口,这样就减少了读写设备对ic卡的磨损,有效的延长了ic卡及读写设备的使用

10、寿命,并给使用者带来更大的便利,当然其成本也随之增加。因此,非接触式ic卡适用于需要非常频繁的读写ic卡中内容的地方,而接触式的ic卡主要适用于对使用的便利性及使用的频度要求不是很高的地方,这样就可以大大降低设备的成本,带来更大的经济效益。像各种智能电表计费系统,煤气计费系统等很多都采用了接触式ic卡,另外在其它的一些电子产品中也包含有ic卡的读写电路,比如现在应用非常普遍的手机中就包含有ic卡的读写电路,手机sim卡其实就是一张ic卡。本次毕业设计我们就选择了传统的接触式ic卡作为我们研究的主要对象,同时对ic卡的发展历史、现状作了一些探讨。1.2 课题研究状况ic是integrated c

11、ircuit的英文缩写,ic卡的中文意思就是集成电路卡,ic卡是一种内藏大规模集成电路的塑料卡片,其大小和原来的磁卡电话的磁卡大小相同。ic卡通常可分为存储卡、加密卡和智能卡三类,存储卡是可以直接对其进行读、写操作的存储器,加密卡是在存储卡的基础上增加了读、写加密功能,对加密卡进行操作时,必须首先核对卡中的密码,密码正确才能进行正常操作,智能卡中带有微处理器(cpu),同时也称作cpu卡。ic卡的概念是70年代初提出来的,法国布尔(bull)公司于l976年首先创造出ic卡产品,并将这项技术应用到金融、交通、医疗、身份证明等多个行业,它将微电子技术和计算机技术结合在一起,提高了人们生活和工作的

12、现代化程度。ic卡芯片具有写入数据和存储数据的能力,ic卡存储器中的内容根据需要可以有条件地供外部读取,完成供内部信息处理和判定之用。ic卡一出现,就以其超小的体积、先进的集成电路芯片技术以及特殊的保密措施和无法破译及仿造的特点受到普遍欢迎2。随着技术的发展,ic卡已经由传统的接触式ic卡发展到了非接触式ic卡,而且,其应用也越来越多,在不久的将来,非接触式ic卡必将取代接触式ic卡,成为ic卡的主流。1.3 课题研究方法ic卡的读写设备主要包括两个部分,一是硬件电路,二是软件程序。因此我们要从硬件和软件两个方面来进行讨论。硬件电路一般由单片机系统和一些外围器件组成,主要为设备的正常运行提供硬

13、件支持;而软件主要起到控制和监视的作用,控制硬件电路什么时间做那些工作,并监测硬件电路状态的改变,以根据不同的状态来完成不同的操作。只有软件和硬件的完美结合才能组成完美的应用系统。2 设计方案论证2.1 设计方案论述ic卡读写电路的实现方法一般有两种:一种是由单片机来实现,另外一种是由通用的微机来实现。两种方案各有各的特点,这就需要根据不同的应用场合和不同的系统要求来合理选择。其中由单片机构成的ic卡读写电路,根据所使用的单片机的种类的不同,其实现方法也不尽相同,实现的功能也有所区别,当然功能强大的成本就会高一些。这就牵涉到一个单片机的选型的问题,这也需要我们进行系统功能的分析,从而选择一个最

14、佳的方案来实现我们的设计要求。2.1.1 由微机实现的ic卡读写电路该方案利用通用微机直接对ic卡电路进行读写操作,这种方法比用单片机控制ic卡读写的方法简单,且便于进行数据管理,但需要一台通用微机来完成与ic卡的通信,在一些场合就显得大材小用。并行口的工作方式有单向数据传输和双向数据传输方式。而ic卡的sda引脚是双向数据输入/输出口。当有双向数据传输功能的并行口与ic卡连接时,可直接连接,当并行口只有单向数据传输功能时,ic卡的串行数据输入由并行口数据脚输出,而ic卡的数据输出只能经并行口的状态脚读取。ic卡输入输出脚的两种状态可通过电子开关进行切换。本方案采用4066作为电子开关,连接方

15、式如图2.1所示。图2.1 微机并行口与ic卡的连接在图2.1所示的连接方式中,+5v电源由并行口的数据脚6、7、8、9提供(输出高电平);开关k为ic卡卡座上的机械式开关,当ic卡插到位时,开关闭合,当取出ic卡时开关断开。ic卡的输入数据由并行口的第2脚经4066的1-2脚开关输入,而输出数据经4066的4-3脚开关输出到并行口的状态引脚第10脚。输入和输出数据的切换由并行口的第4脚和第5脚控制,并行口的第4脚输出为高、第5脚输出为低时,4066的1-2导通,而3-4为高阻态。反之,并行口的第4脚输出为低、第5脚输出为高时,则4066的1-2为高阻态,而3-4导通。2.1.2 由单片机实现

16、的ic卡读写电路该方案利用单片机完成ic卡的读写操作,由单片机完成数据的处理、读写的控制等功能,这种方案具有成本低、重量轻、携带方便等优点,但其功能简单,不易实现复杂的功能。该方案主要由单片机最小系统、ic卡电路、电源电路及其它辅助电路组成,单片机与ic卡的接口通过两根线连接,一根线向ic卡提供时钟信号,另一根提供双向的数据传输。其中ic卡的电源vcc应受控于单片机,即ic卡插入卡座后才给ic卡供电,取卡后则不供电。单片机与ic卡的简易接口电路如图2.2所示。图2.2 单片机与ic卡电路的连接在图2.2所示的ic卡读写电路中,单片机用于完成向ic卡的读写数据控制;ic卡座用于固定ic卡片,使其

17、能够可靠的与触点接触,确保数据的正常传输。其中vcc引脚是ic卡的电源引脚,它应该是一个受控电源,其电源的通断受单片机的控制,在卡片插入时接通电源,而在卡片拔出时断开电源,这样能够避免带电插拔而损坏ic卡芯片;sw1和sw2是ic卡插入的识别开关,用于识别ic卡的插入状态,clk为时钟信号输入引脚,为ic卡芯片提供工作所必需的时钟信号;i/o引脚为数据输入输出引脚,数据的输入与输出由ic卡的不同工作模式决定,工作模式的选择由单片机来控制;rst引脚为复位信号输入引脚,单片机发出复位信号后,控制ic卡芯片完成复位操作3。2.2 元器件介绍2.2.1 at89s51介绍at89s51是一个低功耗高

18、性能cmos 8位单片机,片内含4k byte isp(in-system programmable)的可反复擦写1000次的flash只读程序存储器,器件采用atmel公司的高密度、非易失性存储技术制造,兼容标准msc51指令系统及80c51引脚结构,芯片内集成了通用8位中央处理器和isp flash存储单元,功能强大的微型计算机的at89s51可为许多嵌入式控制应用系统提供高性价比的解决方案。其引脚图如图2.3所示。图2.3 at89s51引脚图at89s51具有如下特点:40个引脚,4k bytes flash片内程序存储器,128 bytes的随机存取数据存储器(ram),32个外部双

19、向输入/输出(i/o)口,5个中断源,2层中断嵌套中断,2个16位可编程定时计数器,1个全双工串行通信口,看门狗(wdt)电路,片内时钟振荡器。此外,at89s51设计和配置了振荡频率可为0hz,并可通过软件设置省电模式。空闲模式下,cpu暂停工作,而ram、定时计数器、串行口、外中断系统可继续工作,掉电模式冻结振荡器而保存ram的数据,停止芯片其它功能直至外中断激活或硬件复位。同时该芯片还具有pdip、tqfp和plcc等三种封装形式,以适应不同产品的需求。主要功能特性:兼容mcs-51指令系统; 4k可反复擦写(1000次)isp flash rom;32个双向i/o口; 4.5-5.5v

20、工作电压;2个16位可编程定时/计数器; 时钟频率0-33mhz;全双工uart串行中断口; 128x8bit内部ram;2个外部中断源; 低功耗空闲和省电模式;中断唤醒省电模式; 3级加密位;看门狗(wdt)电路; 软件设置空闲和省电功能;灵活的isp字节和分页编程; 双数据寄存器指针。2.2.2 sle4442介绍sle4442是德国西门子公司设计的逻辑加密存储卡。它具有2k位的存储容量和完全独立的可编程代码存储器(psc)。内部电压提升电路保证了芯片能够以单+5v电压供电,较大的存储容量能够满足通常应用领域的各种需要。因此是目前国内应用较多的一种ic卡芯片。芯片采用多存储器结构,2线连接

21、协议(串行接口满足iso7816 同步传送协议),nmos工艺技术,每字节的擦除/写入编程时间为2.5ms。存储器具有至少10000 次的擦写周期,数据保持时间至少10年。鉴于ic卡芯片sle4442的优良性能,下面我们将对其进行详细的介绍。1、sle4442的工作模式:(1)复位和复位响应复位和复位响应是根据iso7816-3标准来进行的。在操作期间的任意时候都可以复位。开始,地址计数器随一个时钟脉冲而被设置为零。当rst线从高状态(h)置到低状态(l)时,第一个数据位(lsb)的内容被送到i/o上,若连续输入32个时钟脉冲,主存储器中的前四个字节地址单元中的内容被读出。在第33个始终脉冲的

22、下降沿,i/o线被置成高状态而关闭。其时序图如图2.4所示。图2.4 复位时序图(2)命令模式复位响应以后,芯片等待着命令。每条命令都以一个“启动状态”开始。整个命令包括3个字节。随后紧跟着一个附加脉冲并用一个“停止状态”来结束操作。启动状态:在clk为高(状态h)状态期间,i/o线的下降沿为启动状态。停止状态:在clk 为高状态期间,i/o线的上升沿为停止状态。在接收一个命令之后,有两种可能的模式:输出数据模式(即读数据)和处理数据模式。命令模式时序图如图2.5所示。图2.5 命令模式时序图(3)输出数据模式这种模式是将ic卡芯片中的数据传送到外部设备接口(ifd)的一种操作。在第一个clk

23、脉冲的下降沿之后,i/o线上的第一位数据变为有效。随后每增加一个时钟脉冲,芯片内部的一位数据被送到i/o线上。其顺序是从每个字节的最低位(lsb)开始。当所需要的最后一个数据送出以后,需要再附加一个时钟脉冲来把i/o置成高状态,以便接收新的命令。在输出数据期间,任何“启动状态”和“停止状态”均被屏蔽掉。其输出数据时序如图2.6所示。图2.6 输出数据时序图(4)处理数据模式这种模式是对ic芯片作内部处理。芯片在第一个时钟脉冲的下降沿,将i/o线从高状态拉到低状态并开始处理。此后芯片在内部连续计时计数,直到第n个时钟脉冲之后的附加一个时钟脉冲的下降沿,i/o线再次置高,完成芯片的处理过程,在整个

24、处理过程中i/o线被锁定成低状态。其时序图如图2.7所示。图2.7 处理数据模式时序图2、芯片的复位方式(1)外部复位:sle4442 是基于同步复位响应的传送协议。芯片的复位时序如前述。(2)加电复位:在把操作电压连接到vcc端之后,芯片内部进行复位操作。i/o 线被置为高状态。必须在对任意地址进行读操作或做一个复位响应操作之后才可以进行数据交换。(3)中止:在clk为低状态期间,如果rst置为高状态,则任何操作均无效。i/o线被锁定到高状态。需要一个最小维持时间t=5us之后,芯片才能接收新的有效复位,中止状态之后,芯片又准备下一个操作。3、芯片的操作命令(1)命令格式每条命令包含三个字节

25、,其排列顺序如表2.1所示。表2.1 sle4442命令格式msb 控制字 lsbmsb 地址字 lsbmsb 数据字 lsbb7 b6 b5 b4 b3 b2 b1 b0a7 a6 a5 a4 a3 a2 a1 a0d7 d6 d5 d4 d3 d2 d1 d0(2)sle4442芯片具有七种命令,其格式和功能如表2.2所示。表2.2 sle4442芯片命令格式及功能表字节1(控制)b7b0字节2(地址)a7a0字节3(数据)d7d0功能命令模式30h地址数无效读主储存器输出数据模式38h地址数输入数据修改主储存器处理模式34h无效无效读保护储存器输出数据模式3ch地址数输入数据写保护储存器

26、处理模式31h无效无效读加密储存器输出数据模式39h地址数输入数据修改加密储存器处理模式33h地址数输入数据比较校验数据处理模式2.3 设计方案确定综合以上分析,在对两种方案进行综合比较后,鉴于单片机的特点及其优良性能,并结合ic卡读写电路的特点和系统要实现的功能。我们决定采用由单片机为核心构成的ic卡读写电路设计方案。第二种方案采用mcs51系列单片机来实现系统功能,由于单片机是专门用于自动控制系统的微型计算机,在很多智能控制系统中,都采用了单片机作为控制处理器件。它的应用已非常成熟,其典型的应用就可以满足我们的需求。特别是有些公司推出内部集成有flash闪存的程序存储器的单片机后,其程序的

27、烧写已经非常方便,这样就给系统的调试和升级带来了很大的方便。很显然使用单片机为核心器件构成的ic卡读写电路更有优越性和灵活性,且系统很容易进行软件升级,扩充系统功能。3 系统硬件设计系统的硬件电路为系统的正常工作提供物理电路连接,是系统软件运行的物理基础,良好的硬件电路设计是一个系统能够可靠稳定运行的保证。3.1 ic卡读写电路介绍ic卡读写电路是连接ic卡与应用系统间的桥梁,是ic卡应用中至关重要的一个环节。ic卡接口设备的种类很多,其读写电路也不尽相同,功能上由于不同的应用需要,差异亦很大,但就其对卡(以接触式卡为例)的操作功能来说,都应具备以下几个基本功能:1、ic卡的插入/退出的识别与

28、控制(接触式卡);ic卡进/出rf区的识别和控制(非接触式卡)。2、向ic卡提供其所需的稳定的电源与时钟信号。3、实现与卡的数据交换,并提供相应的控制信号。4、对于加密数据系统,应提供相应的加密解密处理及密钥管理机制5、提供相应的外部控制信息及与其它设备的信息交换。3.1.1 ic卡读写电路的分类ic卡读写电路可按照不同的功能、外形结构以及应用范围等分类,根据其适用的范围可分为通用读写器和专用读写器两大类。专用读写器是专门为某种用途设计,不具备再开发功能的专用独立装置。它本身已具备某种完整的固定用途,如ic卡门锁、ic卡电话、ic卡公用事业预收费仪表、ic卡公共汽车收费机、ic卡出租车计价器等

29、,使用方式和功能在出厂前已由厂家设置,用户仅可根据具体使用情况做小范围设定4。通用读写器多数以从设备形式与pc等后端装置构成系统,其本身并不限于某种固定用途。功能主要针对ic卡的读写操作,并具备与后瑞通讯的丰富灵活硬/软件接口,可借助pc等进行二次开发,且常可支持多种类型卡、为专用读写器所不及。通用读写器有联机和脱机两种类型。如图3.1所示。专用读写器通用读写器联机型脱机型外置式内置式串行读写并行读写台式挂式图3.1 ic卡读写器的分类1、联机型读写器的内置和外置(1)内置式读写器外形尺寸类似3.5英寸软盘驱动器,可直接安装于pc机箱前面板,由pc电源供电。其与pc间分并行和串行两种信息交换方

30、式,前者将读写器主板插入pc主板扩展槽,仅将卡座置于pc前面板,以并行方式与pc通讯,数据传输率高,仅占用一个扩展槽;后者则将读写器的卡座与主板以同一封装置于pc前面板,通过串口与pc相接。虽然其数据传输率相对低,但结构简单,仅占用一个pc串口,因此得以较多运用。(2)外置式读写器置于外部,通过串口与之相接,功能与内置式相近,但常常自带交/直流稳压电源,外形尺寸设计和位置摆放灵活,以适应不同场合需求。2、脱机型读写器是一种可独立完成某些具体工作的读写装置,它们常常拥有简易键盘、led/lcd显示屏甚至打印接口等人机界面。数据存储空间可达64k2m字节,程序空间也较大。有些还带有硬软件汉字库和实

31、时时钟芯片,以输出汉字和年、月、日、星期、时、分、秒时间信息。其包含台式(挂式)和手持式两种。(1)台式(或挂式)读写器可置于工作台或挂于墙壁上使用。内置交/直流稳压电源,可单机独立工作(借助大容量ic卡进行信息的上传下达),也可联网使用(通过rs232/rs485接口实现局域网通讯或借助内置modem,通过公共电话网等实现广域网传输)。可用于商场、宾馆、娱乐场所收费或用于考勤、税务申报等。(2)手持式读写器功能与台式读写器相近,但体积小巧、便于携带,采用电池供电。鉴于使用环境条件常较恶劣,因此防水、防尘、防磁、耐高/低温、抗摔抗撞性能均较强,且部分手持机设置有14个sam插座,以保证金融等部

32、门的特殊安全保密需要。在公安执法、工商税务等流动场合,甚至饭店酒楼的菜肴点选中,均得以应用。3.1.2 ic卡读写电路的组成 此处将以接触式ic卡读写器为例介绍,其硬件结构包括:卡座(ic卡适配插座)、输入接口电路、存储器、微处理器、外围接口和密码运算处理单元(可选),如图3.2所示。图3.2 接触式ic卡接口设备组成框图ic卡座是读写器与卡的物理连接部件,是影响读写器寿命的主要因素。也是设计或选购读写器的重要指标、它包括与卡接触的8个电触点。检测“插卡到位”的一对状态开关,固定和弹出卡的机械装置,与输入接口电路相接的电气终端和安装基座,具有结构、性能、外形、价格不同的多种形式。1、按触点接触

33、方式分类(1)滑触式(sliding),也称滑动式,该方式的8个簧片触点处于固定位置,当ic卡由卡座插入,抵达正常位置时,簧片触点与卡触点接触,卡座的状态开关动作,输出“插卡到位”信号,卡被簧片触点弹力所固定。退卡时,用力将卡向外拔即可。显然,卡的插拔过程中,簧片触点与卡触点均承受较大滑动摩擦,因而影响寿命,最大插拔次数仅5l0万次,优点是结构简单、价格低。(2)着落式(landing),也称下落式、下压式。特点是:在卡插入的起始阶段,卡与簧片触点不接触,仅当插到一定位置时,触点才与卡同步运动逐渐下压。到终点时,卡触点与簧片触点完全接触(除此“簧片触点下压方式”外,还有“卡下压”方式,原理类同

34、)。由于在卡的插入过程中卡与簧片触点无相对位移,则磨损小、寿命长,插拔次数可达30100万次,但价格也较高。2、按卡的插入/退出形式分类(1)推入拉出式,插卡时用力将卡推入,卡座尾部弹性部件固定卡于工作位置。退卡时用力外拔即可。(2)推入推出式,插卡时用力将卡推入,卡座尾部锁紧机构锁定卡于固定位置,退出时,用力推入即可将卡弹出。(3)推入自动弹出式,插卡时用力将卡推入,锁紧机构锁定卡于工作位置。操作完毕后,系统自动向电磁阀发送一个脉冲,在电磁阀作用下锁定机构释放,卡在弹黄作用下弹出,该方式一般用于金融、公用电话等较高级场合。(4)推入提/压式,插卡时用力将卡推入,锁紧机构锁定卡于工作位置。退卡

35、时轻提或轻压锁紧装置杠杆,卡在弹簧作用下弹出。(5)只推式,插卡时用力将卡推入,并保持一段时间(手不松开),操作完毕后松手,卡在弹簧作用下弹出。适用于操作时间短、插卡频繁,且速度要求快的地铁、电影院等场合。(6)电动出入卡式,插卡时将卡轻轻插入插口,在内部电动机构驱动下,卡自动进入轨道。操作完成后,卡自动送出。其走卡平稳可靠,但结构复杂、价格昂贵。为防止人为不正当操作,有些卡座设置了防拔装置,在操作未完成之前,将卡锁住,阻止拔卡。此外,还有各种专用卡座,如用于ic卡电表的钥匙型、大哥大等袖珍设备的微型、超薄型和针对恶劣环境的防水、防尘、机械加固型等,其中部分卡座的触点分布已不符合iso7816

36、标准,如电表钥匙型5。在选用ic卡适配插座时,以下几个重要的指标是不容忽视的:卡从接触好到识别有效的位置差;触点的电气性能及与卡接触的可靠性;ic卡座的插拔寿命;对卡触点及其它部分的磨损程度;价格因素;对应用现场的适应性。3.2 ic卡读写电路设计ic卡读写电路包括ic卡接口及供电电路、单片机处理控制单元以及简易键盘显示电路等几部分组成,其组成框图如图3.3所示。图3.3 ic卡读写电路组成框图3.2.1 ic卡接口及供电电路设计ic卡的接口电路是连接ic卡与读写机具的通路,由它实现对ic卡的供电,并满足不带电插拔的要求。一般来说,逻辑电路的1和0只是反映电压大小的关系,都处于带电状态。若带电

37、插拔ic卡,有可能会给ic卡带来损伤,甚至损坏ic卡。因此在插拔前应先断开向ic卡供电的电源,并切断其逻辑连接,实现对ic卡的保护。ic卡的逻辑接口电路一般采用集电极开路(oc)输出及非箝位保护式输入结构。如图3.4所示。上拉电阻r源端与ic卡的供电电源相连接。当ic卡处于供电状态时,整个接口电路接通,接口设备与ic卡间构成逻辑通路;而当ic卡处于下电状态时(vccoff),上拉电阻r的源端失去了供电,整个与卡接口的电路均处于不带电状态。这种电路的优点是电路结构简单,可以与cmos、ttl接口相兼容,上升沿阻尼较大。不易产生边沿振荡,它的缺点是当接口端的分布电容较大时、上升沿过缓。在作为cpu

38、卡的时钟驱动时(通常为3.57mhz),就有可能产生丢失脉冲等现象。解决这一问题的办法有两种:第一种是通过减小时钟驱动端的上拉电阻,减小上升时间来解决;另一种是采用互补驱动方式来进行时钟驱动,这种方式结构上略复杂些,但可以实现更高的时钟频率,如图3.5所示。电路中r是一个去耦电阻,可有效地抑制上升及下降沿的抖动现象。所有的ic卡的接口部分都加入了箝位保护二极管,这些箝位二极管可以使各引脚上的电压严格地限定在-vdvcc+vd之间,(vd是箝位二极管的正向压降,通常为0.6v左右)。这样,可以抑制由于线路干扰和逻辑电平变化的边沿产生抖动所带来的瞬态过压,为ic卡提供了进一步的保护措施。ic卡接口

39、设备中的ic卡供电电路也应是一个相对独立于其他回路,并提供完善的过流保护措施的稳压电路,这是由于ic卡接口设备是一个独立于ic卡的设备,当有卡插入时,接口设备便开始向ic卡提供其所需的电力。 图3.4 ic卡的数据接口电路 图3.5 高频时钟的驱动电路如果插入的是一张电源与地击穿的坏卡。或是一个金属片之类的物质,就会造成供电回路的短路现象,若ic卡接口设备中无过流保护措施,就会造成设备的损坏。即便有保护措施、若与ic卡接口设备的其他部分共同使用一个保护回路,就会干扰整个设备的正常工作。图3.6所示的是一个两部分独立供电的供电电路。图3.6 ic卡接口设备的供电回路该电路利用了带输出短路保护特性

40、的78系列三端稳压集成电路。78l05的最大输出电流可达100ma,短路保护电流起点在150ma200ma左右,符合iso/iec 78163所规定的范围。当插入的卡是一个电源对地的短路负载时,u1会因输出过载而形成短路保护,由于接口设备的供电是在u2提供的稳压回路上,因而不会干扰接口设备的工作,这一短路保护信息会在“短路报警指示”信号线上形成一个低电平输出,接口设备的微处理器通过感知这一信号而切断对ic卡接口的供电,直到该卡退出为止。u1的输出也会随之而转入正常的电压输出范围,以便为后续插入的ic卡提供正常的供电服务。当前市场上的ic卡,基本上都已采用cmos工艺,功耗最大的也不过十几毫安,

41、在实际ic卡接口设备中,从ic卡接口设备的总体的最大功耗这一角度考虑,将向ic卡供电的过流保护点设置在50ma70ma是比较适宜的6。3.2.2 单片机处理与控制单元设计单片机处理与控制单元主要完成ic卡读写电路的控制逻辑与一些相关信息的处理,而这些功能的实现更多的是靠软件的设计来完成的,其硬件电路相对简单,一般情况下,单片机的最小系统就能完成其功能,其硬件电路如图3.7所示。图3.7 单片机最小系统对于单片机来说,时钟信号为其正常有序的工作提供时序,单片机的所有操作都是在时钟信号下有序进行的,因此,对于单片机系统来说,时钟电路是必需的。mcs-51单片机内部由一个反相放大器构成振荡器,可以由

42、它产生时钟。时钟可以由两种方式产生,即内部方式和外部方式。内部方式:在xtal1和xtal2端外接石英晶体作定时元件,内部反相放大器自激振荡,产生时钟。时钟放大器对振荡脉冲二分频,即若石英频率fosc=6mhz,则时钟频率=3mhz。因此,时钟是一个双相信号,由p1相和p2相构成。fosc可在1.212mhz之间选择,小电容可以取30pf左右。外部方式:可以通过xtal1和xtal2接入外部时钟。对单片机系统来说,另外一个重要的电路就是复位电路,它在刚加电时和系统软件出现故障时,使单片机复位,进入到正常的工作状态。对于51单片机来说,rst引脚是复位信号的输入端。复位信号是高电平有效。高电平的

43、持续时间应为24个振荡周期以上。若时钟频率为6mhz,则复位信号至少应持续4us以上,才可以使单片机复位。只要该引脚保持高电平,单片机便循环复位。当rst端由高变低后,51 单片机由rom的0000h开始执行程序。单片机的复位方式有上电自动复位和手动复位两种。只要vcc上升时间不超过1ms,通过在vcc和rst引脚之间加一个10uf的电容,就可以实现自动上电复位,即打开电源就可以自动复位。3.2.3 键盘显示电路设计在本次毕业设计的ic卡读写电路中,只需要两个按键即可,一个用于控制对ic卡芯片的读,一个用于控制对ic卡芯片数据的写入,考虑到以后对系统升级的需要,我们采用了22矩阵式键盘,其于单

44、片机的连接图如图3.8所示。图3.8 22键盘连接图8段数码管属于led发光器件的一种。led发光器件一般常用的有两类:数码管和点阵。8段数码管又称为8字型数码管,分为8段:a、b、c、d、e、f、g、p。其中p为小数点。数码管常用的有10根引脚,每一段有一根引脚,另外两根引脚为一个数码管的公共端,两根之间相互连通。数码管从电路上可以分为共阴和共阳两种。用单片机驱动led数码管有很多方法,按显示方法可分为静态显示和动态显示。静态显示就是显示驱动电路具有输出锁存功能,单片机将要显示的数据送出后就不再控制led,直到下一次显示时再传送一次新的显示数据。静态显示的数据稳定,占用的cpu时间少。静态显

45、示中,每一个显示器都要占用单独的具有锁存功能的i/o端口,该端口用于输出字型代码。这样单片机只要把要显示的字型代码发送到接口电路,该字段就可以显示发送的字型。要显示新的数据时,单片机再发送新的字型码。另一种方法是动态扫描显示。动态扫描方法是用其接口电路把所有显示器的8个笔划字段ah同名端连在一起,而每一个显示器的公共极com各自独立地接受i/o线控制。cpu向字段输出端口输出字型码时,所有显示器接收到相同的字型码,但究竟使用哪个显示器,则取决于com端,而这一端是由i/o控制的,由单片机决定何时显示哪一位。动态扫描用分时的方法轮流控制各个显示器的com端,使各个显示器轮流点亮。在轮流点亮扫描过

46、程中,每位显示器的点亮时间极为短暂,但由于人的视觉暂留现象及发光二极管的余辉效应,给人的印象就是一组稳定的显示数据。静态显示和动态显示各有利弊,静态显示虽然数据显示稳定,占用很少的cpu时间,但每个显示单元都需要单独的显示驱动电路,使用的电路硬件较多;动态显示需要cpu时刻对显示器件进行数据刷新,显示数据有闪烁感,占用的cpu时间多,但使用的硬件少,能节省线路板空间。在一般较为简单的系统中,为了降低成本,动态显示方案具有一定的实用性,也是目前单片机数码管显示中较为常用的一种显示方法7。ic卡读写电路的显示电路主要完成ic卡插入状态、ic卡读写状态的显示,由两位数码管组成,采用动态显示的方法,其

47、硬件电路如图3.9所示。图3.9 2位数码管显示电路4 系统软件设计对于由单片机构成的应用系统来说,软件的设计是至关重要的,它直接决定了系统的性能优劣。如何能够在现有的硬件电路上,通过软件的设计来最大的发挥硬件电路的作用,这就是软件设计需要充分考虑的重要因素。另外,很多时候我们可以通过软件的升级来增加系统的功能,并对系统的功能进行优化。这也是由单片机构成的系统优于不需要软件支持的纯硬件电路的重要原因。4.1 ic卡接口电路程序设计ic卡的读写电路的软件程序主要包括ic卡的插入/退出识别程序、ic卡的上电/下电控制程序以及ic卡的读写程序。其程序流程图如图4.1所示。图4.1 ic卡的接口电路程

48、序流程图4.1.1 ic卡的插入识别程序设计ic卡的插入与退出的识别是通过ic卡适配插座上的感应开关来识别的,对于复杂结构的ic卡适配插座,如电动式ic卡适配插座等,其识别与控制过程也相当复杂,且针对不同的卡座,其控制也各不相同。这里,我们仅针对那些手动插拔的ic卡适配插座来讨论,这种识别过程非常简单。仅有一个开关。表示卡是否已插入。如果卡已插入到正确位置,ic卡适配插座就会给出一个开关接通(或断开)的信号,而一旦卡离开这个位置。该信号就会立即发生反转。对于手动式ic卡适配插座来说,这一信号已经足够了。为了确保ic卡已准确地插到位置,插入的识别过程必须加入消颤处理。其程序流程图如图4.2所示8

49、。图4.2 ic卡识别程序流程图其程序如下所示:sb: jnb ic-sw, sb ; 若无卡插入,等待 lcall delay-5ms ; 延迟5ms jnb ic-sw, sb ; 再次判断,若无卡输入等待 ret4.1.2 ic卡上下电控制程序设计ic卡的供电控制是一个直接涉及是否能安全可靠地操作ic卡的过程。它必须严格地遵循iso78l63所规定的操作顺序。否则,就有可能对ic卡带来永久性的损环,iso 78163标准规定的操作顺序如下:1、ic卡的激活(上电过程):rst处于l状态vcc供电接口设备处于接收方式vpp上升为空闲状态clk由相应稳定的时钟提供2、ic卡的去激活过程(下电

50、过程)rst为状态lclk为状态lvpp不起作用i/o为状态avcc关闭由于ic卡技术的进步,现有的ic卡事实上都已使用卡内自带升压电路的eeprom,因此,vpp的控制,这一项既耗费电路投资、又很容易发生问题的过程,已逐渐失去其具体的含义9。ic卡的时钟加载过程因同步卡和异步卡的不同而有着明确的区别,同步型ic卡的时钟是与读写过程相同步的,无需提前加载,而异步卡的时钟则必须在rst信号无效前产生作用。如果一个ic卡接口设备需对这两类不同的卡都进行处理,那么只能依靠程序来进行识别,以确定是何种类型的卡。由于异步型ic卡大多带有微处理器,其读写设备的操作相对简单。本次毕业设计仅对同步型ic卡的读

51、写进行讨论。我们可以描述其上电过程和下电过程分别为:1、上电过程:pwon1:lcall sb ;识别是否有卡插入 clr rst ;使rst=1 clr clk ;使clk=l lcall delay-0.5ms ;延迟0.5ms,使端口逻辑信号稳定 clr pwr ;给卡供电 clr dataout ;使i/o端口=l ret ;返回2、下电过程:pwoff1: clr rst ;使rst=1 clr clk ;使clk=l clr dataout ;使i/o端口=llcall delay-0.5ms ;延迟0.5ms,使端口逻辑信号稳定 setb pwr ;给卡供电 ret ;返回4.2

52、 ic卡的读写控制程序设计不同类型的ic卡其读写方式或数据协议方式是不同的,iso7816标准对异步型ic卡的读写协议作了较充分的定义,而对于同步型ic卡,则只定义了其定位响应过程(atr)的协议标准,这使得各厂家设计的同步型ic卡的读写方式不尽相同,而且由于同步型ic卡主要是不带微处理器的ic卡,接口协议是面向操作而进行的,因此,其操作协议方式也各不相同。好在许多厂家生产的ic卡都以iso7816同步复位响应协议作为ic卡的数据读写协议方式,这样就使得读写电路的通用性扩展了许多,不必为每一种ic卡芯片都设计一种读写电路。4.2.1 ic卡的数据读出程序设计大多数符合iso78l6标准的同步型

53、ic卡的地址计数器是与时钟紧密相关的,当卡复位时,地址计数器置“0”,以后,每向卡发一个节拍的时钟,都将使ic卡的地址计数器加“1”,这一时钟频率上限为50khz或280khz(见iso/iec 781610)。在复位之后的头32个时钟周期内,是卡的复位响应过程,该过程中,厂家的产品编码以位编码方式逐一在数据线上送出,以后的字段则根据厂家及用户所定义的含义不同而各不相同。若某字段定义为可读的,则可将时钟运行到该字段上,然后再逐时钟读出。数据的读出过程可分为三个基本过程,即:复位、数据字段的定位和数据的读出10。1、复位过程:对符合iso 7816同步协议标准的ic卡来说,其复位方式也与iso7

54、816标准是相容的,因而该部分程序可描述为:synrst:setb datout ;使能数据线 setb rst ;复位使能 lcall delay-10us ;延迟10us setb clk ;置同步复位时钟h lcall delay-10us ;延迟10us clr clk ;时钟为l lcall delay-10us ;延迟10us clr rst ;复位结束 ret2、数据字段的定位:前面已提到,数据字段的定位是以复位后的时钟数目来定位的,这里,我们设定:r2,r3表示所定位的位地址数,r2为高位字节。则定位子程序流程图如图4.3所示。图4.3 数据字段定位流程图其程序如下所示:synpos: lcall synrst ;ic卡复位 sp1: cjne r3,#00h,sp3 ;判低位 cj

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论