基于SOPC技术与NIOS II软核处理器实现嵌入式指纹识别系统的设计

时间:2025-04-25  作者:Diven  阅读:0

引言

基于SOPC技术与NIOS II软核处理器实现嵌入式指纹识别系统的设计

随着科学技术的发展,指纹识别已经成为目前最为实用、应用最为的生物识别技术,尤其在民用生物识别技术中。指纹识别技术已经在金融、医疗、公安、门禁系统等领域得到了的应用。

传统的指纹识别系统都是基于PC机的,这种系统具有识别速度快、样本存储量大、软件设计技术成熟等优点。但是,基于PC机的指纹识别系统由于价格昂贵、移动性能差、功耗高等缺点限制了其应用的进一步扩大。自二十世纪末以来,半导体技术和嵌入式技术的快速发展,为人们设计廉价的便携式指纹识别系统提供了一个技术上的实现平台。 本文介绍了基于ALTERA公司推出的SOPC(System on a Programmable Chip,片上可编程系统)技术的指纹识别系统的设计方案。该系统以ALTERA公司的Cyclone II系列FPGA和NIOSII软核处理器为核心,并采用富士通公司的MBF200指纹采集芯片设计,是简单实用的嵌入式指纹识别系统。

1、指纹识别系统原理

指纹识别系统一般由指纹图像采集、指纹图像预处理、指纹特征提取、指纹特征匹配、特征数据库等几部分组成。指纹识别系统的原理框图如图 1所示。该系统首先由指纹采集设备采集到指纹图像并将其转化为数字图像;然后对指纹数字图像进行预处理,再通过图像增强、分割、平滑、细化等处理过程得到便于指纹特征提取的数字图像:接着提取细化后的图像细节特征点;最后将提取到的特征与特征数据库中的特征数据进行匹配,并输出识别结果。

2、系统硬件设计

2.1 SOPC技术与NIOS II软核处理器

SOPC (System on a Programmable Chip,片上可编程系统)是ALTERA公司提出来的灵活、高效的SOC解决平台。将处理器、存储器、I/O口、LVDS、CDR等系统设计所需要的功能模块集成到一个PLD器件上,从而构建成一个可编程的片上系统。基于SOPC技术的系统设计十分灵活,用户可以根据自己的实际要求,并利用IPCore资源组合构建出不同的应用系统,从而实现软硬件协同设计。

NIOS II软核处理器是ALTERA公司于2004年推出的通用32位RISC CPU,能满足任何应用32位嵌入式微处理器的需要.用户可以获得超过200 DMIPS的性能。NIOS II软核处理器具有32位处理器的基本结构单元(32位指令大小,32位数据和地址路径,32位通用寄存器和32个外部中断源),设计者可以根据系统需求的变化来调整嵌入式系统的特性,以选择满足性能和成本的最佳方案。

Nios II系列可支持用户自定义指令,而NIOS II ALU则直接与用户自定义的指令逻辑相连。由于设计者能为系统中使用的每个Nios II处理器创建多达256个专用指令,设计者能够调整系统硬件以增强对实时软件算法的处理能力。ALTERA公司同时还推出了Nios II集成开发环境(IDE)和一些常用的免费IP核,以方便设计者的软件开发。另外,设计者使用Altera公司Quartus II开发软件中的SOPC Builder系统开发工具还能够很容易地创建专用的处理器系统,并能够根据系统的需求添加Nios II处理器核的数量。

2.2 系统硬件结构

一般的指纹识别系统主要由指纹采集模块、系统核心模块、数据存储模块和输出显示模块等几部分组成。其系统硬件结构框图如图2所示。

本系统中的采集模块采用富士通公司的MBF200指纹传感器芯片,该芯片的分辩率高达500dpi(dots per inch),并带有8bit数据接口,可以采集300×256大小的指纹数字图像。MBF200芯片提供有三种接口(SPI、USB和MCU)方式,本系统中采用MCU方式,其内置的标准8位微处理器总线使其性能大大加强。MBF200的工作流程分为两部分:首先是初始化参数的设置,即使MBF200设置相应的参数,然后选择其工作方式;其次是采用查询等待方式采集指纹数据。

由于系统每次采集的指纹图像数据量达几十KB,故在系统核心模块中集成了一个硬逻辑协处理器。这个协处理器负责查询指纹芯片的状态和指纹图像数据采集存储任务。该协处理器是用硬件描述语言设计的一个有限状态机,其状态机模型如图3所示。

系统复位后,协处理器将进入空闲状态并等待主处理器的复位信号;当正确接收到主处理器的复位信号后,协处理器进入查询状态;查询状态主要查询指纹芯片的中断状态位,当查询到有效中断状态位后,系统将进人数据采集存储状态;在数据采集存储状态,协处理器从指纹芯片读出数据并保存在系统的存储区SRAM中,读完整个指纹图像后即向NIOS II处理器发出中断信号并重新进入空闲状态,以等待主处理器复位。

本系统的核心模块是在ALTERA公司的Cy-clone II 2C35上实现的,相应的软件开发套件包括Quartus II 5.0和NIOS II 5.0集成开发环境(IDE)。Cyclone II系列FPGA是ALTERA公司最新推出的低成本、高性价比的通刚FPGA,CycloneII 2C35具有32,216个LE单元、105个M4K RAM块、35个嵌入式乘法器,完全可以满足系统的性能要求。

通过QuartusII中的软件工具SOPC Builder可实现NIOS II处理器的创建和各种IP模块的管理和配置,以构建系统的核心模块。图2中,根据系统的实际要求由SOPC Builder配置的处理器核心包括NIOS II处理器、指纹卡PIO、协处理器PIO、Avalon Tri-Atate Bridge、UART模块和LCD PIO等模块。配置好这些模块后,便可进行系统生成。SOPC Builder在系统生成过程中可生成HDL源文件和BDF文件。SOPC Builder为定制的NIOS II核心模块创建的一个符号(Symbol)就存放在BDF文件中,用户可以在Quartus软件中使用该符号。本系统核心模块是使用Quartus的符号表文件编译生成的。

数据存储模块包括512 KB的SRAM和4 MB的FLASH。SRAM用来存放采集到的指纹图象数据和程序运行时的临时数据。4 MB的FLASH则用于存放系统应用程序和特征数据库。系统的识别结果可以通过LCD输出。

3、系统软件的设计

系统软件可利用C语言在NIOS II集成开发境下开发。Nios II集成开发环境(IDE)是Nios II软核处理器的主要开发工具,包括编辑、编译和程序调试。Nios II IDE为软件开发提供了一个集成的设计开发环境。有一个包括工程管理、源代码开发和基于JTAG调试功能的图形界面(GUI),故可大大简化复杂的 Nios II处理器设计。

指纹识别算法流程主要包括背景分割、方向图计算及方向滤波、二值化、细化、特征提取和特征匹配等。采集的指纹图像容易受到各种因素的影响而使图像质量变差,比如手指按压的方向和力度、皮肤的干湿程度、传感器的特征差异等。指纹识别算法首先要对指纹图象进行处理,以把有用的前景信息和背景区分开。本系统算法采用方差法进行图像分割。

然后采用基于块方向图计算的方向滤波。接着利用动态阀值法进行二值化处理,以把指纹灰度图像转化为仅用0、1表示的二值图像。对二值化后的二值图像进行细化可得到骨架图象。接下来的特征提取阶段是用模板匹配的方法获取细节特征点(端点、分叉点)的位置、方向和类型信息。最后和特征匹配则采用基于细节特征点匹配的算法。

4、结束语

本文给出了基于SOPC的指纹识别系统的设计方案。使用SOPC技术进行系统设计具有开发周期短、设计灵活、可把若干外部模块综合设计到一片高密度FPGA中等优点,同时设计更小巧、成本更低、更便于系统升级。虽然目前SOPC技术还处于推广阶段,但国内外已经有很多高校和公司进行了实际应用方面的研究。我们有理由相信,SOPC技术在不久的将来一定会有更广阔的应用空间!

猜您喜欢

制冷机怎样调整温度高低要调整制冷机的温度高低,你可以根据以下步骤进行操作:1. 查找温度调节器:制冷机通常配备了温度调节器,它通常位于机器的控制面板上。它可...
2023-08-08 14:38:00

现代生活中,配件的选择不仅仅是为了实用,更是展示个人风格与品位的重要途径。无论是在时尚、科技还是家居领域,合适的配件都能够为整体造型增添亮点。本文将围绕“19....
2025-03-10 04:32:25

测试仪是用于测量、分析和评估各种物理量的设备,应用于工业、医疗、科研等领域。能够提供精确的数据,帮助用户了解被测对象的性能和状态,从而做出科学决策。现代测试仪种...
2013-06-09 00:00:00

陶瓷插件电容是应用于电子电路中的重要元件,主要作用是储存电能、滤波和稳定电压。由于其优良的电气特性,陶瓷电容能够有效降低电路中的噪声,提升信号的稳定性,从而确保...
2018-10-30 00:00:00

泵升电容作为现代电能管理领域的重要创新,为各种电子设备提供了稳定而高效的电能传输解决方案。借助其卓越的性能和可靠性,泵升电容正在受到越来越多用户的青睐。泵升电容...
2024-01-15 00:00:00

贴片电阻电容,电子产品中随处可见的小元件,封装可不是随便设计的,其中蕴含着不少妙用。小小的封装,在保护元件、提升性能和方便生产方面都起着很重要的作用。封装就像元...
2024-11-29 10:25:50

现代市场中,配件的选择和使用对产品的整体性能和用户体验起着非常重要的作用。特别是“Accessories_12.7X11.7MM_TM”,作为特定尺寸的配件,在...
2025-04-24 01:01:10

薄膜电容是使用的电子元件。在电路中起着重要的作用。但是,薄膜电容也有一些缺陷。本文将探讨这些缺陷。容量稳定性差薄膜电容的容量不总是稳定。随着温度变化,容量可能会...
2025-03-24 08:00:35

电子设备日益普及的今天,高效稳定的电源供应成为各种设备正常运行的关键。8脚开关电源集成块凭借其体积小巧、效率高、性能稳定等优势,为各种电子设备提供了一种简单易用...
2024-11-29 00:00:00

现代电子设备中,封装技术的选择对于性能和空间利用率非常重要。DFN12_4X3MM_EP是一款小型封装,应用于各种电子产品中,尤其是在需要高密度布局的场合。本文...
2025-04-23 02:00:36