资源描述
摘要本科毕业论文CDIO空间门禁系统开发摘要本论文主要研究了本校CDIO门禁系统中的应用。射频识别是一种通信技术,该技术可以通过无线电讯号识别特定目标并读写相关数据。论文课题在分析当前射频智能卡及其读卡器研发现状的基础上,运用C8051F340和MFRC522组成射频读卡系统, 并通过上位机来实现IC卡授权的管理。论文主要内容与成果概括如下。(1) 分析和总结了 RFID 技术方面的文献资料,并在分析 RFID 技术的要点及其在国内外的发展现状的基础上,对系统总体进行了设计。(2) 设计和制作了基于 C8051F340 的射频读卡硬件系统,包括 C8051F340 及MFRC522 外围电路的设计以及在此基础上的 PCB 布板的设计。(3) 在硬件设计的基础上,完成了系统软件程序的设计。主要包括上位机程序的设计与实现。关键词: 射频识别,C8051F340,MFRC522,上位机IIAbstractAbstract This paper mainly studies the application of CDIO entrance guard system. RFID is a kind of communication technology, the technology can be through the radio signals identify specific target and reading and writing data. Paper topic in the analysis of the current RF smart CARDS and reading and card reader based on the status quo of research and development, the use of C8051F340 and MFRC522 RF reading card system, And through the PC to realize the IC card authorization management. Paper main content and achievements summed up as follows.(1) This paper analyzes and summarizes the literature of RFID technology, the overall system is designed based on the analyzing main points of RFID technology and the development status at home and abroad.(2) It designs and makes the hardware system of the C8051F301-based RF reader including the C8051F340 and MFRC522 peripheral circuit design .On this basis, it also designs the PCB layout.(3) On the basis of the hardware design, it completes system software design including system firmware, host computer program design and implementation. Key words: RFID, C8051F340, MFRC522,upper computer目录目录1.系统概述11.1绪论11.2 IC卡简介21.3射频技术31.4系统需求分析51.5系统要实现的功能71.6、系统设计方案71.7系统总体设计81.8本章小结82.系统硬件设计92.1读卡模块92.1.1射频芯片MFRC522简介92.1.2 MFRC522 结构框图102.1.3 MFRC522 电路连接112.1.4 RC522主要烧录程序122.2控制模块122.2.1 C8051F340 芯片介绍122.2.2 C8051F340电路连接152.2.3 C8051F340控制程序162.3 PCB电路板设计172.3.1 C8051F340和RC522的控制芯片PCB设计172.4本章小结213系统软件设计223.1简介223.1.1编程软件的选择及系统主程序处理流程223.2数据管理系统224.上位机软件与数据库开发244.1软件功能需求分析244.2功能分配与模块设计244.2.1系统设置244.2.2卡务管理254.2.3门禁管理254.3 上位机软件具体设计与实现264.3.1上位机结构与程序设计264.3.2函数和类的设计274.4上位机运行截图及核心代码294.4.1上位机启动294.4.2卡号添加窗口304.4.3卡号添加窗口代码304.5数据库设计334.6系统出错处理334.7本章小结345系统测试356.总结与展望366.1全文总结366.2 展望36致 谢38参考文献39河北工程大学毕业设计说明书371.系统概述1.1绪论 目前,门禁系统己成为安全防范系统中极其重要的一部分,在一些发达国家中,门禁系统之所以能在众多安防产品中脱颖而出,根本原因是因为其改变了以往安防产品如闭路监控,防盗报警等被动的安防方式,以主动地控制替代了被动监视的方式,通过对主要通道的控制大大地防止了罪犯从正常通道的侵入,并且可以在罪案发生时通过对通道门的控制限制罪犯的活动范围制止犯罪或减少损失。 近年来,门禁系统由于其自身的优势,已在国内悄然兴起,包括邮电系统,供电系统,银行系统,住宅小区,度假村等各种类型的场所都有使用门禁系统的范例,通过这套系统的使用极大地提高了管理者的工作效率和管理区域内的安全程度。同时,随着信息技术的不断发展,社会经济的日新月异,IC(集成电路)智能卡也正在并融入当今信息技术的主流。它以其高度的信息集成,高度的安全性逐渐代替磁片而广泛应用在许多领域中,如电子交易,公共交通行业,电话通信,身份识别以及有出入权限控制的门禁系统等等,从而使人们的日常生活变得更为便捷、高效。非接触式(射频)IC卡由IC芯片、感应天线组成,并完全封装在一种标准的塑料卡片中,无外露部分,读写操作通过无线电波来完成,具有磁卡和接触式IC片不可比拟的优点,因此它一经产生就以惊人的速度得到了推广应用。在本文所介绍的基于MFRC522射频门禁系统中,持卡人只需将卡片放在读卡器的有效距离内,即完成开门过程。随着社会经济的发展,城市面貌发生了巨大的变化,高楼大厦拔地而起,随之也产生了不少安全隐患,利用高科技手段犯罪的行为日益增多。怎样才能使人们的安全防范措施跟得上科技的发展,并且更有效的阻止犯罪行为呢? 仅仅靠传统的门锁和防盗门是远远不够的。“智能门禁系统”应运而生,它的出现打破了传统的由人来看门的方式白天有人站岗守门,晚上铁锁防护,而是仅用手中薄薄的一张卡片在读卡器有效距离内,大门就可自动开启,既方便又快捷。智能门禁系统置身于现代化大厦和生活小区内,给都市生活增添了风采。门禁系统是对出入口通道进行管理的系统,它是在传统的门锁基础上发展而来的。传统的机械门锁仅仅是单纯的机械装置,无论结构设计多么合理,材料多么坚固,人们总能通过各种手段把它打开。在出入人口很多的通道(象办公室、酒店客房),钥匙的管理很麻烦,钥匙丢失或人员更换都要把锁和钥匙一起更换。为了解决这些问题,就出现了电子磁卡锁和电子密码锁。这两种锁的出现从一定程度上提高了人们对出入口通道的管理程度,使通道管理进入了电子时代,但随着这两种电子锁的不断应用,它们本身的缺陷就逐渐暴露。磁卡锁的问题是信息容易复制,卡片与读卡机具之间磨损大,故障率高,安全系数低。密码锁的问题是密码容易泄露,又无从查起,安全系数很低。这个时期的门禁系统还停留在早期不成熟阶段,因此当时的门禁系统通常被人称为电子锁,应用也不广泛。近几年,非接触式CI卡在门禁市场上意气风发,由于它可以防水防污、防尘和潮湿等恶劣环境,而其免刷卡动作,感应速度快,除了方便外,更可避免卡与读写器之间的摩擦,降低机器故障率及器材损耗,且感应式读卡系统具备隔墙感应的特性,可兼顾隐密性与装潢设计之美观。再者,由于非接触IC卡的大容量读写存储特性,使感应卡门禁与考勤、计费、停车场等功能相结合,提升了系统性能及潜在价值。因此,专家认为,非接触式CI卡系统是门禁市场的主流方向。1.2 IC卡简介 IC卡,又称“集成电路卡”、“智能卡”, 有些国家和地区也称智能卡(smart card)、智慧卡(intelligent card)、微电路卡(microcircuit card)或微芯片卡等。它是将一个微电子芯片嵌入符合ISO 7816标准的卡基中,做成卡片形式。 IC卡读写器是IC卡与应用系统间的桥梁,在ISO国际标准中称之为接口设备IFD(Interface Device)。IFD内CPU通过一个接口电路与IC卡相连并进行通信。IC卡接口电路是IC卡读写器中至关重要的部分,根据实际应用系统的不同,可选择并行通信、半双工串行通信和I2C通信等不同的IC卡读写芯片。非接触式IC卡又称射频卡。芯片一般是不易挥发性存储器(ROM、EPRMO、EEPROM),保护逻辑电路,甚至于CPU(中央处理单元)。IC卡的概念是20世纪70年代初提出来的,1976年法国BULL公司和Motorola公司合作生产了世界上第一张过渡型IC卡产品,并将这项技术应用到金融、交通、医疗、身份证明等多个行业。它将微电子技术和计算机技术结合在一起,提高了人们生活和工作的现代化程度。IC卡芯片具有写入数据和存储数据的能力,IC卡存储器中的内容根据需要可以有条件地供外部读取,或供内部信息处理和判定之用。卡内存储有唯一的发行人和持卡人的识别标志,用以唯一的确定卡的身份。IC卡的应用领域可以说非常广泛,它除了覆盖传统磁卡的全部应用领域外,还扩展了许多磁卡所不能胜任的领域,这很大程度上归功于IC卡的大容量的数据存储能力与强有力的安全特性。IC卡的应用可分为金融系统应用和非金融系统应用,在某些场合这两种应用又有着紧密的联系。在金融领域中IC卡可作为信用卡、现金卡、证券卡或电子资金转帐卡等;在非金融领域中,如IC卡预收费系统、IC卡门禁、IC卡考勤系统、公交一卡通系统等。IC卡工作的基本原理是:射频读写器向IC卡发一组固定频率的电池波,卡片内有一个LC串联谐振电路,其频率与读写器发射的频率相同,这样在电磁波激励下,LC谐振电路产生共振,从而使电容内有了电荷;在这个电容的另一端,接有一个单向导通的电子泵,将电容内的电荷送到另一个电容内存储,当所积累的电荷达到2V时,此电容可作为电源为其它电路提供工作电压,将卡内数据发射出去或接受读写器的数据。随着超大规模集成电路技术、计算机技术以及信息安全技术等的发展,IC卡逐渐形成了各种类别、不同工作方式的产品系列的家族。根据镶嵌的芯片不同,可将IC卡划分为:存储卡、逻辑加密卡、CPU卡和超级智能卡;根据卡与外界数据交换的界面不同,可将IC卡划分为:接触式IC卡、非接触式IC卡和双界面卡;根据卡与外界进行交换时的数据传输方式,可将IC卡划分为:串行IC卡、并行IC卡:根据卡的应用领域不同,可将IC卡划分为:金融卡和非金融卡。1.3射频技术 射频识别技术起源于80年代中期,与条码、磁条等同期或早期识别技术相比,射频识别技术具有无接触、工作距离大、精度高、信息收集处理快捷及较好的应用环境适应性等一系列优点,在近年来获得了极为迅速的发展。目前,射频识别技术广泛应用于工业自动化、商业自动化、交通运输控制管理等众多领域。据有关权威数据显示,射频识别产品在全世界的销售量,1993年为990万套,1994年就猛增到2030万套,到1997年有关产品的销量为9810万套。世界范围内射频产品的销售额,1989年为8050万美元,1992年为14120万美元,1997年为43250万美元,1999年则为68500万美元,其中在1992-1999年间射频识别产品在全世界销售额的年平均增长率达25.3%。一个典型的射频识别系统由两部分组成,一是寻呼器,另一个是被称为射频识别标志的应答器。其中寻呼器的主要组成部分是无线收发机,在应答器内装有感应线圈(天线)及有关应用标识信息的存储器,其工作过程为:(1)寻呼器发射无线激励信号及有关询问信号;(2)应答器进入寻呼器工作区域内,被寻呼器信号激励并发射应答信息;(3)寻呼器接收应答器的应答信息,进行进一步处理。基于不同应用,对应答器的体积、性能等的要求各不相同,所以应答器是射频标识技术的关键。应答器的主要组成、功能及其应用特点如下:(l)具有信息存储、处理能力;(2)可接收、发射无线信号,外围部件少,功耗低,能在低电压下工作;(3)依据不同需要具有天线、射频/微波探测器、调制器、解调器、控制逻辑及存储器等部件:(4)有的应答器具有电池或外接电源,有的应答器甚至省去了电源,而由寻呼器通过无线方式对其供电;(5)体积小巧、结构多样(有圆形、方形等),适合不同应用等等;(6)多种工作距离。其中,无内部电源的应答器在射频卡上应用较多。目前,国际上有多家厂商致力于射频识别技术的研究及市场开发,其中较为著名的如美国德州仪器公司(TI)、荷兰飞利浦公司(Phi1iPs)等。现以美国TI公司生产的一种无内部电源应答器为例说明其工作原理,此种应答器主要由一个ADS集成电路、一根天线及2个片状电容组成。系统工作时的具体过程为:(1)应答器进入寻呼器工作区域后,接收到寻呼器发射的脉冲信号;(2)此信号经桥式整流之后对电容器进行充电,稳压器使电容器两端的电压维持在2V左右,以便给集成电路提供工作电压;(3)CMOS集成电路中的有关控制逻辑电路对接收到的脉冲信号进行解码;(4)根据解码信息判断寻呼器的命令要求,若仅仅是读取信息则控制逻辑电路从存储器中读取有关信息;若是修改信息则有关控制逻辑启动内部电压泵将2V工作电压提升到15V,以便对存储器(EEPROM)中内容进行重新写入编程;(5)当电容放电时,发射电路就将从存储器中读取的数据信息及相关响应信息发射给寻呼器;(6)寻呼器(或应用终端)对接收到的信息进行处理。目前,射频识别系统使用的频段分为低频及高频两类。其中,低频段的频率为125kHZ,高频段的频率有908k92OkHz、1.2GHZ、2.4GHz及5.2GHz等。当然,工作频率越高,应答器和寻呼器之间的通讯速率就越快,系统的工作时间就越短,但功耗越大。 目前,在国外射频技术的主要应用有工厂生产产品的自动跟踪,试验动物跟踪,商品分类管理,汽车防盗,航空公司的机场管理等等。下面以汽车防盗应用为例,介绍射频识别技术的应用特点。应答器放置在汽车点火钥匙中,寻呼器放置在汽车驾驶杆等部件中,当要点火启动汽车时,寻呼器若没有接收应答器发射的标志信号则禁止启动汽车。同样的系统,若将应答器放置在车门钥匙中,寻呼器放置在车门内,射频技术应用于汽车防盗大大提高了汽车的安全性。目前,越来越多的汽车公司将射频技术应用于汽车防盗系统。在最近的几年中,美国福特汽车公司在其销往欧洲的50万辆汽车中安装射频识别系统,价值达2500万美元。从1995年开始,德国也要求所有新出厂的汽车都安装这种安全系统。射频卡技术是射频识别技术和IC卡技术相结合的产物。如果从射频识别技术角度出发,可以认为射频卡是一种相对特殊的射频识别标志(即应答器),其读写设备就是寻呼器。如果从IC卡技术的角度出发,也可以认为射频识别产品是一种特殊的无接触式IC卡,其寻呼器即为读写设备。当然,将射频识别技术用于无接触式IC卡也对它产生了特殊的要求,以满足卡的要求,从技术上看主要有以下两点:(1)由于IC卡的尺寸限制,卡上的应答器不能有电源系统,需要由寻呼器(读写设备)通过无线方式供电;(2)由于IC卡的尺寸限制,卡上应答器的天线需要特殊设计,卡需要特殊封装和制造。此外,由于无接触式IC卡特殊的应用环境,卡上应答器还需具有如下特点:(1)操作快捷;(2)高抗干扰性,能“同时”操作多张卡片;(3)高可靠性;(4)可以适合于多种应用。无接触式IC卡和接触式IC卡相比具有以下特点:(1)无接触式通讯不存在机械触点磨损情况,大大提高了应用的可靠性;(2)因为无接触式通讯,所以不必插拔卡,大大提高了使用的速度;(3)可以同时操作多张无接触式IC卡,提高了应用的并行性,提高了系统的工作速度;(4)由于无接触式通讯,卡上无机械触点,便于卡的印刷,提高了卡的使用可靠性和美观性。正因为如此,无接触式IC卡非常适合于以前接触式IC卡无法或较难满足要求的一些应用,如公共电汽车自动售票系统等,将IC卡的应用在广度和深度上大大推进了一步。 1.4系统需求分析 CDIO工作空间是开展CDIO教学重要的场所,工作空间对部分师生开放,为了有效地对进入CDIO工作空间的师生进行有效地管理和控制,特设计本方案。图1-1房间分布图图1-1中是CDIO工作空间的房间分布示意图,计划在每个房间(12个)的每个门(21门)都安装门禁控制系统,对师生的进门进行监控和管理。所有的门禁控制系统都采用485总线方式连接到一台管理主机,如图1-2所示: 门控1门控2门控21管理主机485总线图1-2 系统拓扑图管理主机通过485总线与各门禁控制系统通信,实现授权、取消授权、刷卡记录保存、查询、统计及信息管理等功能。授权:管理主机先读取卡号,然后将卡号下发到相应的门控系统,门控系统保存卡号。取消授权:管理主机将需要取消授权的卡号下发至门控系统,门控系统从存储器中删除卡号。刷卡记录:师生在刷卡某个门控系统刷卡后,门控系统将卡号上传至管理主机,管理主机保存到数据库。查询、统计及信息管理:可以通过浏览器登录管理主机,进行相关信息的查询、统计和管理。每个门禁控制系统的构成如图1-3所示:直流稳压电源模块输入:AC220V输出:DC12V电控锁控制器读写器继电器485总线电源线信号线图1-3 门禁控制系统构成框图直流稳压模块:每个门禁控制系统配置一套电控锁专用稳压电源(内置继电器),可为读写器、控制器和电控锁供电。读写器:负责与射频卡进行无线数据通信,主要功能包括识别卡号,读取/写入卡数据。电控锁:采用常闭锁,一般处于关闭状态,控制器可以发信号开锁。控制器:这是整个门禁控制系统的核心。主要功能包括读卡、判断授权状态、开门、响应管理主机的命令、主动上传读取到的卡号等。控制器能够接收管理主机发来的授权命令和卡号,并将卡号存储起来,掉电不丢失;能够接收管理主机发来的取消授权命令和卡号,并将卡号从存储器中删除。能够通过读写器进行读卡,当读取到卡号以后,可以根据存储的卡号进行比对,来判断授权状态,如果是授权的,则通过继电器向电控锁发送开门指令。不管卡号是否经过授权,都能将卡号发往管理主机,由管理主机保存到数据库。1.5系统要实现的功能1、每个房间的每个门都安装门禁控制系统,对师生的进入进行监控和管理。2、对于经过授权的教师和学生,均可刷卡开门并进入房间,而未经授权的则不能进入。3、与现有的校园一卡通兼容,师生均使用校园一卡通的校园卡。4、每个房间、每个门的授权相对独立,与其它房间无关。5、可以保存、查看每个门的刷卡记录,查询、统计每个房间的人气和利用率。6、信息管理:对门禁系统的所有信息进行计算机管理。1.6、系统设计方案方案1:整个系统采用一台管理主机进行集中管理。优点:数据集中,有利于进行后期的维护、系统升级以及增值业务(如系统扩展、与其它系统联网、报表服务等)的开发;整个系统硬件投入较小。缺点:管理主机服务器软件、授权管理软件开发难度较高。方案2:每个房间设置一台管理主机,管理1或2套门禁控制系统。优点:各个房间的系统相互独立,授权管理任务可由各房间的教师或管理员分担。缺点:整个系统硬件投入较大;还需配备专门人员进行管理;若需要保存每个房间的访问记录,每个房间都要保证管理主机24小时开机不间断运行。每个房间的数据分散到各管理主机上,不利于系统的更新、升级和增值业务开发。读写器、控制器、上位机管理软件等核心部分,均为我校师生开展CDIO工程实践项目过程中,自行设计、开发的产品,系统工作可靠,运行稳定。整个系统符合通用的物联网架构,接口协议清晰规范,系统可扩充能力强,在后续的CDIO教学项目中,还可以进一步完善和升级,开发新的服务,是开展电气信息类CDIO工程教学改革的一个非常好的实践平台。1.7系统总体设计在简要概括系统设计和实现过程中所涉及到的几项关键技术的基础上,系统的总体设计便成为了可能。本系统总体上是由硬件和软件组成的,但从功能上划分主要由三个部分构成:系统硬件:硬件是一个系统的实体基础,它提供了软件运行的环境,使软件有了用武之地;固件程序:MCU 的灵魂,周而复始的工作者,不知道疲惫的劳动模范;上位机软件:最人性化的服务窗口,最易于被用户接受。 如下图1-2 所示为本系统的系统框架图,对图中各模块的功能实现可作以下解释:先由PC管理机传达操作指示给C8051F340,微控制器接收到命令后根据指示通过SPI通信方式控制读写模块 MFRC522 驱动天线对IC卡进行相关操作,然后根据从卡中取得的数据控制发光极管和蜂鸣器等进行声光提示响应操作,同时 MCU 把用户数据或错误信息通过 USB 接口通信传给 PC 管理机进行处理,由 PC 管理机统一管理数据。图1-4系统框架图1.8本章小结本章首先介绍了本系统开发过程中使用到的基础技术,有侧重点地阐述了这些技术的精髓,对IC卡的逻辑结构及存储结构做了简单介绍,阐述了 RFID的系统组成及分类,对本论文的总体框架做了详细分析,系统需求分析,系统实现的功能,系统选择的方案,最后给出了系统总体设计框架。2.系统硬件设计2.1读卡模块在系统总体设计的基础上,整个读卡模块的硬件部分由三大部分组成:(1) 主控 MCU:主要提供对射频基站芯片的控制操作,同时提供 SPI 接口形式的外部 MCU 控制。这种控制操作体现在两个方面:一,主控 MCU 通过 SPI 串行接口与射频基站芯片连接,控制射频基站芯片的工作,实现与 RFID 卡的通信。二,外部 MCU 可以通过 SPI 串行接口与主控 MCU 连接,由外部 MCU 控制射频基站芯片的工作,实现与 RFID 卡的通信。 (2) 射频基站芯片:它负责接收主控 MCU 的控制信息,并完成与 RFID 卡的通信操作。为了正常工作,射频基站芯片须选用合适的接口与 MCU 连接。而为了发送、接收稳定的高频信号,射频基站芯片要通过高频滤波电路与天线部分连接。(3) 天线部分:包括线圈及匹配电路,这是读卡模块实现射频通信必不可少的一部分。读卡模块要依靠天线产生的磁通量为 RFID 卡提供电源,从 RFID 卡获取信息。为使天线正常工作,天线线圈要通过无源的匹配电路连接射频基站芯片的天线引脚。2.1.1射频芯片MFRC522简介MFRC522是高度集成的非接触式(13.56MHz)读写卡芯片。此发送模块利用调制和解调的原理,并将它们完全集成到各种非接触式通信方法和协议中(13.56MHz)。MFRC522发送模块支持下面的工作模式:读写器,支持ISO14443A/MIFAREMFRC522的内部发送器部分可驱动读写器天线与ISO14443A/MIFARE卡和应答机的通信,无需其它的电路。接收器部分提供一个功能强大和高效的解调和译码电路,用来处理兼容ISO14443A/MIFARE的卡和应答机的信号。数字电路部分处理完整的ISO14443A帧和错误检测(奇偶&CRC)。MFRC522支持MIFAREClassic(如,MIFARE标准)器件。MFRC522支持MIFARE更高速的非接触式通信,双向数据传输速率高达424kbit/s。可实现各种不同主机接口的功能:SPI接口串行UART(类似RS232,电压电平取决于提供的管脚电压)I2C接口。特性:(1)高度集成的模拟电路,解调和译码响应。 (2)缓冲的输出驱动器与天线的连接使用最少的外部元件。 (3)支持 ISO 14443A/MIFARE。 (4)读写器模式中与 ISO 14443A/MIFARE的通信距离高达50mm,取决于天线的长度和调谐。(5)读写器模式下支持 MIFARE Classic加密。(6)支持 ISO 14443 212kbit/s 和 424kbit/s 的更高传输速率的通信。(7)支持的主机接口10Mbit/s 的SPI 接口I2C 接口,快速模式的速率为400kbit/s,高速模式的速率为3400kbit/s串行 UART,传输速率高达 1228.8kbit/s,帧取决于 RS232 接口,电压电平取决于提供的管脚电压。(8)64 字节的发送和接收 FIFO 缓冲区。(9)灵活的中断模式。(10)低功耗的硬复位功能。(11)软件掉电模式。(12)可编程定时器。(13) 内部振荡器,连接 27.12MHz 的晶体。(14)3.3V 的电源电压。(15)CRC 协处理器。(16)自由编程的 I/O 管脚。(17)内部自测试。2.1.2 MFRC522 结构框图图2-1 MFRC522简化框图模拟接口用来处理模拟信号的调制和解调。非接触式UART用来处理与主机通信时的协议要求。FIFO缓冲区快速而方便地实现了主机和非接触式UART之间的数据传输。不同的主机接口功能可满足不同用户的要求。MFRC522 的OSCIN和OSCOUT分别为晶振电路的输入输出引脚,接 27.12M 的晶振,两者通过一个 15pF 的电容接地隔离。MFRC522 的复位信号 RSTPD 由MCUC8051F340 给出。2.1.3 MFRC522 电路连接 MFRC522 外围电路连接如图图2-2读卡模块原理图当IC卡放在读卡模块的感应区,也就是天线部分,天线发出的射频功率在IC的反应下反射回来一个卡的信息,之后通过CRC冗余校验,得出一串号码,这时候可以通过上位机进行操作添加卡的权限,删除卡的信息,等一些上位机的功能。2.1.4 RC522主要烧录程序主要程序:char PcdRead(unsigned char addr,unsigned char *pData) char status; unsigned int unLen; unsigned char ucComMF522BufMAXRLEN; ucComMF522Buf0 = PICC_READ; ucComMF522Buf1 = addr; CalulateCRC(ucComMF522Buf,2,&ucComMF522Buf2); status = PcdComMF522(PCD_TRANSCEIVE,ucComMF522Buf,4,ucComMF522Buf,&unLen); if (status = MI_OK) & (unLen = 0x90) memcpy(pData, ucComMF522Buf, 16); else status = MI_ERR; return status; 功 能:读取M1卡一块数据参数说明: addrIN:块地址 pDataOUT:读出的数据,16字节 返 回: 成功返回MI_OK2.2控制模块 本门禁系统控制模块采用C8051F340,通过控制MFRC522射频芯片,实现了门禁系统,而C8051F340的程序通过下载线用电脑把程序下载给它。2.2.1 C8051F340 芯片介绍模拟外设 10位 ADC 转换速率可达200ksps 内建模拟多路器,单端或差分输入 VREF可在内部VREF、外部引脚或VDD中选择 内置温度传感器 外部转换启动输入 两个比较器 内部电压基准 上电复位/掉电检测器USB控制器 符合USB规范2.0版 全速(12Mbps)或低速(1.5Mbps) 集成时钟恢复电路;无需外部晶体 支持8个端点 1KB USB缓存 集成收发器;无需外部电阻 在片调试 片内调试电路提供全速、非侵入式的在系统调试(不需仿真器) 支持断点、单步、观察/修改存储器和寄存器 比使用仿真芯片、目标仿真头和仿真插座的仿真系统有更优越的性能 电压调整器输入:2.7V - 5.25V 使用片内电压调整器时,支持的电压范围为3.65.25V 高速8051微控制器内核 流水线指令结构;70%的指令的执行时间为一个或两个系统时钟周期 有48MIPS和25MIPS两种版本 扩展的中断系统 存储器 4352或2304 B数据RAM 64或32KB FLASH;可在系统编程,扇区大小为512字节 数字外设 40/25个端口I/O;均耐5V电压,大灌电流 硬件增强型SPI、SMBus和1或2个增强型UART串口 4个通用16位计数器/定时器 16位可编程计数器/定时器阵列(PCA),有5个捕捉/比较模块 外部存储器接口(EMIF) 时钟源 内部振荡器:0.25%的精度(时钟恢复被使能时)。支持所有USB和UART工作方式 外部振荡器:晶体、RC、C、或外部时钟(1或2引脚方式) 低频(80KHz)内部振荡器 可在运行中切换时钟源 封装 48脚TQFP(C8051F340/1/4/5) 32脚LQFP(C8051F342/3/6/7) 温度范围:-40C - +85C如图所示为 C8051F340 内部各功能模块结构框图图2-3 C8051F340 内部功能结构框图C8051F340器件是完全集成的混合信号片上系统型MCU。下面列出了一些主要特性。 高速、流水线结构的8051兼容的微控制器内核(可达48MIPS) 全速、非侵入式的在系统调试接口(片内) 通用串行总线(USB)功能控制器,有8个灵活的端点管道,集成收发器和1K FIFO RAM 电源稳压器 真正10位200 ksps的单端/差分ADC,带模拟多路器 片内电压基准和和温度传感器 片内电压比较器(两个) 精确校准的12MHz内部振荡器和4倍时钟乘法器 多达64KB的片内FLASH存储器 多达4352字节片内RAM(256+4KB) 硬件实现的SMBus/I2C、增强型UART和增强型SPI串行接口 4个通用的16位定时器 具有5个捕捉/比较模块和看门狗定时器功能的可编程计数器/定时器阵列(PCA) 片内上电复位、VDD监视器和时钟丢失检测器 多达40个端口I/O(容许5V输入) 具有片内上电复位、VDD监视器、电压调整器、看门狗定时器和时钟振荡器的C8051F340/1/2/3/4/5/6/7器件是真正能独立工作的片上系统。FLASH存储器还具有在系统重新编程能力,可用于非易失性数据存储,并允许现场更新8051固件。用户软件对所有外设具有完全的控制,可以关断任何一个或所有外设以节省功耗。片内Silicon Labs二线(C2)开发接口允许使用安装在最终应用系统上的产品MCU进行非侵入式(不占用片内资源)、全速、在系统调试。调试逻辑支持观察和修改存储器和寄存器,支持断点、单步、运行和停机命令。在使用C2进行调试时,所有的模拟和数字外设都可全功能运行。两个C2接口引脚可以与用户功能共享,使在系统调试功能不占用封装引脚。 每种器件都可在工业温度范围(-45到+85)内用2.7V-5.25V的电压工作。电源电压大于3.6V时,必须使用内部稳压器。对于USB通信,电源电压最小值为3.0V。端口I/O和/RST引脚都容许5V的输入信号电压。C8051F340采用48脚TQFP封装或32脚LQFP封装。2.2.2 C8051F340电路连接下面介绍 C8051F301 与其它模块引脚连接电路。图2-4引脚连接电路图2.2.3 C8051F340控制程序给PC机返回数据void send_codat(uint8 cmd,uint8 num,uint8 *p) uint8 i=0; uint16 CrcValue=0; uint8 *frame; frame=p;/获取p地址 while(BusBusyFlag);/检测忙 /计算本机侦听时间,置为优先级最低 MyChangTime = NODENUM*DELAYTIME; RS485_SEND_EN;/485发送使能 UART0_Send_CByte(UART_START);/帧头 UART0_Send_DByte(0x00);/目的地址 UART0_Send_DByte(IP_address);/本机地址 UART0_Send_DByte(num+6);/数据长度 UART0_Send_DByte(cmd);/命令执行读卡,并判断是否开门 void ICScan(void) uint8 status = 0;/状态 uint16 i; /请求所有卡 status = PcdRequest(PICC_REQIDL, CardType); if(status!=MI_OK) return; /防冲撞,返回卡的序列号 4字节 status=PcdAnticoll(CardNum); if(status!=MI_OK) return; /选卡 status=PcdSelect(CardNum); if(status!=MI_OK) return; /验证卡片密码 status=PcdAuthState(PICC_AUTHENT1A,BLOCK_NUM,LastKeyA,CardNum); if(status!=MI_OK) return; 2.3 PCB电路板设计2.3.1 C8051F340和RC522的控制芯片PCB设计 采用参照原理图的人工交互布局方法,将原理图中的全部元器件放置到PCB板内。布局遵循以下原则。PCB 大小为 82mm61.5mm,采用双面板,在元件面放置元器件。对外接口和连接器均需按相对确定的位置放置。以每个功能模块的核心元件为中心,围绕它来进行布局。元器件均匀、整齐、紧凑地排列在 PCB 上。保持适当的间距,预留足够的布线空间,布局要能使得各元器件之间的引线尽可能短,减少它们的分布参数和相互间的电磁干扰,易受干扰的元器件不能相互挨得太近。去耦电容必须紧靠电源引脚,使得电源、电容和地环路尽可能短。采用人工交互布线的方法,分以下几步完成布线:保证电源线和地线尽可能短,信号线尽量短,线越短电阻越小,分布电容和电感越小,受到的干扰越小。同一层上的走线尽量走直线,需要改变方向时应该走斜线,曲率半径越大越好,避免走直角拐弯线。过孔极易引起阻抗失配,尽量少用过孔。电源和地线尽可能宽,尽量增加时钟等关键信号的宽度。图2-5系统 PCB 图图2-6读卡器 PCB 板完成后,要保存 PCB 文件,可能需要利用图形输出设备等输出电路的布线图,如果是多层板还可以分层打印。如图 3-8 所示为经过 PCB 制作和焊接元器件后的本设计中读卡器硬件实物图。图2-7读卡芯片实物图图2-8控制芯片实物图2.4本章小结本章首先介绍了系统读卡模块的硬件设计思路及主芯片,随后分别从主芯片C8051F340和MFRC522的功能出发,描述了C8051F340系统电路设计、MFRC522外围电路设计及天线电路设计,并给出了电路原理图。最后介绍了 PCB 设计原则,给出了PCB布板图及读卡器硬件实物图。上述硬件设计的结果是其系统软件设计的基础。3系统软件设计3.1简介对于单片机的程序文件,其编写语言可以是C语言或汇编语言。它的操作方式与硬件联系紧密,它不是单纯的软件,而是软件和硬件的结合,开发者需要对端口、中断和硬件结构非常熟悉。本系统中,主控芯片与射频芯片是通过SPI接口进行通信的,并且都由硬件实现,读卡器与PC机则是通过USB交互。3.1.1编程软件的选择及系统主程序处理流程一个好的程序要有一个好的编程思想。本论文的编程思想是模块化编程和结构化编程,二者是相辅相成的。(1) 模块化编程:读卡器的功能实现需要大量而有效的程序来实现,繁琐的程序需要采用模块化编程的方法,即将一个大的程序分成若干小的模块,各个模块保持相对的独立性和它们之间只靠少量的出入口参数相联系,这样各个程序模块分别设计,从而使程序的调试、修改和维护都变得比较容易。另外,程序量大了还可以由不同的人来编写不同的模块。(2) 结构化编程:各个子程序之间使用结构良好的转移和调用,这样各个模块可有效地组合成一个整体,使流程明确地从一个程序模块转移到另一个程序模块。在这个过程中,要注意严格控制使用任意转移语句。单片机开发所使用的语言一般为汇编语言。汇编语言的优点是:代码生成效率高,程序运行速度快。其缺点是:程序的可读性和可移植性都较差,而且用汇编语言编写单片机应用系统程序的周期长,调试和排错比较困难。C 语言是一种通用的计算机程序设计语言,在国际上十分流行,它既可用来编写计算机的系统程序,也可用来编写一般的应用程序。用它编写的程序具有较好的可读性和可移植性。有经验表明,用 C 语言编写的程序生成代码的效率仅比用汇编语言编写的程序低 10-20%,德国 Keil 软件公司的 C51 编译器可以直接对 8051 单片机的内部特殊功能寄存器和 I/O 口进行操作,直接访问片内或片外存储器,还可以进行各3.2数据管理系统数据管理系统主要完成数据信息的存储、管理以及对 RFID标签的读写控制。写入数据一般来说是离线完成的,也就是预先在标签中写入数据,等到开始应用时直接把标签粘附在被标识物体上。也有一些 RFID 应用系统,写数据是在线完成的,尤其是在生产环境中将信息作为交互式便携数据文件来处理时。RFID 标签与阅读器构成的 RFID 系统归根结底是为应用服务的,应用的需求可能是多种多样的、各不相同的。阅读器与应用系统之间的接口 API 通常用一组可由应用系统开发工具调用标准接口函数来表示。在射频识别系统的工作过程中,电子标签与阅读器之间的数据通信是通过空气介质以无线电波的形式进行的。一般地,数据传输的速度和数据传输的距离是衡量数据传输性能的两个参数。由于电子标签的体积、电能有限,从标签发出的无线信号很弱,因而信号传输的速度与传输的距离就很有限。为了实现数据远距离、高速度传输,必须把要传输的数据信号叠加在一个规则变化、信号比较强的电波上,这个过程就是调制,规则变化的电波即载波。在 RFID 系统中,载波一般由阅读器通过天线发出并进行调制,而实现数据的调制也有许多方法,如用数据信息改变载波的波幅即调幅、改变载波的频率即调频、改变载波的相位即调相。射频识别系统一般采用调幅或调频方式。射频识别系统的另一主要性能指标是阅读距离,也称为作用距离,它表示在最远距离上,阅读器是否能够可靠地读写电子标签内的信息。实际系统这一指标相差很大,取决于标签及阅读器系统的设计、成本要求、应用需求等,范围从 0100m 左右。典型的情况是,在低频 125kHz、13.56MHz 频点上一般均采用无源标签,作用距离在1030cm 左右,个别有到 1.5m 的系统。在高频 UHF 频段,无源标签的作用距离可达到 310m。更高频段的系统一般均采用有源标签,采用有源标签的系统,其作用距离一般可以达到 30200m 左右。4.上位机软件与数据库开发上位机软件是与客户直接打交道的部分,其界面的好坏直接由客户的体验来体现。设计应遵循结构清晰,简单易操作,可靠性高,实时性好等原则。软件过程模型规定了把生命周期划分的阶段及各个阶段的执行顺序,典型的软件开发模型包括瀑布模型、快速原型模型、增量模型、螺旋模型和喷泉模型五类。由于瀑布模型严格的规定了每个阶段必须提交的文档,遵守瀑布模型的文档约束,将使软件维护变得容易很多,能显著降低软件预算,因而本设计依据瀑布模型进行,结合具体应用,将上位机客户端的软件设计分为功能需求分析、模块设计与功能分配、接口设计、程序的总体结构、数据库结构设计和出错处理设计等,各部分具体介绍如下4.1软件功能需求分析在门禁系统硬件的基础上,充分利用 RFID 具有唯一性识别的特点,将每张非接触式 IC 卡与每个功能角色一一对应,如学生,老师等。对于员工,同时,门禁系统需要人工安防的实时配合,利用门禁系统硬件开发出在线巡更系统,有助于对人工安防的监督,提高相关人员的责任意识,从而降低风险,提高安防级别。整个系统需要实现的功能如下:(1)将人员的个人详细信息与卡片关联,并能实时修改关联关系。(2)实时赋予或取消卡片开关门权限。(3)具备门禁系统所拥有的功能,包括控制器信息、门状态信息、系统时钟同步设置、门状态设置、实时监控等功能。(4)能赋予不同级别的人员对本系统不同的使用权限。4.2功能分配与模块设计依据软件功能需求分析,可将系统划分为三大模块,分别是:系统设置、卡务管理、门禁管理。各部分详细设计如下:4.2.1系统设置系统设置为客户端软件做相应的配置,使之能正确与数据库、网络控制器、发卡器等连接,系统设置模块可细分为:(1)配置管理:它又可分为:1、数据库通信配置:包括当前配置显示、更改服务器 IP、数据库名称、数据库用户、数据库密码等,使之连接到正确的数据库。2、发卡器设置:当前配置显示,及与发卡器通信时 COM 口的选择。(2)系统用户设置:包括添加、修改、删除、授权、清空用户等功能。每个功能均对应显示有用户列表和用户信息,包括卡号、姓名、学号、联系方式、是否授权等。4.2.2卡务管理卡务管理处理一切与卡相关的操作,因工研院门禁系统主要由人事行政部执行,可将个人详细信息综合至卡位管理之中,与卡号密切相连。具体可分为:(1)卡业务日志:针对特定角色管理员、特定卡、特定操作,三个条件的任意一个做为查询条件导出卡处理报表。(2)卡业务操作:可使用姓名、编号、卡号、部门、职位等方式查询人员,可也对新卡识读。修改后点提交按钮将信息上传至数据库。(3)卡信息查看:提供最全面的与卡相关的所有信息的快速查看。4.2.3门禁管理门禁管理是整个系统的核心模块。它设计的好坏直接影响着系统的性能和稳定性。主要包含门禁设备的基本信息管理、人员门禁权限管理、门禁刷卡数据管理。具体各个部分的功能如下:(1)门禁权限分配:从组织信息中选择人员对应相应的门号,并授权卡。(2)门禁权限查看:按员工编号、员工姓名、门编号、房间姓名等多种方式查看发卡权限,开门时间段和休息时间设置,并具备导出报表功能。(3)贴卡数据采集管理:对门禁权限进行审查。依次进行权限采集,与数据库核对和非法权限回收,可对权限分配进行有效核实。(4)网络控制器管理(简称网控):记录网络控制器 IP 及其所在位置。(5)门禁控制器管理(简称门控):包含控制器信息,如名称、门控号、位置。网控 IP,网控器名称,控制的门号等的设置和管理。(6
展开阅读全文