
基于单片机的ic卡读写系统设计毕业(设计)论文.doc
23页苏州工业职业技术学院 基于单片机的IC卡读写系统设计 摘 要 随着社会的发展和现代化程度的不断发展,我们人类的信息数量和种类都在加倍地增长,每天都要处理很多和个人有关的信息,而这些信息管理非常不便因此,在现实生活中IC卡的应用范围十分广泛,它有助于我们解决问题IC卡读写系统是IC卡和计算机之间的传输媒介载体,它与计算机之间通过串行口相接,接触式IC卡是IC卡领域的一项新技术,它是射频识别技术和IC卡技术相结合的产物重点介绍系统硬件工作原理,并给出和介绍了SLE4442系列IC卡的内部结构和原理图,阐述了本次毕业设计所采用的各硬件接口技术和各个接口模块的功能及工作过程 关键词:单片机;IC卡;读写系统 目录1 硬件设计思路 22 硬件论证方案 23 硬件各模块的设计 43.1 89C2051单片机的简介 43.3 SLE4442IC卡的简介 124 传送协议 154.1 复位和复位响应 154.2 命令模式 154.3 输出数据模式 164.4 处理数据模式 175 SLE4442卡的应用 185.2 芯片的复位方式 185 .2 芯片的操作命令格式 185.3 SLE4442卡的接口技术 196 IC卡的接口电路 206.1 IC卡的插入/退出识别与上电/下电控制技术: 21 1 硬件设计思路IC卡的应用领域非常广泛。
在IC卡的触点和读/写设备的触点良好接触之前,读/写设备不应对IC卡施加有关信号,以免造成不可预料的损坏IC卡读/写设备作为系统和用户交换的接口,必将面对各种各样复杂的应用环境因此,在设计阶段应注意IC卡读/写设备环境作为操作系统,管理IC卡的硬件资源和数据资源是其基本任务.IC卡上的硬件资源包括CPU,ROM,EEPROM和RAM及通讯接口,这些都由IC卡上操作系统统一管理, 使外部不能直接控制这些资源,使IC卡对外表现为一个"黑匣子",从而加强了系统的保密性能. 智能卡通讯管理主要功能是执行智能IC卡的信息传送协议, 接收读写器发出的指令,并对指令传递是否正确进行判断.一般可采用奇偶检,CRC校验等方式判断传输错误.对于采用分组传输协议的系统, 还可以通过分组长度变化来检出错误智能卡操作系统最重要的功能之一就是数据安全管理. 这可以具体地分为用户与IC卡的鉴别,核实功能以及对传输数据的加密与解密操作. 智能IC卡COS的应用管理功能是对读写器发来的命令进行判断,译码和处理. 智能卡的各种应用以专有文件形式存在卡上,各专有文件则是由IC 卡的指令系统中指令排列所组成的."鉴别"是指对IC卡本身的合法性进行验证,判定一张IC卡是不是伪造的.如在前两讲中谈到的多采用多种卡上设置的读,写,擦除密码作为防伪的基本手段.而COS由于可以通过内部软件运行来完成密码转换,因此智能IC 卡上实际写入的密码无法被读写器直接读取,安全性能更强.IC卡由于其高存储量和高保密性,应用领域十分广泛,除覆盖了传统磁卡的全部功能外,还拓展到许多磁卡不能胜任的领域。
2 硬件论证方案IC卡是一种集成电路卡,它的读/写设备是每个IC卡应用系统必不可缺的周边设备该设备通过IC卡的8个触点向IC卡提供电源并与IC卡相互交换信息虽然IC卡是从磁卡发展而来的 本IC卡读/写器的硬件系统设计主要有:IC卡的插拔检测,IC卡的电源控制,IC 卡与CPU的接口以及必要的人机界面软件系统主要由IC卡数据读/写模块,串行通信模块等组成 SLE4442是德国SIMENS公司设计的逻辑加密存储卡它具有2K位的存储容量和完全独立的可编程代码存储器内部电压提升电路保证了芯片能够以单一+5V电压供电,较大的存储容量能够满足通常应用领域的各种需要,因此是目前国内应用较多的一种IC卡芯片芯片采用;多存储器结构,2线连接协议(串行接口满足ISO7816同步传输协议),NMOS工艺技术,每字节的擦除/写入编程时间位存储器具有至少10000次的擦写周期,数据保持时间至少10以上 根据IC卡应用系统的这种典型结构,开发者的主要工作包括:(1) 设计和构造应用系统中心数据库,对应用IC卡管理的数据进行分类存储和管理.由于数据库一般建立在小型机或微机网络服务器上,一般在相应环境中开发设计.(2)对IC 卡上数据的存储格式,读写方式,加密和安全保护方式进行规划和设计.这些可借助IC 卡读写器和微机的开发系统来完成.(3)构造IC卡应用环境,建立网络和读写工作站.作为IC卡系统中的发卡站和结算站,可以采用带联机读写器的小型机或微机.系统设计环境可以是WINDOWS下的VB,FOXPOR,ACCESS等软件,一般利用读写器厂家提供的接口函数与数据库软件接口.用户刷卡使用的工作站可以采用PC机加联机读写器组成,需进行用户界面设计,能够提供较友好的用户界面.也可以使用便携式的脱机工作站, 一般由单片机系统组成,带有液晶显示器和小型键盘.这种读写器的用户接口软件, 也需在专用的单片机系统中开发. 因此,一个IC卡应用系统的设计工作除了包括各站点的硬件配置,系统联网, 系统数据库构建和管理软件编程,各工作站用户接口软件的编程外,还包括IC卡上数据规划与初始分区和数据写。
3 硬件各模块的设计3.1 89C2051单片机的简介 本读写器以ATMEL89C2051为内核此型号的单片机是一种低消耗,高性能的8位CMOS微处理芯片片内带有2KB的闪烁可编程及可擦除只读存储器,与工业标准的80C51指令集相兼容,DIP20封装片上的PEROM准许对程序存储器重新编码,也可用常规的非易挥发存储芯片编程它的特点可归纳为:1.与MCS-51产品兼容;2.2KB的可重复编程闪烁存储器;:寿命:1000次写/擦除周期,数据保存期10年;3.宽工作电压:范围VCC=2.7~6V;4.全静态工作方式:0~24MHZ;5.3级程序存储器锁定;6.256*8位内部RAM;7.32条可编程I/O口线;8.3个16位定时/计数器;9.5个中断源;10.可编程串行中断;11.低功耗的闲置与掉电模式复位状态: MCS—51单片机复位后, 程序计数器PC和特殊功能寄存器复位的状态如表所示 复位不影响片内RAM存放的内容, 而ALE、PSEN在复位期间将输出高电平由表可以看出: (1) (PC)=0000H 表示复位后程序的入口地址为0000H; (2)(PSW)=00H, 其中RS1(PSW.4)=0, RS0(PSW.3)=0, 表示复位后单片机选择工作寄存器0组; (3)(SP)=07H 表示复位后堆栈在片内RAM的08H单元处建立;(4)P0口~P3口锁存器为全1状态, 说明复位后这些并行接口可以直接作输入口, 无须向端口写1; (5) 定时器/计数器、 串行口、 中断系统等特殊功能寄存器复位后的状态对各功能部件工作状态的影响。
(表 格1)上电复位: (图1)AT89C2051结构:AT89C2051是一个有20个引脚的芯片,引脚配置如图. 与8051内部结构进行对比后可发现,AT89C2051减少了两个对外端口(即P0、P2口),使它最大可能地减少了对外引脚,因而芯片尺寸有所减小AT89C2051芯片的20个引脚功能为:1.VCC 电源电压;2.GND 接地;3: RST复位输入当RST变为高电平并保持2个机器周期时,所有I/O引脚复位至“1” 引脚结构: (图2)XTAL1反向振荡放大器的输入及内部时钟工作电路的输入XTAL2来自反向振荡放大器的输出P1口8位双向I/O口引脚P1.2~P1.7提供内部上拉,当作为输入并被外部下拉为低电平时,它们将输出电流(IIL),这是因内部上拉的缘故 P3口引脚P3.0~P3.5与P3.7为7个带内部上拉的双向I/O引脚P3.6在内部已与片内比较器输出相连,不能作为通用I/O引脚访问。
P3口引脚特殊功能P3.0RXD(串行输入口)P3.1TXD(串行输出口)P3.2INT0(外部中断)P3.3INT1(外部中断)P3.4T0(定时器0外部输入)(表 格 2)单片机内部,外部振荡电路: 图(3)单片机存储器分类及配置: MCS—51单片机存储器的分类从物理结构上可分为: 片内、 片外程序存储器(8031和8032没有片内程序存储器)与片内、 片外数据存储器4个部分; 从寻址空间分布可分为: 程序存储器、 内部数据存储器和外部数据存储器3大部分; 从功能上可分为: 程序存储器、 内部数据存储器、 特殊功能寄存器、 位地址空间和外部数据存储器5大部分 (a)程序存储器; (b)内部数据存储器; (c)外部数据存储器 (图4)特殊功能寄存器(SFR):AT89C2051中特殊功能寄存器描述,它们共占用了19字节,其功能与8051SFR功能相对应程序存储器的加密:AT89C2051片内有2个锁定位,可以编程(P),也可以不编程(U),从而得到3种锁定位保护模式表格3)内部结构: (图5)低功耗工作方式:AT89C2051有两种低功耗工作方式:空闲方式与掉电方式。
(1) 空闲方式(休眠方式):当利用软件使空闲方式位IDL(PCON.0)=1时,单片机进入空闲方式此时,CPU处于休眠状态,而片内所有其他外围设备保持工作状态,片内RAM和所有特殊功能寄存器内容保持不变在空闲方式下,当晶振FOSC=12MHz、电源电压VCC=6V时,电源电流ICC从20mA降至5mA,而VCC=3V时,ICC由5.5mA降至1mA中断或硬件复位可以终止空闲方式 当空闲方式由硬件复位终止时,CPU要从休眠处恢复程序的执行,执行2个机器周期后,内部复位算法才起作用此时,硬件禁止访问内部RAM,但允许访问端口引脚为了防止休眠被复位终止时对端口引脚意外写入的可能性,在生成空闲方式的指令后不应紧跟对端口引脚的写指令如果不采用外部上拉,P1.0和P1.1应置“0”;如果采用外部上拉,则应置“1” (2)掉电方式:掉电方式由掉电方式位PD(PCON.1)=1设置此时,振荡器停止工作,设置掉电方式的指令成为最后执行的1条指令,片内RAM和特殊功能寄存器内容保持不变在掉电方式下,VCCMIN=2V当VCC=6V时,ICCMAX=100μA;当VCC=3V时,ICCMAX=20μA退出掉电方式的唯一方法是硬件复位。
硬件复位将重新定义特殊功能寄存器,但不影响片内RAM复位的保持时间应足够长,以便振荡器能重新开始工作。
