您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 基于51单片机的IC卡读写器的设计于实现
哈尔滨师范大学学年论文题目基于51单片机的IC卡读写器的设计与实现学生徐连超指导教师邢恺讲师年级2008级专业计算机工程与应用系别计算机科学与信息系学院计算机科学与信息工程学院哈尔滨师范大学2011年6月1论文提要近年来,近年来,随着科技的发展,人们日益增长的物质文化需要,IC卡应运而生(IC卡是集成电路卡(IntegratedCircuitCard)的简称,有些国家和地区称之为微芯片卡(MicrochipCard)或微电路卡(MicrocircuitCard)),特别是在IC卡的设计与应用上更是日新月异。随着这种潮流的发展,C51单片机下面的开发项目日益增多,IC卡成为了一个主流项目,设计与实现IC卡的读写也成为了一项重要的项目。随着项目的发展国际化的变准也发展起来,更多的要求也出现了,为了方便后来人的开发,本文介绍了一种新型的IC卡读写终端的设计并介绍了实现IC卡数据存储的控制方法,IC卡读写软硬件的实现。2基于51单片机的IC卡读写器的设计与实现徐连超摘要:本文主要介绍了一种新型的IC卡读写终端的设计并介绍了实现IC卡数据存储的控制方法,IC卡读写软硬件的实现,SLE4442接口电路的设计,89C51软件模块设计。关键词:89C51;IC卡;嵌入式;串口。近年来,随着科技的发展,人们日益增长的物质文化需要,IC卡应运而生,特别是在IC卡的设计与应用上更是日新月异。一、前言IC卡是集成电路卡(IntegratedCircuitCard)的简称,有些国家和地区称之为微芯片卡(MicrochipCard)或微电路卡(MicrocircuitCard)。IC卡的大小和磁卡相同,它把集成电路镶在塑料卡片上,芯片一般是数据不易丢失的存储器(ROM,EPROM.EPROM),保护逻辑电路,或者GPU。IC卡最初是为了解决金融交易中的安全性问题而设计的,它带来全新的交易概念与巨大的优势。很快,这一优势也为其他应用部门所看重,是指广泛应用于电话,医疗保健,路禁控制和门锁控制等等系统中。随着时间的推移,应用范围还在不断扩大,使用IC卡的数量呈几何级数增长。同时,为了不同应用场合的需求,IC卡制造商们仍在不断地向市场推出新的IC卡,IC卡的价格将随着使用量的增加而逐年下降,所有这些,无疑又会大大推进IC卡在各个领域的普及。按照IC卡与读写设备的数据交换方式,IC卡可分为接触式IC卡和非接触式IC卡。接触性IC卡就是在使用时,通过有形的电极触电将卡的集成电路与外部接口设备直接接触连接来进行数据交换的IC卡。非接触式IC卡是通过无线电波或电磁场感应的方式,将卡集中成电路内的数据与外部设备接口设备通信,卡片不用直接接触接口设备的电极就可以进行数据读写。按照IC卡的功能和结构又可以把IC卡分为存储型IC卡和智能型IC卡。存储型IC卡是属于被动型,它只能实现数据的各种输入/输出。这种类型IC卡内部电路可分为两大功能部分,数据存储部分和数据加密操作控制部分。而且不是所有IC卡都必须具有这两大功能。我们把只有数据存储功能的IC卡称为非加密型存储卡(MemoryCard)。把具有数据存储功能和数据加密操作控制的IC卡称为加密型存储卡(MemoryCardwithSecurityLogic),它们有暂时或永久的数据存储能力,其内容可供处理或判断之用。只能型IC卡就是在IC卡的集成电路中带有微处理器电路的IC卡。它是一种主动型IC卡,不仅能够管理各种数据的I/O操作,效验来自接口设备的个人密码,而且能够根据应用系统的要求主动识别与之连接的接口设备。因此,在智能型IC卡中能够建立各种应用系统的授权,存放多个应用系统的相关数据,并实现对数据信息存储的高可靠性,高安全性控制,可以进行复杂的信息处理和计算。3二、IC卡国际标准和读写要求由于IC卡使用具有流动性与全球性,建立相应的国际标准和国家标准就显得特别重要。在信息技术领域ISO(国际标准化组织)和IEC(国际电子技术委员会)共同建立了一个技术委员会ISO/IECJTC1以制定相应国际标准。在IC卡应用系统的设计中,读写设备对IC卡的读写控制的每一个环节都应当遵照相应的国际标准,才能保证数据的正确读取。这是IC卡读写器终端设计的基础。而在这些标准当中,对芯片和电气特征的定义和操作时序的要求又显得尤为重要。此处以同步卡的电气特征和时序为例进行介绍,使用这种卡时,接口设备将所有线置于状态L,然后VCC加电,Vpp处于空闲状态,CLK,RST和FCB处于状态L,接口设备的I/O置于接收模式。时钟脉冲在VCC上升沿之后像个t20后提供,时钟脉冲的持续时间为t25。在时钟脉冲上升沿之后至少像个t22时间FCB仍维持状态L。在I/O线上得到的第一位数据可视为应答,为此CLK处于状态L,并在CLK下降沿t27之后有效。当FCB置于状态H时,每一个时钟脉冲用于读出I/O线上的下一个数据位。在复位应答时,第一个时针脉冲在FCB上升沿之后t24时间给出。时钟脉冲状态H持续时间为t25,状态L的持续时间为lus(t26)。第二个及其随后的数据位在时钟为低和CLK下降沿之后t27时间给出。数据位一次用时钟脉冲的上升沿采样。图1-1三、SLE4442接口电路的设计SLE4442是由德国西门子公司设计的逻辑加密存储卡。它具有2K位的存储容量和完全独立的可编程加密代码存储器。内部电压提升电路保证了芯片能够以单5V电压供电,较大的存储器容量能够满足应用领域的各种要求。是目前国内应用较多的一种IC卡芯片。这种芯片的特点是采用多存储器结构;2线连接协议,串行接VI满足ISO7816同步传送协议:芯片采用NMOS工艺技术,每字节的擦除/写入编程时间为2.5ms;存储器采用至少104次4的擦除/写入周期,数据保持时间至少为10年。图2-1SLE4442的RST,CLK,I/O三条线均需接上拉电阻接到+5V上,因选用的接口,内有上拉电阻,故可以省去。这三条线上也可以加箝拉保护二极管(在电压稳定、干扰很小的情况下,可以不加)。这种接法线路简单、实用。为了防止IC卡座被插入铁片等物而造成短路,卡座的供电最好与单片机系统分开,且让单片机能检测到这种短路,不让P1.7为低电平,从而使IC卡断电。其中R1,D1,Q组成卡上下电电路,当P1.7=0时,Q导通,IC卡座Vcc得电,P1.7=1时,Q截止,IC卡座失电。R1,D1用于检测卡电源是否短路,以防人为破坏,在对IC卡供电时,如果单片机检测到P1.6=0,说明电源短路,发报警信号。SW1、SW2为IC卡卡座的一对常开触点而读写器的主控芯片采用的是89C51单片机。89C51单片机是INTEL公司开发的8位的系列化处理芯片。内部带有一个8位的CPU,256个字节的RAM。21个特殊功能寄存器(SFR),2个16位的定时/计数器.4个8位并行接口,一个全双工的串行接口,5个中断源及片内时钟振荡器等。由于这是一款非常成熟的单片机,因此本文不作更多的赘述。该读写器的核心模块即如何实现对IC芯片的有效控制和读写操作。而接口电路的设计直接反映了对该芯片的具体操作思想。由于IC卡的逻辑接口电路一般采用集电极开路(OC)输出及非保护式输入结构,所有让上拉电阻R源端与IC卡的供电电源相连接。当IC卡处于供电状态时,整个接口电路接通,接口设备与IC卡间构成逻辑通路;而当IC卡处于下电状态时,上拉电阻R的源端失去了供电,整个与卡接口的电路均处于不带电状态。所有的IC卡接口部分都加入了保护二极管,这些二极管可以使各引脚上的电压严格地限定在-VD~VCC+VD之间(VD是保护二极管的正向压降,通常为0.6左右)。这样,可以抑制由于线路干扰和逻辑电平变化的边沿产生抖动所带来的瞬间过压,为IC卡提供了进一步的保护措施.IC卡控制和读写电路,IC卡的插入与退出的识别是通过IC卡适配插座上的感应开关来识别的,对于简单的手动插拔的IC卡适配插座来说,这种识别过程相当简单,仅有一个开关,表示卡是否已插入。如果卡己插入到正确位置,IC卡适配插座就会给出一个开关接通(或断开)的信号,而一旦卡离开这个位置,该信号就会立即发生翻转。设计中采用的适配器,无卡插入时开关常闭,卡插到位时开关断开。对于手动式IC卡适配插座来说,这一信号已经足够了。为了确保IC卡已准确地插到位置,插入的识别过程必须加入消颤处理,5这主要由软件来实现.大多数符合ISO7816标准的同步型IC卡的地址计数器是与时钟紧密相关的,当卡复位时,地址计数器置0。以后每向卡发一个节拍的时钟,都将使IC卡的地址计数器加‘1’。这一时钟频率上限为50kHz或280kHz。复位之后的头32个时钟周期内,是卡的复位响应过程,该过程中,厂家的产品编码以位编码方式逐一在数据线上送出,以后的字段则根据厂家及用户所定义的含义不同而各不相同。若某字段定义为可读的,则可将时钟运行到该字段上,然后再逐时钟读出。数据的读出过程可分为三个基本过程:复位,数据字段的定位和数据读出.四、89C51软件模块设计由于89C51是主控芯片,因此89C51需要完成对IC芯片的复位、读写等操作。首先对于复位响应操作。由于复位响应是根据ISO7816标准来进行的。在操作期间的任何时候都可以复位,只有经过了复位才能对IC卡进行其它操作。开始时地址计数器随一个时针脉冲而被设置为0。当RST线从H状态置到L状态时,第一个数据位的内容被送到I/O线上。若连续输入32个时针脉冲,主存储器中的前四个字节地址单元中的内容被读出。在第33个时针脉冲的下降沿,I/O线被置成H状态而被关闭。在复位响应期间,“启动”和“停止”状态被忽略。单片机上的程序如下:CARD__RST:CLRRSTCLRCLKLCALLDELAY__20USSETBRSTLCALLDELAY__20USSETCLKLCALLDELAY__20USCLRCLKLCALLDELAY__20USCLRRSTLCALLDELAY__20USMOVB,#32RESET1:SETBCLKLCALLDELAY__20USCLRCLKLCALLDELAY__20USDJNZB,RESET1RET在命令模式下,复位响应之后,芯片等待着命令。每条命令都以一个“启动状态”开始。整个命令包括三个字节。随后紧跟着一个附加脉冲并用一个“停止状态”来结束操作。当CLK位H状态期间,I/O线的下降沿为启动状态;当CLK位H状态期间,I/O线的上升沿位停止状态。与要注意的是:脉冲的下降沿之后,I/O线上的的一位数据变为有效。随后每增加一个时针脉冲,芯片内部的一位数据被送到I/O线上。其输出的顺序是从每个字节的最低6位开始,当所需要的最后一个数据送出以后,需要再附加一个时针脉冲来把I/O线置成H状态,以便准备接受新的命令。在输出数据期间,任何“启动状态”和“停止状态”均被屏蔽掉。五、结束语本文的装新店是提出了一种新型的IC卡读写器设计方案,在串口通讯的设计中,除了要对单片机的异步通讯进行操作,还要对PC机的串口进行底层实现控制,并通过调用系统的API函数的方法成功的解决了这一问题。由于西门子公司的SLE4442型逻辑加密IC卡是一种比较通用的IC卡芯片,因此通过更新读写器软件也可以操作其他类型的接触式同步IC卡,使得这种接触式IC卡度写成一种通用的读写器。参考文献:[1]王卓人:邓晋钧,刘宗祥《IC卡的技术与应用》。[2]王爱英:《智能卡技术》。[3]何爱民:《单片机高级教程》。[4]陈志斌:卓家靖《基于单片机和CPLD的嵌入式脉冲发生器设计》。7学年论文(设计)成绩表论文题目基于51单片机的IC卡读写器的设计与实现作者徐连超指导教师邢恺职称讲师指导教师评语该生在论文设计期间态度认真,工作积极主动出勤率高。能正确提出方案;实验量大;实验难度大;专业基础理论扎实;很好的完成了论文规定的任务。本论文选题符合专业培养目标,选题有很大的应用价值,能够达到综合训练目标。该生查阅文献能力强,文献材料收集详实,综合运用了所学知识解决问题,所得数据合理,主要观点突出,逻辑关系清楚,理论正确,有一定个人见解,文题完全相符,
本文标题:基于51单片机的IC卡读写器的设计于实现
链接地址:https://www.777doc.com/doc-4226941 .html