机械毕业设计1679指纹U盘的设计论文.docx

上传人:b****6 文档编号:5771997 上传时间:2023-01-01 格式:DOCX 页数:22 大小:216.71KB
下载 相关 举报
机械毕业设计1679指纹U盘的设计论文.docx_第1页
第1页 / 共22页
机械毕业设计1679指纹U盘的设计论文.docx_第2页
第2页 / 共22页
机械毕业设计1679指纹U盘的设计论文.docx_第3页
第3页 / 共22页
机械毕业设计1679指纹U盘的设计论文.docx_第4页
第4页 / 共22页
机械毕业设计1679指纹U盘的设计论文.docx_第5页
第5页 / 共22页
点击查看更多>>
下载资源
资源描述

机械毕业设计1679指纹U盘的设计论文.docx

《机械毕业设计1679指纹U盘的设计论文.docx》由会员分享,可在线阅读,更多相关《机械毕业设计1679指纹U盘的设计论文.docx(22页珍藏版)》请在冰豆网上搜索。

机械毕业设计1679指纹U盘的设计论文.docx

机械毕业设计1679指纹U盘的设计论文

1.引言

随着计算机图像处理和模式识别理论及大规模集成电路技术的不断发展与成熟,指纹自动识别系统发生了质的飞跃,体积缩小,速度提高,实现成本以及对运行环境的要求逐步降低,指纹采集的速度和方便性都得到提高。

这些都使指纹认证技术的实用化向前迈进了一大步,大量应用于政府、银行、税务、社保、学校和公司机构等部门的文件保密、信息安全、门禁控制、考勤管理与证卡管理等各类需要计算机进行自动身份认证的场合。

一般的U盘在存储数据时,不能保障数据的保密、安全,里面的数据很容易被他人读取。

而本论文研究的指纹U盘,利用了指纹识别技术,在用户读取U盘中数据时,必须使自己的指纹和U盘中预先存储的指纹信息相符,才能正常使用U盘。

指纹在此系统中起着密码锁的作用.使用指纹识别具有许多优点,例如:

每个人的指纹都不相同,极难进行复制或被盗用;指纹比较固定,不会随着年龄的增长或健康程度的变化而变化;最重要的在于指纹图像便于获取,易于开发识别系统,具有很高的实用性和可行性。

2.设计目标

本论文旨在设计一种新型的U盘,当U盘和PC机连接的时候,需要把用户的手指按在U盘的指纹识别区域,当系统识别到的指纹信息和U盘中预存的合法指纹信息一致时,则可以正确的使用U盘,否则则不能读取U盘中的数据。

本U盘中可以预先存储多个指纹,可供多个用户拥有对U盘的使用权,也可以避免用户在手指受伤或其它不能正确识别指纹信息的情况发生时,也能使用U盘。

3.指纹识别系统原理

3.1指纹识别过程

图1是指纹识别的过程,分为指纹注册过程和指纹对比过程,指纹注册过程是把用户的合法指纹采集起来经过处理存储到模板库中,指纹对比过程是在使用时把采集到的指纹信息和指纹库中存储的指纹信息相对比,以确定用户身份的合法性。

 

图1指纹识别过程

3.2指纹图象处理

指纹图像预处理的目的主要是为特征值提取的有效性、准确性作好准备。

一般包括如下几个过程。

(1)指纹图像增强

指纹图像增强的目的主要是为了减少噪音,增强嵴峪对比度,使得图像更加清晰真实,便于后续指纹特征值提取的准确性。

指纹图像增强的方法较多,通常需设定合适的过滤阈值。

处理时依据每个像素处嵴的局部走向,会增强在同一方向嵴的走向,并且在同一位置,减弱任何不同于嵴的方向。

这样使得嵴线相对背景更加清晰,特征点走向更加明显。

如图2。

图2图像处理前后对比

(2)指纹图像平滑处理

平滑处理是为了让整个图像取得均匀一致的明暗效果。

平滑处理的过程是选取整个图像的象素与其周围灰阶差的均方值作为阈值来处理的。

指纹图像平滑处理还有其它方法可以使用。

(3)指纹图像二值化

在原始灰阶图像中,各象素的灰度是不同的,并按一定的梯度分布。

在实际处理中只需要知道象素是不是嵴线上的点,而无需知道它的灰度。

所以每一个象素对判定嵴线来讲,只是一个“是与不是”的二问题。

所以,指纹图像二值化是对每一个象素点按事先定义的阈值进行比较,大于阈值的,使其值等于1(假定),小于阈值的,使其值等于0。

图像二值化后,不仅可以大大减少数据量,而且使后面的处理过程少受干扰,大大简化其后的处理。

(4)指纹图像细化

图像细化就是将嵴的宽度降为单个像素的宽度,得到嵴线的骨架图像的过程。

这个过程进一步减少了图像数据量,清晰化了嵴线形态,为之后的特征值提取作好准备。

由于我们所关心的不是嵴线的粗细,而是嵴线的有无。

因此,在不破坏图像连通性的情况下必须去掉多余的信息。

因而应先将指纹嵴线的宽度采用逐渐剥离的方法,使得嵴线成为只有一个象素宽的细线,这将非常有利于下一步分析。

如图3。

 图3指纹图像处理

3.3指纹识别的实现方法

指纹是比较复杂的,指纹识别算法最终都归结为在指纹图像上找到并比对指纹的特征点。

指纹学指出,出现频率较高的指纹特征有8种,其中端点和分叉点占指纹特征的80%以上,本系统选用了这两种特征作为算法提取和比对的对象。

对细化后的指纹图像提取特征点数据,并去除伪特征点,将处理结果与指纹数据库中已有的模板数据进行匹配识别,模板是系统在学习功能阶段将用户的指纹数据经过上述相同的处理后保存下来的。

指纹数据库中的指纹模式根据细节特征进行了分类,这样可以减少预识别指纹与指纹数据库的对比数量,大大节省了识别的时间,提高了识别的准确度。

指纹特征点的提取:

采用8邻域法对二值化后的指纹图像抽取特征点,提取分叉点和端点,并去除伪特征点。

指纹图像中心点的提取:

以指纹最内层弧的顶点作为中心点,就是纹线上曲率最大处,若最内层弧顶点处有分叉线存在,且此分叉线走向与两旁纹线走向一致,则定义分叉点为中心点,并进一步确定各特征点相对于中心点的方向。

系统中就用特征点的类型,特征点与中心点的方向,特征点与中心点的纹线数这三个参量来表征一个特征点的特征信息。

两个指纹图像的匹配实际就是两幅图像特征点信息(3个参量)的比对,获取的指纹图像靠近中心点的是图像质量较好的,离中心点越远,特征信息准确度越差,所以比对时尽可能取中心点附近的特征点,若两幅指纹有10个以上的特征点匹配即可基本判定两幅指纹属同一个指纹。

[2]

3.4传感采集设备

指纹传感器(又称指纹Sensor)是实现指纹自动采集的关键器件。

指纹传感器按传感原理,即指纹成像原理和技术,分为光学指纹传感器、半导体电容传感器、半导体热敏传感器、半导体压感传感器、超声波传感器和射频RF传感器等.

目前市场上有两种固态指纹传感器:

第一种是单次触摸型传感器,要求手指在指纹采集区进行可靠的触摸;第二种则需要用手指在传感器表面擦过,传感器会采集一套特定的数据,然后进行快速分析和认证。

这两类指纹传感器将得到越来越广泛的应用。

单触型传感器与划擦型传感器的尺寸和成本都不一样。

接触式传感器较大,通常有效接触面为15×15mm,可迅速地采集最大的指纹或拇指指纹。

这种传感器易于使用,并可将整个指纹图像以500dpi(自动指纹识别标准)的精度进行快速传输。

划擦型传感器是一种新型指纹采集器件,要求用户将手指在器件上划过。

划擦型传感器的优点是尺寸小(如富士通的MBF300尺寸仅为3.6×13.3mm2)和成本低。

这些器件主要用于移动设备的嵌入式安全识别应用,如手机和PDA。

精密的图像重建软件以接近2000帧/秒的速度快速地从传感器上采集多个图像,并将每个帧的数据细节组织到一起。

4.系统硬件设计

4.1系统组成

本系统整体上可以分为图像采集模块、图像处理及识别模块以及输出模块三部分组成。

该系统是由FPS200指纹传感器、CPLD、DSP、FLASH和USB接口芯片等硬件组成.如图4.

图4系统组成框图

4.1.1工作原理

系统包括DSP芯片TMS320VC5402、指纹传感器FPS200、CPLD,程序存储器和数据存储器、电源管理芯片等几个主要部分。

使用了两类存储器,SRAM用于存放运算中的临时指纹图像,FLASH则是用于存放程序代码和指纹特征模板。

电源管理模块可提供3.3V和2.5V电压。

模式选择开关则用于设定和选择系统上电后的3种工作方式:

(1)指纹录入方式:

录入新的指纹到指纹模板库。

(2)指纹比对方式:

将输入指纹与指纹模板库中的指纹搜索比对,输出比对结果。

(3)上位机命令方式:

通过接口函数,系统在上位机的命令下完成指纹录入、比对等工作,这是在二次开发系统中使用的工作方式。

4.1.2指纹采集模块硬件设计

本系统选择的是Veridioom公司的FPS200固体指纹识别传感器。

FPS200是Veridicom公司推出的第三代半导体指纹传感器。

它基于电容器充放电原理,传感阵列的每一点是一个金属电极,充当电容器的一极,按在传感面上的手指头的对应点则作为另一极。

传感面形成两极之间的介电层。

由于指纹的脊和谷,导致各点的电容值不同,这个电容值阵列就形成一幅指纹图像。

FPS200是在吸收了已广泛应用的FPS110系列传感器优点的基础上,全新推出的新一代指纹传感器。

FPS200在性能、尺寸、集成方便度等指标上建立了一套新的标准,是Veridicom半导体指纹传感器家族中重要的新成员。

主要特征和优点如下:

(1)高分辨率:

256X300阵列,1.28cm×1.50cm传感面积,500dpi分辨率。

(2)专为便携设备设计的更小的封装

(3)图像搜索技术(ImageSeekTM)即使手指过干或过湿时仍能获得高精度识别。

(4)高速图像传输:

30frame/s(MCU模式),13frame/s(USB模式),10frame/s(SPI模式)。

(5)内置USB核、MCU模式和SPI通讯模式,减低整个系统的成本。

(6)内置8位A/D转换电路,最高可节约75%的电源消耗。

(7)FPS200封装为只有l.4mm厚的塑料外壳,非常适用于各种Intemet设备、便携设备和手机等。

4.1.3FPS200功能与接口

图5是FPS200的功能结构框图。

图5FPS200的结构图

FPS200传感器支持三种接口方式:

8位的系统总线接口、集成的全速的USB接口和集成的串行外设接口(SPI)。

其丰富的接口方式方便了指纹传感器的调试和使用。

其自带的USB接口可以将其数据直接传送到PC机上,这样就可以利用PC平台上的编译和调试工具来调试各种指纹识别的算法,方便了用户的初期测试,提高了效率和准确性。

图6是FPS200与DSP的接口连接图。

图6FPS200与DSP的接口连接图

如图5所示,利用传感器提供的MCU系统总线接口可以很方便地实现其与DSP的连接。

控制信号cs0和csl都是片选信号,cs0低有效,csl高有效,这是为不同的CPU片选信号高低电平特征提供便利。

本系统选用的是cs0;~RD和

~WR分别为读、写控制信号。

MODE0和MODEl两根信号线决定了FPS200工作在何种模式下:

MODE[1:

O]=00b系统总线接口工作模式,用于与DSP相连,正常工作时使用;

MODE[1:

0]=OlbSPI接口工作模式;

MODE[1:

0]=lObUSB接口工作模式,用于与PC相连,调试时使用;

A0地址线,FPS200共有两个接口寄存器,索引寄存器和数据寄存器,A0决定了是写索引寄存器还是读写数据寄存器。

A0拉低时为写索引寄存器,数据总线D7~D0的内容写到索引寄存器;A0拉高时可读写数据寄存器,数据总线上D7~D0的内容读写到数据寄存器。

本系统对FPS200的操作有以下两种:

(1)FPS200的控制:

传感器是由内部寄存器控制的,而对传感器的内部控制器的读写是通过写索引寄存器以选择合适的内部寄存器后,才可以读写具体的寄存器值。

读操作过程见图7。

先将A0管脚的电平拉低,发出写信号,将要读写的内部寄存器地址送到数据总线上,写入控制寄存器并由FPS200送到它的索引寄存器。

再将A0管脚拉高,发出读信号,将数据寄存器上的值读人DSP。

写操作的过程类似,只是在写入索引寄存器后,发出写信号即可。

图7FPS200信号的读写过程

(2)FPS200的数据读取:

即指纹图象的读取,需要注意的是控制寄存器A,写这一寄存器就初始化了一幅指纹图象的采集。

然后循环读这一寄存器则可以读出A/D转换出来的结果。

整个图象采集流程如图8所示。

图8FPS200图象采集过程流程图图9系统主要程序流程图

4.2系统硬件核心介绍

4.2.1DSP的选择[3]

系统的核心处理单元是TI公司推出的高性能数字信号处理器TMS320VC5402,该芯片具有精度高、灵活性大、可靠性高、时分复用等特点。

其采用程序空间与数据空间完全独立的哈佛总线结构,指令的执行采用流水线结构,内部有一到多个处理内核,带有片上硬件乘法器,指令执行速度最快为几十纳秒,处理能力为100MIPS。

片内有8条总线、片上存储器和片上外围电路等硬件,并且有高度专业化的指令系统。

TMS320VC5402片外直接数据寻址空间为64kB,程序空间寻址能力可达1MB,但是通过程序空间来扩展数据空间将影响系统处理速度。

但是TMS320VC5402在实际使用过程中,程序和数据的一次连续处理一般都不会超过64kB,所以把核心的程序常驻TMS320VC5402内16kB空间,一般控制在1~2kB,再留7~8kB的空间调用所需的程序,程序在片内的执行速度要比片外的快许多,通过来回到程序,就能实现程序的全速运行。

C5402的核心作用是对原始指纹图像进行预处理。

原始的指纹图像有很多噪声,比如手指有伤痕,手指干燥、湿润或撕破都会影响图像的质量。

指纹图像特征的抽取和识别要求有很高的精度,因此指纹图像的预处理过程相对复杂,一般包括以下步骤:

图像裁剪、平滑处理、锐化处理、图像二值化、图像修饰和细化。

在基本不损失有用指纹信息的基础上,运用一定的算法将原始图像进行裁剪产生一幅比原始图像小的指纹图像,可以减小后面各步骤中所要处理的图像数据量[14]。

4.2.2DSP的BOOTLOADER

DSP的引导模式有如下几种:

(1)主机接口(HPI)引导模式

(2)串行存储器引导模式

(3)16位/8位并行存储器引导模式

(4)16位/8位并行I/。

引导模式

(5)串口引导模式

(6)WARM引导模式

DSP的引导顺序如下:

引导程序先检查INT2是否为1,如为1,则采用主机接口(HPI)方式;如果INT2不为1,再看INT3是否为1,如为1,则采用串行EEPROM引导模式;否则,从工,I/O空间的FFFFH读取内容,如为有效的关键字,则开始传送;否则,从数据空间的FFFFH读取内容,如为有效的关键字,则开始传送;否则,则开始初始化串口,把XF置为低,从串口1读取数据,如果是有效的关键字,则开始传送数据;如果不是,从串口0读取数据,如果是有效的关键字,则开始传送数据:

否则,检测BIO是否为低,是否有有效关键字,如果有,则为I/0引导模式;否则,第二次检查HPI口,看是否为HPI引导方式。

本文选用的是8位并行存储器引导模式。

引导表可放在4000H~FFFFH的数据空间中,引导程序通过读数据空间的FFFFH单元内容确定引导表的起始地址,然后检测起始地址的内容是否为关键字。

如为关键字,则引导程序继续装载剩下的引导表,并开始执行程序。

4.2.3DSP的电源设计

TMS320C5402的电源分两种,即内核电源(CVDD)和I/0电源(DVDD)。

其中I/0电源一般采用3.3V电源,而内核电源采用1.8V,降低内核电压的主要目的是降低功耗。

TMS320C5402的电流消耗主要取决于器件的激活度,CVDD消耗的电流主要决定于CPU的激活度,外设消耗的电流决定于正在工作的外设及其速度,一般来说,与CPU相比,外设消耗的电流是比较小的。

时钟电路也需要消耗一小部分电流,而且这部分电流是恒定的,与CPU和外设的激活度无关。

CVDD为器件的所有内部逻辑提供电流,包括CPU、时钟电路和所有外设。

DVDD只为外部接口引脚提供电压,消耗的电流决定于外部输出的速度和数量,以及在这些输出上的负载电容。

按照每MHZ(CLKOUT)1.5mA来计算,TMS320C5402工作在100h4HZ的最大估计电流为:

(1.5mA/MHZ)×(100MHZ)=150mA

由于TMS320C5402有两个电源,需要考虑加电次序。

理想情况下,DSP芯片上的两个电源同时加电。

出于以上种种考虑,选用了TI公司的TPS73HD318电源芯片。

该芯片具有如下特点,即:

(1)双输出电压提供两路分离供电.

(2)3.3V/1.8V的输出电压.

(3)很低的静态电流,当不考虑输入时,每一路的典型值为340Ua.

(4)两个低有效的复位信号,其脉冲宽度为200ms.

(5)每一路的输出电流范围为0mA~750mA.

(6)由该芯片得到3.3V和1.8V两路电源,并给DSP芯片提供复位信号。

4.2.4DSP的时钟模式

时钟发生器给C5402提供时钟,它有内部振荡器和锁相环电路。

时钟发生器要求参考时钟输入,参考时钟可通过晶振和内部振荡器共同产生,或通过外部时钟源产生。

本文使用晶振和内部振荡器共同产生的方法。

锁相环可通过软件编程,具有很高的灵活性,其提供一个时钟的倍频因子,提供不同的时钟倍数,能够使能或者不使能锁相环。

锁相环的时钟被用于延迟转换到锁相环电路,直到锁相环己经锁住时钟。

锁相环通过16位的存储器映射寄存器(0058h)时钟模式寄存器(CLKMD)来控制,时钟模式寄存器定义锁相环的时钟模式。

在复位的时候,时钟模式寄存器的初始值由CLKMDI,CLKMD2,CLKMD3引脚的值所唯一确定。

DSP的时钟模式如表1所示.

表1

CLKMD1

CLKMD2

CLKMD3

CLKMDRESETVALUE

CLOCKMODE

0

0

0

E007H

PLLX15

0

0

1

9007H

PLLX10

0

1

0

4007H

PLLX5

1

0

0

1007H

PLLX2

1

1

0

F007H

PLLX1

1

1

1

0000H

1/2(PLLDISABLED)

1

0

1

F000H

1/4(PLLDISABLED)

0

1

0

Reserved(bypassmode)

本文所选用的晶振为IOMHZ,选择模式为CLKMDI=CLKMD2=0,CLKMD3=1,即为PLLX10的模式,刚好得到了100MHZ的时钟。

复位时,可根据设置不同的跳线来实现不同的时钟频率[11]。

4.2.5TMS320C5402对图象的处理

系统中的指纹处理算法由DSP芯片实现,算法采用汇编语言编写,其处理流程如图10所示。

图10指纹处理流程图

本系统的指纹处理功能主要为录入和验证两大部分,详细算法流程如图1所示。

(1)采用自适应图像与背景分离:

采用自适应的局部阈值图像分离法,图像的指纹部分是由黑白相间的纹理组成,灰度变化很大,具有较大的标准差;而背景部分灰度分布比较平坦,标准差较小,因此计算以各点为中心的一组象素的标准差,当标准差大于某一门限时,就可以确定该点为前景,否则为背景。

(2)方向信息提取:

采用一种新的纹线提取方法,沿指纹纹线的方向对图像进行平滑,沿纹线的法线方向对图像进行增强,获得了良好的指纹方向信息。

(3)图像分割:

局部二值化算法,对指纹图像进行处理,便于后续的细化处理。

(4)细化处理:

采用快速细化算法对二值化图像进行处理,得到一幅指纹图像的骨架。

(5)后处理:

对细化后的图像进行修复断线,去除毛刺,短线,小孔等后处理。

(6)细节特征提取:

采用算法对细化图像进行细节特征提取,得到一幅指纹图像的所有分叉点和端点。

(7)指纹匹配:

采用基于曲线拟合技术的指纹匹配算法,将待识图像和模板图像进行特征点匹配给出最后的匹配结果[9]。

4.3USB接口部件

在进行一个USB设备开发之前,首先要根据具体使用要求选择合适的USB控制器。

目前,市场上供应的USB控制器主要有两种:

带USB接口的单片机(MCU)或纯粹的USB接口芯片。

带USB接口的单片机从应用上又可以分成两类,一类是从底层设计专用于USB控制的单片机;另一类是增加了USB接口的普通单片机,如Cypress公司的EZ-USB(基于8051),选择这类USB控制器的最大好处在于开发者对系统结构和指令集非常熟悉,开发工具简单,但对于简单或低成本系统。

但价格因素也是在实际选择过程中需要考虑的因素。

本系统采用的是第二种USB控制芯片,就是纯粹的USB接口芯片,用的是Philips公司的ISP1581芯片。

ISP1581是一种价格低、功能强的通用串行总线(USB)接口器件,它完全符合USB2.0规范,并为基于微控制器或微处理器的系统提供了高速USB通信能力。

ISP1581与系统的微控制器/微处理器的通信是通过一个高速的通用并行接口来实现的。

ISP1581支持USB2.0系统运作的自动检测。

USB1.1的返回工作模式允许器件在全速条件下正常工作。

ISP1581是一个通用的USB接口器件,它符合现有的大多数器件的分类规格,比如:

成像类、海量存储器件、通信器件、打印设备以及人机接口设备。

内部通用DMA模块使得数据流很方便的集成。

另外,多种结构的DMA模块实现了海量存储的应用。

这种实现USB接口的标准组件使得使用者可以在各种不同类型的微控制器中选择出一种最合适的微控制器。

通过使用已有的结构和减少固件上的投资缩短了开发时间、减少了开发风险和费用。

从而用最快捷的方法实现了最经济的USB外设的解决方案。

*接与ATA/ATAPI外设相连

*全符合通用串行总线(USB)Rev2.0规范

*符合大多数器件的分类规格

*高性能的USB接口器件,集成了串行接口引擎(SIE)、PIE、FIFO存储器、数据收发器和3.3v的电压调整器

*支持USB2.0的自检工作模式和USB1.1的返回工作模式

*高速的DMA接口

*完全自治的多结构DMA操作

*7个IN端点,7个OUT端点和1个固定的控制IN/OUT端点

*集成8K字节的多结构FIFO存储器

*端点的双缓冲配置增加了数据吞吐量并轻松实现实时数据传输

*同大部分的微控制器/微处理器有单独的总线接口(15M字节/秒或15M字/秒)

*集成了PLL的12MHZ的晶体振荡器,有着良好的EMI特性

*集成了5v到3v的内置电压调整器

*可通过软件控制与USB总线的连接(SoftConnectTM)

*符合ACPITM,OnNOWTM和USB电源管理的要求

*可通过内部上电复位和低电压复位电路复位,也可通过软件复位

*工作在扩展USB总线电压范围(4.0~5.5)内,I/O端口最大可承受5V的电压

*操作温度:

-40℃~+85℃

*LQFP64的封装形式

 

U盘系统是本设计的主要部分,图11是U盘接口的原理图

图11U盘接口原理图

5.软件设计

系统上电后进入主程序,等待串口中断,根据上位机发送给串口的指令包,执行不同部分的功能。

初始化系统并执行指纹采集和指纹匹配的功能[5]。

下面给出主程序入口控制部分的核心代码:

#include

……

cregisterunsignedintIE,IF,ST,IOF;

interruptvoiduartO(void);

#defineUART_BASE_ADDROxC00000

#defineUART_REV_ADDR*(int*)OxC00000

……

unsignedintuartstate;

……

unsignedintFP_ImgData[320*320];

unsignedint*FP_ImgData=(unsignedint*)OxlO00;

typedefstruct{

……

}FP_MinutiaeFeature;

#pragmaDATA_SECTION(FP_MinutiaeF,”.MinutiaeData”);

#pragmaDATA_SECCTION(In_MinutiaeF,”.MinutiaeData”);

staticFP_MinutiaeFeatureFP_MinutiaeF[100];

staticFP_MinutiaeFeatureIn_MinutiaeF[100];

int*Match_Flag=

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高等教育 > 哲学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1