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处理器发出中断信号并重新进入空闲状态,以等待主处理器复位。