您的位置 首页 汽车

根据传统嵌入式技能和FPGA技能完成掌纹辨别体系的方案设计

基于传统嵌入式技术和FPGA技术实现掌纹鉴别系统的方案设计-Nlos是Altera公司推出的一款采用流水线技术、单指令流的32位RISC软核处理器,并针对Altera公司的可编程逻辑器件和片上可编程系统的思想做了相应优化AlIera公司提供的SoPC Builder不仅可以创建和配置用户的Ni0s,还可以添加自定义用户指令。这使得Nios可以很容易的与用户逻辑结合,构成功能更加强大的SoC系统。本文提出了基于Nios软核处理器的掌纹鉴别系统设计方案,并最终实际完成了该系统。

引 言

在信息化的当今世界,信息安全不管是对企业仍是个人都越来越重要。生物特征辨别在信息安全身份认证范畴占有侧重要位置。传统的指纹辨别体系现已商用化,但因为指纹特征十分细微,关于收集图画设备的分辨率要求很高.导致设备本钱居高不下。别的,大约有4%的人因为指纹磨损而提取不出指纹特征(如一些晚年人和膂力劳动者),所以人们把目光投向了分辨率要求不高有或许完结低本钱与大范围运用的掌纹辨别范畴。

掌纹辨认和辨别是1998年才呈现的新式生物特征辨认技术,经过几年的研讨现已到达了商用的要求(在低分辨率条件下辨认率高于99%)。掌纹辨别的适用范围广泛,从特定范畴来说,能够广泛运用在银行、法院、刑侦、监狱等需求保密性要求比较高的部分,从群众范畴来说,住宅小区和出产车间是重要的运用场台。上述运用场台除了要求自身算法的可靠性外,还要求辨认设备小型化,便携化以及可晋级性。所以脱节PC的捆绑,在嵌人式体系上完结掌纹辨别愈加具有实践运用价值,也必定会将掌纹辨别面向更宽广的运用范畴,可是在当时还没有嵌入式掌纹辨别体系面世。

Nlos是Altera公司推出的一款选用流水线技术、单指令流的32位RISC软核处理器,并针对Altera公司的可编程逻辑器材和片上可编程体系的思维做了相应优化AlIera公司供给的SoPC Builder不只能够创建和装备用户的Ni0s,还能够增加自定义用户指令。这使得Nios能够很简略的与用户逻辑结合,构成功用愈加强壮的SoC体系。本文提出了依据Nios软核处理器的掌纹辨别体系规划方案,并终究实践完结了该体系。

1、体系结构及功用概述

从逻辑功用来看,作为一个完好的掌纹辨别体系应该具有以下两个基本功用:辨别和注册。辨别功用即依据用户的lD和收集到的掌纹图画断定用户身份是否与声明的ID相符。假定当时用户是合法的,则记载本次登录,假定当时用户是不合法的,则向体系管理员陈述。注册功用行将新用户的掌纹特征增加到掌纹特征库,并给此用户一个新的ID。

为了完结辨别和注册功用,将体系分为以下几个模块:图画收集模块、辨别处理模块、输入输出模块和通讯模块。其间,辨别处理模块是整个体系的中心,它既要完结掌纹辨别算法的运算,还要对其它的模块进行操控和监测。体系的结构框图如图l所示

依据传统嵌入式技术和FPGA技术完结掌纹辨别体系的方案规划

图画收集模块首要包含摄像头和外扩SRAM。因为手掌高低不平及受压力不一起,导致的形变较大,所以收集掌纹图画,一般不运用像收集指纹时运用的扫描设备。而假定选用数码相机,体系的体积和本钱必定上升,丧失了莫优越性。笔者选用OmniVvision公司的OV7649摄像头作为图画收集设备,OV7649是30万像素的CMOS数字摄像头,体积极小,价格便宜,分辨率足以到达掌纹辨别的要求。因为OV7649输出为8位数据宽度,所以SRAM选用了与OV7649的数据宽度相同的IDT7lV424,用来作为存储掌纹图画的缓冲区。

辨别处理模块选用的FPGA挑选Altera公司的APEX20K200F,装备了256KB的SRAM及1MB的Flash,别的咱们还增加了32MB的SDRAM. SRAM和SDRAM用来为Ni0s运转程序和存储相关数据,Flash用来存储提取好的掌纹样本特征。挑选Nios软核CPU作为中心处理模块首要考虑到它为规划带来了高的集成度和灵敏性,这样再对规划方案作更改时比较便当,并且中心算法假定用Nios的用户指令完结,那么运算速度将会得到很大进步。AIIera也供给了一些免费的IP核,包含常用的UART、SRAM、F1ash和SDRAM操控器。这样在S0PCBuilder里很简略定制好自己需求的Nios处理器,假定想更改其间的某些部分只需在S0PC Builder里从头装备即可。实践证明,挑选Nios软核处理器给后续的作业带来许多便当。

输入输出模块和通讯模块结构相对简略。前者包含一些按键和1块16×2的汉字LCD,用来提示用户操作和显现体系相关信息,后者选用的是西门子的slml00-tcp无线通讯模块。这样可确保体系的陈述直接能够发到体系管理员的手机上.一起也为衔接1naternaet供给了条件,这样体系的扩展性就得以增强了。

2、体系的硬件规划

体系硬件结构如图2所示.能够看到在l片FPGA中包含了Nios处理器、SRAM操控器、SDRAM操控器、Flash操控器、uART以及摄像头和外扩SRAM操控器、2维DCT改换的用户逻辑模块。这正表现了Nios的优势,将许多资源会集在FPGA中为规划PCB带来了便当,并且对体系的更改也变得十分简略,只需从头在FPGA中增加不同的模块就能够了。笔者别离规划了2块PCB,别离是图画收集板和无线通讯模块,作业的要点首要在以下两个方面。

(1)Nios与OV7649的作业和谐机制

OV7649操控信号线运用的是oMniVisn公司的SCCB总线。SCCB总线包含SIO_C和SIO_D两条信号线,别离代表时钟和串行数据I/O,无论是传输操控指令仍是读写数据,都是由不同的时序来区别不同的操作。笔者并没有用Nios直接与OV7649相连.而是独立用VHDL编写了一个操控模块。这样做的原因首要有两方面:榜首,OV7649输出的像素同步时钟频率为24MHz,一起以30帧/s的速率输出分辨率为640×480的图画数据,如此高的数据率直接用Nios提取其间一帧图画是欠好完结的,因而有必要编写提取图画写入外扩sRAM的VHDL模块,直接用FPGA将掌纹图画数据写入外扩SRAM;第二,Nios只占用了FPGA资源的三分之一左右,完全能够运用剩余的资源,这样编写C代码的时分就不必考虑SCCB总线的时序。关于Nios来说,图画收集只需发发动和装备指令就能够完结.然后等候操控模块的完结信号回来,直接到外扩SRAM取数据即可。

摄像头操控模块首要对摄像头进行初始化装备。初始设定为 主动增益操控、主动白平衡、VGA格局(640 x80)、30帧/s、YuV 4:2:2数字视频信号输出、设置默许的图画比照度、亮度及饱和度。然后接纳OV7649发生的数字视频信号、操控信号和状况信号,即把帧同步信号VREF、行同步信号HREF、复位信号RST、像素时钟信号PCLK等引脚衔接到FPGA,依据这些信号将数据写入外扩SRAM。图3和图4是OV7649输出的各种同步信号的时序图。

(2)外扩SRAM的读写操控

如前所述,开发板上配有256KB的SRAM和IMB的Flash。因为提取的每帧掌纹图画至少为320×40×2=150KB.一起图画处理的相关代码和掌纹样本库也有适当的容量,所以还需求外扩1MB的SRAM作为存储收集图画的缓冲区。为了和摄像头的数据宽度匹配,外扩的SRAM选用了IDT7lV424,作为FPGA从OV7649输出视频中提取一帧图画的存储器。这2片SRAM有必要到达以下要求 在收集图画时为FPGA中的摄像头操控模块迅速将图画数据写入,其他时刻则将资源开释,被Ni0s统一管理。为此,一方面依据输出视频数据的高速时钟信号运用FPGA的资源编写了VHDL模块;另一方面,依据SOPC Builder供给的装备文件修正.写出了操控IDT71424的IP,并将其集成到SOPC Builder中。

3、体系的软件规划

(1)软件开发环境与用户指令

Nios的软件开发环境叫做Nios SDK SHELL,它供给了一个依据指令行娄似于Nnix的界面,用户在此环境下能够和Nios进行通讯。咱们需求先将编写好的.c文件用nios-builder指令生成srec文件。这个进程是由Nlos SDKSHELL调用GNUpro编译器来完结,GNUpro担任完结C代码和相关的头文件及库函数的编译、链接等作业。编译通往后就能够用nios-run指令将生成的.srec文件经过串口下载到N1os上运转。在SOPC Builder中装备好Nios后,会得到为用户生成的CPU_SDK文件夹,其间有个名为excalibur.h的头文件,它包含Nios一切资源的地址映射和一些库函数。

用户指令是Nios的最大特色之一,也是硬核处理器无法供给给用户的。运用好用户指令能够给体系速度带来极大的提高。掌纹辨别算法有许多种,对掌纹特征提取一般包含提取掌纹几许特征、改换域特征和代数计算特征三大娄。在本体系的规划进程中,对算法的挑选首要是从怎么发挥Nios的优势动身,争夺能在体系的实时性、可靠性及软硬件结合三方面拽到一个平衡点。对掌垃图画进行DCT改换是这个处理进程中运算量最大的部分,一起这也恰恰是运用用户指令的时机。2维DCT的处理模块是在1维DCT的基础上加以改进得到的,并且在SOPC Builder中增加为用户指令。用户指令的引人为体系速度带来极大的提高。首要在SOPC Builder装备Nios时,别离运用MSEP和MuL两种乘法,运转C代码完结,然后又用2维DCT的用户指令来做相同图画的处理比照。下文会有详细的测验数据。

(2)代码流程剖析

参照图5所示,现在开端剖析流程图中各操作的详细步骤。

用nr_installuserisr(na_button_pio_irq,palm_isr,(int)pi0)函数来树立一个用户中止服务,对按键中止呼应进入中止服务程序palm_isr.然后向摄像头操控模块发送指令,需求用的函数有

vold mitSCCBMPodule()

void WriteSCCB(unsigned char id_addr,unsigned char sub addr,unsigend char data);

unsigned char ReadSCCB(unsigned char id_addr,un-signed char sub_addr)

void EndSCCBModule();

首要用initSCCBModule函数对摄像头操控模块初始化,然后用WriteSCCB函数写入需求的摄像头装备.EndSCCBModule表明结束装备,还能够用RemdSCCB来读取摄像头的寄存器装备,查看与吸入的装备是否相同。检测到摄像头操控模块的完结信号,就能够从外扩SRAM读取数据了。接着对图画数据做一些预处理,包含提取图画的Y重量并找到掌纹的感兴趣区域。然后提取掌纹特征,这部分的运算量首要会集在DCT改换,需求运用用户指令nm_det_2.在用户指令履行结束后,既是对特征的处理,并将处理结果显现。关于提取的掌纹特征假定需求写入Flash储存起来,那就需求调用

int nr_flash erase sector(unsigned short*flash base,unsigned short*sector address)

int nr_flash write(unsigned short*lash base unsigned short*address,unsigned short value)

无线通讯模块需求与Nios的串口衔接,用AT指令来操控打电话、发短信和拜访Internet。需求调用的串口操控函数是voidnr txstring(char*s)和int nr_rxchar(vpid)这两个函数便是发送AT指令和接纳无线模块回来的状况信息。

4、测验与剖析

试验首要分为两个部分:正确辨别率测验(如表1所列)和辨别时刻测验(如表2所列)。

从表1的数据来剖析,能够看出在样本数不大的范围内跟着阈值为130时得到了96.7%的正确辨别率.关于在Nios平台下的掌纹辨别来说这个结果是完全能够承受的,可是此刻对扩展测验集有3.3%的过错承受率。笔者取的扩展测验集规划与样本数相同,假定将此体系用于住宅小区门禁体系,这就意味着此小区区外的31名人员中有1个或许能够进人该小区。为了确保安全性笔者将阈值减小至100,体系对扩展测验集的辨别作用适当好,样本之外的掌纹不会错识为样本库中的掌纹,支付的价值便是正确辨别率下降为93.5%。众所周知,嵌入式处理器的运算才能有限,所以对特征提取时刻比较重视,这也是体系能否迈向实用化的要害之一。表2是体系实时性的测验,从中能够看出在装备Nios时选用不同的乘法器(MSTEP是Nios的规范乘法器,MUL是Nios的全硬件乘法器)运算时刻有所缩短,而运用用户指令对运算的加快作用适当显着,以上数据是运用函数hr_timer_milliseconds测验得到的。

5、结 语

本文所规划的“依据Nios的掌纹辨别体系”,尽管这只能算是一个掌纹辨别体系的雏形,可是完全能够完好地完结掌纹辨别功用。因为本规划依据Nios软核处理器,因而具有装置简略,运用便当的特色,用户运用并不需求任何特别的技术或训练。别的,整个掌纹的收集与处理进程也将十分舒适与快速,增大了产品的适用范围。在规划进程中,将整个体系分为中心处理子体系、图画收集和存储子体系、通讯子体系、显现子体系和供电子体系,尽量做到这些子体系能够进行独立或许部分独立的调试。因为选用这种规划思路,体系从硬件结构上适当灵敏,因而该规划完全能够针对不同的详细运用场合加以定制和优化。各个子体系在硬件结构上是模块化的,而一切这些子体系的操控器悉数集成在一片FPGA中,高集成度带来的不只是本钱下降,还有便当性和灵敏性。Nios软核处理器的引进不只使整个体系做到了真实的软硬件可削减.愈加把这种新的规划理念带入到嵌入式体系开发中。

依据Nios的体系规划是传统嵌入式规划和FPGA规划的归纳,而凸现Nios软核处理器的特性简直悉数需求HDL的支撑。可运用IP的数量和HDL的造就将直接决议体系的质量。在本规划中将两者相结台,对高速信号的处理和算法涉及到的很多运算选用VHDL来完结,而体系的整体操控及资源管理由Nios担任。在Ni0s为咱们找到了高集成度与模块化规划抱负结合的问时,本规划方案也给Nios供给了最佳的运用场合。

责任编辑:gt

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/qiche/87236.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部