(精品论文)非接触式_ic卡_读写器_设计_论文_第1页
(精品论文)非接触式_ic卡_读写器_设计_论文_第2页
(精品论文)非接触式_ic卡_读写器_设计_论文_第3页
(精品论文)非接触式_ic卡_读写器_设计_论文_第4页
(精品论文)非接触式_ic卡_读写器_设计_论文_第5页
已阅读5页,还剩47页未读 继续免费阅读

下载本文档

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

文档简介

2008届毕业生毕业论文题 目: 非接触式IC卡读写器设计 院系名称: 电气工程学院 专业班级: 自动本 学生姓名: 学 号:指导教师: 教师职称: 副教授 2008 年 06 月 10 日48摘 要本文介绍了以AT89S52单片机作为微控制器,以射频技术为核心,基于PHILIPS公司MF-RC500模块的非接触式IC卡读写器,阐述了该系统的组成、工作原理以及相应的软硬件设计。本文阐述了非接触式IC卡技术的基本原理,并对其读卡器在工程上的设计和开发作了研究。论文描述了IC卡系统的发展和现状,通过对射频识别技术原理的研究,揭示了射频IC卡系统的工作原理。介绍了Type A 型常用的卡片MF1 IC S50和对应读卡器的设计方法和电路 (使用专用射频读卡集成芯片RC500),并详细阐述了系统各个模块的组成和原理,给出了天线的设计规范。然后根据课题要求详细介绍了自主设计的一款Type A 型读卡器的核心部件射频模块的实现方案和具体电路。最后介绍了系统设计的软件部分,重点介绍了RC500的主要特性、基本指令集以及与Mifare1非接触IC卡数据通信的一些重要模块的编程思路和编程方法,给出了两个编程实例。实际测试证明该读写器完成了基本功能,运行稳定。关键词:微控制器;非接触式IC卡;读写器;MF-RC500;射频识别Title Design of Reader for Contactless IC Card Abstract:With 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 Identification;目 次1 绪论11.1 课题研究的背景和意义11.2 目前国内外研究现状21.3 本课题设计的主要工作和任务32 读卡器系统方案设计与实现42.1 IC卡介绍42.2 读卡器基本原理42.3 总体方案论证53 系统硬件设计与实现83.1 电源模块83.2 人机接口模块83.3 系统时钟模块93.4 存储模块103.5 MF-RC500读写模块113.6 通信模块174 系统软件设计与实现194.1 软件设计环境194.2 主程序的设计194.3 读/写卡程序设计204.4 读卡器外围基本电路程序的设计244.5 通信部分程序设计285 系统调试29结 论30致 谢31参 考 文 献32附录A 总电路图33附录B 读/写卡源程序341 绪论1.1 课题研究的背景和意义IC卡是集成电路卡(Integrated Circuit Card)的英文简称,在有些国家也称之为智能卡、微芯片卡等,IC卡是在较为原始的磁卡的基础上发展起来的,它的最初设想是由日本人提出来的。1969年12月,日本的有村国孝提出一种制造安全可靠的信用卡方法,并于1970年获得专利,那时叫ID卡(Identification Card)。1974年,法国的罗兰莫雷诺(Roland Moreno)发明了带集成电路芯片的塑料卡片,并取得了专利权,这就是早期的IC卡。1976年法国布尔(Bull)公司研制出世界第一枚IC卡1。早期的IC卡系统是接触式的,它有其本身不可克服的缺点,如接触磨损、交易速率慢、难以维护、基础设施投入大等。随着信息业和服务业的全球化,在一些场合,对信息载体的便携性、安全性及易用性等方面提出更高的要求,于是非接触式IC卡以其无机械磨损、容易维护、方便使用等优点,成为IC卡中潜力最大的新军而备受国内外业界的瞩目。非接触式IC卡系统是当今世界先进的射频技术和IC卡技术相结合的产物,是世界上最近几年发展起来的一项新技术,它成功地将射频识别技术和IC技术结合起来,解决了无源和免接触这一难题,是电子器件领域的一大突破,使卡片在靠近读写器表面时即可完成卡中数据的读写操作。非接触式IC卡一经问世,便立即引起广泛的关注。非接触式IC卡操作方便、抗干扰性高、可靠性高、安全性高的特点,使得它在一些接触式IC卡不适用或者无法使用的场所,具有无可比拟的优势,被广泛应用于公交、收费、门禁系统、考勤系统等领域2。目前非接触式IC卡有很多不同的标准,如IS014443A和IS014443B等,符合不同标准的卡片在不同的领域内相互渗透和竞争。卡片类型的多样性决定了读卡器的多样性,而市场的多样性则决定了即使是同类型的应用,也可能使用不同类型的卡片,若读卡器只能读取某一种类型的卡片,那么在处理这个应用时,必将需要多台读卡器,造成资源的重复浪费,这样的读卡器必将不能适应市场的需求,这就对读卡器的读卡能力提出了更高的要求。设计出一种能读取多种类型卡片的读卡器,既是市场应用的需求,也是未来的发展趋势。目前,读卡器已经开始大量应用于各种“一卡通”系统中,这些应用对读卡器的功能要求越来越高,除了传统的对卡号的读取之外,需要能够对卡片进行更高层的数据操作,与PC设备之间能进行信息交流。为了适应这种发展趋势,非接触式IC卡的读卡器的开发与设计也迅速发展起来3。1.2 目前国内外研究现状智能卡的发展历史并不久远,而且全球各地发展不均衡,其中欧洲发展得最早、最好。智能IC卡源于七十年代的欧洲和日本,后来由法国人提出的将处理器置入IC卡卡片中的思想得到了广泛接受,由于其具有完善的密码功能从而有效的解决了智能卡的舞弊行为。随后智能卡在1977-1998年间得到了迅速发展。九十年代初期,智能卡开始应用于GSM数字移动通讯、有线电视的收费等领域。在美国,智能卡发展相对迟缓,但随着智能卡在欧洲的成功使用,其在美国产生巨大影响,尽管如此,美国在智能卡技术等领域仍处于世界领先地位。据Innovation国际发明组织统计,2005年10月到2006年9月全世界IC卡硬件产业中,IC卡及其读写设备数量分别为42000万张和877000台,其中法国分别占98%和71%,处于世界领先地位。目前,法国生产制造的IC卡不仅在数量上领先各国,其应用领域也灵活多样,如在金融、电信、医疗和交通运输等各个领域都有IC卡的应用,其中电子金融卡等己经达到经济生产规模。我国对IC卡行业的发展始于1994年,当时的中央领导特别是江泽民同志高度重视IC卡行业,高瞻远瞩,指示要发展我国自己的IC卡事业,建立“金卡工程”。虽然至今也只有短短的十几年左右时间,但是己经取得了不小的成就。我国自1994年实施“金卡”工程以来,推动了金融电子化、商业和流通领域电子化的步伐,使我国银行业务得到迅速发展,并逐渐波及医疗、交通、社会保险、税务等领域。在我国,智能卡在各种应用领域全面开花,目前超过10个政府部门和行业推广应用了智能卡。近年来,我国的发卡量年增长率达到30%至40%,已成为世界智能卡应用发展最快的国家之一4。目前在我国,随着金卡工程建设的不断深入发展,IC卡系统已在众多领域获得广泛应用,并取得了初步的社会效益。随着政府管理和支持力度的加大、技术研发水平的提升,IC卡市场竞争格局将发生深刻的变化。随着政府智能卡项目的启动,国内企业技术实力和工艺流程的优化,使得国外品牌市场份额受到很大程度的限制,而国内品牌将会有快速的发展。今后的几年,是我国IC卡系统应用向纵深发展的时期。我国IC卡系统市场格局必将由无序走向有序,市场竞争必将由有限走向无限,IC卡系统市场将逐步走向成熟。但是对于尖端的CPU卡及非接触式IC智能射频卡的制卡技术及其相应的读/写卡设备技术,仍处于落后状态。这极大地制约了IC卡行业的发展,特别是在要求有极高安全性和保密性的金融行业中,制约了我国金卡工程的实施和发展。设计和开发出更好的读卡设备,对加快我国IC卡行业的发展,特别是尖端的CPU卡及非接触式IC智能射频卡的推广应用,有着重大的意义5。1.3 本课题设计的主要工作和任务非接触式IC卡代表了IC卡发展的方向,同接触式IC卡相比其独有的优点使其能够在绝大多数场合代替接触式IC卡的使用,而在非接触式IC 卡应用系统中非接触式IC卡读卡器是关键设备。根据课题设计要求,本课题将开发一种基于飞利浦公司MF-RC500读卡芯片的非接触式IC卡读卡器,其具有以下特点:能识别TYPEA型卡片,读取卡号,并有防冲突功能;能对TYPEA 的卡片进行高层操作;可以使用RS232通信接口输出来与上位机之间通信;可根据实际需求将其作为门禁系统中的读卡器,或者一卡通系统中的读卡器。本设计完成后所要达到的主要指标有:(1) 显示系统:液晶屏显示,能显示系统时钟和卡片信息等;(2) 按键操作:能实现对系统的设置和卡上数据的操作;(3) 机器读卡速度:0.5秒可完成一次打卡过程,读卡距离为5至10厘米;(4) 保密性和防伪性:能辨认卡的密码,非授权范围内的卡作报警处理;(5) 存储容量:每台读写器最多可存储2000条记录。本设计中需要解决的若干关键技术有:(1) 射频识别技术;(2) 软件的安全机制;(3) 由于射频的特殊性给系统调试带来的困难。该读写器完成以后,既可独立使用,完成基本功能,外扩简单接口后,就能构成IC卡考勤、门禁、售饭一卡通等系统,在公交、校园、娱乐场所等方面有广泛的应用前景。2 读卡器系统方案设计与实现2.1 IC卡介绍目前经常接触到的IC卡有两种:接触式和非接触式的IC卡。接触式的IC卡通过机械触点从读写器获取能量和交换数据;非接触式IC卡通过线圈射频感应从读写器获取能量和交换数据,所以又称射频卡。日前在社会上常见的是接触式IC卡,它具有存储量大,可实现一卡多用等功能。但是,这类卡的读写操作速度较慢,操作也不方便,每次读写时必须把卡插入到读写器中才能完成数据交换,这样在读写卡片频繁的场合就很不方便,而且读写器的触点和卡片上IC卡的触脚暴露在外,容易损坏和搞脏而造成接触不良。非接触式智能卡又称射频卡,是近几年发展起来的新技术。它是根据射频电磁感应原理产生的,它的操作只需将卡放在读写器一定距离内就能实现数据交换。它成功地将射频识别技术和IC卡技术结合起来,将具有微处理器的集成电路芯片和天线封装于塑料基片之中。读写器采用兆频段及磁感应技术,通过无线方式对卡片中的信息进行读写并采用高速率的半双工通信协议。其优点是应用范围广、操作方便。因此,在公交、门禁、娱乐场所等方面有广泛的应用前景。目前我国引进的射频卡主要以PHILIPS公司的MIFARE卡为主6。本系统在调试过程中使用的是PHILIPS公司的MFI IC S50,其属于TYPEA型卡,下面对其做一些简述:Mifare1 IC 卡的核心是PHILIPS公司MF1 IC S50系列微模块,它确定了卡片的特性以及卡片读写器的诸多性能。Mifare1 IC智能卡内建有高速的MCU,卡片上除了IC微晶片及一副高效率天线外,无任何其他元件;卡片上无源,工作时的电源能量由读写器天线发送无线电载波信号耦合到卡片上天线而产生电能;它与读写器通信使用握手式半双工通信协议。2.2 读卡器基本原理非接触式IC卡读写器以射频识别技术为核心,读写器内主要使用专用的读写处理芯片,它是读/写操作的核心器件,其功能包括调制、解调、产生射频信号、安全管理和防碰撞机制。其内部结构分为射频区和接口区:射频区内含调制解调器和电源供电电路,直接与天线连接;接口区有与单片机相连的端口,还具有与射频区相连的收/发器、数据缓冲器、防碰撞模块和控制单元。这是与智能IC卡实现无线通信的核心模块,也是读写器读写智能IC卡的关键接口芯片。读写器工作时,不断地向外发出一组固定频率的电磁波,当有卡靠近时,卡片内有一个LG串联谐振电路,其频率与读写器的发射频率相同,这样在电磁波的激励下,LG谐振电路产生共振,从而使电容充电有了电荷。在这个电容另一端,接有一个单向导电的电子泵,将电容内的电荷送到另一个电容内存储。当电容器充电达到一定电压值时,此电容就作为电源为卡片上的其他电路提供工作电压,将卡内数据发射出去或接收读写器发出的数据与保存7。读卡器的工作过程如下:(1) 读卡器将载波信号经天线向外发送;(2) 卡进入读卡器的工作区域后,卡内天线和电容组成的谐振回路接收读卡器发射的载波信号,射频接口模块将其转换成电源电压、复位信号,使卡片激活;(3) 存取控制模块将存储器中信息调制到载波上,经卡上天线送给读卡器;(4) 读卡器对接收到的信号进行解调、解码后送至后台计算机;(5) 后台计算机根据卡号的合法性,针对不同应用做出相应的处理和控制。2.3 总体方案论证2.3.1 各模块方案选择与论证(1)控制器的选择方案一:采用ATMEL公司的AT89S52作为系统的控制器。AT89S52单片机算术运算功能强、软件编程灵活、自由度大,可用软件编程实现各种算法和逻辑控制,并且由于其功耗低、体积小、技术成熟和成本低等特点,使其在各个领域应用广泛。AT89S52是我们熟悉的控制器,编程比较熟悉,易于掌握。方案二:采用FPGA(现场可编程门阵列)作为系统的控制器。由于本设计对数据处理的速度要求不高,FPGA的高速处理优势得不到充分的体现,并且由于集成度高,使其成本偏高,同时由于芯片的引脚较多,实物硬件电路板布线复杂,加重了电路设计和实际焊接的工作。由于AT89S52控制器能够很好的实现该系统的各项功能,成本低,技术成熟,故采用方案一。(2)RFID读卡芯片的选择随着RFID市场的迅猛增长,各大传统IC芯片制造商都加入到RFID读卡芯片的开发当中,可供选择的芯片很多,下面介绍几款主流的RFID读写芯片:1) TI公司的TRF7960芯片。TRF7960是一个整合的13.56MHz RFID读卡器系统的模拟前端和数据帧系统,可以用于较宽范围的近耦合RFID系统。它的特点是完全整合协议处理,内部独立的模拟与数字电源,AM和PM双信号输入接收解调,读卡器与读卡器之间反冲突算法,输出功率可调,内建带通滤波器并且用户可选择边界频率,低功耗设计,掉电模式下电流小于lA,激活状态10mA;与微处理器接口为8位并行接口或者4线SPI接口8。2) NXP公司(原飞利浦半导体公司)是较早进入RFID芯片行业的国际半导体公司,在射频读写芯片上产品较全。MF-RC500芯片就是NXP公司生产的。MF-RC500是高整合的13.56MHz非接触IC卡读写芯片,整合了所有主动非接触通信方式和协议,MF-RC500支持ISO 14443A&B的所有层的通信方案;内部收发器部分能够驱动近耦合设计的天线而不需要另外的电路;数字部分能处理完整的ISO14443帧数据还有错误检测;具有合适的并行接口,可以直接与8位的微处理器相连,并且支持SPI兼容接口。由于MF-RC500能够满足设计需求,而且应用范围比其他的芯片更广,资料齐备,于是选择MF-RC500作为本设计的射频接口芯片。(3)显示模块的选择方案一:使用LED显示。数码管显示,对外界环境要求低,操作简单,但需要采用动态扫描,占用资源比较多,而且其不能很好的显示字符,由于本系统要显示的信息量较多,所以虽然该方案在程序上容易实现,但并不能满足要求。方案二:使用液晶显示屏显示各种信息。液晶显示屏具有轻薄短小、低耗电量、平面直角显示以及影像稳定不闪烁等优势,并且符合本系统显示信息量多的需求,利用LCD自带的字符库,进行编程就可以实现所需信息的显示,其不必利用控制芯片创建字符库,既节省了资源,又省去了该部分的大量编程任务。为了使人机界面更加友好,操作更加方便,采用LCD液晶显示。(4)键盘模块的选择方案一:采用独立式按键。独立式按键接口设计优点是电路的配置灵活,软件实现简单。但缺点也很明显,每个按键需要占用一跟口线,若按键较多,资源浪费将比较严重。因此本方法主要用于按键较少或对操作速度要求较高的场合。方案二:采用矩阵式按键。矩阵式按键接口适用于按键数量较多,又不想使用专用键盘芯片的场合。这种方式的按键接口由行线和列线组成,按键位于行、列的交叉点上。这种方的优点是可以节省很多I/O资源,相对于专用键盘可以节省成本,且更为灵活。缺点是需要用软件处理消抖、重键等。由于该系统要求具有对卡片进行读/写操作,系统时钟的设置等,用到的按键较多,故采用方案二。(5)系统时钟和存储芯片的选择刷卡时要记录刷卡的时间,用外接硬件时钟芯片的办法,为系统提供一个准确可靠的时钟,用3V备用电池保证在系统掉电时也能正常走时。在此选用体积小、接口简单的实时时钟芯片DS1302。它是美国Dallas公司推出的低功耗串行通信接口专用芯片,采用3线串行方式与单片机进行数据通信9。 采用AT24C64作数据存储器。AT24C64是串行E2PROM存储器,支持I2C总线数据传输协议,8K存储器容量,用两根线与CPU构成串行接口。由于本设计采用的AT89S52单片机不具备I2C总线接口,因此采用软件法加以解决。2.3.2 总体方案确定根据上述分析,系统设计方案如下:本IC卡读写器拟以ATMEL公司的AT89S52单片机作为微控制器,采用MF-RC500芯片作为射频卡读/写模块,采用DS1302作为系统时钟,以AT24C64作为不掉电存储器,采用LCD显示,并以RS232接口和计算机通信,组成一套功能齐全的非接触IC卡读写系统。当IC卡在天线区域经过时,单片机自动需求对IC卡进行读写,再把读/写卡的时间一起存到存储器中,计算机可以通过串口把相关读/写卡信息读到计算机上,再进行统计、报表和打印输出等。系统框图如图2.1所示。 图2.1 IC卡读写器系统结构框图3 系统硬件设计与实现3.1 电源模块该电源按常规设计,为系统工作提供所需电源,其输入为220V、50Hz交流电,输出电压等级为5V,电路原理图如图3.1所示。该部分主要采用78系列稳压器,结构简单,调整方便,输出电压纹波小。当所需电流超过稳压器标定值时,可采用外接功率管的方法来扩大输出电流。市电交流220V经变压器降压为交流6V,经过全桥整流输出直流电流,再经过1000F的电解电容滤波,除去整流后的交流成分,送至各三端稳压器,输出需要的电压。经过各三端稳压器稳压后,在LM7805输出端输出+5V直流电压,LM7905输出的端输出-5V直流电压10。图3.1 5V直流稳压电源3.2 人机接口模块本系统的人机接口部分采用LCD显示、32矩阵式键盘,用来实现对IC 卡的操作和系统设置等功能。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公司开发的具备功耗低、接口容易串行实时时钟芯片。在本设计中使用的DS1302为8脚DIP封装形式,其中1脚和8脚为电源电压引脚,单电源供电时接8脚,双电源供电时,主工作电源接1脚,备份电源接8脚。2脚和3脚为32.768KHz晶振引脚;5脚RST为复位端,若其被置为低电平,则中止所有数据传送,I/O脚变为高阻态,系统复位;6脚I/O为数据输人/输出端;7脚SCLK为串行时钟输入端,所有地址/命令字节和数据字节都是在时钟的同步控制下从I/O脚串行输入输出的。DS1302通过SCLK、I/O、RST三根线与外部进行同步串行通信。(2)DS1302与单片机的连接在本设计中采用单片机的P1.0-P1.2与DS1302进行数据通信,以提供系统所需的时钟,其连接方法如图3.3所示。图3.3 DS1302与单片机接口电路3.4 存储模块在本设计中采用串行E2PROM芯片AT24C64作数据存储器。AT24C64 是ATMEL公司生产的采用I2C 总线标准常用的串行E2PROM 存储芯片,其支持I2C总线数据传输协议,64K(bit)存储器容量,用两根线与CPU构成串行接口。AT24C64一般具有两种写入方式,一种是字节写入方式,还有一种是页写入方式。AT24C64的读操作有当前地址读、随机读、多字节读三种方式。AT24C64其主要管脚功能描述如下:SCL,串行时钟。这是一个输入管脚,用于产生器件所有数据发送或接收的时钟;SDA,串行数据/地址。这是一个双向传输端,用于传送地址和所有数据的发送或接收;A0、A1、A2,器件地址输入端,这些输入端用于多个器件并联时设置器件地址11。在系统中采用单片机的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非接触式通信中高集成读卡IC系列中的一员。该读卡IC系列利用先进的调制和解调概念,完全集成了在13.56MHz下所有类型的被动非接触式通信方式和协议。MF-RC500支持IS014443A所有的层,其功能框图如下:图3.5 MF-RC500的功能框图MF-RC500内部包括并行微控制器接口、双向FIFO缓冲区、中断、数据处理单元、状态控制单元、安全和密码控制单元、模拟电路接口及天线接口。MF-RC500外部接口包括数据总线、地址总线、控制总线、电源等。MF-RC500的并行微控制器接口自动检测连接的8位并行接口的类型。它包含了一个双向FIFO缓冲区和一个可配置的中断输出,这样就为连接各种MCU提供了很大的灵活性,即使使用非常低成本的器件也能满足高速非接触式通信的要求。数据处理部分执行数据的并行-串行转换12。状态和控制部分允许对器件进行配置以使性能调节到最佳状态。模拟电路包含一个具有非常低阻抗桥驱动器输出的发送部分,这使得最大操作距离可达100mm,接收器可以检测到非常弱的应答信号。MF-RC500管脚如图3.6所示。图3.6 MF-RC500管脚图该器件为32脚SO封装,器件使用了3个独立的电源以实现在EMC特性和信号解耦方面达到最佳性能。MF-RC500具有出色的RF性能并且模拟和数字部分可适应不同的操作电压,其驱动、模拟、数字部分分别使用单独电源供电。表3.1 天线连接管脚名称类型功能TX1,TX2输出缓冲天线驱动器VMID模拟参考电压RX输入模拟天线输入信号 为了驱动天线,MF-RC500通过TXl和TX2提供13.56MHz的能量载波。根据寄存器的设定对发送数据进行调制得到发送的信号。智能卡采用RF场的负载调制进行响应。天线拾取的信号经过天线匹配电路送到RX脚,RC500内部接收器对信号进行检测、处理,然后将数据发送到并行接口由微控制器进行读取。表3.2 MF-RC500并行口控制管脚名称类型功能D0.D7带施密特触发器的I/O双向数据总线A0.A2带施密特触发器的I/O地址线NCS带施密特触发器的I/O片选ALE带施密特触发器的I/O地址锁存使用LRQ输出中断请求3.5.2 天线模块的设计为了同非接触式智能卡通信,读卡器内必须有能发射和接收射频信号的天线。天线用于产生磁通量,而磁通量用于向应答器提供电源并在阅读器和应答器之间传送信息。因此,对读卡器天线的构造有了三个基本的要求: 使天线线圈的电流i1最大,用于产生最大的磁通量; 功率匹配,以最大程度地利用产生磁通量的可用能量; 足够的带宽,以无失真地传送数据调制的载波信号13。(1)天线尺寸和读写距离由于MF-RC500是低功耗设计,因此卡和天线之间的耦合系数必须符合一定的值,卡和天线之间的耦合系数不能低于0.3。天线一般设计为三圈,可以设计为圆形或者方形天线。天线的直径必须介于0.5-1.5mm之间。表3.3 给出了卡和天线的耦合系数为0.3 时的天线大小和读写距离关系表。表3.3 天线大小和读写距离关系表大小(mmmm)读写距离(mm)50507655410855412根据技术指标以及尺寸等方面的要求,要本设计中读写器天线参数如下:天线形状:方形天线天线圈数:三圈几何尺寸:65mm54mm天线导体直径:1mm(2)天线电感的计算天线的电感必须介于800nH和4.2H之间。天线的电感通过下列公式计算: (3.1)其中: L读卡器天线电感,H; I天线导体长度,cm; D天线导体宽度,cm; N天线导体圈数; P由天线线圈的技术而定的N的指数因子。上述天线线圈的电感公式只能作为首次估测之用,实际的天线线圈的电感必须通过仪器测量而定,但偏差不会很大。根据以上公式以及本设计中的参数,P值取1.6,计算出的天线的电感L得1895H。(3)EMC电路及接收电路EMC电路:射频识别系统的工作频率为13.56MHz,是由一个石英晶振产生的,同时它还产生更高频率的谐波,为了确保能够有效抑制三次,五次和更高次的谐波对信号的干扰作用,需要有一个低通滤波器来滤除这些高次谐波。接收电路:MF-RC500内部的信号接收部分使用由子载波的双边带调制出的信号,为了减少干扰,在地和VMID间接了一个电容,接收部分需要在Rx和VMID脚之间接一个电阻分压结构。另外,在天线线圈和分压器之间串一个电容会获得质量更高的信号14。滤波器与接收电路的电路原理图如图3.6所示。图3.7 EMC及接收电路(4)天线电路图天线电路图如图3.8所示。图3.8 天线电路图中电容C2A_a、C2A_b、C2A_a、C2A_b、(通称C2)的值是由天线的电感值决定的,且需要根据天线的形状进行调整。C2电容的大小严格影响读卡器的性能,这就需要在确定了卡的类型之后在实际的使用环境中进行试验,确定不同的C2值,使读卡器具有最好的性能表现。RC500有一个内部信号驱动管脚AUX,当读卡器发出某一指令时,可以使用示波器观察该引脚的输出信号,不断改变卡与读卡器之间的距离和C2值,示波器输出不同的波形,根据不同的波形即可确定读卡器最好性能的C2值15。在本课题设计中,根据天线的参数进行试验,得到的最终C2值如表3.4所示。表3.4 C2电容值表电容值(pF)C2A_a80C2A_b80C2A_a80C2A_b80(5)天线的品质因数和匹配电阻用于电感耦合式射频识别系统的天线,其特征值是谐振频率f0和品质因数Q。较高的品质因数Q值会使天线线圈中的电流强度大,由此改善对应答器的功率改善情况。与之相反,天线的传输带宽刚好与品质因数成反比例变化,选择的品质因数过高会导致带宽缩小从而明显地减弱应答器接收到的调制边带。电感读卡器天线的品质因数可以通过线圈电阻与线圈电阻的欧姆损耗和/或串联电阻的比值计算出来,公式如下: (3.2)其中fR=13.56MHz,由前面的分析可以知道天线的感抗LANT和阻抗RANT,也可以用仪器测出来。一般情况下Q值在10到50之间,作为数据传输过程这个值还会减小,数据从读卡器到射频卡使用米勒编码,脉冲宽度为T=3s,带宽B定义如下: (3.3)所以Q值: (3.4)考虑到温度漂移等其他因素的影响,实际上可以把Q值定在35是一个比较合理的值。考虑到在估算中减小了Q值,所以这里需要外加一个电阻来调节天线的品质因素,可以用下面的公式来计算REXT: (3.5)3.5.3 MF-RC500与AT89S52连接图MF-RC500与AT89S52连接图如图3.9所示,图中单片机AT89S52作为控制核心,主要完成数据采集、处理、存储及控制电路工作;MF-RC500 支持不同的微控制器接口,一个智能的自动检测逻辑可以自动适应系统总线的并行接口。图中使用信号NCS选择芯片。对于MF-RC500,若要使用独立的地址和数据总线与微控制器相连,必须将ALE脚连接到DVDD,若使用复用的地址和数据总线与控制器接口,必须将ALE脚连到微控制器的ALE信号。在本设计中,该读写器采用地址数据总线复用方式与微控制器相连。在对MF-RC500进行读写操作时,若要使用NWR和NRD与微控制器相连,则这两个引脚应该连接到微控制器的读写管脚上。图中使AT89S52的WR和RD管脚分别与MF-RC500的NWR管脚和NRD管脚相连来控制读写使能;MF-RC500工作频率由石英晶体而产生,同时与OSCIN管脚相连可作为外部时钟;P3.2管脚与MF-RC500的IRQ管脚相连用以接收中断请求;由图可以看出,本系统采用中断(INT0)工作模式,即MCU利用MF-RC500提供中断信息对其进行控制。另外,根据系统的需要,可以采用查询方式对MF-RC500进行操作。图3.9 MF-RC500与AT89S52连接图3.6 通信模块本智能卡读写器采用RS232标准来实现读卡器和上位机之间的通信,能实现RS232通信协议的芯片很多,其中MAXIM公司生产的MAX232是一款比较优良的RS232通信芯片。选取它的主要依据在于:单5V电源供电,与读卡器里其它芯片的工作电压相同;符合所有EIA/232E标准;多路输入输出。MAX232其引脚功能说明如表3.5所示。表3.5 MAX232引脚说明引脚名引脚说明引脚名引脚说明T2outRS232输出R1inRS232输入R2inRS232输入T1outRS232输出R2outTTL/CMOS输出GND地T2inTTL/CMOS输入VCC电源T1inTTL/CMOS输入R1outTTL/CMOS输出在硬件电路连接上采用三线制(RXD、TXD、GND)软握手的零MODEM方式,即将PC机和单片机的发送数据线(TXD)与接收数据(RXD)交叉连接,二者的地线(GND)直接相连,而其它信号线、如握手信号均不用,而采用软件握手,这样既可以实现预定的任务又可以简化电路设计、节约成本。MAX232与AT89S52的电路连接如图3.10所示。图3.10 MAX232与AT89S52的连接图4 系统软件设计与实现非接触智能卡系统的软件设计可分为四部分,分别为主程序设计、RC500的读/写程序的设计、读卡器外围基本电路的应用程序设计和通信部分程序的设计。主程序主要包括:IC卡读/写/密码验证/擦除操作程序,RC500通信中断处理程序,键盘中断处理程序,PC机通信中断处理程序,显示程序及存储器读写程序等,对MF-RC500的应用程序的设计也即是对MF-RC500操作指令的程序设计,对读卡器外围基本电路程序的设计包括LCD显示程序设计、键盘扫描程序设计、数据存储程序设计和RS232通信程序设计。4.1 软件设计环境一个好的程序设计思想,加上适当的编译软件、仿真器和编程器,是单片机软件开发的基本要求。本系统程序的设计以模块化和结构化的设计思想为指导。单片机开发所使用的语言一般为汇编语言。汇编语言的优点是代码生成效率高,程序运行速度快,其缺点是程序的可读性和可移植性都较差,而且用汇编语言编写单片机应用系统程序的周期长,调试和排错比较困难。C语言是一种通用的计算机程序设计语言,在国际上十分流行,它既可用来编写计算机的系统程序,也可用来编写一般的应用程序。用它编写的程序,具有较好的可读性和可移植性。有经验表明,用C语言编写的程序生成代码的效率仅比用汇编语言编写的程序1020%。德国Keil软件公司的C51编译器可以直接对8051单片机的内部特殊功能寄存器和I/O口进行操作,直接访问片内或片外存储器,还可以进行各种位操作,能产生简洁、高效率的程序代码,在代码质量上可以与汇编语言相媲美。因此系统在设计中多数的程序使用了C语言进行设计,少数的一些程序用汇编语言编写,用C语言进行调用。4.2 主程序的设计读卡器工作的过程是一个复杂的程序执行过程,要执行一系列的操作指令,调用多个函数。其主要包括键盘扫描、LCD显示、读写E2PROM、读/写卡及与上位机通信等。这一系列的操作必须按固定的顺序进行。在没MF1卡进入射频天线有效范围内时,在LCD液晶上显示当前时钟,当有MF1卡进入到射频天线的有效范围内时,读卡程序验证卡及密码成功后,将卡号和读卡时间作为一条记录存入E2PROM存储器中,并在LCD显示器上显示该卡的卡号等信息。读卡器的主程序主要由下位机来完成,单片机中的程序主要包括:IC卡读/写/密码验证/擦除操作程序,与RC500通信中断处理程序,键盘中断处理程序,与PC机通信中断处理程序,显示程序及存储器读写程序等等16。读卡器的主程序流程图如图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收到指令之后执行这些指令。MF-RC500的指令主要有:Request std,Request all,Anticollision,Select,Authentication,Read,Write,它们可以完成MCU对MIFARE非接触式智能卡的很多应用场合的控制。MCU对MF-RC500的某一指令操作不是简单的一条指令所能完成的,必须有一个程序的序列来完成,其中有对MF-RC500硬件内核寄存器的读/写以及根据读出的硬件内核寄存器的内容进行语言软件上的判断和设置。不同的指令将设置不同的MF-RC500内部寄存器以及应有不同的编程语言程序序列。MF-RC500具体指令说明及程序设计如下:(1)“Answer to Request”(应答或复位应答)表4.1 复位应答指令指令指令代码(hex)相关的出错标志接收卡片上数据Request std26TE,BETag typeRequest all52Request指令将通知MF-RC500在天线有效的工作范围内寻找WARE卡片。如果有MIFARE卡片存在,这一指令将分别与MIFARE卡片进行通信,读取WARE卡片上的卡片类型号TAGTYPE,由MF-RC500传递给MCU,进行识别处理。Request指令分为Request std和Request all两个指令。Request all指令是非连续性的读卡指令,只读一次,它可以防止MF-RC500选择同一卡片好几次。当某一张卡片在MF-RC500天线的有效工作范围内,Request all指令在成功地读取这一张卡片之后,将一直等待卡片的使用者拿走这张卡片,直到有新一张的卡片进入M- RC500天线的有效工作范围内。Request std指令的使用和Request all指令相反,Request std指令是连续性的读卡指令。当卡片在MF-RC500天线的有效工作范围内,Request std指令在成功地读取这一张卡片之后,对卡进行其他操作。如果其他操作完成之后,程序员又将MF-RC500进入Request std指令操作,则Request std指令将连续性地再次进行读卡操作,而不管这张卡片是否被拿走。只要有一张卡片进入MF-RC500之天线的有效的工作范围内,Request std指令将始终连续性地再次进行读卡操作。(2)“Select Tag”(选择卡片操作)表4.2 选择卡片指令指令指令代码(hex)相关的出错标志接收卡片上数据Select Tag(选择片)93TE,BE,PE,CESize在一个成功的AntiCollision指令之后,或在任何时候当程序员想与已知序列号的卡片进行通信时,必须使用Select指令,以建立与所选卡的通信。Select指令成功地完成后,MCU将得到MF-RC500的DATA寄存器传送来的一个字节长的卡片容量信息S

温馨提示

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

评论

0/150

提交评论