功率电感生产厂家
联系我们
热门搜索
点击排行
推荐阅读
猜猜你喜欢的
研发资讯 您所在的位置: 首页 > 研发资讯

嵌入式虹膜图像采集及预处理

来源:    作者:    发布时间:2015-11-30 14:31:52    浏览量:

摘要:简要介绍了Blackfin561的DMA功能和BMP文件的格式,叙述了在基于Blackfin561的嵌入式操作系统uClinux下并行外部接口(PPI)驱动程序的框架,以及驱动程序中各个函数的具体功能与实现方式。完成了虹膜图像数据的采集,并对图像数据进行了预处理,提取其中所有亮度信息,生成BMP图像文件。同时指出了调试过程中常遇的问题以及解决方法。关键词:嵌入式系统;设备驱动程序;虹膜图像采集;DMA;PPI

0 引言

随着计算机和网络技术的发展,信息安全显示出前所未有的重要性,而身份识别作为保证信息安全的必要前提,也越来越受到重视。虹膜识别技术是基于眼睛虹膜的生物识别技术。虹膜的终生不变性以及信一体成型电感息提取的非接触性等特性,使其成为各项生物识别技术中最突出的一项。本文论述了在基于Blackfin561的嵌入式操作系统uClinux的虹膜图像采集以及预处理。为后期在嵌入式平台上进行虹膜图像运算提供了图像来源。

1 Blackfin561中的DMA

Blackfin系列DSP产品是ADI公司的基于微信号体系结构的DSP,适用于各种视频、音频、通信领域。ADSP-BF561有多个独立的DMA控制器,能够以最小的DSP内核开销完成数据自动传输。DMA传输可以发生在ADSP-BF561的内部存储器和任一有DMA能力的外设之间。此外,DMA传输也可以在任一有DMA能力的外设和已连接到外部存储器接口的外部设备之间完成(包括SDRAM控制器、异步存储器控制器)。有DMA传输能力的外设包括SPORT、SPI端口、UART和PPI端口。每个独立的有DMA能力的外设至少有一个专用DMA通道。BF561内部专门为适应视频数据处理而增加了二维DMA。

2 PP模压电感器I接口驱动的具体实现

uClinux是针对微控制领域而设计的Linux系统,面向没有MMU(Memory Management Unit)的硬件平台。它是Linux的一个变种,一方面它继承了Linux的大部分优点,例如稳定性,强大的网络功能;另一方面其内核相当精简, 内核体积小于512KB, 内核加文件系统小于900KB。uClinux同标准Linux主要的区别在于两者的内存管理机制和进程调度管理机制,另外它采用了romfs文件系统,并对Linux上的C语言库glibc做了简化。uClinux完全符合GNU/GPL公约,完全开放源代码,因此在嵌入式领域得到广泛应用。

为管理各种外围硬件设备,uClinux系统对其采取面向对象的封装机制。uClinux将所有的外围设备看成是一类特殊文件,称为“设备文件”,它抽象了对硬件的处理,用户进程只需通过标准的系统调用如open(),read(),write(),close()而无需了解设备在硬件层上实现的细节即可实现对设备的访问控制。驱动程序则负责这些系统调用的具体实现。

针对具体应用,在驱动程序中实现了模块注册注销函数,open,release接口函数和read接口函数(如图1所示)。驱动程序采用了中断方式,对PPI和DMA进行了配置,采用BF561提供的二维DMA功能。详细介绍如下:

1.gif

(1)模块初始化函数init_module()。该函数是每个内核模块加载的时候首先调用的一个默认函数。程序中使用风华高科系列电感器了module_init()宏来显式命名模块的注册函数为 ppi_init(),在该函数中完成了设备’ppi’的注册,当模块加载完毕之后,内核即知晓该设备的存在。

(2)模块卸载函数cleanup_module(),该函数与init_module()做相反的工作,在内核中取消设备的登记。一体电感器与模块注册类似,程序中使用module_exit()宏来显式命名模块的注销函数为 ppi_exit()该函数在模块卸载的时候自动调用。

(3)设备驱动程序的file_operations结构。由于所使用的PPI接口只用来做数据采集,因此file_operation结构定义如下:

static struct file_operations ppi_fops = {

owner: THIS_MODULE,

read: ppi_read,

open: ppi_open,

release: ppi_release,

};

(4)open,release接口函数。在这两个函数中分别使用了MOD_INC_USE_COUNT和MOD_DEC_USE_COUNT宏,被操作系统内核用来记录当前访问设备文件的进程数。由于要使用中断方式,所以在open和release中要分别实现中断的申请和释放。设备驱动程序通过调用request_irq()函数申请中断,将一个硬件处理函数挂到相应的处理队列中,通过调用free_irq()函数释放中断。在open函数中初始化了PPI和DMA的部分相关寄存器。择要描述如下:

*pDMA1_0_Y_COUNT = 625; 二维DMA的外层循环计数寄存器,用于保存外层循环的数目。电感生产厂家

  • 高频开关电源系统的主要技术参数探讨高频开关电源额定直流输出电压、浮充电压、均充电压、功率因数、稳压精度、效率、杂音电压(不接蓄电池组) 、电池温度补偿等。 1、额定直流输出电压:指市电经整流模块变换后的额定输出电压,正选的电源电压为-

  • 地铁车辆主牵引逆变器及其测试装置研制1 概述上海地铁三号线的AC03 型电动列车,是于21 世纪初引进的,由法国ALSTOM 公司制造的交流传动车辆,其主牵引逆变器是采用1 200 A/3 300 V IGBT模块构成的,主电路的构成如

  • 我有个SG3525A的驱动板,图腾柱是TIP41+TIP42,请问 如题,新手第一次发提问,希望有热心人来解答,谢谢~!
    试试就知道

  •