>
摘要:本文采用FPS200指纹传感器设计实现了一种基于TMS320VC5416和CPLD的指纹识别系统,详细介绍了系统的硬件、软件设计与调试方案。
关键词:FPS200指纹传感器; DSP ; CPLD
引言
目前,多数指纹识别平台都是将指纹图像采集到计算机中,利用计算机软件实现识别。由于平台的规模和价格因素限制了这类指纹识别产品的应用范围,也有一些国内外公司生产脱机模式的指纹识别平台,但产品价格昂贵,使其应用得不到普及。因此研究和开发快速、识别率高、廉价的脱机指纹识别平台有着很大的市场前景和重要的科学研究价值。
图1嵌入式指纹识别平台原理框图
图2 存储器部分硬件电路示意图
图3 传感器硬件电路示意图
自动指纹识别系统(AFIS)
的工作原理
自动指纹识别平台工作原理如下:指纹图像采集器采集用户指纹图像,并将其转换为二进制数据输出,指纹图像的质量将直接影响系统的整体性能。指纹图像处理模块对指纹数据进行预处理、后处理,提取代表这些数据的特征,作为比对模板存储到数据库中。在进行指纹匹配时,采集待鉴定用户的指纹数据,提取特征后与数据库中的模板进行比对,决定两者是否匹配,最后根据匹配结果输出相应的信号。
识别平台包含两个主要的功能模块:学习模块和鉴定模块。学习模块负责采集用户指纹数据,提取指纹特征,作为比对模板存入数据库。鉴定模块则采集待鉴定用户指纹数据,提取特征后与数据库中的模板进行比对,决定两者是否匹配。
系统硬件设计
系统的原理框图如图1所示。
该系统由DSP、CPLD、FPS200指纹传感器、SRAM、FLASH和RS-232接口等硬件组成。
工作原理为:用户通过小键盘输入ID号码,FPS200指纹传感器现场采集用户的指纹,CPLD作为接口和逻辑控制器件,将指纹图像存储到SRAM中,并在采集完一幅图像后通知DSP数据已准备好。在数据处理阶段,DSP将SRAM中的数据分块取到其内部的128KB RAM中,作为指纹图像处理以及识别算法的临时数据。DSP将处理结果与FLASH中预先采集提取的特征指纹进行匹配,再通过通信模块将匹配结果输出给外设,显示识别结果。
存储空间设计
本系统要访问的存储器有三个:DSP内部自带的RAM(128K x 16-Bit,其中DRAM主要用来存放常量和变量)与ROM(16K x 16-Bit)、SRAM和FLASH。因为TMS320VC5416有23根地址线可以用来对程序空间进行寻址,可以直接对8MB的空间进行寻址,SDRAM的行列地址是分时复用的,可以寻址256MB。由于本系统使用的SRAM和FLASH总共只需512KB的寻址空间,所以只需使用其中19根地址线,利用高位地址A19来区分FLASH和SRAM。且由于本系统所使用的FLASH只能按32KB进行寻址,所以将DSP地址线中低15位直接与FLASH中的A0~A14相连,15位地址线的寻址空间刚好为32KB,地址高3位通过CPLD来控制寻址,为了对存储器进行统一的逻辑控制,本系统由CPLD完成如片选、中断、复位、读写使能等功能。其存储器部分的硬件电路如图2所示。
指纹传感器电路设计
Veridicom公司的FPS200指纹传感器是一种触摸式CMOS传感器件,其传感区域为
采用Altera公司的Maxplus II软件进行VHDL语言编程。按照一定的时序,把指纹图像放在SRAM的固定地址中,本系统中的75KB数据使用CCS中file->data->save保存成CCS文件。通过使用VC++6.0编写程序将其转变为BMP文件,观察所采集到的指纹图像,评价其质量,进而调整指纹传感器的参数,使采集到的图像效果达到最佳。
传感器部分的硬件电路如图3所示。
CPLD电路设计
CPLD作为接口和逻辑控制器件,内部集成地址发生器和与DSP的握手控制电路,主要完成整个系统的片选、中断、通用I/O的配置等功能,在此系统中将指纹图像直接存到SRAM中,并在采集完一幅图像后通知DSP数据已准备好。在此选用Altera公司的MAX3000系列中的EPM3128ATC100-10。
RS-232通信接口硬件设计
该系统使用MAX3111E连接DSP与PC机,MAX3111E是一种兼容于SPI/MICROWIRE接口的UART。在CPLD中通过VHDL编程控制分频比可获得通用的300~230kbaud的波特率。MAX3111E内部UART与RS-232收发器能够独立工作。
TMS320VC5416提供了3个高速、全双工的McBSP缓冲串口,并且可以工作在与SPI协议兼容的时钟停止模式下,很容易实现与MAX3111E接口连接.McBSP主要包括数据通路和控制通路两部分,通过7个引脚与外部器件相连,接口信号包括与接收数据总线相连的接收引脚DR、与McBSP相连并负责发送数据的发送引脚DX、发送时钟引脚CLKX、接收时钟引脚CLKR、发送帧同步FSX和接收帧同步FSR.
而后,配置MAX3111E的波特率和发送波形,发送数据时根据MAX3111E的数据手册拼装成一个16位的字进行发送。接收则通过控制CPLD产生的中断进行处理。
小键盘与LCD显示器的
硬件设计
键盘和LCD都是I/O器件,分别占用两个I/O空间的地址,通过对地址的译码产生使能信号控制LCD和键盘。键盘上有12个按键,用10k电阻拉高,组成4×3的键盘阵列,输出的逻辑电平与CPLD的I/O相连,通过编写VHDL程序来控制键值的读入。LCD用于显示界面信息,本系统使用LC1611字符点阵模块,由CPLD控制与DSP通信和相应信息的显示。
软件设计
当选用DSP开发嵌入式系统时,选择合适的开发工具可以加快开发速度,节省开发成本。本文选用CCS2.0集成开发环境。CCS2.0是TI公司推出的DSP集成开发环境工具,它是一种快速而节省成本的完整软件开发解决方案。调试工具选用JTAG仿真器。
系统初始化
嵌入式系统在启动或复位之后,需要对系统硬件和软件运行环境进行初始化,这些工作由启动程序完成,通常启动程序都是用汇编语言编写的。系统启动程序所执行的操作与具体的目标系统和开发系统相关,具体流程这里就不再赘述。
指纹采集
FPS200可以工作在中断方式,也可以工作在查询方式。本文采用的是查询工作方式。程序流程大致如下:先初始化FPS200各寄存器,向相应的寄存器写入控制字,设置采集指纹的参数,主要是设置DCR、DTR和PGC 这几个寄存器;查询等待,当指纹被FPS200自动采集进入数据寄存器时,就把指纹数据存入到指定的存储空间。
与计算机(PC)之间的通信
TMS
结语
本文采用了基于DSP的嵌入式技术,设计了一个完整的、独立运行的嵌入式自动指纹识别系统。系统板能实现快速的指纹采集,采集指纹所需的时间能控制在0.3秒以内,完全能满足用户的需要。该嵌入式系统还能方便地与计算机通信,目前是用RS-232进行通信,进一步的工作将采用USB接口来实现。实验表明在此基础上能方便地加入指纹图像预处理、指纹特征提取以及指纹匹配等指纹识别应用程序。■
参考文献
1 TMS320VC5416 Fixed-Point Digital Signal Processor Data Manual. TI ,2004
2 胡小虹,李见为,刘元兵. 基于DSP的指纹识别模块设计与实现. 重庆大学学报,Vol.27,No.9,pp26-28,2004