PCB 抄板设计部

系统产品   VoIP通信   嵌入式产品   OEM/OEM工厂   半导体事业部

首 页软硬件技术开发高档设备维修及配件仿制样机制作/SMT加工及功能测试PCB抄板/PCB设计/IC解密/制板技术文献及新闻联系我们
首 页技术支持EDA技术

基于Nios的掌纹鉴别系统设计与实现

关键字: EDA EDA技术 EDA工艺 EDA软件 EDA设计 PCB线路板 电磁干扰 主板维修 PCB生产 PCB加工 PCB设计 ATE电路板设计 手机PCB板 PCB抄板 PCB改板 电路板抄板 PCB制板 单面板 双层板 样机制作 设计软

引 言


在信息化的当今世界,信息安全不管是对企业还是个人都越来越重要。生物特征鉴别在信息安全身份认证领域占据着重要地位[1]。传统的指纹鉴别系统已经商用化,但由于指纹特征十分细小,对于采集图像设备的分辨率要求很高.导致设备成本居高不下。另外,大约有4%的人由于指纹磨损而提取不出指纹特征(如一些老年人和体力劳动者)[2],所以人们把目光投向了分辨率要求不高有可能实现低成本与大范围应用的掌纹鉴别领域。
掌纹识别和鉴别是1998年才出现的新兴生物特征识别技术,经过几年的研究已经达到了商用的要求(在低分辨率条件下识别率高于99%[1])。掌纹鉴别的适用范围广泛,从特定领域来说,可以广泛应用在银行、法院、刑侦、监狱等需要保密性要求比较高的部门,从大众领域来说,住宅小区和生产车间是重要的应用场台。上述应用场台除了要求本身算法的可靠性外,还要求识别设备小型化,便携化以及可升级性.所以摆脱PC的束缚,在嵌人式系统上实现掌纹鉴别更加具有实际应用价值,也势必会将掌纹鉴别推向更广阔的应用领域,然而在当前还没有嵌入式掌纹鉴别系统问世。
Nlos是Altera公司推出的一款采用流水线技术、单指令流的32位RISC软核处理器,并针对Altera公司的可编程逻辑器件和片上可编程系统的思想做了相应优化[3,4]AlIera公司提供的SoPC Builder不仅可以创建和配置用户的Ni0s,还可以添加自定义用户指令。这使得Nios可以很容易的与用户逻辑结合,构成功能更加强大的SoC系统。本文提出了基于Nios软核处理器的掌纹鉴别系统设计方案,并最终实际完成了该系统。

1 系统结构及功能概述
从逻辑功能来看,作为一个完整的掌纹鉴别系统应该具备以下两个基本功能:鉴别和注册。鉴别功能即根据用户的lD和采集到的掌纹图像判定用户身份是否与声明的ID相符。如果当前用户是合法的,则记录本次登录,如果当前用户是不合法的,则向系统管理员报告。注册功能即将新用户的掌纹特征添加到掌纹特征库,并给此用户一个新的ID。
为了实现鉴别和注册功能,将系统分为以下几个模块:图像采集模块、鉴别处理模块、输入输出模块和通信模块。其中,鉴别处理模块是整个系统的核心,它既要完成掌纹鉴别算法的运算,还要对其它的模块进行控制和监测。系统的结构框图如图l所示

图像采集模块主要包括摄像头和外扩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测试得到的。


录入时间:2007-10-10 来源:网络  

 

相关文章:

· 射频EDA仿真软件介绍
· 蓝牙HCI-UART与并口的FPGA控制接口设计
· 用EDA设计LED汉字滚动显示器
· 中、小尺寸TFT-LCD系统时序控制模块的设计
· 基于CPLD的多波形信号发生器设计
· 基于FPGA自适应数字频率计的设计
· 用CPLD实现单片机与ISA总线并行通信
· 电子系统EDA集成开发环境框架结构
· 基于多种EDA工具的FPGA设计
· FPGA系统的仿真和测试

 PCB

· 印刷电路板的设计方法和原则
· 浅谈PCB飞针测试
· PCB行业入门基础知识大全
· 线路板调试方法
· 控制阻抗简介
· PCB和电子产品设计
· 射频电路PCB设计
· 印制电路板设计原则和抗干扰措施


SMT

· SMT基本名词解释
· SMT常用知识
· SMT环境中的最新复杂技术
· SMT生产质量控制的方法和措施
· 论SMT装配工艺检查方法
· 助焊剂常见状况与分析
· 粘片机中芯片丢失的光敏检测方法及其分析
· 通过工艺优化消除PCB沉银层缺陷


 FPC

· 软板基础知识
· 构成FPC柔性印制板的材料
· 柔性电路FPC的功能
· 设计与成本影响下的软板生产
· 双面FPC制造工艺全解(一)
· 双面FPC制造工艺全解(二)
· 双面FPC制造工艺全解(三)
· FPC表面电镀知识


欢迎友情链接
  1. VoIP 网络电话机
  2. VoIP 语音网关
  3. VoIP 软交换系统
  4. VoIP 软交换计费系统
  5. VoIP 软交换充值卡系统
  6. VoIP 软交换充值卡系统
  7. 网站设计、域名空间
  8. ODM开发设计
  9. PCB抄板
  10. PCB设计
  11. 电路板抄板
  12. 线路板抄板
  13. PCB电路板抄板
  14. PCB板抄板
  15. PCB板设计
  16. 网络电话
  17. OEM工厂
  18. IC 批量小批量销售
站点首页   ¦   关于我们  ¦ 网站导航   ¦   人才招聘   ¦   友情链接   ¦   设为主页  ¦   联系我们
 

版权所有© 1993-2008 深圳市龙芯世纪科技有限公司   TOP