基于单片机IC卡设计.doc
《基于单片机IC卡设计.doc》由会员分享,可在线阅读,更多相关《基于单片机IC卡设计.doc(29页珍藏版)》请在沃文网上搜索。
1、目 录前 言 2第一章 系统原理框图 .4一 系统原理框图的绘制 4二 原理图 6第二章 硬件部分介绍7一 AT89C51单片机简介 7二 RS232串行接口 9三 SLE4442简介 11四 IC卡座 11五 外围电路13第三章 软件部分 17一 工作过程、流程图 17二 用C51实现的读/写主程序 .19三 上位PC机通信接口软件 26第四章 总结 .28一 总结 28二 参考文献 28前 言 IC卡是一个正蓬勃发展的边缘产业,一个与我们的生活正越来越密切的产业。在普及因特网和计算机的大潮涌来时,IC卡扮演着越来越重要的角色。IC卡读写设备大致可分为两大类:一类为专用读写设备或称脱机读写器
2、。其特点是:充分利用IC卡存储量大,可以独立存储和工作, 不需要和主机相连就可完成数据读写的优点,可与应用设备结合或单独工作。例如:IC卡电表,水表,ATM机, 商场收款机。另一类为通用读写设备,或称联机读写器,是带有单片机和存储器的设备,通过并行或串行口与PC机或应用系统网络相连接。 在运行不同软件时可以读写不同种类的IC卡,组成不同的应用系统。如果配备开发系统软件,可对IC卡做初始规划,数据加密和初始写入,从而构成IC卡应用开发制作环境。在本设计中, 我们讨论通用开发系统基于ATM89C51单片机的IC卡读/写器的设计。 IC卡读/写设备由IC卡卡座,单片机,数据存储器RAM,程序存储器E
3、EPROM,接口电路和外围设备等组成。 IC卡读/写器各部分结构与功能简单介绍如下:1.IC卡卡座 IC卡卡座是连接IC卡与读写器的。其功能包括对IC卡供电,提供读写信号和传送数据。要求提供方便的插拔方式和可靠的接触,并带有带电插拔,过流保护,插卡检测等能力。IC卡和插座的结构尺寸必须符合国际标准化组织(ISO)7816的标准。对触点数目、位置、信号名称和功能都有明确规定,以保证兼容性。2.单片机和存储器读写器中配备单片机和ROM,RAM存储器,构成微机系统,单片机运行ROM中固化的软件,执行与IC卡和上位PC机的通信规程。控制对IC卡的读写,完成IC 卡与主机间数据的格式转换。为减轻单片机负
4、担,提高读写速度,常配置有硬件密文转换和单元。3.接口电路和外围设备通用读写器一般与PC机或网络联机工作, 常用标准并行或串行口与上位机连接和通讯。常用的是带有25芯或者9芯插口的RS232- C 型串行接口, 可直接接到PC 机的COM1或COM2上。此时,可利用主机的显示器作监视器,主机键盘作控制和输入,利用主机打印机输出。此时主机与读写器组成了IC卡应用与开发系统,操作与一般微机相仿,但用户界面将随所配软件而有很大不同。4.IC卡系统软件本设计的系统软件是通过C51编写的。第一章 系统原理框图一系统原理框图的绘制 1.Protel99软件的概述 (1)随着电子技术的飞速发展,新型电子器件
5、和集成电路的永远日趋广泛,电子电路也变得越来越复杂,这给电路的设计工作带来了更大的难度。因此通过计算机进行电子电路的互助设计成为设计电路板的一个基本手段。Protel99包含众多的服务器,总提上可以分为5种组件,分别为:原理图设计组件、PCB设计组件、布线组件、可边成逻辑器件组件和仿真组件。由于其性能优越,Protel99已成为电路设计不可缺少的理想工具。 (2)下面简单介绍电路原理图的设计步骤。 总体来说,设计一个电路原理图,首先要设置图纸的大小和外形,对电路图进行总体规划,然后在图纸上放置元件,(其中,库里面没有我们所需的元件需要我们自己画)进行布局布线,接着对这个版面进行编辑和调整,最后
6、保存或打印,具体的电路原理图的设计流程如图1所示: 图1设计PCB板首先要启动Protel99-PCB编辑器。启动该编辑器的操作步如下: 新建或打开一个设计数据库文件(*.ddb)。进入设计文件夹Documents。选择File/New命令,打开对话框。 双击该对话框中的即可创建一个新的元件库文件,默认的文件名为PCB1。在工作窗口中该文件的图标上单击或在设计浏览器中该文件名上双击,即可进入PCB板编辑器。然后即可在PCB编辑板上画出所需的电路原理图,如下页所示:二 原理图: 第二章 硬件部分介绍一AT89C51单片机简介 AT89C51是一种带4K字节闪烁可编程可擦除只读存储器(FPEROM
7、Falsh Programmable and Erasable Read Only Memory)的低电压,高性能CMOS8位微处理器,俗称单片机。AT89c51是一种带2K字节闪烁可编程可擦除只读存储器的单片机。单片机的可擦除只读存储器可以反复擦除100次。该器件采用ATMEL高密度非易失存储器制造技术制造,与工业标准的MCS-51指令集和输出管脚相兼容。由于将多功能8位CPU和闪烁存储器组合在单个芯片中,ATMEL的AT89C51是一种高效微控制器,AT89C51是它的一种精简版本。AT89C51单片机为很多嵌入式控制系统提供了一种灵活性高且价廉的方案。1主要特性:与MCS-51 兼容 4
8、K字节可编程闪烁存储器 寿命:1000写/擦循环 数据保留时间:10年全静态工作:0Hz-24Hz三级程序存储器锁定128*8位内部RAM32可编程I/O线两个16位定时器/计数器5个中断源 可编程串行通道低功耗的闲置和掉电模式片内振荡器和时钟电路 2管脚说明:VCC:供电电压。GND:接地。P0口:P0口为一个8位漏级开路双向I/O口,每脚可吸收8TTL门电流。当P1口的管脚第一次写1时,被定义为高阻输入。P0能够用于外部程序数据存储器,它可以被定义为数据/地址的第八位。在FIASH编程时,P0 口作为原码输入口,当FIASH进行校验时,P0输出原码,此时P0外部必须被拉高。P1口:P1口是
9、一个内部提供上拉电阻的8位双向I/O口,P1口缓冲器能接收输出4TTL门电流。P1口管脚写入1后,被内部上拉为高,可用作输入,P1口被外部下拉为低电平时,将输出电流,这是由于内部上拉的缘故。在FLASH编程和校验时,P1口作为第八位地址接收。 P2口:P2口为一个内部上拉电阻的8位双向I/O口,P2口缓冲器可接收,输出4个TTL门电流,当P2口被写“1”时,其管脚被内部上拉电阻拉高,且作为输入。并因此作为输入时,P2口的管脚被外部拉低,将输出电流。这是由于内部上拉的缘故。P2口当用于外部程序存储器或16位地址外部数据存储器进行存取时,P2口输出地址的高八位。在给出地址“1”时,它利用内部上拉优
10、势,当对外部八位地址数据存储器进行读写时,P2口输出其特殊功能寄存器的内容。P2口在FLASH编程和校验时接收高八位地址信号和控制信号。P3口:P3口管脚是8个带内部上拉电阻的双向I/O口,可接收输出4个TTL门电流。当P3口写入“1”后,它们被内部上拉为高电平,并用作输入。作为输入,由于外部下拉为低电平,P3口将输出电流(ILL)这是由于上拉的缘故。P3口也可作为AT89C51的一些特殊功能口,如下表所示:口管脚 备选功能P3.0 RXD(串行输入口)P3.1 TXD(串行输出口)P3.2 /INT0(外部中断0)P3.3 /INT1(外部中断1)P3.4 T0(记时器0外部输入)P3.5
11、T1(记时器1外部输入)P3.6 /WR(外部数据存储器写选通)P3.7 /RD(外部数据存储器读选通)P3口同时为闪烁编程和编程校验接收一些控制信号。RST:复位输入。当振荡器复位器件时,要保持RST脚两个机器周期的高电平时间。ALE/PROG:当访问外部存储器时,地址锁存允许的输出电平用于锁存地址的地位字节。在FLASH编程期间,此引脚用于输入编程脉冲。在平时,ALE端以不变的频率周期输出正脉冲信号,此频率为振荡器频率的1/6。因此它可用作对外部输出的脉冲或用于定时目的。然而要注意的是:每当用作外部数据存储器时,将跳过一个ALE脉冲。如想禁止ALE的输出可在SFR8EH地址上置0。此时,
12、ALE只有在执行MOVX,MOVC指令是ALE才起作用。另外,该引脚被略微拉高。如果微处理器在外部执行状态ALE禁止,置位无效。/PSEN:外部程序存储器的选通信号。在由外部程序存储器取指期间,每个机器周期两次/PSEN有效。但在访问外部数据存储器时,这两次有效的/PSEN信号将不出现。/EA/VPP:当/EA保持低电平时,则在此期间外部程序存储器(0000H-FFFFH),不管是否有内部程序存储器。注意加密方式1时,/EA将内部锁定为RESET;当/EA端保持高电平时,此间内部程序存储器。在FLASH编程期间,此引脚也用于施加12V编程电源(VPP)。XTAL1:反向振荡放大器的输入及内部时
13、钟工作电路的输入。XTAL2:来自反向振荡器的输出。3振荡器特性:XTAL1和XTAL2分别为反向放大器的输入和输出。该反向放大器可以配置为片内振荡器。石晶振荡和陶瓷振荡均可采用。如采用外部时钟源驱动器件,XTAL2应不接。有余输入至内部时钟信号要通过一个二分频触发器,因此对外部时钟信号的脉宽无任何要求,但必须保证脉冲的高低电平要求的宽度。4芯片擦除:整个PEROM阵列和三个锁定位的电擦除可通过正确的控制信号组合,并保持ALE管脚处于低电平10ms 来完成。在芯片擦操作中,代码阵列全被写“1”且在任何非空存储字节被重复编程以前,该操作必须被执行。此外,AT89C51设有稳态逻辑,可以在低到零频
14、率的条件下静态逻辑,支持两种软件可选的掉电模式。在闲置模式下,CPU停止工作。但RAM,定时器,计数器,串口和中断系统仍在工作。在掉电模式下,保存RAM的内容并且冻结振荡器,禁止所用其他芯片功能,直到下一个硬件复位为止。 二 RS232串行接口 EIA-RS-232C是由美国电子工业协会EIA制订的一种串行物理接口标准。RS-232C采用负逻辑,-5 -15V为逻辑1,+5+15V为逻辑0。而TTL电平的“1”和“0”的特征电压分别为.和.,用RS-232C总线进行串行通信需外接电路实现电平转换。在发送端需用驱动电路将电平转换成RS-232C电平,在接收端用接收电路将RS-232C电路转换为T
15、TL电平。本设计是用的TI公司的RS-232C收发器MAX232,可用单一+5V电源供电实现电平转换。RS-232C在设计中主要永远用于PC机与IC卡读/写器之间的通框图如下RS-232C芯片的引脚结构如图5所示:图5图5中的C1、C2、C3、C4及V+、V是电源变换电路部分。在实际应用中,器件对电源噪音很敏感。因此,VCC必须要对地加去耦电容,其值为0.1F 。电容C1、C2、C3及C4取同样的数值的钽电解电容,用以提高抗干扰能力,在连接时必须尽量靠近器件。MAX232的13、14管脚为串行异步通信发送及接受引脚。三 SLE4442卡简介 SLE4442卡内部有一个2568bitEEPROM
16、,不可逆的4个写保护字节,具备密码保护功能,可以随时读取主存储器内容;在校验成功后,可读保护存储器、读写安全存储器和写主存储器。 SLE4442有一个密码逻辑,用以控制对存储器的读写。为此,SLE4442包含一个4字节加密存储区,该存储区有一个错误计数器EC(0-2位)和三个字节的参考数据,这三个字节作为一个整体,称为可编程密码(PSV)。整个数据区除了参考数据,其它的数据都能被读取,在校验数据与内部参考数据比较正确后才能进行读写操作,连续三次比较错误后,错位计数器将阻止任何比较尝试,从而也消除了任何擦写操作。四 IC卡座 IC卡座引脚如图6所示,其中引脚SW1、SW2为微动开关在无IC卡状态
17、时,处与断开状态;有卡插入时,IC卡卡座上的微动开关闭合。因此,此开关往往是用来判断是否插IC卡的传感器件。其引脚VCC:工作电压;SCL(CLK):串行时钟;GND:接地;SDA(I/O):串行数据(输入/输出);SW1、SW2:微动开关本设计中与逻辑有关的引出端先只有2条:SCL和SDA。所有的地址、数据及读/写控制命令等信号均从SDA端输入/输出。为了区分线上的数据、地址、操作命令以及各种状态的“开始”与“结束”,卡片内设计就多个逻辑控制单元。其中,启动与停止逻辑单元产生控制读/写操作的“开始”与“停止”标志信号。“开始”状态:当SCL处于高电平时,SDA从高电平转向低电平,即产生“开始
18、”标志信号。“停止”状态:当SCL处于高电平时,SDA从低电平转向高电平,即产生一个“停止”标志信号,如图6所示:图6 读/写的启动与停止时序SDA和SCL通常各自通过一个电阻拉到高电平,当SCL为高电平时,对应的SDA上的数据有宵;而当SCL为低电平时,允许SDA上的数据变化。数据输入/输出应答逻辑单元产生数据输入/输出操作应答信号。操作时所有的地址和数据字均一8位码串行输入/输出于卡片。卡片没收到一个8位码长的地址或数据后都以置SDA线为低电平方式“确认”应答信号,其波形如图7所示 图7五 外围电路(1)状态灯IC卡的上电一般是可知的,即对IC卡读/写时,须给IC卡上电(送电源),因此,I
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 单片机 IC 设计