基于ARM的指纹识别门禁系统设计

合集下载

基于ARM的指纹识别门禁系统设计方案

基于ARM的指纹识别门禁系统设计方案

基于ARM的指纹识别门禁系统设计方案
现代社会高速发展,很多场合需要身份确认,传统的身份识别技术已经不能满足社会要求。

人的身体特征具有不可复制性,因此人们开始研究生物识别技术,而指纹具有唯一性、终生不变性、难于伪造等特点,安全性高,因而得到了广泛应用。

在一些机要部门,如银行、宾馆、机房等一般都安装有门禁系统,门禁系统是为保障人们生活、工作及财产安全,对重要通道的出入口进行管理与控制的系统,基于指纹识别技术的门禁系统是一项高科技安全设施,提高了系统的安全性。

ARM 作为一种嵌入式系统处理器,具有高性能、低功耗、低成本等特点,因而在工业控制领域、成像和安全产品方面得到了广泛应用。

本文介绍了基于嵌入式ARM9 体系结构的指纹识别原理与处理方法,以及指纹识别门禁系统的软硬件设计方法。

1 指纹识别原理及处理方法
指纹识别技术通过分析指纹的局部特征,从中抽取详尽的特征点,从而可靠地确认个人身份。

指纹识别技术主要涉及四个功能:读取指纹图象、提取特征、保存数据和比对。

首先从获取的指纹图像上找到“特征点”,然后根据特征点的特性建立用户活体指纹的指纹特征数据(一种单向的转换,可以从指纹图像转换成特征数据但不能从特征数据转换成为指纹图像)。

由于两枚不同的指纹不会产生相同的特征数据,所以通过对所采集到的指纹图像的特征数据和存放在数据库中的指纹特征数据进行模式匹配,从而计算出它们的相似程度,最终得到两个指纹的匹配结果,根据匹配结果来鉴别用户身份。

1.1 指纹图像的采集
光学取像有着悠久的历史,它可以追溯到上世纪70 年代,依据的是光的全反射原理。

现在一般采用光学指纹传感器来采集指纹,取得指纹具有图像。

基于ARM的指纹识别门禁系统的设计

基于ARM的指纹识别门禁系统的设计

摘要随着数字化和网络化的发展,传统的门禁系统由于鉴别方式、速度和性能等方面的限制,很难满足安全可靠和网络化的控制需求。

由于识别技术的不断成熟,基于人体生理特征的身份识别系统逐渐被人们开始采用,目前,从实用的角度看,指纹识别技术要比其它生物识别技术更安全和方便,这是因为人的指纹具有唯一性、不变性以及贴身性的特点。

传统的门禁控制器常采用单片机开发,利用串行通信接口向远程上位机传送数据,多个门禁控制器一般组成RS485网络,通信线路专用且不易于实现网络控制和远程控制,而基于TCP/IP网络通信的门禁系统通过局域网传递数据,很容易实现远程控制和分布式管理。

论文首先分析了门禁系统的研究背景、意义及国内外的发展现状,然后介绍了指纹识别网络门禁系统的总体结构,阐述了系统各个重要功能模块的硬件资源。

论文研究了指纹识别算法,包括指纹图像预处理和指纹图像的特征提取和匹配,重点分析了指纹图像分割法,利用灰度梯度和灰度方差的结合设置一个合适的局部阈值对指纹进行分割。

然后,阐述了门禁控制系统软件的总体设计,指纹图像采集、GoAhead Web Server的应用以及系统运用TCP/IP实现系统门禁控制器和上位机PC之间的网络通信。

关键词:嵌入式,门禁,指纹识别,Linux,TCP/IPBased on the ARM of fingerprint identification entrance guardsystem designAbstractWith the development of digitalization and network,the traditional access cont- rol system is difficult to meet the reliability and network control requirements because of the identification methods,speed and performance.The human physiology chara- cteristic’s status recognition is widely used based on the progress of the recognition t- echnology.At present,looking from the practical angle,the fingerprint recognition technology must be safer than other physiology character recognition,this is because person’s fingerprint is unique,invariable as well as the next to the skin.The traditi- onal entrance guard controller often used the Single-Chip Microcomputer and the ser- ial port for transmitting data to the position machine.Some entrance guard controllers compose by the RS485 network generally,it makes it’s no easy to realize the network and the remote control because of the co mmunication link’s special-purpose,but net- working entrance guard system based on the TCP/IP is easy to realize the remote con- trol and the distributional management.Firstly,the paper analyzed the development of the access control system and it’s background and significance,and then introduced the overall structure of the system,listied the important function modules of the hardware resources and drivers.Thirdly,the paperstudied the fingerprint recognition algorithm which mainly includes the fin- gerprintimage pretreatment and the feature extraction and matches.In this paper,it’s focuedon analysis of fingerprint image segmentation algorithm,using of the gray gra- dientand the gray variance combination,and then seting up a suitable local threshold forsegmentation.At last,the paper elaborated the access control system’s so ftware design which is focus on collecting fingerprint image acquisition,GoAhead Web Se- rv er’s applications and the communication between the accesscontrol system contro- ller,and the client PC based on TCP/IP protocol.Key Words:Embedded System,Access Controller,Fingerprint Recognition,Linux,TCP/IP目录1.绪论 (1)1.1 课题的研究背景及意义 (1)1.2国内外研究现状和发展 (1)1.3 本文的研究内容 (2)2.系统硬件设计 (2)2.1 系统总体设计 (2)2.1.1 系统概述及设计原则 (2)2.1.2 系统组成及功能 (3)2.2 嵌入式主控模块设计 (5)2.2.1 ARM微处理器与地址空间映射 (5)2.2.2 NAND FLASH单元 (5)2.2.3 SDRAM单元 (6)2.2.4 USB及USB摄像头单元 (7)2.3 界面显示接口模块设计 (8)2.4 指纹识别模块设计 (9)3.指纹识别算法研究及实现 (11)3.1 指纹识别的理论基础 (11)3.2 指纹图像的预处理 (12)3.2.1 背景分割 (12)3.2.2 指纹图像增强 (12)3.2.3 图像二值化 (13)3.2.4 细化及其后处理 (13)3.3 指纹图像的特征提取及匹配 (13)3.3.1 指纹图像的特征点提取 (13)3.3.2 指纹图像的特征匹配 (13)4.门禁控制系统软件设计 (14)4.1 门禁控制系统总体软件设计 (14)4.2 指纹图像采集 (15)4.3 网络通信 (16)4.3.1 TCP/IP协议 (16)4.3.2 系统网络通信软件设计 (16)4.3.3 GoAhead嵌入式Web服务器 (18)5.结论 (18)参考文献 (20)致谢 (21)1.绪论1.1 课题的研究背景及意义随着科学技术的不断进步,人们对现代化办公和生活场所提出了更高层次的安全管理需求,普通的门锁系统和手工出入管理已经不符合现代人的实际需求。

基于ARM和POE的网络指纹门禁系统设计.

基于ARM和POE的网络指纹门禁系统设计.

基于ARM和POE的网络指纹门禁系统设计摘要设计基于ML67Q5250和PoE的指纹门禁系统的实现方案,阐述了系统组成结构及工作原理、软硬件设计。

该系统具有高速指纹识别、指纹数据保护、以太网供电、结构简单、低功耗、低成本等优点。

可以满足指纹门禁系统的需求,具有较好的应用前景。

关键词 ARM;PoE;指纹识别;门禁系统提出了一种基于ARM和POE的嵌入式系统的指纹门禁设计方案。

该方案以ML67Q5250处理器及其外围模块作为硬件平台,以嵌入式Linux作为操作系统,构成整个系统,该系统应用以太网供电,实现指纹门禁系统的功能,无需专门供电线路,该设计的实现,具有广泛的市场应用前景。

1 系统的结构整个系统由4个部分构成,FPS200传感器模块、ML67Q5250指纹识别模块、以太网供电模块、以太网数据通信模块组成硬件电路。

软件方面包括Linux嵌入式软件、后台支持软件,实现网络操作,指纹识别和控制,报警提示,电源管理等功能的网络指纹门禁系统。

2 系统的硬件设计2.1 ML67Q5250指纹识别设计ML67Q5250微处理器属于ARM7系列,ML67Q5250指纹识别处理器具有快速傅里叶变换功能和高性能的指纹识别处理。

采用DFT方式的指纹识别算法,高速识别时间0.8 s以内,高识别精度FAR<0.001%、FRR<1.0%,内置闪存中的可注册指数15个,预定扩展至45个,装备禁止指纹数据错误读出的安全功能,具有可与外部设备连接的各种接口。

另外,该处理器能够实现外部存储器控制,可以存储大量的指纹信息,系统的另一个特点是:指纹识别模块通过网络和后台数据库进行通信,该处理器有大量的通用输入输出端口,为以后的功能扩展提供了广阔的空间。

应用ML67Q5250软核处理器的解决方案,打造具有综合功能、可配置的缓冲存储系统,为网络指纹门禁系统提供了解决方案。

图1是该系统的硬件结构。

ML67Q5250作为系统CPU,处理传感器模块采集到的指纹信息,通过和数据库中的指纹信息进行比对,实现确认识别的目的。

基于ARM的门禁系统的设计

基于ARM的门禁系统的设计

Doors &WindowsTM2012.09门窗专栏基于ARM 的门禁系统的设计李晓强西安理工大学高等技术学院摘要:门禁系统是在传统门锁基础上发展而来的。

近年来,随着自动控制技术、计算机技术、感应卡技术、生物识别技术等的发展,门禁系统得到了飞跃式的发展,其应用领域也更加广泛。

但随着科技的发展,人们对门禁系统也提出了更多的实际功能要求,而目前市场上的门禁系统大多是基于单片机的理念设计的,这种门禁系统由于速度、接口和性能等方面的限制,已很难甚至不能满足人们的各种生活需求。

因此设计一种高速度、高性能、低功耗、低成本且益于扩展的门禁系统迫在眉睫。

考虑到ARM 处理器具有较高的处理效率以及对各种操作系统的良好支持,本文提出了一套新型的门禁系统设计方案———基于ARM9的嵌入式门禁系统。

此系统消除了以往门禁系统中依赖单片机作为主要控制芯片而导致的各种缺点,并将人体生物特征应用其中,利用人体生物特征的唯一性大大提高系统的安全性,促进其不断向前发展。

关键字:ARM9;嵌入式门禁系统;人体生物特征1研究背景如今,门禁系统已逐渐发展成为一套现代化的、功能齐全的管理系统,它不仅仅作为人员进出的管理使用,而且还能提供公司或小区内部的有序化管理,出入口的实时视频监测等功能。

在一些发达国家,门禁系统已经相对成熟,广泛地应用于智能小区、办公室、宾馆的各种房门、大门、人行通道管理方面。

在国内,门禁系统也呈现出了迅猛发展的势头,在各种领域开始应用。

目前,从国际、国内研发的门禁系统的控制手段来看,主要有键盘输入密码式门禁系统、接触式卡门禁系统、非接触式IC 卡门禁系统、生物辨别系统等。

虽然目前的门禁系统也能完成一些相应的基本功能,但其核心处理器大多主要依赖单片机来实现,扩展能力等有限,而随着嵌入式技术的不断发展,特别是基于ARM 处理器的嵌入式系统,由于其可扩展性强、稳定性高、功耗低、性能和价格比合理等特点,已在实际生活中得到了广泛的应用。

基于ARM9处理器的嵌入式指纹识别系统设计

基于ARM9处理器的嵌入式指纹识别系统设计

基于ARM9处理器的嵌入式指纹识别系统设计摘要:为了适应指纹采集传感器件和指纹识别系统向着小型化和嵌入式方向发展的需要,文中提出了一种基于ARM9处理器架构的CPU芯片S3C2440A的嵌入式指纹识别系统(指纹识别系统是一个典型的模式识别系统,包括指纹图像获取、处理、特征提取和比对等模块。

)设计方案,同时对该指纹识别系统的硬件架构进行了说明。

该方案具有结构简单、可扩展性和移植性强等诸多优点。

0 引言指纹鉴定是人身识别最重要的手段之一,指纹自动识别系统给指纹鉴定工作提供了一个新的平台,并使指纹自动识别系统在身份认证方面具有更广阔的前景。

目前,自动指纹识别系统一般都是联机的,大多数系统都选用指纹传感器来采集,并以计算机(PC)作为主机来处理,从而对指纹进行匹配。

而本文提出的基于ARM9的嵌入式指纹识别系统则是把采集和处理集于一身的独立系统,因而可以做得很小,比较适合用于高档汽车门、防盗门以及公*勤系统等场合。

嵌入式系统是指以应用为中心,以计算机技术为基础,软硬件可裁剪,其应用系统对功能、可靠性、成本、体积和功耗等要求都比较严格的专用计算机系统。

本文选用SAMSUNG的S3C2440A作为嵌入式指纹系统的主处理芯片,提出了系统的软硬件设计方案。

1 嵌入式指纹识别系统的硬件设计图1所示是本嵌入式指纹识别系统的硬件框图。

从图1中可以看到,本系统主要由指纹数据采集模块、微处理器模块、数据存储模块和通讯模块等四个模块组成。

本系统以ARM9处理器为核心来驱动指纹传感器采集指纹,并将指纹数据放入存储器中,此数据可以被PC通过串口获取,也可以保存在数据存储器中。

指纹数据采集模块可利用软件方式来判断是否进行指纹的采集。

当进行指纹采集时,指纹传感芯片将按照设定的参数来采集指纹,并将模拟图像转换成数字图像,然后在ARM的控制下,将数据存储在外部数据空间,以等待下一步的处理。

图1 指纹识别系统的硬件框图微处理器模块以ARM和数据存储器为核心,可对采集到的指纹图像进行相应的预处理,并通过对发光二极管的控制来显示指纹预处理结果。

基于ARM的指纹识别门禁系统的设计与实现的开题报告

基于ARM的指纹识别门禁系统的设计与实现的开题报告

基于ARM的指纹识别门禁系统的设计与实现的开题报告一、选题背景和意义随着人们对安全的要求越来越高,门禁系统在各种场合越来越普及。

传统的门禁系统主要采用IC卡、密码等方式进行身份认证,但是这些方式都有着各种弊端,例如IC卡可能丢失或者被人冒用,密码易被猜测等。

而指纹识别技术具有独特的优点,如不可复制、高精度、高速度等,因此越来越受到人们的关注。

本项目将基于ARM开发板和指纹识别模块,设计并实现一款基于ARM的指纹识别门禁系统。

该门禁系统实现了对用户指纹的采集和匹配,同时还可以通过网络连接上位机进行远程控制,实现了对门禁系统的管理和控制,具有良好的安全性和便利性。

二、主要内容和技术路线本项目的主要内容包括:- 指纹采集模块:通过指纹识别模块采集用户的指纹信息,并将指纹信息存储到ARM开发板中。

- 指纹匹配模块:通过指纹识别模块对用户进行身份认证,判断是否有门禁权限。

- 门禁控制模块:通过驱动开发板上的继电器模块进行门禁的开关控制。

- 网络连接模块:通过硬件连接以太网模块,通过网络连接上位机进行远程控制。

技术路线如下:- 系统硬件设计:选用ARM开发板和指纹识别模块、继电器模块、以太网模块等相关硬件。

- 系统软件设计:采用ARM的裸机开发方式进行开发,对指纹采集、指纹匹配、门禁控制、网络连接等模块进行开发。

- 系统调试测试:进行系统测试和功能验证,调试系统软硬件问题。

三、预期成果本项目的预期成果包括:- 完成指纹识别门禁系统的设计和实现,实现了指纹采集、指纹匹配、门禁控制、网络连接等功能。

- 展示门禁系统的实际应用效果,验证系统的可靠性和实用性。

- 发表论文或报告,介绍整个设计过程和技术路线,分享经验和感悟。

四、项目计划本项目的计划如下:- 第一周:确定选题,阅读相关文献,了解市面上的各种指纹识别门禁系统和技术方案,熟悉相关的硬件和软件开发工具。

- 第二周:进行系统硬件选型和设计,绘制电路图和PCB布局图。

基于ARM9的指纹识别系统

基于ARM9的指纹识别系统

基于ARM9的指纹识别系统*第一部分设计概述/Design Introduction信息化时代,生物识别技术作为信息安全和个人身份识别技术越来越受到人们的重视。

指纹作为人体中最明显的外表特征,具有独一无二的特性、普遍性、唯一性、易于采集等优点。

指纹鉴定技术利用人类指纹稳定性和独特性的生理特征,将其作为人们的一种“活的身份证”,更因指纹具有的不可替代性,使通过指纹进行身份鉴定的安全性大大提高,且随着图像处理_模式识别方法的发展和指纹传感器技术的日臻成熟,指纹鉴定方法在金融、公安、门禁、户籍管理等领域都有着良好的应用前景。

同时随着指纹传感器性能的提高和价格的降低,指纹的采集相对容易;指纹的识别算法已经较为成熟。

由于指纹识别具有扫描指纹的速度很快,方便,小型化等多优点,指纹识别技术已经逐渐走入民用市场,并应用到许多嵌入式设备中。

指纹防盗系统也由此产生,指纹防盗系统是一种能够自动鉴别个人身份的技术,对于其他的指纹报警,技术特性使得生物识别身份验证方法不依赖各种人造的和附加的物品来证明人的自身,而用来证明自身的恰恰是人本身,所以,它不会丢失、不会遗忘,很难伪造和假冒,是种“只认人、不认物”,方便安全的保安手段。

从而对财产起到保护作用。

指纹防盗系统可以广泛用于政府、学校、税务机关、银行、部队、智能小区及交通等各个领域,倍受各界用户的青睐。

目前市场上有各种各样的嵌入式处理器。

意法半导体公司提供的STR912芯片是一种硬核处理器,具有很高的性价比。

本文提出一种基于ARM9处理器为核心的嵌入式自动指纹识别系统设计,以STR912芯片设计为硬件平台,配以指纹传感器芯片和VGA接口控制电路实现的。

该系统具有低成本、开发周期短、上市快等优点。

第二部分功能描述/Function Description本设计系统主要实现指纹的采集、处理、特征模板提取、结果显示,以及完成个人身份识别/注册功能。

主要有以下几个模块,指纹采集模块,ARM9处理模块,VGA控制模块,结果显示模块。

基于ARM的指纹识别门禁系统设计

基于ARM的指纹识别门禁系统设计

基于ARM的指纹识别门禁系统设计
贾红云;赵立本
【期刊名称】《微计算机信息》
【年(卷),期】2007(023)005
【摘要】介绍了基于ARM的指纹识别门禁系统的软硬件设计.其中硬件主要是Intel公司基于X-scale内核的PXA255处理器和美国Veridicom公司的半导体指纹传感器FPS110.软件设计包括系统上电初始化,图像捕获存储,图像匹配等.经过仿真,该系统准确性高,识别快,而且易于二次开发扩展.
【总页数】2页(P140-141)
【作者】贾红云;赵立本
【作者单位】266071,山东青岛,中国海洋大学信息科学与工程学院;266071,山东青岛,中国石油化工股份有限公司山东青岛石油分公司
【正文语种】中文
【中图分类】TP399
【相关文献】
1.基于ARM的指纹识别门禁系统设计 [J], 王啸东
2.基于ARM9的指纹识别门禁系统 [J], 陈国金;王家校
3.基于ARM9的指纹识别门禁系统 [J], 吕宪军;陈后金
4.基于ARM的指纹识别门禁系统设计 [J], 郑冰;贾红云;赵立本
5.基于指纹识别的门禁系统设计 [J], 李龙;陈飞凤;岳梅;张婧婧
因版权原因,仅展示原文概要,查看原文内容请购买。

基于ARM9的指纹识别门禁系统

基于ARM9的指纹识别门禁系统

基于ARM9的指纹识别门禁系统
指纹门禁系统是基于生物特征识别技术的一项高科技平安设施,近年来在国内外得到了广泛的应用,并已成为现代化建造智能化的标记之一。

对于一些核心机密部门,如重要机关、科研试验室、档案馆、民航机场等场所,指纹门禁系统可以提供高效、智能、便捷的授权控制。

因为指纹具有携带便利、人人各异、终生不变的特点,因此利用指纹识别作为身份认证的手段,与传统的钥匙、密码相比,大大提高了平安性与可信性。

该系统基于9芯片Samsung S3C2440AL,以Veridicom公司指纹采集芯片FPS200作为硬件平台,以为软件平台。

在该讨论领域中,基于PC 平台的识别系统向来是讨论的重点,本文实现的基于ARM平台的系统具有轻巧,易安装,成本低的优点,具有良好的进展前景。

1 系统硬件设计
S3C2440AL主频为400 MHz,最高为533 MHz;FPS200指纹由256×300个传感阵列组成,其辨别率高达500 dpi,工作范围为3.3~5 V,传感器内部有8位,并具有2组采样保持。

囫囵系统的框图1所示。

2 操作系统
因为嵌入式Linux具有内核小、效率高、开放源码、平台工具多等优点,该系统采纳嵌入式Linux作为操作系统平台。

构建该平台的主要步骤如:
(1)通过JTAG下载U-boot;
(2)配置Linux Kernel并通过串口下载;
(3)开发FPS200驱动并举行动态加载。

3 指纹识别的算法流程
指纹识别系统按识别过程中的主要功能,可划分为指纹图像采集算法、图像预处理算法、特征提取算法、特征匹配算法。

(1)指纹图像采集算法流程2所示。

第1页共2页。

基于ARM平台的门禁设计方案

基于ARM平台的门禁设计方案

基于ARM平台的门禁设计方案门禁系统在现代社会中广泛应用,用于保护建筑物、公司、商店等场所的安全。

而基于ARM平台的门禁设计方案可以将传统的门禁系统与智能化技术相结合,提高系统的安全性和便利性。

在硬件设备方面,门禁系统主要包括门禁控制器、读卡器和电锁等组件。

门禁控制器是门禁系统的核心部件,负责控制门禁设备的工作。

基于ARM平台的门禁控制器具有处理能力强、稳定性好和功耗低的特点。

读卡器用于读取用户的身份信息和权限,可以采用RFID、指纹识别、人脸识别等技术。

电锁用于控制门的开关,可以通过电磁和电子方式实现。

此外,门禁系统还可以加入其他组件如摄像头、报警器等,以提高系统的安全性。

在软件系统方面,门禁系统需要借助ARM平台的操作系统进行管理和控制。

通过软件系统可以实现对门禁设备的配置、权限管理、报警处理等功能。

门禁系统可以与其他智能设备如监控系统、报警系统等进行联动,实现全方位的安全防护。

同时,门禁系统还可以与网络相连,实现远程监控和管理。

通过手机APP或网页端,用户可以实时查看门禁记录、设置权限、开关门禁,方便快捷。

1.处理能力强:ARM处理器具有高性能和较低的功耗,能够满足门禁系统对处理能力的需求。

同时,ARM平台可以通过升级处理器等方式提供更高的性能。

2.稳定可靠:ARM处理器拥有较好的稳定性和可靠性,能够长时间稳定工作。

门禁系统对稳定性要求较高,ARM平台能够满足这一需求。

3.低功耗:门禁设备通常需要长时间运行,对功耗要求较低。

ARM处理器采用先进的制程工艺和功效优化技术,能够提供较低的能耗。

4.灵活可扩展:基于ARM平台的门禁系统可以灵活地配置和扩展。

用户可以根据具体需求选择适合的硬件组件和软件系统,实现定制化的门禁方案。

5.可远程管理:基于ARM平台的门禁系统可以通过网络实现远程管理。

用户无需现场操作,即可实现监控、配置、权限管理等功能,提高了管理效率。

总之,基于ARM平台的门禁设计方案能够提供安全可靠的门禁系统,实现对建筑物、公司、商店等场所的安全管理。

基于的智能门禁系统的设计与实现

基于的智能门禁系统的设计与实现
4
-
请各位老师批评指正!
XXXXXXXXXX
指导老师:XXX
答 辩 人 :XXX
THESIS DEFENSE POWERPOINT
用户管理:系统可以管理用户信息,包括添加新用户、删除用户、修改用户信息等。管理员可以通过手机APP或PC端进行操作
日志记录:系统将记录所有操作日志,包括读卡记录、生物识别记录、开门记录等,方便管理员进行审计和故障排查
系统功能与流程
低电量提醒:当读卡器或生物识别模块电量低时,系统将发送提醒给管理员,以确保系统正常运行
开门指令:如果用户身份验证成功,系统将发送开门指令给门禁电机模块。否则,系统将发出警报
门禁电机动作:门禁电机模块接收到开门指令后,将驱动门禁电机动作,实现门的开启
系统功能与流程
实时监控与报警:系统可以实时监控各个模块的工作状态,并在异常情况下(如读卡失败、生物识别不符、电机故障等)发出警报
在线连接:系统可以通过Wi-Fi或移动网络将数据上传至云端,实现远程监控和管理。用户可以通过手机APP或网页查看门禁系统的状态和历史记录
门禁电机模块:用于接收开门指令并驱动门禁电机动作
报警模块:在异常情况下发出警报
系统功能与流程
2
系统功能与流程
读卡与生物识别:用户在门禁系统前出示门禁卡或进行生物识别(指纹或面部)
身份验证:系统通过读卡器读取门禁卡信息,或从生物识别模块获取指纹或面部数据。这些数据将被发送到云端数据库进行比对和验证
基于ARM的智能门禁系统的设计与实现
20xx
-
2
目录
CONTENTS
系统架构
1
系统功能与流程
2
基于ARM的智能门禁系统的设计与实现

基于ARM9的指纹识别器的设计

基于ARM9的指纹识别器的设计

5自动化仪表6第28卷第11期 2007年11月基于AR M 9的指纹识别器的设计Desi gn of F i n gerpri nt Identifier Based on AR M 9侯冬晴(湖南吉首大学物理信息学院,吉首 416000)摘 要:介绍了指纹识别的一般原理,详细阐述了CPU S3C2440A 和HB7121B 的各模块结构及其功能;并且给出了S3C2440A 与指纹识别器HB7121B 的连接,完成了指纹识别器的硬件设计。

同时,讨论了L i nux 操作系统的嵌入和应用软件的编写,完成了指纹识别器的软件设计。

该设计方案将ARM 9技术引入指纹识别领域,将对ARM 技术的应用和指纹识别的发展产生促进作用。

关键词:ARM 技术 指纹识别 方向图 HB7121B 嵌入式中图分类号:TP302.1 文献标志码:AAbstract :The genera l pri nci p l e o f the fi ngerpri nt i dentificati on i s presented .The modul ar struct ures and f uncti ons of CP U S3C2440A and HB7121B are descri bed i n detai.l The connecti ons bet w een CP U S3C2440A and fi ngerpr i nt identifier HB7121B are g i ven ,t hus the hard ware desi gn o f t he i denti fi er i s m i ple mented .In additi on ,the e mbedded operating syste m L i nux and t he progra mm i ng o f app licati on soft ware are d i s -cussed ,t hus the soft ware desi gn i s accomplis hed .In t he desi gn ,t he AR M 9technol ogy has been i nvo l ved i n the area of fi ngerpr i nt i dentifier .T hi s w ill pro mo t e t he applicati on of ARM technology and deve l op m ent of fi ngerpri nt i dentifica ti on .K ey words :AR M techno l ogy F i ngerpr i nt i dentifi cati on O r i entati on p i cture HB7121B Embedded湖南省教育厅自然科学基金资助项目(编号:05C141)。

基于ARM的门禁系统设计

基于ARM的门禁系统设计

基于ARM的门禁系统设计引言门禁系统作为一种安全保障设备,广泛应用在各类公共场所和机构中。

基于ARM(Advanced RISC Machine)的门禁系统设计,是一种使用ARM架构的处理器作为控制核心,实现门禁控制和安全管理的系统。

本文将探讨基于ARM的门禁系统的设计原理、系统组成和关键技术。

设计原理基于ARM的门禁系统主要由三个组成部分构成:门禁读卡器、控制器和门锁。

读卡器用于读取用户身份信息,控制器用于对用户身份进行验证并控制门锁的开关,门锁负责门的实际开关操作。

整个系统的设计原理是通过读卡器获取用户身份信息,控制器进行验证,验证通过后控制门锁开启。

基于ARM的门禁系统由以下几个组成部分构成:1. 门禁读卡器门禁读卡器是系统的输入设备,用于读取用户的身份信息。

读卡器根据不同的技术采用不同的读取方式,如刷卡、感应等。

读卡器通过接口将读取到的用户身份信息传递给控制器进行下一步的验证。

2. 控制器控制器是系统的核心部件,采用ARM架构的处理器作为控制核心。

控制器负责对读卡器读取到的用户身份信息进行验证,验证通过后,控制器向门锁发送开锁信号,使门锁开启。

控制器还可以与其他外部设备进行通信,以实现系统的扩展功能,如与监控摄像头进行联动,实现门禁监控等。

门锁是系统的输出设备,负责实际的门控制操作。

门锁能够通过控制器发送的开锁信号进行门的开启和关闭操作。

门锁的种类繁多,有电子锁、电磁锁、指纹锁等。

4. 用户管理系统用户管理系统用于管理门禁系统中的用户信息。

用户信息包括用户身份信息、权限等级等。

用户管理系统可以与控制器进行通信,通过控制器更新用户信息或获取用户权限等。

关键技术基于ARM的门禁系统设计涉及到多项关键技术,包括:1. ARM架构处理器选型ARM架构是一种低功耗、高性能的处理器架构,适合嵌入式系统应用。

在门禁系统设计中,需要选择适合的ARM处理器作为控制器的核心。

选择合适的ARM处理器可以提高门禁系统的性能和稳定性。

基于ARM的门禁系统设计

基于ARM的门禁系统设计

基于ARM的门禁系统设计摘要随着人类生活水平、认知水平和人们对安防要求的不断提高以及工业自动化的蓬勃发展,智能化管理已经走进了人们的社会生活,而在智能化管理中,门禁监控系统得到了越来越多的应用,门禁,又称出入管理控制系统,是一种管理人员进出的数字化管理系统。

但传统的门禁监控系统一般采用门禁控制和视频图片摄录相分离的实现办法,这给现场布线带来了很多的不便,同时其成本也会大大提高。

所以,设计稳定性高、保密性强和易于扩展的较通用型门禁系统具有重要的实际意义。

整个系统的设计采用具有丰富多片内外设的 LPC2368 ARM为微控制器,选用 ZLG522S/LT 读卡模块为读卡器(使用 Mifare 卡),并采用 HUIGANG 继电器作为门锁开关,同时有门状态指示灯。

系统通过 RS-485 总线与上位机进行通信。

该系统具有按用户与时间权限刷卡开门和记录功能、添加用户功能、设置时间权限和考勤时间段,并能将记录信息通过SD 卡导出。

该电子门禁系统具有实际应用中的单门门禁考勤系统的主要功能,并具有稳定性、可靠性,保密性强和人机界面友好的优点。

关键词:ARM 微控制器,读卡模块,RS-485,SD 卡概述本设计皆在完成一个管理人员进出的数字化出入管理控制系统。

在现今的社会生活中,人们已经逐渐进入并融入到了数字化电子化的生活,社会的各个方面都已经实现或基本实现了数字化,门禁系统作为人们生活中必不可少的管理类应用,在人类的工作中显得尤为的重要,而对于这样一个应用,在这样一个大的背景下,实现其数字化与电子化是十分必要的,智能考勤系统基于现代电子与信息技术,利用智能卡或指纹等生物信息的唯一性来对员工上下班进行现代化高效管理,在各厂矿、机关、银行等场合已广泛应用并成为单位管理现代化和信息化的标志。

但目前很多门禁系统的核心控制单元主要依赖单片机来实现,它虽然也能完成相应的基本功能,但其扩展能力有限,在性能和存储容量等方面已不能很好地满足人们的要求,然而,随着嵌入式技术的不断发展,特别是基于ARM 处理器的嵌入式系统由于其可扩展性强、稳定性高、功耗低、性能和价格比较合理等特点已在实际生活中得到了越来越多的应用。

基于ARM的指纹识别门禁系统设计-图文.

基于ARM的指纹识别门禁系统设计-图文.

课程设计任务书学生姓名:廖年强专业班级: 06自动化指导教师:谢川工作单位:重庆工商大学计信学院题目: 基于ARM的指纹识别门禁系统设计已知技术参数和设计要求:1、硬件主要选择基于Xscale内核的PXA255处理器;2、传感器为美国豪威公司的CMOS图像传感器FPS200;3、设计系统的硬件和软件部分;4、硬件包括指纹识别模块、数据处理模块等;5、软件部分包括系统初始化, 指纹处理识别, 电控锁控制部分等;6、以小组为单位完成本任务,每个小组最多5人;要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、完成元器件选型,设计硬件电路,并提供protel电路图;2、设计中给出最小系统的电路图扩展相应的电路,并根据要求最终形成一个完整的电路图,并完成所有源代码;3、每个组员完成不少于3000字的课程设计报告且报告内容不同。

4、课题指标从学生实际出发,难易适中,经过努力都能够完成任务,并有所收获。

时间安排:2009~2010学年第一学期17~18周指导教师签名:年月日教研室主任签名:年月日重庆工商大学课程设计成绩评定表学院:计信学院班级:06自动化2班学生姓名:廖年强学号:2006003921项目分值优秀(100>x≥90 良好(90>x≥80中等(80>x≥70及格(70>x≥60不及格(x<60评分参考标准参考标准参考标准参考标准参考标准学习态度15 学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能文献查阅能力强、引用合理、调查调研非常合理、可信力和计算机应用能力,文献引用、调查调研比较合理、可信文献引用、调查调研比较可信力差,文献引用、调查调研有较大的问题创新10 有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸撰写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:指导教师签名:年月日基于ARM的指纹识别门禁系统设计计信学院 06自动化2班廖年强 2006003921【摘要】本设计介绍了基于ARM的指纹识别门禁系统的软硬件设计。

基于ARM的智能门禁系统设计本科设计

基于ARM的智能门禁系统设计本科设计

基于ARM的智能门禁系统设计摘要门禁系统作为安防系统中的一个重要部分,随着人们的生活水平和工作的质量的提升,其技术要求也得到了相应的提升。

同时在楼宇自动化中门禁系统也得了很多的重视。

它以计算机技术为主体,涉及了电子、机械、光学、通讯技术、生物技术等多种技术用来有效的对出入口进行控制,并且限制出入人员的权限。

计算机系统通过门禁锁实现对出入口的控制,而最多只需要一个人在中心监控室实现有必要的人为控制。

本课题就是以ARM为主控制器,将嵌入式技术和射频识别技术应用到门禁系统中,利用嵌入式系统丰富的控制器资源、对实时多任务有很强的支持能力、可扩展的处理器结构方便以后功能的完善,同时射频技术来检测IC卡,通行的人用IC卡来获得进入的权限。

关键字:门禁系统,嵌入式技术,身份识别技术ABSTRACTAccess control system as an important part of the security system, with the enhancement of people's living standards and the quality of work, technical require ments has also been a corresponding increase. Access control systems in building automation also got a lot of attention. Computer technology as the main body involved in the electronic, mechanical, optical, communications technology, biotechnology and other technologies used to control the import and export, and to limit access permissions. Computer system to control the import and export through access control lock up only one person in a central control room to achieve the necessary human control. The sub ject is the controller, ARM-based embedded technology and radio frequency identifi cation technology to the access control system, embedded system controller, a strong ability to support real-time multi-tasking, scalable processors structure to facilitate future improve the function of the radio frequency technology to detect IC card, IC card access to get permission to enter.Key words :Access control system , embedded technology , ID technology目录摘要 (I)ABSTRACT ............................................................ I I第一章绪论 (1)1.1 课题背景和意义 (1)1.2 门禁系统的发展和国内外现状 (1)1.3论文研究的内容和工作 (2)第二章门禁系统技术的介绍 (4)2.1 RFID射频识别技术的介绍 (4)2.2基于ARM平台的嵌入式系统的介绍 (5)2.2.1 ARM技术的介绍 (5)2.2.2 嵌入式系统概述 (6)第三章总体设计和软硬件平台的选择 (9)3.1系统总体设计 (9)3.2硬件平台的选择 (9)3.2.1 S3c6410芯片介绍 (9)3.2.2 MF RC500射频读写芯片 (11)3.3软件平台的选择 (13)3.3.1 选择Linux操作系统的理由 (14)3.3.2 bootloader的选择 (15)3.3.3 文件系统的选择 (16)第四章系统详细设计与实施 (18)4.1 嵌入式Linux开发环境的搭建 (18)4.2 主机开发环境的搭建和系统的移植 (18)4.2.1 搭建主机的开发环境 (18)4.2.2 U-boot的编译 (18)4.2.3 内核的定制 (19)4.2.4 文件系统的制作 (22)第五章应用软件的设计 (24)5.1 软件设计的总体思路 (24)5.2 通过协议编写程序 (26)结论 (28)参考文献 (29)附录 (30)致谢 (60)第一章绪论1.1 课题背景和意义在科技、社会经济飞速发展的当今,城市的面貌发生了极大的变化,林立的大厦、众多成片小区的出现的同时也产生了不少的安全隐患,不法分子利用高科技手段犯罪的行为也逐渐多了起来,怎么让人们利用现代科技手段为自己的人身财产安全保驾护航,同时有效的阻止犯罪行为呢?传统的门锁和防盗门已经不能满足人们的需求了。

基于ARM的光学指纹识别系统的设计方案

基于ARM的光学指纹识别系统的设计方案

基于ARM的光学指纹识别系统的设计方案
本方案采用ARM处理器作为控制核心,构建指纹识别算法的嵌入式系统的设计方法及过程。

该系统采用光学指纹传感器(内建格科微电子有限公司的光学GC0307 CMOS图像采集芯片)与ARM Cortex M3内核的意法半导体公司32位高性能单片机STM32F205RE组成功能主体,采用Sobel边缘检测算子、Gabor滤波、图像二值化等图像采集与处理算法对指纹图像进行识别。

经过反复实践证明,该方案适合嵌入式组件开发中需要进行生物指纹特征提取、识别,指纹身份认证、比对等场合。

系统具有高性价比且交互简易、识别率高、扩展性强,便于嵌入式应用。

0 引言
随着电子信息技术应用面日益拓展,不少场合需要对特定用户群体进行身份识别或身份记录,如门禁系统、考勤系统、安全认证系统等,在各种系统中运用的技术形式多样,如视网膜识别、面相识别、指纹识别、RFID 射频识别应用等。

其中,生物特征识别方式以其方便性强、安全性高等特点得到了越来越多人的认可和接受,特别是指纹识别技术方式,现已发展成为应用最广泛的生物识别技术之一。

因此,研究基于嵌入式架构的指纹识别系统具有现实意义和广阔的应用前景。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

课程设计任务书学生姓名:廖年强专业班级: 06自动化指导教师:谢川工作单位:重庆工商大学计信学院题目: 基于ARM的指纹识别门禁系统设计已知技术参数和设计要求:1、硬件主要选择基于Xscale内核的PXA255处理器;2、传感器为美国豪威公司的CMOS图像传感器FPS200;3、设计系统的硬件和软件部分;4、硬件包括指纹识别模块、数据处理模块等;5、软件部分包括系统初始化, 指纹处理识别, 电控锁控制部分等;6、以小组为单位完成本任务,每个小组最多5人;要求完成的主要任务: (包括课程设计工作量及其技术要求,以及说明书撰写等具体要求)1、完成元器件选型,设计硬件电路,并提供protel电路图;2、设计中给出最小系统的电路图扩展相应的电路,并根据要求最终形成一个完整的电路图,并完成所有源代码;3、每个组员完成不少于3000字的课程设计报告且报告内容不同。

4、课题指标从学生实际出发,难易适中,经过努力都能够完成任务,并有所收获。

时间安排:2009~2010学年第一学期17~18周指导教师签名:年月日教研室主任签名:年月日重庆工商大学课程设计成绩评定表学院:计信学院班级:06自动化2班学生姓名:廖年强学号:2006003921项目分值优秀(100>x≥90 良好(90>x≥80中等(80>x≥70及格(70>x≥60不及格(x<60评分参考标准参考标准参考标准参考标准参考标准学习态度15 学习态度认真,科学作风严谨,严格保证设计时间并按任务书中规定的进度开展各项工作学习态度比较认真,科学作风良好,能按期圆满完成任务书规定的任务学习态度尚好,遵守组织纪律,基本保证设计时间,按期完成各项工作学习态度尚可,能遵守组织纪律,能按期完成任务学习马虎,纪律涣散,工作作风不严谨,不能保证设计时间和进度技术水平与实际能力25设计合理、理论分析与计算正确,实验数据准确,有很强的实际动手能力、经济分析能力和计算机应用能力,文献查阅能力强、引用合设计合理、理论分析与计算正确,实验数据比较准确,有较强的实际动手能力、经济分析能力和计算机应用能力,设计合理,理论分析与计算基本正确,实验数据比较准确,有一定的实际动手能力,主要文献引用、调查调研比设计基本合理,理论分析与计算无大错,实验数据无大错设计不合理,理论分析与计算有原则错误,实验数据不可靠,实际动手能力差,文献引用、理、调查调研非常合理、可信文献引用、调查调研比较合理、可信较可信调查调研有较大的问题创新10 有重大改进或独特见解,有一定实用价值有较大改进或新颖的见解,实用性尚可有一定改进或新的见解有一定见解观念陈旧论文(计算书、图纸撰写质量50结构严谨,逻辑性强,层次清晰,语言准确,文字流畅,完全符合规范化要求,书写工整或用计算机打印成文;图纸非常工整、清晰结构合理,符合逻辑,文章层次分明,语言准确,文字流畅,符合规范化要求,书写工整或用计算机打印成文;图纸工整、清晰结构合理,层次较为分明,文理通顺,基本达到规范化要求,书写比较工整;图纸比较工整、清晰结构基本合理,逻辑基本清楚,文字尚通顺,勉强达到规范化要求;图纸比较工整内容空泛,结构混乱,文字表达不清,错别字较多,达不到规范化要求;图纸不工整或不清晰指导教师评定成绩:指导教师签名:年月日基于ARM的指纹识别门禁系统设计计信学院 06自动化2班廖年强 2006003921【摘要】本设计介绍了基于ARM的指纹识别门禁系统的软硬件设计。

其中硬件主要是Intel 公司基于Xscale内核的PXA255处理器和美国豪威公司的CMOS图像传感器FPS200。

软件设计包括系统初始化, 指纹处理识别, 电控锁控制部分等。

经过实际测试该系统工作稳定可靠, 达到了设计目的。

【关键词】 ARM 门禁系统指纹识别 TCP/IP 图像一、门禁系统概述门禁系统(Access Contro l System , 又称出入口控制系统,是为保障人们生活、工作及财产安全, 对重要通道的出入口进行管理与控制的系统。

随着技术的发展, 门禁系统已经从传统的卡式门禁系统发展到今天的生物特征识别门禁系统。

生物特征识别门禁系统是以人体生物特征作为辨识条件的指纹比对、掌纹比对、语音比对等。

这些生理特征相同的概率达到数十亿分之一,因此具有无法仿冒与借用、不怕遗失、不用携带、不会遗忘,有着个体特征独特性、唯一性、安全性的特点,适用于高度机密性场所的安全保护。

其中指纹识别发展最早, 使用也最广泛。

并逐渐与网络集成。

二、PXA 255处理器和指纹传感器FPS200简介本系统采用Intel 公司基于Xscale 内核的PXA255处理器。

Xscale微架构采用ARMV5TE ISA 兼容指令集(浮点指令集除外,它以ARM 核为中心,在其周围扩展了指令和数据内存管理(Instruct ion andDataM emo ryM anagement Unit, 指令、数据和微小数据高速缓(Instruction,Data and Mini-DataCache,写缓冲、全缓冲、挂起缓冲和分支目标缓冲,电源管理单元, 性能监测单元, 调试和JTAG 单元以及协处理器接口、MAC 协处理器、核心存储总线等。

FPS系列CMOS图像传感器芯片是美国豪威公司的产品。

FPS200是高度集成的彩色摄像芯片, 可带1/4镜头。

支持多种格式, 内设的SCCB (Serial Camera Cont ro lBus 串行控制总线接口, 提供简单控制方式。

通过该接口, 我们可以对FPS200芯片内部所有寄存器值进行修改, 从而完成对FPS200的控制, 包括色彩饱和度的调整、gamma 校正等等。

该芯片最高能达到每秒钟30帧的传输速率, 并且用户可以控制图像质量, 可以根据自己的需要选择合适的图像质量。

另外FPS200内置了640×480分辨率的镜像阵列,A/D转换器, 并支持外部水平、垂直同步输入格式, 数字视频输出、增益控制、黑平衡和白平衡等在内的控制寄存器功能模块。

其内部框图如图1。

图1 FPS200内部结构框图三、系统硬件设计1、结构框图系统的硬件架构原理框图如图2所示,本系统主要实现指纹的识别、处理、特征模板提取、图2 系统硬件结构图结果显示,以及完成个人身份识别/注册功能。

主要由ARM9处理、VGA控制及结果显示等模块组成。

2、指纹识别模块指纹识别模块核心部分为FPS200传感芯片,该芯片是一种触摸式CMOS传感器件,其传感区域为1.28cm×1.50cm,500dpi分辨率,内置有8位ADC,且有微处理器总线、SPI总线三种接口模式。

其通过改变电容阵列的参数值可在一秒钟内扫描多副指纹图像便自动选择最好的一幅。

本指纹防盗系统采用了传感器的USB模式传感器的数据线直接与STR912x芯片扩展口相接,对FPS200图像传感器进行初始化控制和图像读取。

指纹传感电路如图3所示。

图3 指纹传感电路指纹采集电路的原理图如图4所示,其工作原理为:PXA255处理器通过I2C总线设置FPS200的寄存器,系统开GPIO72(VSYNC的中断使能并检测中断,当GPIO72(V SYNC 中断到来以后,打开GPIO73(HREF中断使能,关闭其它的中断使能。

当GPIO73(HREF中断到来以后, 打开GPIO74(PCLK中断使能, 关闭其它中断。

每当GPIO74(PCLK中断到来, 就将GPI2Obuffer 里的GPIO64~GPIO71数据采集出来, 保存到imgbuf数组中去。

重复这一步一直到采满382×240 次为止。

将imgbuf按照每隔320 个元素就舍弃62个元素进行处理,这样得到的数据就是320×240 大小的灰度指纹图像。

图4 指纹采集电路原理图3、数据处理模块数据处理模块主要完成指纹识别的整个处理过程,包括指纹图像软化、方向图提取、图像增强、二值化、图像滤波、图像细化等。

该模块采用了TMS320VC5402,使用FLASH和SDRAM 分别作ARM处理器的程序存储器。

TMS320VC5402是16位定点DSP,采用改进的哈佛结构适应远程通信等实时嵌入式的需要。

为了提高速度,本文对一些核心的算法进行了优化。

4、全局逻辑控制单元系统中大多数外围器件与DSP 的握手信号都是通过可编程逻辑器件来完成的,CPLD电路设计按其所实现的功能可分为DSP寻址空间和芯片读写信号两个模块,其中DSP寻址空间模块根据DSP输出的控制信号和数据空间选择信号分时寻址SRAM和FLASH两个存储体。

四、系统软件设计指纹识别系统的主程序流程图如图5所示。

目标板上电后对整个识别系统进行初始化操作,包括DSP系统的初始化和目标板上外设的初始化,对他们进行参数设置。

初始化完成后开始检测指纹传感器上是否有手指,如果有则进行指纹图像的识别识别完成后就对着枚指纹图像进行预处理工作,在预处理的前端,对识别进来的这枚指纹进行质量评估,以判断是否需要继续进行指纹图像的预处理工作,若指纹质量比较好则继续进行预处理和数据上传;如果图像的质量很差,则作废这枚指纹数据。

指纹图像的识别是在中断程序中开始的,当指纹传感器上没有手指时,系统将进入省电模式,通过指纹传感器FPS200的手指自动检测中断来唤醒系统,并进行一次指纹图像识别、预处理和数据上传。

指纹登记个数≥3000枚。

图5 软件流程图系统设计完成后,可脱机值守工作。

122×32点阵LCD实时显示时钟、操作状态,并具有15键操作键盘,可独立完成建档及查询功能。

系统核查指纹1:N与1:1两种方式兼容,提供RS232/R485、RJ45接口支持局域网连接。

五、结论及心得体会本次设计主要介绍了基于ARM的指纹识别门禁系统的软硬件设计。

ARM体系结构有丰富的接口, 在门禁、监控等领域正发挥越来越重要的作用, 面向可集成, 可扩展, 可移植的特定嵌入式系统越来越多的出现在工程领域。

随着性价比的提高和软件开发的成熟,ARM 在嵌入式领域的应用会越来越广泛。

本文从指纹识别的可靠性及速度上考虑, 在门禁系统中以ARM 微处理器做控制器,充分利用了其高速的运算处理能力。

通过此次课程设计,我真真正正的意识到,在以后的学习中,要理论联系实际,把我们所学的理论知识用到实际当中,学习嵌入式更是如此,程序只有在经常的写与读的过程中才能提高,这就是我在这次课程设计中的最大收获。

附:程序代码://fps200.h#ifndef _FPS200_H_#define _FPS200_H_#define ROW_NUM 300#define COL_NUM 256#define FPS200_IOCRESET _IO(FPS200_IOC_MAGIC#define FPS_RAH 0x00#define FPS_RAL 0x01#define FPS_CAL 0x02#define FPS_REH 0x03#define FPS_REL 0x04#define FPS_CEL 0x05#define FPS_DTR 0x06#define FPS_DTR_TIME 0x70#define FPS_DCR 0x07#define FPS_DCR_CURRENT 0x6#define FPS_CTRLA 0x08#define FPS_CTRL_ASM_ARCH_EP7211_HA_GETSUB 0x04 #define FPS_CTRLA_GETIMG 0x02#define FPS_CTRLA_GETROW 0x01#define FPS_CTRLA_AINSEL 0x08#define FPS_CTRLB 0x09#define FPS_CTRLB_MODE 0xC0#define FPS_CTRLB_RDY 0x20#define FPS_CTRLB_AFDEN 0x08#define FPS_CTRLB_AUTOINCEN 0x04#define FPS_CTRLB_XTALSEL 0x02#define FPS_CTRLB_ENABLE 0x01#define FPS_CTRLC 0x0A#define FPS_SRA_ASM_ARCH_EP7211_H 0x0B #define FPS_SRA_GETSUB 0x04#define FPS_SRA_GETIMG 0x02#define FPS_SRA_GETROW 0x01#define FPS_PGC 0x0C#define FPS_PGC_VALUE 0x4//0xb#define FPS_ICR 0x0D#define FPS_ICR_IP1_RISE 0x80#define FPS_ICR_IP0_RISE 0x40 #define FPS_ICR_IT1_LEVEL 0x20 #define FPS_ICR_IT0_LEVEL 0x10 #define FPS_ICR_IM1 0x08#define FPS_ICR_IM0 0x04#define FPS_ICR_IE1 0x02#define FPS_ICR_IE0 0x01#define FPS_ISR 0x0E#define FPS_ISR_CLRINT 0x01#define FPS_THR 0x0F#define FPS_THR_THV 0x40#define FPS_THR_THC 0x09#define FPS_CIDH 0x10#define FPS_CIDL 0x11#define FPS_TST 0x12#include#undef PDEBUG#ifdef fps200_DEBUG# ifdef __KERNEL__/* 调试的内核空间*/# define PDEBUG(fmt, args... printk( KERN_DEBUG"fps200: " fmt, ## args# else/* 用户空间 */# define PDEBUG(fmt, args... fprintf(stderr, fmt, ##args# endif#else# define PDEBUG(fmt,args... /* 不调试*/#endif#undef PDEBUGG#define PDEBUGG(fmt,args... /*不调试*//* 设备结构类型 */typedef struct FPS200_Dev {unsigned char flag;void *data;} FPS200_Dev;/* 用于 ioctl */#define FPS200_IOC_MAGIC 'k'/** S代表 "Set" through a ptr* G代表 "Get": reply by setting through a pointer* C代表 "Check"*/#define FPS200_IOCSDTR _IOC(_IOC_WRITE, FPS200_IOC_MAGIC, 1, 1 #define FPS200_IOCSDCR _IOC(_IOC_WRITE, FPS200_IOC_MAGIC, 2, 1 #define FPS200_IOCSPGC _IOC(_IOC_WRITE, FPS200_IOC_MAGIC, 3, 1 #define FPS200_IOCGDTR _IOC(_IOC_READ, FPS200_IOC_MAGIC, 4, 1 #define FPS200_IOCGDCR _IOC(_IOC_READ, FPS200_IOC_MAGIC, 5, 1 #define FPS200_IOCGPGC _IOC(_IOC_READ, FPS200_IOC_MAGIC, 6, 1 #define FPS200_IOCFCAP _IOC(_IOC_READ, FPS200_IOC_MAGIC,7, 4 #define FPS200_IOCGDATA _IOC(_IOC_READ, FPS200_IOC_MAGIC, 8, 4 #define FPS200_IOCEINT _IOC(_IOC_NONE, FPS200_IOC_MAGIC, 9, 0 #define FPS200_IOCDINT _IOC(_IOC_NONE, FPS200_IOC_MAGIC, 10, 0 #define FPS200_IOCCINT _IOC(_IOC_READ, FPS200_IOC_MAGIC, 11, 1 #define FPS200_IOCCRDY _IOC(_IOC_READ, FPS200_IOC_MAGIC, 12, 1#define FPS200_IOCCLR _IOC(_IOC_NONE, FPS200_IOC_MAGIC, 13, 0 #define FPS200_IOC_MAXNR 13int fps200_open(struct inode *inode, struct file *filp;int fps200_release(struct inode *inode, struct file *filp;int fps200_ioctl (struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg;void fps_get_image(;#endif /* _FPS200_H_ *///fps200.c#ifndef __KERNEL__# define __KERNEL__#endif#ifndef MODULE# define MODULE#endif#include#include#include /* printk( */#include /* kmalloc( */#include /* everything... */#include /* error codes */#include /* size_t */#include#include /* udelay( */#include /* ioremap(, iounmap( */#include#include#include#include#include#include "fps200.h" /* local definitions */#define FPS200_VR 0xfd000000#define FPS_INDEX (*(volatile unsigned char *FPS200_VR#define FPS_DATA (*(volatile unsigned char *(FPS200_VR+1#define FPS200_MAJOR 240#define FPS200_NR_DEVS 0#define FPS200_IRQ IRQ_EINT2 // irq = 6#define FPS200_DATASIZE 76800int fps200_major = FPS200_MAJOR;int fps200_nr_devs = FPS200_NR_DEVS;/* number of bare fps200 devices (no use here */MODULE_PARM(fps200_major,"i";MODULE_PARM(fps200_nr_devs,"i";MODULE_AUTHOR("Nankai Unversity 5-304";MODULE_LICENSE("GPL";struct fps200_fops = {open: fps200_open,ioctl: fps200_ioctl,release: fps200_release};struct *fps200_fop_array[]={&fps200_fops,/* type 0 *//* add more later */ };#define FPS200_MAX_TYPE 0FPS200_Dev *fps200_device;void fps200_interrupt(int irq, void *dev_id, struct pt_regs *regs { disable_irq(irq;//fps_get_image(;fps200_device->flag = 1;}void fps_get_image(void{int i = 0;int j = 0;FPS_INDEX = FPS_CTRLA;FPS_DATA = FPS_CTRLA_GETIMG;for(i=0; i<300; i++ {FPS_INDEX = FPS_CTRLB;while(!(FPS_CTRLB_RDY&FPS_DATA{udelay(1;};for(j=0; j<256; j++ {FPS_INDEX = FPS_CTRLB;while(!(FPS_CTRLB_RDY&FPS_DATA{udelay(1;};FPS_INDEX = FPS_CTRLA;*((unsigned char *(fps200_device->data+i*256+j=FPS_DATA;}}}int fps200_open(struct inode *inode, struct file *filp{MOD_INC_USE_COUNT;return(0;}int fps200_release(struct inode *inode, struct file *filp {MOD_DEC_USE_COUNT;return(0;}int fps200_ioctl(struct inode *inode, struct file *filp, unsigned int cmd, unsigned long arg{int err = 0;int ret = 0;unsigned char tmp;if(_IOC_TYPE(cmd != FPS200_IOC_MAGICreturn -ENOTTY;if(_IOC_NR(cmd > FPS200_IOC_MAXNRreturn -ENOTTY;if (_IOC_DIR(cmd & _IOC_READerr = verify_area(VERIFY_WRITE, (void *arg, _IOC_SIZE(cmd;else if (_IOC_DIR(cmd & _IOC_WRITEerr = verify_area(VERIFY_READ, (void *arg, _IOC_SIZE(cmd;if (errreturn err;switch(cmd{case FPS200_IOCSDTR:ret = __get_user(tmp, (unsigned char *arg;tmp = 0x7f;FPS_INDEX = FPS_DTR;FPS_DATA = tmp;break;case FPS200_IOCSDCR:ret = __get_user(tmp, (unsigned char *arg;if(tmp > 0x1ftmp = 0x1f;FPS_INDEX = FPS_DCR;FPS_DATA = tmp;break;case FPS200_IOCSPGC:ret = __get_user(tmp, (unsigned char *arg;tmp = 0x0f;FPS_INDEX = FPS_PGC;FPS_DATA = tmp;break;case FPS200_IOCGDTR:FPS_INDEX = FPS_DTR;tmp = FPS_DATA;ret = __put_user(tmp, (unsigned char *arg;break;case FPS200_IOCGDCR:FPS_INDEX = FPS_DCR;tmp = FPS_DATA;ret = __put_user(tmp, (unsigned char *arg;break;case FPS200_IOCGPGC:FPS_INDEX = FPS_PGC;tmp = FPS_DATA;ret = __put_user(tmp, (unsigned char *arg;break;case FPS200_IOCEINT:enable_irq(FPS200_IRQ;break;case FPS200_IOCDINT:disable_irq(FPS200_IRQ;break;case FPS200_IOCFCAP:fps_get_image(;case FPS200_IOCGDATA:copy_to_user((void *arg, fps200_device->data, FPS200_DATASIZE;ret = 0;fps200_device->flag = 0;break;case FPS200_IOCCLR:memset(fps200_device->data, 0, FPS200_DATASIZE;fps200_device->flag = 0;break;case FPS200_IOCCINT:if(((clps_readw(INTSR1&0x40 == 0{udelay(100;if(((clps_readw(INTSR1&0x40 == 0ret = __put_user(0x01, (unsigned char *arg;elseret = __put_user(0x0, (unsigned char *arg;}elseret = __put_user(0x0, (unsigned char *arg;break;case FPS200_IOCCRDY:ret = __put_user(fps200_device->flag, (unsigned char *arg;break;default:return -ENOTTY;}return ret;}static int __init fps200_init_module(void{int result;char tmp;if((result = check_region (FPS200_VR,2{printk ("<1> can't get I/O port address \n"; return (result;}if (!request_region (FPS200_VR,2,"fps200" return -EBUSY;SET_MODULE_OWNER(&fps200_fops;result = register_chrdev(fps200_major, "fps200",&fps200_fops;if(result < 0{printk("<1>fps200: can't get major %d\n",fps200_major;return result;}if(fps200_major == 0fps200_major = result; /* dynamic */ /* read chip id first, if not equal 0x20xx, print error*/FPS_INDEX = FPS_CIDH;tmp = FPS_DATA;if(tmp != 0x20{printk("<1>wrong chip ID, insmod fail.\n";return -EIO;}/* row auto inc. inner 12MHz vibrator. no low-power state*/FPS_INDEX = FPS_CTRLB;FPS_DATA = (FPS_CTRLB_AFDEN|FPS_CTRLB_AUTOINCEN|FPS_CTRLB_ENABLE;/* 等待30us */udelay(35;// 使时延大于 30us/* 中断 */FPS_INDEX = FPS_ICR;FPS_DATA = (FPS_ICR_IE0|FPS_ICR_IT0_LEVEL;FPS_INDEX = FPS_THR;FPS_DATA = ( FPS_THR_THV | FPS_THR_THC ;/* DTR, DCR, PGC */ FPS_INDEX = FPS_DTR;FPS_DATA = 0x23;FPS_INDEX = FPS_DCR;FPS_DATA = 0x1;FPS_INDEX = FPS_PGC;FPS_DATA = 0;/* other initial */FPS_INDEX =FPS_RAL;// raw 地址FPS_DATA = 0;FPS_INDEX = FPS_RAH;FPS_DATA = 0;FPS_INDEX = FPS_REL;FPS_DATA = 0;FPS_INDEX = FPS_REH;FPS_DATA = 0;FPS_INDEX =FPS_CAL; / / column 地址FPS_DATA = 0;FPS_INDEX = FPS_CEL;FPS_DATA = 0;FPS_INDEX = FPS_CTRLC;FPS_DATA = 0;FPS_INDEX = FPS_CTRLA;FPS_DATA = 0;// clear FPS_CTRLA_AINSEL/* 设置 irq */if(result{printk("<1>can't get assigned irq.\n";return -EIO;}fps200_device = kmalloc(sizeof(FPS200_Dev, GFP_KERNEL;if(!fps200_device{FPS_INDEX = FPS_CTRLB;FPS_DATA = 0;return -ENOMEM;}memset(fps200_device, 0, sizeof(FPS200_Dev; fps200_device->data = kmalloc(FPS200_DATASIZE, GFP_KERNEL;if(!fps200_device{FPS_INDEX = FPS_CTRLB;FPS_DATA = 0;kfree(fps200_device;return -ENOMEM;}memset(fps200_device->data, 0, FPS200_DATASIZE;/* 设置 irq */ result = request_irq(FPS200_IRQ, fps200_interrupt,SA_INTERRUPT, "fps200", NULL;return(0;}static void __exit fps200_cleanup_module(void{kfree(fps200_device->data;kfree(fps200_device;FPS_INDEX = FPS_CTRLB;FPS_DATA = 0;release_region (FPS200_VR,2;free_irq(FPS200_IRQ, NULL;unregister_chrdev(fps200_major, "fps200"; }module_init(fps200_init_module;module_exit(fps200_cleanup_module;//main.cvoid main(void{BYTE temp;WORD port = 1001;LocalMACAddr[0]=0x52;LocalMACAddr[1]=0x54;LocalMACAddr[2]=0x4c;LocalMACAddr[3]=0x30;LocalMACAddr[4]=0x2e;LocalMACAddr[5]=0x2f;LocalIPAddress = 0xc0a8020d; /* 本地地址192.168.2.14*/ ServerIPAddress = 0xc0a8020e; /* 目的地址192.168.2.13*//*初始化 */SerialInitial(;MemInitial(;NetInInitial(;RTLInitial(;Start8019(;InterruptInitial(;// 建立一个ARP包p[0] =0xff;p[1] =0xff;p[2] =0xff;p[3] = 0xff;p[4] = 0xff;p[5] = 0xff;p[6] = 0x52;p[7] =0x54;p[8] =0x4c;p[9] =0x30;p[10] =0x2e;p[11] =0x2f;p[12] = 0x08;p[13] = 0x06;p[14] = 0x00;p[15] = 0x01;p[16] = 0x08;p[17] = 0x00;p[18] = 0x06;p[19] = 0x04;p[20] = 0x00;p[21] = 0x01;// 发送ARP包RTLSendPacket(p,60;while(1;#ifdef DEBUGprintf("\n-------bigine-------";#endif/* 处理 */TCPBind(port;if(TCPConnect(ServerIPAddress,1001 == TRUE {while(UserFunc(;}/* 延时 */for(temp;temp<255;temp++;#ifdef DEBUGprintf("\n run over!";#endif/* 存储 */Stop8019(;while(1;}41 / 41。

相关文档
最新文档