指纹识别系统设计.doc
学号:070275057河南大学2011届本科毕业论文指纹识别系统The System Of Fingerprint Identification论文作者姓名: 宋林林 作 者 学 号: 070275057 所 在 学 院: 计算机与信息工程学院 所 学 专 业: 自动化 导师姓名职称: 杜海顺(副教授) 论文完成时间: 2011年5月20日 2011年5月20日河南大学2011届毕业设计(论文、创作)开题报告(学生本人填写)学号070275057姓名宋林林导师姓名职称杜海顺(副教授)开题时间2011年4月3日课题题目指纹识别系统课题来源导师指定 自定 其他来源课题的目的、意义以及和本课题有关的国内外现状分析:1目的:将指纹识别用于门锁上,利用指纹的对比,当指纹与数据库中的指纹相一致就可以打开房门。2意义:利用指纹识别来判断门的开关,可以提高房门的安全性;如果将身份证和指纹绑定在一起,那么对于酒店行业来说可以只身份证来登记住房,同时也有利于对犯罪分子的打击。3现状:我国指纹识别技术发展相对于美国、日本要晚1020年的时间。指纹识别产品在我国最早出现是90年代时期,当时只是寥寥数十家,而产业化起步应该是2000年以后。2000年之前,处于核心技术和相关产品研发阶段,2000年以后,形成了一定的产业供求关系,有核心算法提供商,有指纹模块提供商,也有指纹产品经销商。这些产品主要以门禁和考勤为主。到2004年,随着移动存储设备等数码类产品的大量使用,指纹技术与数码类产品结合应用的局面才铺开,所以指纹识别产业在我国,目前处于形成阶段。如果说2004年之前处于从点到线的状态,那么2004年之后指纹产业开始从线到面的发展。在很多信息安全领域,甚至金融支持领域都出现了指纹技术应用方案。研究目标、研究内容和准备解决的问题:1目标:通过指纹终端采集到的指纹信息能够在服务器上进行指纹比对,得到结果后由单片机通过LCD显示出来。2内容:利用以太网作为传送介质,实现局域网中指纹终端和服务器的通信,并且指纹识别的算法程序放在服务器上以提高整个系统的运行速率;其中指纹终端是基于单片的一个指纹采集终端,包括指纹传感器、以太网芯片、片外扩展FLASH和LCD显示。3准备解决的问题:提高系统的运行速率,扩展指纹终端的存储容量。拟采取的方法、技术或设计(开发)工具:开发工具和语言:VC6.0,C语言,51系列单片机。预期成果:1硬件电路图及程序流程图2毕业论文进度计划与阶段要求:(1)2010-12-01 2011-12-31:查找资料、确定毕业设计题目。 2011-01-01:将毕业设计题目和基本功能说明发送到导师邮箱。(2)2011-01-02 2011-03-31:搜集素材、整理设计内容。 2011-04-01:将开题报告和整理的设计内容发送到导师邮箱。(3)2011-04-02 2011-04-09:根据导师的建议和指导,继续设计。 2011-04-10:将中期检查表和修改后的设计内容发送到导师邮箱。(4)2011-04-11 - 2011.04.20:根据导师的建议和指导,完成设计。 2011-04-21:将完成的毕业设计内容发送到导师邮箱。(5)2011-04-22 - 2011-05-05:根据导师建议和已经完成的设计,完成论文初稿。 2011-05-06:将毕业论文初稿发送到导师邮箱。(6)2011-05-07 - 2011-05-13:根据导师对论文的修改建议和指导,完成论文。 2011-05-14:将论文终稿发送到导师邮箱。开题前收集的资料和参考文献(5-8种)1 李岩芳,何巍数据结构算法设计及实现指导(C语言版)清华大学出版社2002年2 田捷,杨鑫生物特征识别理论与应用清华大学出版社2009年3 (美)塞奇威克,霍红卫译算法:C语言实现机械工业出版社2010年4 王阳利,毛哲文,张东指纹识别原理及应用第六届全国计算机应用联合学术会议第六届全国计算机应用联合学术会议论文集2002年5 张立民,魏培,李章林基于单片机的指纹识别系统的设计2003年全国单片机及嵌入式系统学术年会2003年全国单片机及嵌入式系统学术年会论文集,2003年6 窦振中单片机外围器件实用手册(存储器分册).北京航空航天大学出版社,2000年指导教师对开题报告的意见:指导教师签名: 河南大学2010届毕业论文(设计、创作)任务书(导师根据学生的开题报告填写)题目名称 指纹识别系统学院计算机与信息工程学院学生姓名宋林林所学专业自动化学号070275057毕业论文(设计、创作)要求1设计内容设计一个基于以太网的指纹识别系统。2基本要求利用以太网和指纹采集终端建立一个大型的指纹识别的考勤系统,其中识别算法放在服务器上,指纹终端主要用来采集指纹和现实比对结果。系统主要实现以下功能:(1)以太网的建立和通信。(2)以太网和指纹终端能够通信。(3)指纹的识别。3要解决的问题主要解决系统指纹终端存储容量小,不能满足系统需要;原先嵌入式系统运行速度慢的问题。4要求提交的成果(1)毕业设计程序流程图(2)论文指导教师签名:河南大学2011届毕业设计(论文、创作)中期检查表(导师只填写评语,其他由学生填写)题目名称:指纹识别系统学院计算机与信息工程学院学生姓名宋林林所学专业自动化学号070275057一、毕业设计(论文、创作)进展情况目前指纹终端的程序代码和硬件电路已经基本完成,所需功能也基本能完成,但还要进一步的测试;以太网已经建立,实现了在Intranet执行通信。为了能够测试系统与网络的连接,系统还实现了ICMP协议中的Ping应答协议。二、毕业设计(论文、创作)存在的问题及解决方案在指纹终端程序设计调试时,由于没有所用的指纹传感器MBF200,所以直接用一个外接信号来引发中断。虽然没有传感器来测试,但是程序已经基本测试完成,所以在安装上传感器后应该是可以使用的。在以太网建立上,因为没有相应的设备,故只进行了理论上的研究和测试。但是已经根据所学的计算机网络的知识进行分析,能够满足系统的需要。三、学生本人对毕业设计阶段所做工作及进展情况的评价在做毕业设计期间,我积极认真,严格要求自己,并在指纹终端的硬件和软件设计以太网的建立过程中及时解决了遇到的大部分问题。尤其是指纹终端的程序硬件设计,遇到了许多意想不到的问题,但大部分都已经解决。剩余的部分正在查找资料,很快就能得到解决。四、指导教师对学生毕业设计(论文、创作)中期检查的评语指导教师签名 河南大学2011届毕业论文(设计、创作)教师评阅成绩表学院名称:计算机与信息工程学院学 号070275057姓名宋林林专业自动化指导教师杜海顺(副教授)教师评阅平均得分论文题目指纹识别系统指导教师评语及得分指导教师评语评分项目分值指导教师对毕业论文(设计、创作)评分撰写开题报告、文献综述15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分指导教师签名评阅教师评语及评分评阅教师评语评分项目分值评阅毕业论文(设计、创作)评分撰写开题报告、文献综述满分15调查研究查阅整理资料10学习态度与规范要求10数据处理、文字表达10论文(设计、创作)质量和创新意识55合计100得分评阅教师签名 此表由教师填写河南大学2010届毕业论文(设计、创作)综合成绩表学号070275057姓名宋林林所在学院计算机与信息工程学院答辩委员会评语及评分答辩委员会评语答辩委员签字(4名以上):评分项目分值论文答辩小组评分答辩情况论文质量合计(100)内容表达情况(15)答辩问题情况(25)规范要求与文字表达(20)论文(设计、创作)质量和创新意识(40)得分答辩委员会主任签字: 毕业论文(设计、创作)成绩综合评定(百分制): 分(教师评阅表平均成绩占40%,答辩成绩占60%)综合评定等级(优、良、中、差):备注:一、论文的质量评定,应包括对论文的语言表达、结构层次、逻辑性理论分析、设计计算、分析和概括能力及在论文中是否有新的见解或创新性成果等做出评价。从论文来看学生掌握本专业基础理论和基本技能的程度。二、成绩评定采用结构评分法,即由指导教师、评阅教师和答辩委员会分别给分(以百分计),评阅教师得分乘以20%加上指导教师得分乘以20%加上答辩委员会得分乘以60%即综合成绩。评估等级按优、良、中、差划分,优90-100分;良76-89分;中60-75分;差60分以下。三、评分由专业教研室或院组织专门评分小组(不少于5人),根据指导教师和答辩委员会意见决定每个学生的分数,在有争议时,应由答辩委员会进行表决。四、毕业论文答辩工作结束后,各院应于6月20日前向教务处推荐优秀论文以汇编成册,推荐的篇数为按当年学院毕业生人数的1.5%篇。五、各院亦可根据本专业的不同情况,制定相应的具有自己特色的内容。须报教务处备案。河南大学本科生毕业论文(设计、创作)承诺书论文题目指纹识别系统姓 名宋林林所学专业自动化学 号070275057完成时间2011年5月14日指导教师姓名职称杜海顺(副教授)承诺内容:1本毕业论文(设计、创作)是学生 宋林林 在导师 杜海顺 的指导下独立完成的,没有抄袭、剽窃他人成果,没有请人代做,若在毕业论文(设计、创作)的各种检查、评比中被发现有以上行为,愿按学校有关规定接受处理,并承担相应的法律责任。2学校有权保留并向上级有关部门送交本毕业论文(设计、创作)的复印件和磁盘。备注:学生签名: 指导教师签名:说明:学生毕业论文(设计、创作)如有保密等要求,请在备注中明确,承诺内容第2条即以备注为准。目 录摘 要IABSTRACTII第1章 绪 论11.1 课题来源11.2 课题背景11.3 国内外在该方向的研究现状及分析11.4 使用的开发平台2第2章 系统总体分析和设计32.1 识别系统32.1.1 指纹识别原理42.1.2 指纹采集实现42.2 指纹终端5第3章 以太网的建立83.1 TCP/IP协议83.2 以太网协议的实现83.3 数据通信的实现9第4章 指纹终端104.1 指纹终端结构104.2 指纹终端各部分作用10第5章 系统详细设计125.1 以太网建立的详细设计125.1.1 拓扑结构125.1.2 以太网的建立125.2 指纹终端硬件设计145.3 系统程序设计155.4 部分电路仿真18结 论21参考文献22附录23附录123附录224摘 要自古以来身份识别就是很重要是事情。随着科技的发展,生物识别技术的出现给身份识别的研究带来了突飞猛进的发展。每个人都有着自己特有的特征,用本身的特征来验证身份有着得天独厚的优势。其中指纹识别是我们最常用、最常见的识别技术,但是以往的指纹识别系统因为数据库的有限存储使得指纹识别利用没有我们预想的那样充分。本论文首先分析了当前指纹识别技术近阶段的研究,指纹识别技术在现实生活中的应用以及在应用中的不足,然后根据这些不足来改进现有的识别系统。利用局域网建立一个指纹识别系统,把指纹识别算法和数据库存放在服务器端,单独设置一个指纹识别端进行指纹的采集,这样不仅提高系统的运算速率,而且还增大了数据库存储器的容量。本论文主要解决以下方面的问题:1. 指纹识别系统数据库存储容量的扩展。2. 基于局域网建立一个指纹识别系统,实现了数据的共享。3. 识别系统运算速率的提高。关键词 指纹识别技术;数据库存储容量;局域网;运算速率ABSTRACTLong time ago, the identification was very important for people. With the development of science and technology, the Biometric Identification Technologys coming made a breakthrough in this area. Everyone has some characters which belong to themselves, so the Biometric Identification has more advantages than others. And the Fingerprint Identification is the most popular in the world, but as to the memory capacity is not enough for company, so the development of Fingerprint Identification is not very well.This thesis analyses the situation of the study of the Fingerprint Identification Technology, and the disadvantage of this technology used in realty, in order to make a improvement in this technology. To build a system of Fingerprint Identification based on LAN, and put the arithmetic and data base on the server. At the same time, we can build a terminal only to take the fingerprint to MCU. In this way, we can improve the rate of system and the capacity of MCU.This thesis mainly to solve those problems as follows:1. Enlarge the capacity of system.2. Based on LAN to establish a fingerprint identification system, realized data sharing.3. Improve the rate of the system.Keywords:Fingerprint Identification Technology; Database storage capacity; LAN; Operation rate第1章 绪 论自古以来身份识别就是十分重要的,随着科学技术的发展,身份识别的技术也有了跨越式的发展。其中最新的技术就是生物识别技术,在生物识别技术中,指纹识别技术是技术最成熟,应用最广泛的。1.1 课题来源该课题为自选课题。1.2 课题背景随着科技的发展,信息化和科技化的时代的到来,身份的识别也越突发显得重要,尤其是保密性要求比较高的行业。但是更多的是现代化生活所需要的现代化签到考勤系统,正是这种需要,推动了识别技术的发展。生物识别技术在20世纪70年代到80年代便有了空前的发展。到目前为止,生物识别技术在某些领域已经相当成熟,尤其是指纹识别技术。但是,由于目前的指纹识别系统存储容量太小,运算速率太慢,而且对于某些指纹无法识别,所以解决这些问题对于指纹识别技术发展尤为重要。1.3 国内外在该方向的研究现状及分析我国指纹识别技术发展相对于美国、日本要晚10年到20年的时间。指纹识别产品在我国最早出现是90年代时期,当时只是寥寥数十家,而产业化起步应该是2000年以后。2000年之前,处于核心技术和相关产品研发阶段,2000年以后,形成了一定的产业供求关系,有核心算法提供商,有指纹模块提供商,也有指纹产品经销商。到2004年,随着移动存储设备等数码类产品的大量使用,指纹技术与数码类产品结合应用的局面才铺开,但经过这几年的发展,指纹识别产业在我国已经形成了很大的产业,其中最主要的就是考勤应用。如果说2004年之前处于从点到线的状态,那么2004年之后指纹产业开始从线到面的发展。在很多信息安全领域,甚至金融支持领域都出现了指纹技术应用方案,但是最常见的是在企事业机关考勤的应用。1.4 使用的开发平台本系统开发工具采用Visual C+6.0(简称VC或VC6.0)。Microsoft Visual C+,(简称Visual C+、MSVC、VC+或VC)微软公司的C+开发工具,具有集成开发环境,可提供编辑C语言,C+以及C+/CLI等编程语言。Visual C+6.0,是微软推出的一款C+编译器,将“高级语言”翻译为“机器语言(低级语言)”的程序。Visual C+6.0不仅是一个C+编译器,而且是一个基于Windows操作系统的可视化集成开发环境(integrated development environment,IDE)。虽然微软公司不断推出新的版本,可是由于其他版本都存在很大的局限性,所以在实际运用中多使用Visual C+6.0平台。第2章 系统总体分析和设计整个识别系统大体上可以分成两个部分:一部分是基于企业内部网络的以太网,一部分是指纹识别终端。识别系统的指纹识别算法存放在以太网的服务器上,由服务器进行比对算法的运算,而指纹终端只用来采集指纹和显示比对结果。2.1 识别系统识别系统由指纹数据/验证服务器和基于51芯片的指纹终端组成,二者之间通过局域网进行连接实现数据通信。其结构如图2-1所示。图2-1 系统结构图指纹数据/验证服务器上存储着识别程序和指纹数据,当指纹终端通过中断响应向其发送指纹信息后,服务器会进行识别算法来识别指纹终端发送过来的指纹是否和数据库中的指纹一致。经过识别算法后,服务器通过以太网将识别后的结果传送给指纹终端,指纹终端的单片机在接收到识别结果后会通过LCD显示器来显示所识别的结果。服务器和指纹终端之间通过以太网芯片接口和RJ-45来连接,实现之间的通信。以太网芯片和RJ-45之间需要由电压转换芯片进行电平转换,否则无法实现与以太网服务器的通信。而指纹终端除了要有以太网芯片,还需要有指纹传感器,指纹传感器本身就具有模数转换功能,所以不需要再进行模数转换。服务器和指纹终端之间的通过以太网来连接,其中的以太网是基于公司的局域网。由于公司的局域网中的用户数据传送快,而且数据传送没有互联网那么拥挤,所以这样的数据传送既充分利用了资源又提高了整个系统的运行速率。2.1.1 指纹识别原理指纹识别算法最终都归结为在指纹图象上找到并比对指纹的特征。指纹的特征我们定义了指纹的两类特征来进行指纹的验证:总体特征和局部特征。总体特征是指那些用人眼直接就可以观察到的特征,包括:基本纹路图案环型(loop),弓型(arch),螺旋型(whorl)。指纹图片如图2-2所示。 图2-2 指纹图片模式区(Pattern Area)是指指纹上包括了总体特征的区域,即从模式区就能够分辨出指纹是属于那一种类型的。核心点(Core Point)位于指纹纹路的渐进中心,它用于读取指纹和比对指纹时的参考点。三角点(Delta)位于从核心点开始的第一个分叉点或者断点、或者两条纹路会聚处、孤立点、折转处,或者指向这些奇异点。三角点提供了指纹纹路的计数和跟踪的开始之处。式样线(Type Lines)是在指包围模式区的纹路线开始平行的地方所出现的交叉纹路,式样线通常很短就中断了,但它的外侧线开始连续延伸。纹数(Ridge Count)指模式区内指纹纹路的数量。在计算指纹的纹数时,一般先在连接核心点和三角点,这条连线与指纹纹路相交的数量即可认为是指纹的纹数。局部特征是指指纹上的节点。两个指纹或许在总体特征上相同,但是在局部特征上肯定会有所不同,因为不同的指纹在某个节点上会存在分叉或者断点。所以只要把采集来的指纹信息的总体特征和局部特征与数据库中的信息进行比对就能确认信息是否正确。2.1.2 指纹采集实现本系统运用了富士通公司生产的电容性指纹传感器MBF200,这种传感器内置有模数转换装置,并且具有自动检测指纹功能。而且MBF200内部有40K的super FLASH,但是一幅指纹数据需要75K的空间,所以在使用时需要对系统进行存储扩展。MBF200芯片内部图如图2-3所示。图2-3 MBF200内部结构图当传感器将指纹数据采集到后便可存储到相应的存储区,以便以后的使用和比对。就本系统而言,单片机直接把指纹数据通过以太网芯片和RJ-45传送给服务器。2.2 指纹终端指纹数据/验证服务器主要用来存放指纹识别的算法和指纹数据;指纹终端主要用来采集指纹信息和显示与数据库指纹对比的结果。指纹终端的结构图如图2-4所示。图2-4 指纹终端结构图指纹终端由单片机(SST89E554RC)、片外数据FLASH、以太网芯片(RLT8019AS)和RJ-45接口、指纹传感器(MBF200)、LCD1602显示器组成。单片机用来处理指纹传感器所采集来的指纹信息,并向服务器发出终端请求和接收服务器所返回的结果,并显示对比结果。MBF200属于电容性传感器,内部有40K的FLASH,而一幅指纹图像需要存储空间75KB,为了保存指纹图像数据,必须为系统扩展外部存储。系统存储扩展图如图2-5所示。图2-5 系统存储扩展图以太网芯片和RJ-45用来接入以太网,实现指纹终端和服务器之间的通信。指纹传感器用来采集指纹信息,并通过单片机的控制传送到服务器上面进行对比。LCD显示器用来显示当前所采集的指纹信息经过以太网服务器对比的结果。LCD显示模块电路图,如图2-6所示。图2-6 LCD显示部分另外,随着技术的不断发展,单片机和指纹传感器的生产技术的提高,指纹终端的也可以得到相应的提高。尤其是指纹传感器识别成功率的提高,这样对手指的洁净程度要求就没有那么高。其中以太网芯片技术的提高更能提高指纹终端和服务器之间数据传送速率,提高整个系统的运行速率。第3章 以太网的建立3.1 TCP/IP协议TCP/IP(传输控制协议/网际协议)是互联网中的基本通信语言或协议。在私网中,它也被用作通信协议。当你直接连接网络时,你的计算机应提供一个TCP/IP程序的副本,此时接收你所发送的信息的计算机也应有一个TCP/IP程序的副本。UDP与TCP位于同一层,但它不管数据包的顺序、错误或重发。因此,UDP不被应用于那些使用虚电路的面向连接的服务。但是UDP比TCP要简化,所以在运行速率上要快些,根据本系统的需要我选择UDP协议。IP层接收由更低层(网络接口层例如以太网设备驱动程序)发来的数据包,并把该数据包发送到更高层- UDP层;相反,IP层也把从UDP层接收来的数据包传送到更低层。3.2 以太网协议的实现首先对协议中运用的公共数据结构执行定义:如MAC地址格式、IP地址格式、系统的地址配置、缓冲区格式及大小。其中MAC,IP地址格式都是固定的,系统的配置用于确定系统的IP地址及端口以及MAC地址值。由于系统中传送的数据较大,必须定义用于传送数据的缓冲区,长度为1500B,而接收的数据十分基本,因此无需缓冲区。其次,定义ARP数据帧头结构及ARP高速缓冲表,数据帧必须根据标准定义,高速缓冲表至少要含有IP地址及相对应的MAC地址2项。由于本系统连接的对象只有数据服务器,因此,在系统原始化建立连接时填入ARP缓冲表信息,而不必实现定时更新。本系统所用到的以太网协议及在各层中的作用如表3-1所示。表3-1 各层所用对应的TCP/IP协议族OSI中的层功能协议传输层提供对端的接口TCP,UDP网络层为数据包选择路由IP,IGMP等协议数据链路层传输有地址的帧以及错误检测功能SLIP,CSLIP,PPP,MTU物理层以二进制数据形式在物理媒体上传输数据IEEE802,IEEE802.2根据以太网标准定义IP及ICMP数据帧格式。网络层的的主要工作有:对上一层传下来的数据包,加上IP首部和IP校验和,发往下一层;以及对下一层传上来的数据包,执行校验和检查,若正确去掉IP首部,送往上一层;对收到的ICMP的回显请求包,按照格式组装1个ICMP的回显应答包并发送,以便于响应服务器的PING程序。最后,根据标准定义UDP数据帧格式。这一层的主要工作有:对运用层传下来的数据包,加上UDP首部和UDP校验和,发往下一层。以及对下一层传上来的数据包,执行校验和检查,若正确去掉UDP首部,提出数据送给运用层。3.3 数据通信的实现根据系统上传数据量大而接收数据量很小的特点,加之单片机的处理速度有限,系统将数据传送程序放到主程序中执行调用,而接收数据采用中断方式。当系统有数据要发送时,首先在传输层将数据加上UDP首部,再调用网络层函数给其加IP首部,然后到链路层从ARP表中查询MAC地址,填入相应位置,并发给网络驱动程序传到以太网上。当收到网络中断就读取数据,根据包的种类分别传给ARP或IP协议,由每一层自行处理数据,最后由单片机调用显示程序显示接收到的比对结果。第4章 指纹终端4.1 指纹终端结构指纹数据/验证服务器主要用来存放指纹识别的算法和指纹数据;指纹终端主要用来采集指纹信息和显示与数据库指纹对比的结果。指纹采集终端结构图,如图4-1所示。图4-1 指纹采集终端结构图根据结构图可知:指纹终端由单片机、指纹传感器、LCD显示器、以太网芯片、RJ-45接口和片外数据FLASH组成。由指纹传感器采集指纹传送给单片机,单片机通过以太网芯片将数据传送给以太网。所传送的数据在服务器上进行算法比对,得出结论并将所的比对的结论再传送给单片机,由单片机通过串口给LCD显示出来。这样可以减少指纹终端的工作压力,使得系统能够高效率的运行。4.2 指纹终端各部分作用指纹终端由单片机、指纹传感器、LCD显示器、以太网芯片、RJ-45接口和片外数据组成。SST89系列是美国SST公司推出的高可靠、小扇区结构的FLASH单片机,内部嵌入40KB的Super FLASH。它是终端的CPU,用来处理指纹传感器的数据、LCD显示器的数据以及和以太网的通信。传感器MBF200属于电容性传感器,支持3种接口形式,即MCU接口模式、SPI接口模式和USB接口模式。系统采用微处理器接口模式,在此模式下可将MBF200与51系列单片机8位数据总线直接相连,其接口形式非常基本,且微处理器接口模式在MBF200的3种接口模式下,数据传输率最高,可以满足对连续指纹图像采集和比对的需要。传感器MBF200的外围电路如图4-2所示。图4-2 指纹传感器外围电路为了保存指纹图像数据,必须为系统扩充外部存储器。MBF200一幅指纹扫描图像需要存储空间为75KB,因此系统采用SST公司的FLASH存储器SST 39SF040A对数据存储器执行存储扩充,其容量为128K×8位。由于51单片机地址线只有16位,系统采用P1口对存储空间执行分段访问。其中,指纹图像数据及识别数据采用固定地址执行存储,数据读取容易实现。LCD显示器用于显示比对结果信息。为了方便系统设计,采用LCD1602显示模块。用来显示当前所采集信息比对后的结果。以太网芯片和RJ-45接口用于将指纹终端接入网络,实现与服务器的通信。第5章 系统详细设计5.1 以太网建立的详细设计以太网的建立包括两方面的设计,一方面是拓扑结构的选择,另一方面以太网的调试。因为系统是基于企业局域网的系统,故应选用最常用的拓扑结构,不但方面系统的扩展而且结构简单便于操作。以太网在建立时要设置协议,通过ping命令来检查是否能实现通信。5.1.1 拓扑结构以太网又称拓扑结构,计算机网络的拓扑结构是引用拓扑学中研究与大小,形状无关的点,线关系的方法。把网络中的计算机和通信设备抽象为一个点,把传输介质抽象为一条线,由点和线组成的几何图形就是计算机网络的拓扑结构。网络的拓扑结构反映出网中个实体的结构关系,是建设计算机网络的第一步,是实现各种网络协议的基础,它对网络的性能,系统的可靠性与通信费用都有重大影响。最基本的网络拓扑结构有:环形拓扑、星行拓扑、总线拓扑三个。根据实际的需要,在本系统中我们使用总线型结构。总线型网络不但便于建立而且在使用起来比较方便,更适用于大型企业。其中总线型拓扑结构如图5-1所示。图5-1 总线型结构图5.1.2 以太网的建立以太网的建立的设计包括应用层的设计、传输层的设计、网络层的设计和链路层设计。在运用层,由于本嵌入式系统无HTTP,FTP等运用,所以其中的协议无需实现。在传输层,TCP为2台主机提供面向连接的、可靠的、无重复的双向数据流传输服务,但其实现对系统资源的耗费非常大。而UDP的实现比较基本,它在嵌人式运用场合可以很好的运用。考虑到系统的简化及速度的要求,采用UDP协议,为了确保UDP数据的到达,在运用程序中采用了重复发送、回复确认的方式来保证数据的正确性。在网络层,由于系统要求能够在Intranet执行通信,因此系统要实现IP协议。同时,为了能够测试系统与网络的连接,系统实现了ICMP协议中的Ping应答协议。在链路层上,系统必须实现IEEE802.3所规定的CDMACD协议,而此协议只要采用通用的以太网接口芯片就可支持。为了保证系统在以太网中的通信,系统实现了ARP应答协议,该协议用于将IP地址映射成以太网MAC地址。在两台电脑的网卡设置里面,有个TCP/IP协议,打开后输入IP地址192.168.0.1和192.168.0.2,掩码都是255.255.255.0,网关可任意填入一台电脑的IP,但两台必须一样。然后把两台机器用集线器或者交换机或者带交换机功能的路由器连接起来,就可以实现系统各个部分之间的联网通讯。传统以太网的结构如图5-2所示。图5-2 传统以太网结构图全面的测试应包括局域网和互联网两个方面,因此应从局域网和互联网两个方面测试,以下是在实际工作中利用命令行测试TCP/IP配置步骤:1、单击“开始”/“运行”,输入CMD按回车,打开命令提示符窗口。2、首先检查IP地址、子网掩码、默认网关、DNS服务器地址是否正确,输入命令ipconfig/all,按回车。此时显示了你的网络配置,观查是否正确。3、输入ping 127.0.0.1,观查网卡是否能转发数据,如果出现“Request timed out”,表明配置差错或网络有问题。4、Ping一个互联网地址,如ping 218.196.207.5,看是否有数据包传回,以验证与互联网的连接性。5、Ping一个局域网地址,观查与它的连通性。6、用nslookup测试DNS解析是否正确,输入如nslookup,查看是否能解析。如果你的计算机通过了全部测试,则说明网络正常,否则网络可能在某个方面出现了问题。5.2 指纹终端硬件设计指纹终端结构图如图5-3所示。图5-3 指纹终端结构图根据结构图可知:指纹终端由六部分组成,分别是单片机、片外数据FLASH、以太网芯片和RJ-45接口、指纹传感器、显示部分。其中单片机使用的是SST89E554RC,片外的FLASH采用的是SST39FF040,以太网接口芯片采用RLT8019AS与RJ-45进行连接。指纹终端通过RJ-45和PC机连接实现数据的通信。由系统存储扩展图可知,共有16为地址总线(A0A15),3位控制线(A16A18,分别由P3.0P3.2控制);所以系统存储能够扩展128K×8,满足指纹终端所需存储空间。图5-4 以太网芯片外围电路以太网的外围电路图如图5-4所示。以太网芯片用的是20MHZ的晶振,这一点和单片机的12MHZ晶振是不一样的,所以在初始化时要初始化成不同的波特率。指纹传感器通过20F10连接到RJ-45上,实现与局域网之间的通信。其中指纹传感器本身能将模拟信号转换成数据信号,通过数据通信端口传送给单片机和服务器。5.3 系统程序设计根据实际情况,在指纹传感器没有收集到指纹信息时,指纹终端一直处于延时检测状态;当指纹传感器收集到指纹信息时,指纹传感器会发出中断请求,待单片机响应其中断。单片机响应中断过程中,通过所建立的以太网向服务器传送所收集到的指纹信息,并等待服务器返回的比对结果。收到比对结果后,单片机通过LCD显示器向用户显示结果。指纹传感器在调用之前必须对指纹传感器进行初始化并使其处于接受指纹图像输入的状态。根据系统流程需要可以设计出系统程序结构流程图,如下图5-5所示。图5-5 系统流程图系统在最开始时要对单片机、指纹传感器和以太网芯片进行初始化。首先是对单片机的初始化,单片机共有四种工作方式,其