淮安信息学院毕业设计(论文) 第 11 页 共 11 页
图2.7 FAR和FRR关系
2.拒登率
拒登率(Error Rejection Rate,ERR)用来描述指纹设备的适应性。
ERR指的是指纹设备出现不能登录或对指纹图像不能进行处理的概率,拒登率ERR过高将会严重影响系统的使用范围。
3.速度
指纹识别系统的工作速度主要由采集时间、图像处理时间、比对时间和平均识别速度几项指标构成[9]。采集时间通常包含了采集的操作时间和图像的输出时间;图像处理时间指的是从计算机处理指纹图像开始到提取出所有特征并输出指纹模板所花费的时间;比对时间指计算机对两组指纹特征数据进行比对开始并给出比对结果所花费的时间;平均识别速度指计算机从指纹库中搜索出特定指纹模板的速度,它通常是一个统计平均值,与指纹库的分类方法有很大关系。
3 自动指纹识别系统设计方案介绍
3.1 系统硬件构架
目前的嵌入式处理器各种各样。TI公司的数字信号处理器(DSP)芯片具有很高的性价比。由于DSP芯片具有很强的数学计算能力,合理利用它的处理特性,在某些方面可以和高性能的工作站相比。利用DSP芯片构建嵌入式系统的硬件平台,可以很好的满足实际需要。另外,DSP芯片具有灵活的外部接口,和各种外设的接口电路设计相当方便,并且成本也越来越低。正因为如此,DSP芯片取得了广泛的应用。本系统以TMS320VC5416为核心处理单元(以下简称VC5416),来构成系统的硬件处理平台。
硬件平台大致可以分为5个部分:电源部分、核心部件(CPU)、JTAG调试接口以及外部串口单元(McBSP)。系统硬件接口框图如图3.1所示。
淮安信息学院毕业设计(论文) JTAG调试接口第 12 页 共 12 页 POWER核心部分外接串口 图3.1 系统硬件接口框图
POWER电源部分负责给系统供电。该系统是一个多电平系统,包括5V电源,3.3V电源以及1.8V电源。电源部分采用常见的TPS76318电压转换芯片实现输入电压到3.3V和1.8V的转换。
JTAG调试接口用于程序的跟踪和调试。 McBSP用于和UART互联。
核心部件是系统最主要的部分,它包括中央处理单元DSP芯片、外接SRAM以及外接FLASH。
指纹识别系统主要包括:DSP最小系统、指纹图像采集部分、串口通信部分、外部存储部分、供电系统等。其结构框图如图3.2所示。
指纹识别模块SRAMDSPFLASH人机接口交互界面 图3.2 指纹识别系统硬件结构框图
3.2 系统核心介绍
3.2.1 指纹识别模块
本文采用基于光学传感器的独立处理模块FPM10A,它主要由指纹图像采集和指纹处理模块两部分组成,两者之间由150mm长的电缆相连,指纹采集板上有一个5芯插座和一个15芯插座,15芯的插座用于与150mm的电缆相连,连接指纹采集头,5芯的插座留给用户接口。指纹采集头主要负责采集指纹图像并准确无误的传输给指
淮安信息学院毕业设计(论文) 第 13 页 共 13 页 纹处理板,采集到的图像格式为256×288像素。指纹处理板则负责根据用户的命令来完成一系列的操作,可以完成指纹录入、图像处理、模板存储、指纹比对和指纹搜索等功能。其结构图如图3.3所示。
指纹图像处理任务(图像增强、二值化、细化、特征提取、特征匹配)指纹传感器串口(输出指纹识别结果)控制模块
图3.3 指纹识别模块结构图
指纹识别模块FPM10A通过UART异步串行口与外部接口,使用者通过此接口来命令它完成指纹采集、指纹比对等一系列操作。UART接口采用半双工异步串行通信,默认波特率为57600bps,可通过命令设置为9600~115200bps;传送的帧格式为10位,1位0电平起始位,8位数据位(低位在前)和1位停止位,无校验位。其管脚定义如表3.1所示。
表3.1 指纹处理板上与用户接口的5芯插座的管脚定义
引脚号 1 2 3 4 5 名称 VIN TXD RXD GND NC 类型 in out in GND — 功能描述 电源正输入端。(线色:红) 串行数据输出。TTL逻辑电平。(线色:绿) 串行数据输入。TTL逻辑电平。(线色:白) 信号地。内部与电源地连接。(线色:黑) (一体式模块无此引脚) 指纹识别模块FPM10A性能指标: 工作电压:3.6V~7V
供电电流:100mA(典型值)、150mA(峰值) 工作温度:-20℃~+40℃
通讯波特率:(9600×N)bps,其中N=1~12(默认值N=6,即57600bps) 3.2.2 使用McBSP实现UART数据通信
本设计中利用VC5416的多通道缓冲串行口(McBSP)与指纹识别模块FPM10A进行通信。但是FPM10A外部接口是异步串行接口,而McBSP是同步串行接口,所以要保证通信可以正确进行,必须在DSP方面加一个专门软件来实现。
软件实现UART有多种方法,其中数据接收是关键。因异步通信没有可参照的时钟信号,发送方随时都可能发送数据,任何时刻串行数据到来时,系统都应该及时准
淮安信息学院毕业设计(论文) 第 14 页 共 14 页 确的接收。比较而言,本机发送串行数据相对容易,只要对发送出去的电平做持续时间的定时即可。
为了模拟异步串口,必须要设计一种方案使McBSP能检测和产生UART的数据帧。因为不能和UART数据帧同步,所以不能保证同步串口的时钟和UART数据帧的起始位的上升沿或下降沿对齐。这样UART数据帧和同步串口间会有偏移,同时也会因DSP的同步串口时钟频率和UART数据帧的波特率不匹配而产生数据的速度偏移。为了减少这两个偏移,可以采用过采样技术,即同步串口对UART数据流进行过采样,然后再识别或产生UART的数据帧。同时采用过采样技术也有利于高速的SPI和低速的UART数据流相匹配。过采样的采样速率可以有多种选择,因为VC5416的数据位都是16位,为了便于处理本文采用16倍采样率过采样。
TMS320VC5416的McBSP接口有6个信号线:BSFX(帧同步脉冲发送)、BFSR(帧同步脉冲接收)、BCLKX(发送数据时钟)、BCLKR(接收数据时钟)、BDX(串口数据发送)、BDR(串口数据接收)。应用时将BFSR和BDR连在一起都和异步串口的发送数据线连接,将BDX和异步串口的接收数据线连接,其他悬空即可[10]。图3.4给出了理想时序。
图3.4 McBSP口对UART数据采集时钟的理想时序
3.2.3 分频系数计算
McBSP时钟频率也就是采样频率。TMS320C54X系列DSP的McBSP时钟频率可以由DSP主时钟分频得到。通过对寄存器设置可以设定分频系数。
分频系数div可由如下公式得到:
div?f16Br
式中f为DSP的工作时钟,Br为异步串口的工作波特率。计算后div若非整数则需取整。分频寄存器只有8bits,故最大分频值是256。TMS320VC5416主频为160MHz,串口默认波特率设定为5600bps,则:
淮安信息学院毕业设计(论文) 第 15 页 共 15 页 Div=160M/(16×5600)=11(取整)
4 自动指纹识别系统软件设计
4.1 软件设计环境CCS平台介绍
CCS(Code Composer Studio)是TI公司为其TMS320系列DSP提供的一个高度集成的软件开发和调试环境,它将DSP工程项目管理、源代码的编辑、目标代码的生成、调试和分析都打包在一个环境中,使其可以基本涵盖软件开发的每一个环节。CCS主要包括以下工具:
1.C编译器、汇编优化器和连接器(代码生成工具) 2.指令集仿真器(Simulator) 3.实时的基础软件(DSP/BIOS)
4.主机和目标机之间的实时数据交换(RTDX)
利用CCS,用户可方便的建立一个DSP的工程项目,并对相应的源文件进行管理或编辑修改。所有源文件的编辑、汇编和链接只需要一个按钮就可以一次完成,用户不必再通过输入冗长的命令来完成这些操作。
经过上面的过程产生的目标代码可以在CCS的环境下通过硬件仿真工具,如XDS510等,下载到用户目标系统中进行调试和运行。如果没有用户目标系统,还可以将目标代码装载到Simulator中运行。Simulator利用计算机的资源模拟DSP的运行情况,可以帮助用户熟悉DSP的内部结构和指令,在有的情况下还可以对部分的程序功能进行非实时的验证。
在CCS中,用户可以利用其提供的数据可视化工具按照数据的自然格式来观察数据,如眼图、星座图、FFT瀑布图等,对于图像数据,CCS也提供了多种格式(如YUV或RGB格式等)来读取原始数据并加以显示,这些工具使得位于DSP存储器中的数据得以形象的表现,从而可以大大提高分析测试的速度。
4.2 系统初始化
系统初始化程序包括TMS320VC5416内部初始化和各个片内外设的初始化,以及外接接口电路的初始化。DSP系统上电后,DSP芯片已有部分进行了定义,因为DSP内两个状态寄存器(ST0、ST1)的所有状态位都处于确定状态,因此,上电复位后,DSP处于一种预定义状态。用户可以在系统上电后通过编写初始化程序,对两个状态寄存器的相应状态位进行修改,以满足不同系统的配置和应用要求。其中主要包括: