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

发布者:zhaodawei617最新更新时间:2012-12-29 来源: 21IC 关键字:ARM  指纹识别  门禁系统 手机看文章 扫描二维码
随时随地手机看文章

  现代社会高速发展,很多场合需要身份确认,传统的身份识别技术已经不能满足社会要求。人的身体特征具有不可复制性,因此人们开始研究生物识别技术,而指纹具有唯一性、终生不变性、难于伪造等特点,安全性高,因而得到了广泛应用。在一些机要部门,如银行、宾馆、机房等一般都安装有门禁系统,门禁系统是为保障人们生活、工作及财产安全, 对重要通道的出入口进行管理与控制的系统,基于指纹识别技术的门禁系统是一项高科技安全设施,提高了系统的安全性。ARM作为一种嵌入式系统处理器,具有高性能、低功耗、低成本等特点,因而在工业控制领域、成像和安全产品方面得到了广泛应用。本文介绍了基于嵌入式ARM9体系结构的指纹识别原理与处理方法,以及指纹识别门禁系统的软硬件设计方法。

  1 指纹识别原理及处理方法

  指纹识别技术通过分析指纹的局部特征,从中抽取详尽的特征点,从而可靠地确认个人身份。指纹识别技术主要涉及四个功能:读取指纹图象、提取特征、保存数据和比对。首先从获取的指纹图像上找到“特征点”,然后根据特征点的特性建立用户活体指纹的指纹特征数据(一种单向的转换,可以从指纹图像转换成特征数据但不能从特征数据转换成为指纹图像)。由于两枚不同的指纹不会产生相同的特征数据,所以通过对所采集到的指纹图像的特征数据和存放在数据库中的指纹特征数据进行模式匹配,从而计算出它们的相似程度,最终得到两个指纹的匹配结果,根据匹配结果来鉴别用户身份。

  1.1 指纹图像的采集

  光学取像有着悠久的历史,它可以追溯到上世纪70年代,依据的是光的全反射原理。现在一般采用光学指纹传感器来采集指纹,取得指纹具有图像清晰、功耗低、稳定性高等特点。本系统采用的是TFS-D0303光学指纹传感器。

  1.2 指纹识别的算法实现

  指纹识别算法的有效性直接影响着指纹识别的精确度和指纹识别门禁系统的安全性和稳定性,对整个门禁的安全性和可靠性起着决定性的作用。指纹识别算法的处理过程主要包括: 图像处理、纹路细化、特征提取和特征匹配等(见图1)。

指纹识别流程图

图1 指纹识别流程图

  预处理在指纹识别中是不可缺少的步骤。其目的是去除图像获取时所引入的噪声,消除低质量图像的影响,以便后续环节能够正确地进行特征提取和分类识别。预处理过程主要包括图像分割、平滑、图像增强、二值化和细化等步骤,每经过一个步骤都可以改善图像的质量,有利于后面的工作。

  环境温度的影响或手指干燥可能会使指纹图像产生纹线不连续。对于指纹纹线不连续的指纹图像,一般要经过平滑滤波处理,这也是对图像进行模糊化,使断裂的纹线边界经过模糊后连接起来。在本算法中采用低通滤波器对各块指纹图像的方向信息进行块水平的平滑,修正不准确的计算结果。[page]

  具体方法为先计算θ(x, y)在X轴和Y轴上的投影分量:

  低通滤波表示为:

  式中,H(u, v) 为二维低通滤波器;wl×wl为5×5滤波器尺寸;w为图像子块尺寸(本算法取w=10个像素大小)。

  经过纹路细化, 二值化图像的纹路线被细化为只有一个像素宽的连接线段。显示了原始指纹图像、增强后的二值化图像以及细化后的二值化图像。指纹的特征点信息是从细化后的二值化图像中提取的。从细化后的二值化图像中找到分叉点或端点,然后从这些点开始寻找纹路轨迹。通过这些点,纹路的形状被计算出来。这些形状数据、点的类型以及点的位置就作为该指纹图像的特征点被记录下来。

  特征匹配是根据两幅图像特征点的最大匹配点支持数来确定的。假设有甲和乙两幅图像,首先依次以甲图的每一个特征点为基准,依次计算乙图像中每个和甲图中基准特征点类型相同的特征点到乙图中每个特征点的距离和方向,根据这个距离和方向,再以甲图中的基准点为原点,计算出甲图中的一个点,然后判断是否也是甲图的特征点, 如果是, 则匹配支持数加1。按甲图中特征点顺序依次计算, 取最大值就是两幅图像的最大支持匹配点数。

  如果最大匹配支持点数大于规定的值,则认为两幅图像匹配。否则,不匹配。

  2 系统硬件设计

  基于RISC体系结构的ARM微处理器因其体积小、功耗低、执行速度快等优点在多个领域得到广泛应用。本系统采用的是三星公司的嵌入式微处理器S3C2440AL,这是一款高性能、低功耗的功能强大的嵌入式应用处理器产品,它采用Intel X-Scale微结构体系框架,集成了许多常用的外围接口,功能强大。S3C2440AL主频为400MHz,最高为533MHz;TFS-D0303指纹传感器由256×300个电容传感阵列组成,其分辨率高达500dpi,工作电压范围为3.3~5V,传感器内部有8位ADC,并具有2组采样保持电路。整个硬件系统的框图如图2所示。

 系统硬件结构图

图2 系统硬件结构图

  系统存储器接口采用128MB SDRAM存储器,支持16、64、128、256MB DRAM技术,4个SDRAM区,每个区支持64M存储器。时钟允许(一个CKE引脚用于把整个SDRAM接口置为自我刷新),支持最多至6个静态存储器器件(SRAM、Flash、ROM),支持2个PCMCI/CF插槽。

  时钟采用3.6864MHz振荡器,具有核PLL和外围PLL,可产生各种工作频率,32.768kHz振荡器可驱动实时时钟、电源管理器和中断控制器。电源控制器可控制快速/运行、空闲和睡眠工作方式。LCD控制器支持被动(DSTN)和主动(TFT)LCD显示,最大分辨率800×600×16,2个专用DMA通道,允许LCD控制器支持单层或双层显示。实时时钟(RTC),可产生周期性中断,把应用处理器从睡眠状态唤醒。串行口通信USB从模块,符合USB规范,支持v1.1版本,支持多达16个端点提供48MHz的内部时钟。

  3 系统软件设计

  本系统的软件设计主要有以下几个流程:上电系统初始化、指纹识别、控制电锁的开启。系统的精度绝大部分取决于指纹识别的算法。程序初始化后进人低功耗模式,等待各种具体操作。当有指纹采集时,就进入指纹数据采集和处理模块,处理结束后,又重新退回低功耗等待模式,等待其他操作。同理,当有读卡数据或者时钟设置响应时,便进入相应的操作模块进行处理。

  3.1 对S3C2440AL的初始化

  系统初始化对于嵌人式系统,要在其程序存储器中有系统初始化代码(如图3)。系统执行了初始化代码后,才能正确执行其他应用程序,初始化在系统复位后自动完成。系统的初始化必须包含下列初始化代码,有设置中断向量表、初始化寄存器、初始化堆栈指针寄存器、初始化端口、改变处理器的工作模式。系统在用户模式下才能开中断。在对指纹传感器的初始化中,应按要求逐步对控制寄存器进行初始化。[page]

初始化流程图

图3 初始化流程图

  3.2 指纹采集

  指纹采集可以工作在中断方式,也可以工作在查询方式。本系统采用的是查询工作方式。程序流程大致如下,先初始化各寄存器,先往相应的寄存器写入控制字,设置采集指纹的参数,当指纹被自动采集进入数据寄存器,把指纹数据存入到指定的存储空间。

  3.3 与计算机之间的通信

  RS232串口用于S3C2440AL与上位机的通信,当存储图像过多时,可把图像存储在上位机上。S3C2440AL的UART可工作在中断模式或DMA模式下。本系统选用的是中断模式,也可以用查询方式。程序可以控制端口的波特率、数据宽度(5、6、7、8位)、停止位(1到2位)、极性控制等通信协议的设置。

  4 结束语

  本文介绍了基于ARM的指纹识别门禁系统的软硬件设计。ARM体系结构有丰富的接口,在门禁、监控等领域正发挥越来越重要的作用,面向可集成、可移植的特定嵌入式系统越来越多地出现在工程应用领域。本文实现的指纹识别门禁系统具有轻便、易安装、成本低的优点,具有良好的发展前景。

参考文献:

[1]. RISC datasheet http://www.dzsc.com/datasheet/RISC_1189725.html.
[2]. ROM datasheet http://www.dzsc.com/datasheet/ROM_1188413.html.
[3]. RS232 datasheet http://www.dzsc.com/datasheet/RS232_585128.html.

关键字:ARM  指纹识别  门禁系统 引用地址:基于ARM的指纹识别门禁系统设计方案

上一篇:基于ARM的无线网卡设备驱动方案
下一篇:基于ARM的过采样技术

推荐阅读最新更新时间:2024-03-16 13:15

ARM裸机】 - GCC编译流程&Makefile&动静态库
一、编译流程及GCC选项 1.1、编译流程包括: 预处理(.i)- 编译(.s)- 汇编(.o)- 链接(可执行文件) 1.2、gcc编译选项: gcc 文件名 gcc常用选项: -v:查看gcc编译器的版本,显示gcc执行时的详细过程 -o file Place the output into file 指定输出文件名为file,这个名称不能跟源文件名同名 -E Preprocess only; do not compile, assemble or link 只预处理,不会编译、汇编、链接 -S
[单片机]
【<font color='red'>ARM</font>裸机】 - GCC编译流程&Makefile&动静态库
ARM7 lpc2148之GPIO按键输入试验
简介:此实验中摁下某个按键后,把相关的信号并行传递到74HC165上,然后再通过串行方式传到处理器中,处理器在通过控制P0.22口(MAT0.0)来控制蜂鸣器。 此实验中摁下某个按键后,把相关的信号并行传递到74HC165上,然后再通过串行方式传到处理器中,处理器在通过控制P0.22口(MAT0.0)来控制蜂鸣器 #include NXP/iolpc2148.h //宏定义 #define SCLK 0x01 24 #define SCK0 0x01 4 #define MISO 0x01 5 #define MOSI 0x01 6 #define RCK 0x01 7 void HC595_Init(void);
[单片机]
<font color='red'>ARM</font>7 lpc2148之GPIO按键输入试验
小米5真机曝光 酷似小米Note但细节升级
     之前小米在回复网友的问题时表示,小米5将于2月底发布,而根据最新消息,小米5或在2月24日亮相。除了小米5的发布时间曝光之外,1月20日下午还有微博网友放出了该机的真机谍照,其正面板与小米Note相似,同时也采用了金属中框。 小米5   不过,在设计细节上小米5与小米Note还是有很大区别的。谍照显示,小米5的听筒开口和前置摄像机的位置都并不相同。另外,据称小米可能配备红外功能,而且支持指纹识别传感器。 小米Note     仔细观察,相信大家还能发现,小米5的屏幕两侧似乎有一定的弯曲弧度,设计跟三星S6 edge有些相似,不过也仅仅是屏幕玻璃有些许弯曲,很可能是由于小米5采用2.5D玻璃屏。   结合
[手机便携]
欧洲百亿亿次超算或由ARM与RISC-V扛大旗
近年来,欧洲不断在超算方面进行布局。欧盟委员会希望在2022年至2023年部署一套计算能力达每秒百亿亿次的超级计算机和相应数据基础设施,并计划到2026~2027年使其计算能力超越上述级别。 今年,欧洲不断为推进自研超计算机微处理器加码。 今年3月,欧委会宣布推出欧洲处理器计划(EPI),以协同设计和开发一款低功耗微处理器,并将其推向市场。该计划汇集了欧洲10个国家的23家合作伙伴,以及各界专家。他们将通过协同设计方案,设计和开发第一批欧洲HPC片上系统和加速器,所有的组件都将在一台原型系统上实现和验证,该原型将为开发欧洲全自主的百亿亿次计算机奠定基础。EPI是欧洲高性能计算联合事业(EuHPC-JU)的组成部分之一,专门
[嵌入式]
欧洲百亿亿次超算或由<font color='red'>ARM</font>与RISC-V扛大旗
关于ARM时钟体系的寄存器配置
一:时钟来源体系 时钟配置决定了一个芯片的时钟来源,CPU的工作频率,内存控制器的时钟频率等等,从结果来看,寄存器控制出了三个时钟路线,FCLK、HCLK和PCLK;FCLK——供给CPU使用,HCLK—— AHB总线供给内存控制器,中断控制器等使用;PCLK—— APB 总线供给uart,I2C等使用;三个时钟的频率依次由高到底;三个时钟频率的比例可分为如下: 由图可看出,时钟频率的比例由HDIVN与PDIVN寄存器控制,这两个寄存器属于CLKDIVN 中的;那么FCLK的来源又是哪呢? 由时钟产生模块图表可以看出CLKCNTL寄存器的控制来源于MPLL,所以FCLK的时钟来源于MPLL,那么MPLL是由谁控制的呢?
[单片机]
关于<font color='red'>ARM</font>时钟体系的寄存器配置
基于TMS320VC5402的指纹识别系统
摘要:重点介绍以TMS320VC5402为核心的指纹识别系统的硬件设计,概括地说明软件设计方法,最后给出其硬件调试方法。 关键词:DSP 指纹识别 TMS320VC5402 指纹识别作为生物特征识别的一种,有其不可比拟的优点。由于可以随身携带这种特殊的“印章”,所以受到越来越多人的重视。本系统使用TI的TMS320VC5402(以下简称5402)作为核心。DSP与单片机相比,多用于算法比较复杂,乘加运算量比较大的场合。该芯片为一款定点的DSP,它具有高达100MIPS的运算能力,同时具有优化的CPU结构和一系列的智能外设。下面着重讨论基于该芯片的系统设计。 1 总体设计 指纹系统总体设计方案如图1所示。 该系统是由指纹采
[嵌入式]
基于ARM的嵌入式Linux移植真实体验(4)――设备驱动
设备驱动程序是操作系统内核和机器硬件之间的接口,它为应用程序屏蔽硬件的细节,一般来说,Linux的设备驱动程序需要完成如下功能: 设备初始化、释放; 提供各类设备服务; 负责内核和设备之间的数据交换; 检测和处理设备工作过程中出现的错误。 Linux下的设备驱动程序被组织为一组完成不同任务的函数的集合,通过这些函数使得Linux的设备操作犹如文件一般。在应用程序看来,硬件设备只是一个设备文件,应用程序可以象操作普通文件一样对硬件设备进行操作,如open ()、close ()、read ()、write () 等。 Linux主要将设备分为二类:字符设备和块设备。字符设备是指设备发送和接收数据以字符的形式进行;而
[单片机]
基于<font color='red'>ARM</font>的嵌入式Linux移植真实体验(4)――设备驱动
基于嵌入式ARM Linux步进电机驱动程序的设计
0 引言 随着激光雕刻机的不断发展和改进,嵌入式Linux的激光雕刻机比CNC(Computer numerical control)激光雕刻的优势不断显现,它大幅度提高了处理能力,方便了设计开发,节约了成本,是未来经济型激光雕刻机发展的趋势。而嵌入式ARM(Advanced RISC Machines)Linux步进电机驱动是实现激光雕刻的核心。 嵌入式开发过程中,经常需要为特定设备开发驱动程序。这些驱动程序的编写和编译与PC上的Linux驱动开发相比存在明显的差异,需要考虑的因素较多,实现过程较为复杂。本文以Samsung公司的友善之譬S3C2440开发板为例,探讨如何使用嵌入式Linux开发字符设备驱动程序来驱动步进
[单片机]
基于嵌入式<font color='red'>ARM</font> Linux步进电机驱动程序的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved