1、课程设计报告 课程: 嵌入式系统课程设计 学期: 2016春 班号: 学号: 姓名: 教师: 成绩: 2016年6月题目:基于STM-32刷卡考勤系统设计基本功能:1. 读卡功能:本系统的读卡模块可以识别基于国际标准ISO/IEC 14443的IC卡,可以读取IC的卡号。2. 考勤功能:本系统通过对IC卡的识别来统计出勤信息,统计出应到人数。实到人数,实现考勤功能。3. 显示功能:对于考勤的相关信息,可以通过液晶显示屏来进行显示。扩展功能:对于数据库中存在的持卡人信息进行显示,并响铃提示通过;对于数据库中不存在的持卡人信息进行报警警告教师评语:评审教师:日期:第一章 引言1.1研究目的及意义随
2、着经济的飞速发展,愈来愈多的管理者认识到管理与效益是息息相关的,实现数据规范化、自动化的管理,是一个管理规范、运作高效的企事业单位的必然要求。现在的市场竞争是知识的竞争,管理手段的竞争。谁有先进的技术设备和管理手段,谁就有成功的先机。企业或单位对于方便、快捷的考勤系统有迫切的需求。而一些当前的刷卡考勤系统主要是基于计算机控制的联网型系统,不仅价格昂贵,体积庞大、笨重,而且需要网络的连接,不利于广泛的用于小范围的考勤管理。为了可以满足日常的方便快捷的考勤,本文设计了基于单片机的刷卡考勤系统。刷卡考勤系统将射频识别技术和现代管理结合起来。在企业中,刷卡考勤系统可以以节省大量的人力物力,简化日常管理
3、的繁琐程序,提高企业的管理效率。在高校中,刷卡考勤系统对加强学生的教学管理,促进教学改革也有着非常重要的意义。本系统的可能创新点是通过进一步完善软件环境使本系统与“一卡通”系统的兼容,实现了“校园一卡通”作为考勤卡的作用,拓展了本校“一卡通”的适用范围。通过读取IC卡号,根据各个部门的数据库内存储内容调出相应信息。例如学校的图书馆学生借阅管理、学校微机机房的记时考勤记录、学校操场或学生宿舍的门禁管理、学校食堂的收费等。1.2 发展趋势目前,非接触式IC卡中的主流为PHILIPS公司的Mifare技术,并且已经被制定为国际标准:ISO/IEC 14443 TYPE A标准。欧洲一些较大的IC射频
4、卡制造商和IC射频卡读写设备制造商以及IC射频卡软件设计公司等大都把Mifare技术作为技术标准,而发展和推进IC卡行业快速的向标准化发展。而对于非接触式IC智能射频卡方面的研究则代表了整个大行业的发展方向。非接触式IC卡和接触式IC卡相比,它继承了接触式IC卡的容量大、安全性高的特点,同时也克服了以接触方式工作的IC卡所无法避免的缺点,如触点磨损、污染、静电以及插卡不便的读写过程,使非接触式IC卡的使用更加自由,应用更加广泛。当前,国内IC卡及相关产品的生产和研究的企业主要有上海复旦微电子股份有限公司,深圳市明华澳汉科技有限公司等。中国IC卡产业虽然起步虽晚,但发展迅猛,通过引进先进的技术和
5、自主研发,在几年间,整体生产能力突破了2亿张。全国IC卡应用装置的开发和系统集成厂商也达到上千家。由于智能卡的潜在应用范围非常广,国内外学术界和科技工作者对非接触式智能卡的开发,给予了广泛关注和研究。近几年来,射频识别系统的发展极其迅猛。尤其自1993年金卡工程启动实施以来,IC卡的应用领域得到不断的扩展,一条完整的IC卡产业链已经初步建立起来了,并逐步成为国民经济新的持续增长点。1.3 可行性分析经济方面:现在市面上销售的中档考勤机售价一般在500元左右,若批量采购的话售价能够相对的降低,学校可以根据每个教研室的授课老师的数量来配备2-5台考勤机,由于学生考勤系统选用一般计算机操作,对硬件设
6、施没有较高要求,所以每个科室的可以配置一台计算机作为客户端,预计每台客户端的售价为3000左右,鉴于本系统对计算机的硬件要求不高,可以考虑采用一般低档的服务器,预计售价为10000左右。技术可行性分析主要包括四个方面:目前有关的技术能否支持所开发的新系统;新系统开发人员的数量和水平,即人力资源;硬件和软件资源。 技术支持首先根据新系统的目标,考虑目前有关的技术能否支持所开发的新系统。这里讨论的技术必须是已经普遍使用的,而不是待研究的或正在研究的。 硬件资源开发管理信息系统所需的硬件资源包含以下两个方面。系统开发人员在管理信息系统的开发过程中所需要的计算机设备及其有关的外部设备;管理信息系统开发
7、成功投入使用后,使用单位所应具备的计算机设备及其有关的外围设备。对硬件资源进行可行性分析时主要考虑计算机的主机内存、类型、功能、联网能力、安全保护措施以及输入/输出设备,外存储器和联网数据通信设备的配置、功能、效率等指标是否符合系统方案设计要求,同时还要考虑计算机的性能/价格比。 软件资源软件资源的可行性分析主要考虑以下几点是否满足使用者,即学校的要求。 操作系统的选择。 编译系统的选择。 数据库管理系统的选择。 高级编程语言的选择。 汉字处理系统的选择。 应用软件包的选择。1.4 基本内容本文主要是通过对射频设别技术的研究来设计一款基于单片机的刷卡考勤系统的硬件设备及其软件。在设计IC卡读卡
8、器的基础上,完成考勤系统的设计。本课题主要完成的任务包括:(1)文献部分:无线识别技术的研究。(2)硬件部分:包括单片机控制的射频读卡器的设、12864液晶显示电路的设计、报警电路的设计等。(3)软件部分:ARM控制程序。(4)系统的综合调试与分析:在软硬件完成以后,要对系统进行综合的测试与实验,分析系统的可靠性与实用性,调整系统的不足。第二章 开发环境的安装和配置2.1开发环境及其工具的介绍Linux是一套免费使用和自由传播的类Unix操作系统,是一个基于POSIX和UNIX的多用户、多任务、支持多线程和多CPU的操作系统。它能运行主要的UNIX工具软件、应用程序和网络协议。它支持32位和6
9、4位硬件。Linux继承了Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。Linux操作系统诞生于1991 年10 月5 日(这是第一次正式向外公布时间)。Linux存在着许多不同的Linux版本,但它们都使用了Linux内核。Linux可安装在各种计算机硬件设备中,比如手机、平板电脑、路由器、视频游戏控制台、台式计算机、大型机和超级计算机。这使得可以在Linux下通过相应的模拟器运行常见的DOS、Windows的程序。这为用户从Windows转到Linux奠定了基础。许多用户在考虑使用Linux时,就想到以前在Windows下常见的程序是否能正常运行,这一点就消除了他们的
10、疑虑严格来讲,Linux这个词本身只表示Linux内核,但实际上人们已经习惯了用Linux来形容整个基于Linux内核,并且使用GNU 工程各种工具和数据库的操作系统。Linux的基本思想有两点:第一,一切都是文件;第二,每个软件都有确定的用途。其中第一条详细来讲就是系统中的所有都归结为一个文件,包括命令、硬件和软件设备、操作系统、进程等等对于操作系统内核而言,都被视为拥有各自特性或类型的文件。至于说Linux是基于Unix的,很大程度上也是因为这两者的基本思想十分相近另外Linux是一款免费的操作系统,用户可以通过网络或其他途径免费获得,并可以任意修改其源代码。这是其他的操作系统所做不到的。
11、正是由于这一点,来自全世界的无数程序员参与了Linux的修改、编写工作,程序员可以根据自己的兴趣和灵感对其进行改变,这让Linux吸收了无数程序员的精华,不断壮大。Linux同时具有字符界面和图形界面。在字符界面用户可以通过键盘输入相应的指令来进行操作。它同时也提供了类似Windows图形界面的X-Window系统,用户可以使用鼠标对其进行操作。在X-Window环境中就和在Windows中相似,可以说是一个Linux版的Windows。Linux可以运行在多种硬件平台上,如具有x86、680x0、SPARC、Alpha等处理器的平台。此外Linux还是一种嵌入式操作系统,可以运行在掌上电脑、
12、机顶盒或游戏机上。2001年1月份发布的Linux 2.4版内核已经能够完全支持Intel 64位芯片架构。同时Linux也支持多处理器技术。多个处理器同时工作,使系统性能大大提高。2.2硬件环境本项目仅需要一台装有Linux系统的虚拟机的计算机,它可以使用windows xp及其以上版本以及友善之臂开发板和一些基础焊接工具即可。2.3软件环境1.Windows 7操作系统2.Keil 43.VMvare Workstation第三章 系统的设计本课题设计的刷卡考勤系统主要由IC卡、读卡模块、控制模块、显示模块和报警模块组成。下面分别对系统功能要求、系统技术要求及系统实现方案总体阐述。3.1系
13、统功能需求本系统的研制主要包括以下几项功能:1.读卡功能:本系统的读卡模块可以识别基于国际标准ISO/IEC 14443的IC卡,可以读取IC的卡号。2.考勤功能:本系统通过对IC卡的识别来统计出勤信息,统计出应到人数。实到人数,实现考勤功能。3.显示功能:对于考勤的相关信息,可以通过液晶显示屏来进行显示。对于数据库中存在的持卡人信息进行显示,并响铃提示通过;对于数据库中不存在的持卡人信息进行报警警告。3.2系统的技术要求在了解本系统的工作原理和功能之后,我们就可以确定系统的技术要求。本系统采用了标准的ISO/IEC 14443 “Type A”国际标准实现IC卡信息的读写,并通过天线的屏蔽干
14、扰信号设计,大大提高了系统读卡的可靠性和通用性。系统采用的单片机处理器成本均比较低,适合批量生产和各类工程的需要。对于完整的系统而言,为了提高市场竞争力,要求该系统应符合便于携带、防干扰、易于使用和成本低廉等技术要求。具体参数和指标如下:(1)便于携带:电路的设计和布局较为紧凑,减少占用的空间,减小硬件的体积,便于携带;(2)防干扰:系统的天线的合理设计,实现电子屏蔽;(3)易用性:系统采用模块化的设计,在使用过程中安装简单,同时考勤信息直观的显示在液晶屏上,人机交换界面良好,易于使用。3.3系统的组成及总体方案设计基于单片机的刷卡考勤系统主要由天线、读卡芯片、单片机、控制电路、报警电路、显示
15、电路组成。设计的关键在于读卡模块和显示模块电路的设计以及单片机与读卡芯片和液晶显示通信的程序设计。系统的组成结构如图3-1所示:蜂鸣器,指示灯读卡模块控制器天线图3-1 系统功能模块图3.4系统硬件设计如图3-2所示,图中的U2为STC89C52RC单片机,J3为12864液晶显示屏。单片机作为主控制器,S1、C1、R2、D1、R3组成复位电路连接到9脚RST上,当按下S1,便会给单片机一个低电平,使单片机复位;通过单片机的P1口作为液晶显示屏的数据I/O口和P0.0-P0.5控制液晶的状态和显示;P2.0口来控制蜂鸣器的响铃,当给P2.0一个高电平时,蜂鸣器响铃;P3.0/P3.1作为下载电
16、路的并行接口。工作原理:如图3-2所示,21、22脚作为晶振的接口,D5、D6、D7、SDA作为MFRC522与单片机以SPI方式通信的串口,单片机对MFRC522读卡芯片进行操作的时候,通过其进行通信并传输数据。TX1、TX2、VMID和RX作为与天线连接端口。MFRC522简介:MFRC522 是由 Philips 公司推出的一款非接触式读卡芯片, 它被应用于 13.56MHz 非接触式IC卡的读卡通信。MFRC522 兼容 ISO14443 A 所有的层, 最高的传输速度达 424kbps,在不需要增加有源电路的情况下,内部的发送器部分就能够直接驱动近距离天线, 在接收部分提供了一个高效
17、的解调和解码电路, 用于接ISO14443 A 兼容的应答信号。支持的主机接口SPI 接口、I2C 接口、串行 UART接口。如图3-3所示:模拟接口用来处理模拟信号的调制与解调。非接触式UART用来处理与主机通信时的协议要求。FIFO缓冲区快速而方便地实现了主机与非接触式UART之间的数据传输。不同的主机接口功能可以满足不同的用户要求。图3-2 读卡芯片MFRC522图3-3 MFRC522的内部框图第四章程序设计与实现4.1系统主程序流程图本系统的程序设计采用模块化的设计方案,主要由初始化模块、读卡模块、考勤统计模块和显示模块组成。主程序的流程图如图4-1所示:开始系统初始化读卡是否存在此
18、卡数?N显示“你的信息不存在”Y此卡刷了奇数次?N人数Y人数自增1显示刷卡信息和考勤信息人数不变结束图4-1主程序流程图改程序的执行情况如上图所示,按下相应的按键并执行相应的操作判断操作是否执行完毕,执行完毕返回主界面。4.2 功能框图本系统为用户考勤系统,主要为负责录入用户信息,进行用户信息管理,记录考勤信息,完成录入信息上传数据库。图4-2功能框图4.3 主程序的设计 本系统的程序设计采用模块化的设计方案,主要由初始化模块、读卡模块、考勤统计模块和显示模块组成。不管认证过程中的任何一环出现差错,整个认证都将失败,必须重新开始验证。靠猜测密码来打开卡片上的一个扇区的可能性几乎为零。因此,卡片
19、中的每个扇区的密码都必须牢牢记住。如果,某一扇区的密码被遗忘,该扇区中的数据将不能再进行读写。但是,这不影响卡片上的其他扇区的使用。4.3 程序代码void Clear_All(void) /清空数据库 delay1ms(200); Command(DELE_all,50); /清空数据库 void Clear_One(vu8 num) /删除一条数据 vu16 i,sum=0; delay1ms(200); DELE_one10=0; DELE_one11=num; for(i=6;i14;i+) sum+=DELE_onei; DELE_one14=sum/256; DELE_one15=
20、sum%256; Command(DELE_one,50); /清空指纹库 vu8 ImgProcess(vu8 BUFID) /发获取图像并生成特征文件,存入BUFID中/输入参数为缓冲区号 if(Command(GIMG,89) & (FifoNumber=11) & (FIFO9=0x00) if(BUFID=1) if(Command(GENT1,60) & (FifoNumber=11) & (FIFO9=0x00) return 1; else return 0; else if(BUFID=2) if(Command(GENT2,60) & (FifoNumber=11) & (
21、FIFO9=0x00) return 1; else return 0; else return 0; return 0; vu8 Searchfinger(void)/搜索数据(发送搜索命令、以及根据返回值确定是否存在) if( Command(SEAT,60) & (FifoNumber=15) & (FIFO9=0x00) ) /搜索到指纹 SearchNumber=FIFO10*0x100+FIFO11;/搜索到的页码/MatchScore=FIFO12*0x100+FIFO13 可以在此计算得分,从而进行安全级别设定,本程序忽略 return 1; else return 0; vu
22、8 search(void)/搜索用户 vu8 SearchBuf=0,i=0; while (i20) if (ImgProcess(1)=1)/首先读入一次数据 SearchBuf=Searchfinger();/进行数据比对,如果搜索到,返回搜索到的数据序号 if(SearchBuf=1) return SearchNumber; else return 255;/表示搜索到的数据不正确 i+; return 0;vu8 savefingure(vu8 ID)/保存数据 vu8 i=0; /现在开始进行存储数据模板的操作 for (i=0;i16;i+)/保存数据信息 FIFOi=STO
23、Ri; FIFO12=ID; /把数据模板存放的PAGE_ID也就是FLASH的位置 FIFO14=FIFO14+ID;/校验和 if (Command(FIFO,70)=1)/不成功返回0/此处进行存放数据模板的命 return(1); else return(0); /不成功返回0第五章 系统测试测试时首先检测硬件电路的设计原理是否正确,能否达到预期效果以及实现方法是否简便;其次在焊接电路之后,认真检查电路焊接情况。这里采用分块调试的方法,分为显示模块电路,报警模块电路,读卡模块电路以及控制电路。在每个模块的调试过程中又采用了由局部到整体,由简单到复杂的调试方法。先测试单片机控制模块及其下
24、载电路是否正常工作,然后测试显示模块能否正常工作,接着测试报警模块的电路、读卡模块的电路,最后再把各个模块连成整体。开机后,作品状态如图5-1所示。图5-1 作品实物系统的电脑操作程序界面如图5-2,在界面中可以对“网页端口”、“考勤时间”等信息进行设置。图5-2 程序界面将IC卡靠近传感器,系统会提示并进行相关操作,如图5-3。图5-3 刷卡操作演示在刷卡的同时,软件系统中也会进行操作并提示,如显示“添加成功”,如图5-4所示。图5-4 添加成功界面添加IC卡信息后,再次刷卡的时候,就会显示IC卡编号,同时系统软件中显示刷卡信息,如图5-5、5-6所示。图5-5 显示IC卡相关信息图5-6
25、应用程序中显示刷卡信息在后台中,可以登录网站查看考勤信息,如图5-7所示。图5-7 在网页中查看考勤信息第六章 总结为期两周的嵌入式课程设计在不知不觉中结束了,虽说这次课程设计时间不是很长,但是感觉自己收获颇丰,不仅学习到了一些新知识,回顾了以前的一些快要遗忘的知识点,而且使自己的学习目标更加明确,学习方法更加完善,也体会到软件开发的趣味,更加清楚地认识到了自己在软件开发及学习上的一些不足之处。嵌入式软件开发应用广泛而且前景很好,目前正处于人才紧缺的关口,嵌入式技术在未来能够得到更加广泛的应用。这次的课程设计让我明确了一点:嵌入式开发对于提升我们的系统知识有很大的帮助,尤其是操作系统的知识。嵌
26、入式系统开发对于我们的知识面要求非常的广,且要有一定的深度。在实验中也发现了我身上存在的不足,以前对学习态度不是很端正,经常会耍小聪明、偷懒,但是只有真正下功夫去学习,才能有收获,正所谓“一份耕耘,一份收获。”没有付出,何谈回报呢?再者,通过本次实验,我也学会了如何去分析问题,如何找出自己设计中的不足,继而去排除解决问题,这就是一个自我学习的过程。当我们通过实验去学习理论知识时,自己动手得出的结论,不仅能加深我们对嵌入式的理解,更能加深我们对此的记忆。最后还要衷心感谢几位指导老师,给予我们几个细心的指导和帮助,提出修改意见,使我们的作品顺利完成。再次表示感谢。参考文献1 梁飞.射频卡及其读写设
27、备内核技术的研究与应用开发.学位论文:武汉理工大学 2 孟锟泰.基于ARM的915MHz射频识别读卡器研究.学位论文:天津大学3 汪国海.非接触式卡读卡器设计硕士论文:电子科技大学4 陈宝平,王月波,马伯元基于MFRC522的Mifare射频卡读写模块的发微计算机信息2007年第23卷第11-2期5 沈宇超,沈树群,射频识别技术及其发展现状。电子技术应用,1999( 1):4-5.6 无线射频识别技术(RFID)理论与应用电子工业出版社。7 射频识别(RFID)技术(第2版)电子工业出版社。8 单片机原理及应用,杨恢先等著,国防科技大学出版社。9 单片机原理及接口技术实践教程,胡建等著,机械工业出版社。10 智能卡技术(第三版)IC卡与RFID标签,王爱英等著,清华大学出版社。