摘要:介绍一种以高速的DSP芯片TMS320VC5402为平台对指纹图像进行实时处理的指纹识别系统,用USB接口芯片与主机进行通信。介绍了系统的硬件、固件、设备驱动程序和应用软件四个方面的设计与实现方法。
指纹的不变性和唯一性使指纹识别技术成为目前应用最广泛的身份验证。近年来随着最新信息处理技术的发展、算法理论的研究以及计算机硬件的高集成和低成本,指纹识别的可靠性不断提高,实用范围不断扩大。由于识别系统数据量较大且要求尽快传入上位机进行处理,所以合理设计数据传输通道成为设计的一个重点。
通用串行总线USB(Universal Serial Bus)是一种新型接口技术。它是由Intel、Microsoft等公司为解决日益增加的外设与有限的主板插槽与端口之间的矛盾而制定的一种串行通信标准。USB具有以下特点:(1)有较高的传输速率。USBl.1支持全速和低速两种方式,全速速率为12Mbps,低速速率为1.5Mbps;USB2.0除支持USBl.1的两种速度方式外,还增加了速率可达480Mbps的高速方式。(2)使用方便灵活。USB支持即插即用和热插拔,允许在任何时候连接和断开外设。当外设被连接时,系统会自动检测到外设并准备使用。(3)易于扩展。通过根集线器可携带127个设备真正实现多个外设共用一个接口。此外,USB还有可靠性高、成本低、功耗小等优点,倍受欢迎。
1 整体方案选择
由于指纹图像处理技术对实时性要求高、运算量要求大,所以采用通用的数字处理芯片。DSP的高速运算性能使其在数字信号的处理上有着独一无二的优势。但数字信号的数据量非常庞大,需要一种方便、高速的接口实现与PC机的接插。 本文给出一种基于DSP(TMS320VC5402)平台的低成本高速USB接口方案。它采用Philips公司的PDIUSBDl2接口芯片,实现DSP指纹图像采集处理与PC机的高速数据传输。本系统涵盖了图像采集、处理、存储、传输等数字图像处理技术,其硬件原理如图1所示。
通过图像传感器获得指纹图像及数字化输出,将图像数据传递给中央处理芯片DSP。DSP对图像进行实时处理,如:滤波、图像的平滑锐化、二值化、特征点提取等,同时将处理结果通过USB输出到上位机。在整个指纹图像采集处理系统中,DSP主要有三个方面的作用:通过其I2C总线对OV6620的对比度、亮度、锐度等各项参数进行设置;对指纹图像进行数字处理;按照USB的规范应答,提供设备识别,固化PDIUSBDl2,与上位机通信。
2 系统硬件方案选择与设计
2.1 图像传感器
CMOS图像传感器是近几年发展较快的新型图像传感器,可以将像素阵列与外围支持电路集成在同一块芯片上,是一个完整的图像系统。与CCD产品相比较其功耗小、体积小、成本低。
在采集系统中,使用OV6620作为图像采集芯片。OV6620是Omni Vision公司开发的CMOS黑白图像采集芯片。该芯片将CMOS光感应核与外围支持电路集成在一起。输出的视频为黑白图像。技术参数:分辨率352x288,速度30帧/秒。
2.2 数字信号处理芯片
本系统中采用了TI公司推出的高性能数字信号处理器TMS320VC5402。其采用程序空间与数据空间完全独立的哈佛总线结构,指令的执行采用流水线结构,内部有一到多个处理内核,带有片上硬件乘法器,其指令执行速度最快为几十纳秒,处理能力为100MIPS。这些为DSP在高速大数据量的数据采集处理系统中提供了广阔的应用空间。片内共有8条总线(4条程序存储器总线、1条数据存储器总线和3条地址总线)、片上存储器和片上外围电路等硬件,有高度专业化的指令系统,具有功耗低、高度并行等优点。
2.3 USB接口芯片
世界上很多半导体公司参与了USB芯片的开发,形成了多种产品系列。如Intel 8*930AX/HX、Cypress FX2高速USB微控制器、National Semiconductor的USBN9602/9603。对于基于DSP平台的USB接口设计,综合考虑了几种方案之后,决定采用一个不带MCU内核的USB接口芯片PDIUSBDl2,再加上简单的外围电路和时序调整电路。主要因为其满足项目性能需求,且使用外接CPU,成本非常低。
PDIUSBDl2是Philips公司推出的一款特点突出的USB接口芯片。完全遵从USBl.1协议,其内部集成有串行接口引擎(SIE)、320字节多结构FIFO存储器、收发器(Transceiver)和电压调节器。它可以工作在5V或者3.3V的工作电压下;具有8位数据总线,且有完全自治的DMA传输操作。它还具有可控制的软件连接(SoftConnect)功能,可以保证在微控制器可靠初始化之后再连接上USB总线。多中断模式实现批量和同步传输,在批量和同步模式下可实现1MB/S的数据传输率。PDIUSBDl2高集成度、高可靠性和宽范围工作条件的特点,可以非常方便地兼容大部分DSP的工作环境。
3 软件设计
3.1 固件设计
固件编程(firmware programming)是USB数据传输系统中终端设备程序设计的重要部分,微处理器通过固件程序与计算机进行数据交换。由于采用不带MCU内核的USB接口芯片,所以关于USBl.1协议规范的实现都必须靠DSP(TMS320VC5402)控制PDIUSBDl2芯片完成:在DSP(TMS320VC5402)的平台上编写程序,以完成USBl.1规范所要求的标准请求及用户根据产品需要自己定义的请求。
当设备连接到主机后,主机通过给PDIUSBDl2的端点0发送包含标准USB请求的控制传输(即Setup包),PDIUSBDl2产生一个中断给MCU(1NT0),MCU通过读PDIUSBDl2的中断寄存器和最后一次传输状态寄存器来对每一个请求做出响应,并通过PDIUSBDl2的端点0回送请求信息。主机从返回的信息中读取描述数据(包括设备描述符、配置描述符、接口描述符、端点描述符、字符串描述符),分配和载入一个设备驱动程序并对设备进行配置。设备配置完成后,就可以使用配置中支持的端点传输数据。固件程序结构如图2所示。
3.2 设备驱动
在Win32系统中,把每一个设备都抽象为文件,此时的应用程序只需通过几个简单的文件操作APl函数,就可以实现与驱动程序中某个设备的通信。
PC机的驱动程序由Philips公司提供。用VC++6.0通过调用API函数,编写PC的应用程序。这样即可实现PC机对DSP(TMS320VC5402)指纹取像系统的控制以及图像的传输。主要使用的API函数是DeviceIOControl()、ReadFile()、WriteFile()。其中DeviceIOControl()用于PC(主机)向DSP图像采集系统发送请求;ReadFile()和WriteFile()分别用于从图像采集系统读出数据以及向图像采集系统写入数据。在设计过程中必须注意的问题是:由于USB接口是主从方式的接口,其一切传输过程都必须通过主机向外设发送请求后才可以开始,所以在使用ReadFile()、WriteFile()读写数据前,必须先通过DeviceIOControl()向图像采集系统发送请求。
3.3 指纹识别流程
系统上电时,TMS320VC5402通过12C总线操作对OV6620进行设置,然后进入指纹图像采集阶段。在该阶段,TMS320VC5402处于空闲状态,CPLD占用数据总线,
将数据直接存储到图像RAM中。采集完一帧指纹图像后由CPLD发握手信号,通知DSP进人数据处理阶段。在该阶段,TMS320VC5402先将图像RAM中的数据分块搬运到用户RAM中,进行图像预处理、特征点提取等运算,最后通过USB将结果输出给上位机。上位机调出指纹数据库,并将提取的结果与指纹特征库中的数据进行比对,从而与库中特征指纹进行指纹匹配识别。
DSP算法具体如下:(1)预滤波。方向滤波:设计了一个水平模板,然后将水平模板旋转到所需增强的方向进行滤波。(2)二值化。背景分离:采用标准差阈值跟踪法,图像的指纹部分由黑白相间的纹理组成,灰度变化很大,具有较大的标准差,而背景部分灰度分布比较平坦,标准差小。因此计算以各点为中心的一组像素的标准差,当标准差大于某一门限时,就可以确定该点为前景,否则为背景。(3)计算方向图:采用基于法线向量的方法,其中还涉及到方向场的平滑锐化。(4)特征点提取:采用了脊线跟踪法,其基本思想是直接对图像进行脊线跟踪,在跟踪过程中检测特征点。
整个软件流程如图3所示。
- 设计实现(5612)
相关推荐
指纹识别系统电路设计图集锦 —电路图天天读(200)
27251指纹识别传感器的原理是什么
指纹识别在新型学籍管理系统中的应用
指纹识别手机酝酿大爆发,模组技术进化猛催油门
指纹识别技术原理及发展
指纹识别算法
指纹识别系统是由哪些电路组成的
指纹识别系统电路设计图
ATK-AS608指纹识别模块的相关资料推荐
Android指纹识别系统的原理与使用相关资料分享
win7系统如何设置指纹识别
【TG401_EVB开发板申请】基于arm的指纹识别算法实现
【TL6748 DSP申请】将dsp与指纹模块结合,快速实现指纹识别,已达到智能门禁的效果
【华强芯城指纹模块试用申请】智能化身份识别系统
利用STM32单片机来实现指纹识别或RFID刷卡的门禁或考勤系统
基于指纹识别的汽车防盗系统
基于FPC1011C的指纹识别模块
基于STC15单片机指纹识别系统的设计资料分享
基于STM32指纹传感器FPS200的指纹识别系统解决方案
基于Xilinx的指纹识别大学生体育锻炼管理系统设计
基于单片机系统的指纹识别有什么设计要点?
基于单片机的指纹识别门禁系统设计资料分享
如何利用STM32F103RCT6Mini开发板去搭建一种指纹识别系统呢
如何开发嵌入式指纹识别系统?
怎么实现基于指纹识别技术的汽车门锁软硬件设计?
新唐指纹识别
求一种非接触式3D指纹识别系统的设计方案
求关于基于51单片机识别系统的资料
绝对实用的ARM指纹识别系统方案
设计一种基于单片机的指纹识别系统
采用指纹识别的汽车防盗系统
基于TMS320VC5402的指纹识别系统
10基于TMS320VC5402的指纹识别系统
25基于Nios II的自动指纹识别系统设计
22基于FPGA 的指纹识别算法硬件实现
0基于SPCE061A的指纹识别系统
27智能指纹识别系统设计
32指纹识别系统的设计与实现
36DSP在嵌入式自动指纹识别系统中的应用
23基于NIOS II的高速嵌入式指纹识别系统
28基于TMS320VC5402 DSP芯片的自动指纹识别系统的
94使用SPCE061A的指纹识别系统设计
800
基于Nios II的自动指纹识别系统设计
732
基于FPC1011F的指纹识别系统设计与实现
2830基于FPS200传感器和DSP的指纹识别系统设计
966
基于DSP的指纹采集系统的研究
652
指纹识别的DSP实现方案
1444
基于DSP和以太网的指纹识别系统
56DSP+CPLD实现指纹识别系统
156基于OMAP架构的嵌入式指纹识别系统设计与应用
1062基于Nios II的自动指纹识别系统设计
19关于ARM的嵌入式指纹识别系统
8嵌入式指纹识别系统的设计
10DSP指纹识别系统设计
7汽车指纹识别怎么加装?
12715基于STM32芯片的指纹识别系统设计与实现
21558
一种USB与DSP指纹识别系统的设计实现
330
基于ARM9嵌入式处理器的指纹识别系统设计
1224
基于DSP实现指纹识别算法的设计方案
22毕设系列之-- 基于单片机的指纹识别系统实现
25
电子发烧友App



评论