一种USB与DSP指纹识别系统的设计实现
时间:07-28
来源:互联网
点击:
图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通过I2C总线操作对OV6620进行设置,然后进入指纹图像采集阶段。在该阶段,TMS320VC5402处于空闲状态,CPLD占用数据总线,
将数据直接存储到图像RAM中。采集完一帧指纹图像后由CPLD发握手信号,通知DSP进人数据处理阶段。在该阶段,TMS320VC5402先将图像RAM中的数据分块搬运到用户RAM中,进行图像预处理、特征点提取等运算,最后通过USB将结果输出给上位机。上位机调出指纹数据库,并将提取的结果与指纹特征库中的数据进行比对,从而与库中特征指纹进行指纹匹配识别。
DSP算法具体如下:(1)预滤波。方向滤波:设计了一个水平模板,然后将水平模板旋转到所需增强的方向进行滤波。(2)二值化。背景分离:采用标准差阈值跟踪法,图像的指纹部分由黑白相间的纹理组成,灰度变化很大,具有较大的标准差,而背景部分灰度分布比较平坦,标准差小。因此计算以各点为中心的一组像素的标准差,当标准差大于某一门限时,就可以确定该点为前景,否则为背景。(3)计算方向图:采用基于法线向量的方法,其中还涉及到方向场的平滑锐化。(4)特征点提取:采用了脊线跟踪法,其基本思想是直接对图像进行脊线跟踪,在跟踪过程中检测特征点。
整个软件流程如图3所示。
图3 软件流程图
总线 USB DSP 传感器 CMOS 电路 MIPS 半导体 Cypress MCU 收发器 电压 CPLD 相关文章:
- 工业以及汽车应用中多种串行总线特性及比较(01-05)
- 智能家居的标准与协议(08-27)
- LonWorks现场总线设备驱动设计与实现(08-21)
- 浅谈数据线扼流圈改善电磁兼容问题使汽车更加安全(06-23)
- 基于I2C总线遥控彩电原理及故障演示装置的研制(11-14)
- 基于CAN总线的半挂车安全预警系统设计(03-16)