非接触式射频卡读写器设计_第1页
非接触式射频卡读写器设计_第2页
非接触式射频卡读写器设计_第3页
非接触式射频卡读写器设计_第4页
非接触式射频卡读写器设计_第5页
已阅读5页,还剩48页未读 继续免费阅读

下载本文档

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

文档简介

摘 要摘 要本文介绍了以AT89S52单片机作为微控制器,以射频技术为核心,基于PHILIPS公司MF-RC500模块的非接触式IC射频卡读写器,阐述了该系统的组成、工作原理以及相应的软硬件设计。本文阐述了非接触式IC射频卡技术的基本原理,并对其读卡器在工程上的设计和开发作了研究。论文描述了IC射频卡系统的发展和现状,通过对射频识别技术原理的研究,揭示了射频IC卡系统的工作原理。介绍了Type A 型常用的卡片MF1 IC S50和对应读卡器的设计方法和电路 (使用专用射频读卡集成芯片RC500),并详细阐述了系统各个模块的组成和原理,给出了天线的设计规范。然后根据课题要求详细介绍了自主设计的一款Type A 型读卡器的核心部件射频模块的实现方案和具体电路。最后介绍了系统设计的软件部分,重点介绍了RC500的主要特性、基本指令集以及与Mifare1非接触IC射频卡数据通信的一些重要模块的编程思路和编程方法,给出了两个编程实例。实际测试证明该读写器完成了基本功能,运行稳定。关键词:微控制器;非接触式射频卡;读写器;MF-RC500;射频识别IAbstractAbstractWith micro-computer AT89S52 as controller, the radio frequency technology as core, this paper describes the systems composition、work principle and design of hardware and software of contactless IC card read-write device base on MF-RC500 of PHILIPS Company .This paper introduces the basic principle of the contactless IC card technology and the application of IC card reader. First the paper describes the development and the status quo of the IC cards system. Then the work principle of the radio frequency IC card system is discovered through studying the principium of the radio frequency technology. Whereafter, the paper introduces the card MF1 IC S50 what is usually used in the cards of Type A, the design method and the circuit of the card reader device (the device use the radio frequence chip reader module RC500), and in detail analyzes the principle of every module, simply Points to the design rules of the antenna circuit. Then, the paper in detail introduces the implement project about circuit and program of the kemel components of a Type A IC cards reader, the RF module, what is completely made by do-it-yourself. In the end, the paper introduces the software of the system, and the main property and basic intruction set of a contactless IC card reader RC500 based on PhilipsMIFARE1 are introduced. And some ideals and methods of programme about the basilic module with data communication between the cards and RC500 are presented. Finally the two examples of programme are given. The Read-Write Device is stabilized through test.Keywords: MCU; Contactless IC Card; Read-Write Device; MF-RC500; Radio Frequency IdentificationII目 录目 录摘 要IAbstractII第一章 绪 论11.1 课题研究的背景和意义11.2 目前国内外研究现状21.3 本课题设计的主要工作和任务3第二章 读卡器系统方案设计与实现52.1 IC射频卡介绍52.2 读卡器基本原理52.3 总体方案论证62.3.1 各模块方案选择与论证62.3.2 总体方案确定8第三章 系统硬件设计与实现93.1 电源模块93.2 人机接口模块93.3 系统时钟模块103.4 存储模块113.5 MF-RC500读写模块123.5.1 MF-RC500介绍123.5.2 天线模块的设计143.6 通信模块19第四章 系统软件设计与实现214.1 软件设计环境214.2 主程序的设计214.3 读/写卡程序设计224.3.1 MF-RC500指令说明224.3.2 读/写卡程序流程图244.4 读卡器外围基本电路程序的设计25III4.4.1 显示程序设计254.4.2 键盘程序设计274.4.3 EEPROM程序的编写294.5 通信部分程序设计31结 论32参 考 文 献33致 谢34附录A 总电路图35附录B 读/写卡源程序36IV第一章 绪 论第一章 绪 论1.1 课题研究的背景和意义IC卡是一种射频卡,又称“集成电路卡”、 智能卡,英文名称“Integrated Circuit Card”或“Smart card”,其集成电路为标准串行EEPROM.。是法国人Roland Moreno于1974年发明的,将具有存储,加密及数据处理能力的集成电路芯片封装于和信用卡尺寸一样大小的塑料片基中,便构成IC卡。 IC卡分加密存储器卡和非加密存储器卡 非加密存储器卡:卡中集成电路为标准的串行EEPROM 加密码储存器卡:卡中集成电路为带有加密逻辑的串行EEPROMEEPROM:是一种可用电学方法将其内容一次全部擦除,也可按字节擦除,然后再重新写入的储存电路。 IC卡和其它卡的比较有下列特点:(1)容量大:其内部有多种存储器,可为实际需要提供充足的空间容量,充分满足各种各样的需求; 体积小,重量轻,个性性强,便于携带,使用方便;可靠性好:IC卡可以从多种渠道保证卡片新的安全,其自身的密码可以有效的防止本卡片被盗取后的随意使用,而且自身又可以挂失,可以防止不速之客对卡片信息的肆意改变,防止持卡者的各种信息被篡改,从而保证持卡人的利益不受损失 ;感应性强:目前我国的网络仍处于快速发展的时期,相对于发达国家的网络信号仍显不强,但IC卡能敏感的对以上网络做出反应,在读卡器的工作范围内,计时卡片所处的网络环境很差,其也能迅速地作出正确无误的反应,达到读卡的要求。IC卡读写器有人也称读卡器。提起读卡器,很多人都立即会想到这种产品是配合数码相机而产生的,不过目前已经不再局限于数码相机使用了,而是扩展到了更多的领域。读卡器的主要作用就是读取各种卡片的信息,但其作用不只是读取卡片的信息,还能对读入的信息进行改写,其最大的特点应该是读取方便,质量轻,体积小,有很高的保密性。大家都知道现在读取外部的信息都是通过USB接口与电脑相连,但那时USB技术不成熟,没有广泛推广开来,因此就需要有一种使用方便的技术来解决这个问题,读卡器就是这样产生的。读写器分为接触式读写器,非接触式读写器,单界面读写器和双界面读写器以及多卡座接触式读写器。非接触式IC卡是一种射频卡,是近几年发展起来的一种新技术,是通过无线电波进行传输,与读卡器见没有接触,避免了摩擦及各种故障。他的迅猛发展有取代各种词卡和接触式IC卡的趋势。非接触式IC卡将在多领域独领风骚。1.2 目前国内外研究现状智能IC卡源于七十年代的欧洲和日本,后来由法国人提出的将处理器置入IC卡卡片中的思想得到了广泛接受,由于其具有完善的密码功能从而有效的解决了智能卡的舞弊行为。随后智能卡在1977-1998年间得到了迅速发展。九十年代初期,智能卡开始应用于GSM数字移动通讯、有线电视的收费等领域。在美国,智能卡发展相对迟缓,但随着智能卡在欧洲的成功使用,其在美国产生巨大影响,呈现出百家争鸣的景象。另外,值得一提的是,法国在世界IC卡份额中占绝大多数。法国的IC产业非常发达,他的IC卡和IC卡读卡器的数量都占据世界第一,并且都在70%以上,并且他们有专门做这方面研究和生产的公司,形成的集团生产,规模产出。命中使用IC卡的热情也都非常高,给本国的经济发展提供了很大的促进作用,节省了很多不必要的劳动,起高了劳动生产率。我国的IC卡发展起步很晚,大概在20世纪90年代中期,由于当时我国正处于改革开放的关键时期,有很多新兴的技术和管理方式需要学习国外先进的经验,要同发达国家接轨,我国推行走出去的战略,各行各业开始蓬勃的发展,电子行业显示出强劲的发展势头,带动了我国银行业的积极平稳快速的发展。在银行的带动下,各种有合作的企业,比如交通、医疗等方面迅速成长。如今在全国几乎各个部门都有IC卡的身影1。我国的IC卡行业的发展可谓是迅速,从以前的无,发展到如今的各种各样,各个部门,期间,我们经历了太多的困难,不过我们都一一克服。我们是取得了相当大的成就,不过不得不说,我们仍有很多工作要做。比如我们队当前IC卡的发展走向不大明朗,其实我们正处于IC卡技术的转型时期,新型的IC卡技术是我们这个行业的永远的追求;我国对此行业管理略显混乱,造成了IC行业鱼目混珠,为此我国相关部门应加大监管力度,防止非法生产及恶性竞争的发生。我国在高端IC卡方面技术很不成熟,应抓紧时间向此方面突破,因此,设计一种通用的成熟的IC卡读写器很有必要2。1.3 本课题设计的主要工作和任务IC卡主要就是非接触式IC卡,非接触式IC卡应用更加广泛,IC卡读卡器是非接触式IC卡系统中的关键设备。根据课题设计要求,这次课题中,将开发一种基于飞利浦公司MF-RC500读卡芯片的非接触式IC卡读卡器。它有以下的特点:能识别TYPEA卡片,读卡号,有防冲突能力;能对TYPEA 型的卡片进行深层操作;使用RS232通信接口输出与上位机进行通信;可根据实际需求将其作为门禁系统中的读卡器,或者其他系统的读卡器。本设计需要达到下边指标:(1) 操作性高:能对系统设置和卡上数据的操作;(2) 机器读卡速度:0.5秒可完成一次打卡过程,读卡距离为1至5厘米;(3) 显示系统:LCD屏显示,显示系统时钟及卡片信息;(4) 保密性:能辨认卡的密码,非授权范围内的卡作报警处理;(5) 存储容量:每台读写器最多可存储2000条记录;(6) 串行口通信,设计动态库便于用户二次开发。需克服的重要技术:(1) 射频识别技术;(2) 软件的安全机制;(3) 由于射频的特殊性给系统调试带来的困难。该读写器完成以后,既可独立使用,完成基本功能,外扩简单接口后,就能构成IC卡考勤、门禁,在公交、校园、娱乐场所等方面有广泛的应用前景。-4-第二章 读卡器系统方案设计与实现第二章 读卡器系统方案设计与实现2.1 IC射频卡介绍IC卡主要有两种:非接触式和接触式的IC卡。接触式的IC卡通过机械触点从读写器获取能量和交换数据;非接触式IC卡通过线圈射频感应从读写器获取能量和交换数据,所以又称射频卡。接触式IC卡具有存储量大,能一卡多用等功能。但是,接触式IC卡的读写速度比较慢,操作也不方便,操作时必须把卡插入到读卡器中才能完成数据的交换,这在读写卡片频繁的场合就很不方便,而且读写器的触点和卡片上IC卡的触脚暴露在外,容易破损从而接触不良。由于非接触式IC卡与读写器之间不是通过实体接触进行数据信息的交换,而是通过天线发射无线信号来完成信息交换,从而达到对卡片读写的目的。但是非接触式IC卡本身不会发送无线信号,只能接收信号,因为其内部没有发射源,因此在设计过程中,必须把天线设置在读写器的内部,通过读写器内部的电磁振荡产生动力,与非接触式IC卡产生数据的交换与识别,这就是读写系统。此过程相对于接触式IC卡系统的实体接触读写更为方便、快捷,因此,应用范围十分广泛。系统在调试时使用的是PHILIPS公司的MFI IC S50,其属于TYPEA型卡。Mifare1 IC 卡的核心是PHILIPS公司MF1 IC S50系列微模块,符合IEC/ISO 14443A空气接口协议。其具有先进的数据加密及双向密码验证系统,具有16个完全独立的扇区,有着极高的稳定性和广泛的应用范围。2.2 读卡器基本原理非接触式IC卡读卡器以射频识别技术为核心,结合以的单片机的中心信息交换作用下,辅以外围的各种电路,包括时钟模块电路,EEPROM存储模块电路,看门狗及复位电路,键盘及接口电路,显示电路,报警电路,接口电路等综合运转,达到读写卡片的目的。在信息通过天线发射后,经过谐振回路的滤波和接口电路的转换,把其转换成实体信号,接着送入读卡器解码解调,最后送入计算机,做出正确的判断。读卡器的工作过程如下:(1) 读卡器通过天线发送信号;(2) 谐振回路接收读卡器发射的载波信号,射频接口将其转成电压、复位信号,激活卡片;(3) 存取控制模块经过天线把存储信号送给读卡器;(4) 读卡器对信号解调、解码后送至计算机;(5) 计算机根据卡号的合法性,针对不同信息做出合适的控制。2.3 总体方案论证2.3.1 各模块方案选择与论证(1)控制器的选择方案一:采用ATMEL公司的AT89S52作为系统的控制器。AT89S52是一种低功耗、高性能CMOS8位微控制器,具有8K 在系统可编程Flash 存储器。使用ATMEL公司高密度非易失性存储器技术制造,与工业80C51 产品指令和引脚完全兼容。其有很好的性能,并且功能强大,易于操作,适合大多数的设计要求,应用比较广泛。方案二:采用FPGA即现场可编程门阵列,它是在PAL、GAL、CPLD等可编程器件的基础上进一步发展的产物。其运算速度快,集成度高,引脚众多,但价格高昂。但是AT89S52价格合适,并且能实现系统的各个指标要求,因此选用方案一。(2)RFID读卡芯片的选择1) TI公司的TRF7960芯片。TRF7960是一个整合的13.56MHz RFID读卡器系统的模拟前端和数据帧系统,可以用于较宽范围的近耦合RFID系统。它的特点是完全整合协议处理,内部独立的模拟与数字电源,AM和PM双信号输入接收解调,可以最大程度的减少损耗3。2) PHILIPS公司的MF-RC500的射频技术非常成熟的以13.56MHz的应用范畴,它属于一种IC射频卡,支持多种通信协议,支持面非常的广,有广阔的应用和开发空间。即使采用成本非常低的器件也能满足高速非接触式通信的要求。由于MF-RC500应用广泛,易于操作,于是选择MF-RC500作为设计的射频接口芯片。(3)显示模块的选择方案一:使用LED显示。数码管显示,对外界环境要求低,操作简单,但是需要由于单个发光面比较窄,通常大规模集成在线路板上,形成一个比较大的发光源,与此会造成大量热量堆积,不满足此次设计。方案二:使用LCD显示。液晶显示,优点是体积较小,耗能低,显示清晰,平面显示,质量轻,无辐射,的工作电压低等。而且LCD自带的显示模块可以很好的和本次设计主题相结合,综合上述,显示模块用LCD液晶显示。(4)键盘模块的选择方案一:采用独立式按键。独立式键盘的按键都不会影响键盘上其他按键的正常工作,简单方便。每个键接一根I/O口线,一根I/O口线上的按键工作状态不会影响其他口线的工作状态,所以其资源浪费严重,因此本方法主要用于按键较少或对操作速度要求较高的场合。方案二:采用矩阵式按键。矩阵式按键的应用是键盘数目较多的场合,为了减少I/O口的占用(即资源的浪费),通常将案件排列成矩阵形式,这样按键数就大大增加。本系统中有对I/O口的读写,各种单元电路的设定,用到的案件比较多,故采用方案二。(5)系统时钟和存储芯片的选择由于要记录刷卡的时间,并且保证时钟在掉电时也能正常工作,考虑到简单方便的时钟芯片DS1302。它是美国Dallas公司的产品,高性能,低功耗它的体积小,操作方便,采用SPI3线接口串行方式与CPU进行同步通信4。 采用AT24C64作数据存储器。DIP封装,存储器容量64kbit,存储器配置8k*8bit,时钟频率1MHZ,用两根线与CPU构成串行同步接口。由于本设计采用的AT89S52单片机不具备I2C总线接口,因此采用软件法加以解决。2.3.2 总体方案确定综合上述分析,系统设计方案如下:本IC卡读写器AT89S52单片机作为微控制器,采用MF-RC500作为射频卡读/写模块,采用DS1302作为系统时钟,以AT24C64作为不掉电存储器,采用LCD显示,并以RS232接口和计算机通信,组成一套功能齐全的非接触IC卡读写系统。当IC卡在天线区域经过时,单片机自动需求对IC卡进行读写,再把读/写卡的时间一起存到存储器中,计算机可以通过串口把相关读/写卡信息读到计算机上,再进行统计、报表和打印输出等。系统框图如图2-1所示。AT89S52射频模块MF-RC500时钟模块存储模块键盘及其接口电路LCD显示电路报警电路看门狗和复位电路RS232接口电路电源模块图2-1 系统结构框图-49-第三章 系统软件设计与实现第三章 系统硬件设计与实现3.1 电源模块电源按常规设计,其输入为220V、50Hz交流电,输出电压等级为5V,电路原理图如图3.1所示。采用78系列的稳压器,结构简单,性能稳定。当所需电流较大时,可以用功率管扩大电流。交流电220V经变压器降为交流6V,再经全桥整流输出直流电流,再经过1000F的电解电容滤波,去除了交流成分,送至各三端稳压器,输出适合电压。经过各三端稳压器稳压后,在LM7805输出端输出+5V直流电压,LM7905输出端输出-5V直流电压5。图3-1 5V直流稳压电源3.2 人机接口模块人机接口采用LCD显示、32矩阵式键盘,实现对系统的设置及操作等。LCD型号为ACM1602A,该字符型液晶显示模块由字符型液晶显示屏,具有字符发生器ROM可显示192种字符,有64个字节的自定义字符RAM,可自定义8个58点阵字符或四个511点阵字符。 在此系统中采用LCD分屏显示,每一屏第一行的首地址是80H,第二行的首地址是0C0H;每行写入16个字节,每屏写入二行(第一行为系统的时间,第二行为卡片的信息)。ACM1602A集成度高,其内有驱动电路,所以不必为其设计驱动电路,由于1602是一个并口器件所以占用单片机的接口资源较多,为节省单片机接口资源使用了一个74HC595进行串口转并口,使1602与单片机进行间接连接,LCD与单片机的连结图如图3-2所示。图3-2 LCD显示电路3.3 系统时钟模块刷卡时要记录刷卡的时间,用外接硬件实时时钟芯片的办法,为系统提供一个准确可靠的时钟,用3V备用电池保证在系统掉电时也能正常走时,在此选用体积小、接口简单的实时时钟芯片DS1302。 (1)时钟芯片介绍DS1302 是美国DALLAS公司推出的一种高性能、低功耗、带RAM的实时时钟电路,在本设计中使用的DS1302为8脚DIP封装形式,1和8为电源电压引脚,单电源供电接8脚,双电源供电时,主工作电源接1脚,备用电源接8脚。2和3为晶振引脚,晶振频率为32.768KHz ;RST为复位端,置低电平则工作终止,高电平,系统复位;6为输人/输出端;7为SCLK为串行时钟输入端,所有地址/命令字节和数据字节都是在时钟的同步控制下从I/O脚串行输入输出的。DS1302通过SCLK、I/O、RST三根线与外部进行同步串行通信。(2)DS1302与单片机的连接在本设计中采用单片机的P1.0-P1.2与DS1302进行数据通信,以提供系统所需的时钟,其连接方法如图3-3所示。图3-3 DS1302与单片机接口电路3.4 存储模块在本设计中采用串行EEPROM芯片AT24C64作数据存储器。AT24C64采用DIP封装,存储容量64Kbit,时钟频率1Mhz,电压范围1.8V-3.6V,8个针脚,支持EEPROM类型。管脚功能如下:SCL,串行时钟,这是一个输入管脚,用于产生器件所有数据发送或接收的时钟;SDA,串行数据/地址,这是一个双向传输端,用于传送地址和所有数据的发送或接收;A0、A1、A2,器件地址输入端,这些输入端用于多个器件并联时设置器件地址6。在系统中采用单片机的P3.3、P3.4口与AT24C64进行连接,其与单片机的接口接法电路如图3-4所示,由于本系统中采用到的AT89S52单片机不具备I2C总线接口,因此采用软件法加以解决。图3-4 AT24C64与单片机接口电路3.5 MF-RC500读写模块3.5.1 MF-RC500介绍PHILIPS公司的MF-RC500频率13.56MHz,支持IS014443A所有的层; MF RC500可方便的用于各种基于ISO/IEC 14443A标准,它的应用十分广泛,特别是在中小型器件的设计上更是占有重要地位,在射频领域的应用十分成熟。其功能框图如图3-5所示。图3-5 MF-RC500的功能框图MF-RC500管脚如图3-6所示。图3-6 MF-RC500管脚图表3-1 天线连接管脚名称类型功能TX1,TX2输出缓冲天线驱动器VMID模拟参考电压RX输入模拟天线输入信号 MF-RC500通过TX1和TX2提供13.56MHz的能量载波。经过调整为相应的信号进行通信的开始,天线接收信号送到RX引脚,MF-RC500之后经过一系列的检测、处理,然后将数据传送到中央控制器做最后决定。表3-2 MF-RC500并行口控制管脚名称类型功能D0.D7I/O口数据总线(双向)A0.A2I/O口地址线NCSI/O口片选ALEI/O口地址锁存使用LRQ输出中断请求3.5.2 天线模块的设计读卡器内部必须有天线接受信号同非接触式IC卡通信。磁通量可以产生信息,而天线则用来产生足够的磁通量。所以,对天线的设计要满足一下要求:*磁通量要足够,因此电流要足够大;* 系统损耗要合适,这就要求功率合适;* 带宽足够,以不失真的传输和接受信号7。(1)天线尺寸和读写距离考虑到系统的损耗,卡和天线之间的耦合系数一般不低于0.3,这样才能满足要求。天线定为三圈,设计为方形。直径介于0.5-1.5mm。表3-3 是确定的数值表(其中耦合系数0.3)。表3-3 各种天线形式和距离关系表大小(mmmm)读写距离(mm)50507655410855412综上,天线的参数如下:*天线形状:方形天线*天线圈数:三圈*天线大小:65mm54mm*天线导体直径:1mm(2)天线电感的计算感抗在900nH与4.2H之间。计算公式为: (3-1)参数: L感抗,H; I长度,cm; D宽度,cm; N圈数; P天线线圈特质而定的N的指数因子。上述公式只供首次估算用,实际的天线线圈应该通过仪器测量而定,但偏差不会很大。根据以上公式以及本设计中的参数,P值取1.6,计算出的天线的电感L得1895H。(3)EMC电路及接收电路EMC和接收电路:AT89S52已经内置RC振荡线路,不过这些震荡频率无法满足要求,因为现实的电路往往对波特率要求比较精密,不能有丝毫的差错,电路运行中电路内部还会产生干扰对自身造成影响,同时外部干扰也是不可忽略的,因此要使用一个低通滤波器消除外部和内部干扰8。滤波器与接收电路的电路原理图如图3-7所示。图3-7 EMC及接收电路(4)天线电路图天线电路图如图3-8所示。图3-8 天线电路图中电容C2A_a、C2A_b、C2A_a、C2A_b、(通称C2)的值是由天线的电感值决定的,并且与天线的形状有很大关系,需要合适的调整。C2的大小将极大地影响天线接收和发送的性能,因此,要多次反复实验才可以确定其大小,必须严格确定天线的性能良好。RC500有一个内部信号驱动管脚AUX,C2值的确定可以通过试验方法得到,接受装置和本体之间的距离不同,将得到不同的C2值,最后可以根据不同的实验结果进行筛选,从而得到最好的值9。设计中,根据天线的参数进行试验,得到的最终C2值如表3-4所示。表3-4 C2电容值表电容值(pF)C2A_a80C2A_b80C2A_a80C2A_b80(5)天线的品质因数和匹配电阻用于电感耦合式射频识别系统的天线,其特征值是谐振频率f0和品质因数Q。品质因数Q电学和磁学的量。表征一个储能器件(如电感线圈、电容等)、谐振电路中所储能量同每周期损耗能量之比的一种质量指标;电抗元件的Q值等于它的电抗与其等效串联电阻的比值;元件的Q值愈大,用该元件组成的电路或网络的选择性愈佳。其公式如下: (3-2)其中fR=13.56MHz,天线的感抗LANT和阻抗RANT,也可以用仪器测出来。Q值一般在10到50之间,作为数据传输过程这个值还会减小,数据从读卡器到射频卡使用米勒编码,脉冲宽度为T=3s,带宽B定义如下: (3-3)所以Q值: (3-4)Q值还受其他因素的影响,比如温度,湿度等。考虑到上述因素,所以把Q值定在35比较合适。又因为在估算中减小了Q值,所以应想法增大天线的品质因数,用外加电阻法,外加一个电阻REXT,可以用下面的公式来计算REXT: (3-5)3.5.3 MF-RC500与AT89S52的连接图MF-RC500与AT89S52连接图如图3-9所示,图中单片机AT89S52作为控制核心,主要完成数据采集、处理、存储及控制电路工作;MF-RC500是主要实施的对象,系统主要是围绕其进行设计与实验。在本设计中,该读写器采用地址数据总线复用方式与微控制器相连。在对MF-RC500进行读写操作时,若要使用NWR和NRD与微控制器相连,则这两个引脚应该连接到微控制器的读写管脚上。图中使AT89S52的WR和RD管脚分别与MF-RC500的NWR管脚和NRD管脚相连来控制读写使能;MF-RC500工作频率由石英晶体而产生,同时与OSCIN管脚相连可作为外部时钟。图3-9 MF-RC500与AT89S52连接图3.6 通信模块本智能卡读写器采用RS232标准来实现读卡器和上位机之间的通信,选用美信(MAXIM)公司生产的.芯片进行通信转换。其具有以下特点:1、符合所有的RS-232C技术标准;2、只需要单一 +5V电源供电;3、片载电荷泵具有升压、电压极性反转能力,能够产生+10V和-10V电压V+、V-;4、功耗低,典型供电电流5mA;5、内部集成2个RS-232C驱动器;6、高集成度,片外最低只需4个电容即可工作。MAX232其引脚功能如表3-5所示。表3-5 MAX232引脚说明引脚名引脚说明引脚名引脚说明T2outRS232输出R1inRS232输入R2inRS232输入T1outRS232输出R2outTTL/CMOS输出GND地T2inTTL/CMOS输入VCC电源T1inTTL/CMOS输入R1outTTL/CMOS输出在硬件电路连接上采用三线制(RXD、TXD、GND)软握手的零MODEM方式,钟分频模块主要用于数据收/发模块产生同步时钟信号。系统接口对各种逻辑进行控制,进行三线同步串行通信,多模块进行数据的交换,其中的操作及控制MAX232与AT89S52的电路连接如图3-10所示。图3-10 MAX232与AT89S52的连接图第四章 系统软件设计与实现第四章 系统软件设计与实现在进行数据通信的软件设计时必须解决好两个方面的问题,一是可靠性,二是速度,而这两方面的问题可靠性是第一位的,速度只能是在可靠的基础上的,速度可靠快速转输的实现需要上、下位机软件以及通信协议等各个环节的可靠和其间的相互配合。4.1 软件设计环境本系统程序的设计以模块化和结构化的设计思想为指导。单片机开发所使用的语言一般为汇编语言。汇编语言不能通用,因此应用面较窄。编写的代码非常难懂,不好维护;很容易产生bug,难于调试;只能针对特定的处理器进行优化;开发效率很低,时间长且单调。 C是高级语言。而且计算功能、逻辑判断功能也比较强大,可以实现决策目的的游戏。C语言适用范围大。适合于多种操作系统,如Windows、DOS、UNIX等等;也适用于多种机型。C语言对编写需要硬件进行操作的场合,明显优于其它高级语言,有一些大型应用软件也是用C语言编写的。本次分块程序的设计多数采用C语言设计,极少部分采用汇编语言设计。4.2 主程序的设计读卡器工作需要进行很多次操作,并且要调用相应的函数。包括扫描键盘、液晶显示、EEPROM读写、读/写卡和与上位机通信等。这几步一定要按特定的顺序状态进行。读卡器的主程序主要由下位机来完成,单片机中的程序主要包括:IC卡读写程序,与RC500信息通讯及终段处理程序,键盘信息识别及中断处理程序,与PC机信息处理中断处理程序,程序显示及存储器的读写程序等等10。读卡器的主程序流程图如图4-1所示。图4-1 读卡器主程序流程图4.3 读/写卡程序设计4.3.1 MF-RC500指令说明MCU对MIFARE非接触式智能卡的控制是通过MF-RC500来实现的,MF-RC500是MCU和MIFARE非接触式智能卡之间的通信载体。MCU对MF-RC500的控制是以MCU发出MF-RC500的指令来达到的,MF-RC500收到指令之后执行这些指令11。MCU对MF-RC500的某一指令操作必须有一个程序的序列来完成,其中有对MF-RC500硬件内核寄存器的读/写以及根据读出的硬件内核寄存器的内容进行语言软件上的判断和设置。从而决定以什么指令来对上一步的操作做出正确的回应。MF-RC500的主要的指令:(1)“Answer to Request”(应答复位)表4-1 复位应答指令指令指令代码(hex)相关的出错标志接收数据Request std26TE,BETag typeRequest all52Request将 MF-RC500在工作的区域内寻找 WARE片,MIFARE卡片存在,对 MIFARE进行数据的交换,读取WARE卡片编号,由MF-RC500送入微处理器,从而进行计算。Request指令分为Request std和Request all两个指令12。Request all指令是不连续性的读卡的指令,只读一次。当有卡片进入读卡范围内时,该指令发挥作用。Request std指令是连续性的读卡指令。(2)“Select Tag”(选择卡片操作)表4-2 选择卡片指令指令指令代码(hex)是否会出错接收的数据Select Tag(选择片)93TE,BE,PE,CESize如果要与已知编列号的卡片进行通信,一定要用SELECT指令,这样才能选中想要与之进行通信的卡片,为之后的工作做准备。 (3)“Authentication”(认证操作) 表4-3 认证指令指令指令代码(hex)是否会出错接收的数据AuthenticationTE,BE,PE,CE/Auth_la60Auth_lb61如果密码正确,则进行下一步的工作。卡片上的存储器的每一个块都分别地指定了该块的存取条件。这些存取条件是根据密码而定。用户必须在KEYSTACON寄存器中指定一套密码,即设置KSO,KS1。KEYADDR寄存器中的AB位用于选择KEYA和KEYB。KEYADDR寄存器中的AB设置必须匹配“Authentication”命令。 (4)“Read”(读)表4-4 读指令指令指令代码(hex)相关的出错标志接收卡片上数据Read(读)30TE,BE,PE,CEDataRead(读)允许MCU经MF RC500读卡上完整的Bytes(十六个)的数据块(Data blocks)。 (5)“Write”(写)表4-5 写指令指令指令代码(hex)相关的出错标志接收卡片上数据Write (写)A0TE,BE/“Write” 写允许用户写数据到卡片(完整的16个Byte的数据块)。 4.3.2 读/写卡程序流程图读/写卡过程主要由以下几步组成:(1) 复位应答:当一张卡片接近读写范围时,电路发出警报,为接下来的读写做初步的准备,当进入读写区域时,发出信号,指示灯亮,系统复位,开始读写,这时,系统只读取当前卡片,不会在读取另外的卡片;(2) 防重叠操作:由于每张卡片都有自己的编列号,所以当多张卡片进入工作范围内,系统经过严格的帅选,只读取第一张进入读卡范围内的卡片,而对于其他卡片将不予理睬,这防止了系统的错乱;(3) 选择卡片操作:选择被选中卡的系列号,并同时返回卡的容量代码;(4) 认证操作:经过上述3个步骤, 确定选了一个卡片之后,系统对密码进行确认,如不正确,则不预读取,如若正确,则进入下一步工作;(5) 读写操作:完成了之前的准备工作,开始进行实质性的读写工作。读/写卡程序流程图如下图4-2所示。图4-2 读/写卡程序流程图4.4 读卡器外围基本电路程序的设计4.4.1 显示程序设计本次设计的显示模块有系统时钟模块和LCD显示模块组成,刷卡时要记录刷卡的时间,用外接硬件实时时钟芯片的办法,为系统提供一个准确可靠的时钟,使用LCD显示。液晶显示,优点是体积较小,耗能低,显示清晰,平面显示,质量轻,无辐射,的工作电压低等13。其流程图如图4-3所示。图4-3 显示部分程序流程图显示模块的部分程序如下:MAIN: MOV SP,#60HMAIN1: LCALL START ;调用初始化 MOV A, #80H ;第一行显示第一个字符的位置 ACALL ENABLE ;调用写指令 MOV DPTR, #TABLE1 ;第一行表头位置 CALL WRITE1 ;调用第一行写子程序 MOV A, #0C0H ;第二行位置 CALL ENABLE ;调用写指令 MOV DPTR, #TABLE2 ;第二行表头位置 CALL WRITE LCALL DELAY1 JMP MAIN1ENABLE: ;写命令时序 MOV SS, A CLR RS CLR RW CLR E ACALL DELAY SETB E RETWRITE1: ;写字符串 MOV R1, #00HA1: MOV A, R1 MOVC A, A+DRTR ;取将显示的数据 CALL WRITE2 ;调用写程序写入单个字节 INC R1 CJNE R1,#10H,AL RETWRITE2: ;写单个字符 MOV SS A SETB RS CLR RW CLR E CALL DELAY SETB E RET4.4.2 键盘程序设计键盘程序包括按键识别及识别按键后系统的相应动作。由于所要用到的按键比较多,所以采用交叉列阵式,有按键被按下时,则接收信息,并判断下一步的动作及可能的操作。具体的工作步骤如下: (1) 断键盘上有无键按下。P1口低3位输出全0,读P1口状态,若P1.3、P1.4为全1,则基本上可以确定是按键工作状态;假如不是这个结果,那就确定他们不是工作在这个状态;(2) 消除键盘按键抖动。具体做法,如果键盘显示为工作状态,则通过对系统软件各方面的设置,使键盘延时10ms,之后,如果键盘在工作状态,则可以确定这个结果正确;如果为别的结果,这就需要重新调试,重新对键盘进行合理并且正确的设定;(3) 按键位置。按上两步的扫描法,进行逐位置0扫描,这样就达到了想要表达的结果; 编程扫描程序流程图如图4-4所示。开始有键闭合?延时10ms确定按键位置闭合键释放?按键处理程序返回否否否按键闭合?图4-4 扫描程序流程图4.4.3 EEPROM程序的编写AT24C64存储器可以解决单片机片内EEPROM不足的问题,用以保存诸如用户设置参数、卡片信息等资料。它是以电子信号来修改其内容的,洗掉才能写入,。EEPROM在写入数据时,仍要利用一定的编程电压,此时所以,它属于双电压芯片。借助于EEPROM芯片的双电压特性,可以使BIOS具有良好的防毒功能,在升级时,把跳线开关打至“off”的位置,即给芯片加上相应的编程电压,就可以方便地升级;平时使用时,则把跳线开关打至“ON”的位置,防止CIH类的病毒对BIOS芯片的非法修改14。EEPROM主要读写程序如下:void 12c_Send_Byte (unsigned char Send_Data) /*写一个字节到EEPROM中*/ unsigned char i;for(i=8;i!=0;i-) SCL_DIR=0;if(Send_Data&0x80)SDA_DIR=1; /接收到数据elseSDA_DIR=0;delay_s(2);SCL_DIR=1;Send_Data = (Send_Data1); / 数据左移一位do /接收应答信号,防止死循环SCL_DIR=0;SDA_DIR=1;delay_s(2);SCL_DIR=1;while(SDA!=0); /停止位SCL_DIR=0;SDA_DIR=0;4.5 通信部分程序设计(1)通信协议概述串口通信的概念非常简单,串口按位(bit)发送和接收字节。尽管比按字节(byte)的并行通信慢,但是串口可以在使用一根线发送数据的同时用另一根线接收数据。RS-232设计之初是用来连接调制解调器做传输之用,也因此它的脚位意义通常也和调制解调器传输有关。但是这么说并不是总是严格正确的,用配线分接器测试连接,或者用试误法来判断电缆是否工作,常常需要参考相关的文件说明。因此双方都能发送和接收15。 (2)MCU串口通信程序流程图MCU串口通信要遵循上述提到的RS-232协议,做到最简单方便,一目了然。MCU串口通信程序流程图如图4-5所示。 图4-5 MCU串口通信程序流程图结 论结 论本论文从整体的角度,对非接触式智能卡系统进行分析和研究,同时做到重点的突出。论文从智能卡整体系统入手,着重介绍了基于Philips公司MIFARE技术的非接触式智能卡读卡器的设计开发。该读卡器能够读写距离在0-100mm范围内的符

温馨提示

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

评论

0/150

提交评论