引 言
指紋識別作為生物特征識別的一種,在身份識別上有著其他手段不可比擬的優越性:人的指紋具有唯一性和穩定性的特點;隨著指紋傳感器性能的提高和價格的降低,指紋的采集相對容易;指紋的識別算法已經較為成熟。由于指紋識別的諸多優點,指紋識別技術已經逐漸走入民用市場,并應用到許多嵌入式設備中。
目前的嵌入式處理器種類繁多。Altera公司的Nios II處理器是用于可編程邏輯器件的可配置的軟核處理器,與Altera的低成本的Cyclone FPGA組合,具有很高的性能價格比。本系統采用Nios II和Cyclone EP1C20嵌入式系統開發板,以及Veridicom公司的FPS200指紋傳感器芯片,實現了一個嵌入式自動指紋識別系統。
1 總體設計及系統架構
本系統有兩大功能:指紋登記和指紋比對。指紋登記主要包括指紋采集、指紋圖像預處理、特征點提取、特征模板存儲和輸出顯示;指紋比對的前三步與指紋登記相同,但在特征點提取后,是將生成的特征模板與存儲在指紋特征模板庫中的特征模板進行特征匹配,最后輸出顯示匹配結果。自動指紋識別系統的基本原理框圖如圖1所示。
圖1 自動指紋識別的基本原理框圖
本系統在結構上分為三層:系統硬件平臺、操作系統和指紋識別算法。系統層次結構如圖2所示。
圖2 系統層次
最底層――系統硬件平臺,是系統的物理基礎,提供軟件的運行平臺和通信接口。系統的硬件平臺在Altera的Nios II Cyclone嵌入式系統開發板上實現,指紋傳感器采用美國Veridicom公司的FPS200。FPS200可輸出大小為256×300像素、分辨率為500 dpi的灰度圖像。
第二層是操作系統,采用μC/OSII。μC/OSII是一個基于搶占式的實時多任務內核,可固化、可剪裁、具有高穩定性和可靠性。這一層提供任務調度以及接口驅動,同時,通過硬件中斷來實現系統對外界的通信請求的實時響應,如對指紋采集的控制、對串口通信的控制等。這種方式可以提高系統的運行效率。
最上層是指紋識別核心算法的實現。該算法高效地對采集到的指紋進行處理和匹配。采用C語言在Nios II的集成開發環境(IDE)中實現。
2 系統硬件的設計與實現
2.1 Nios II嵌入式軟核處理器簡介
Nios II嵌入式處理器是Altera公司于2004年6月推出的第二代用于可編程邏輯器件的可配置的軟核處理器,性能超過200 DMIPS。Nios II是基于哈佛結構的RISC通用嵌入式處理器軟核,能與用戶邏輯相結合,編程至Altera的FPGA中。處理器具有32位指令集,32位數據通道和可配置的指令以及數據緩沖。它特別為可編程邏輯進行了優化設計,也為可編程單芯片系統(SoPC)設計了一套綜合解決方案。Nios II處理器系列包括三種內核:一種是高性能的內核(Nios II/f);一種是低成本內核(Nios II/e);一種是性能/成本折中的標準內核(Nios II/s),是前兩種的平衡。本系統采用標準內核。
Nios II 處理器支持256 個具有固定或可變時鐘周期操作的定制指令;允許Nios II設計人員利用擴展CPU指令集,通過提升那些對時間敏感的應用軟件的運行速度,來提高系統性能。
2.2 硬件平臺結構
系統的硬件平臺結構如圖3所示。
圖3 系統硬件平臺結構
本系統使用FPS200指紋傳感器獲取指紋圖像。FPS200是電容式固態指紋傳感器,采用CMOS技術,獲取的圖像為256×300像素,分辨率為500 dpi。該傳感器提供三種接口方式:8位微機總線接口、集成USB全速接口和集成SPI接口。本系統采用集成SPI接口。指紋采集的程序流程是:首先初始化FPS200的各個寄存器,主要是放電電流寄存器(DCR)、放電時間寄存器(DTR)和增益控制寄存器(PGC)的設置;然后查詢等待,指紋被FPS200采集進入數據寄存器后,通過DMA存入內存。
由于從指紋傳感器采集到的指紋圖像數據在80 KB左右,以DMA方式存入片內RAM。Nios II對指紋圖像數據進行處理后,生成指紋特征模板,在指紋登記模式下,存入片外Flash中;在指紋比對模式下,與存儲在Flash中的特征模板進行匹配,處理結果通過LCD和七段LED顯示器輸出顯示。
本系統的硬件平臺主要是在Altera的Nios II Cyclone嵌入式開發板上實現,選用Altera的Cyclone版本的Nios II開發套件,包括Nios II處理器、標準外圍設備庫、集成了SoPC Builder系統設計工具的QuartusII開發軟件等。系統的主要組件Nios II的標準內核、片內存儲器、SPI、UART、DMA控制器、并行I/O接口、Avalon總線、定時器等都集成在一塊Altera的Cyclone FPGA芯片上,使用SoPC Builder來配置生成片上系統。
SoPC Builder是功能強大的基于圖形界面的片上系統定義和定制工具。SoPC Builder庫中包括處理器和大量的IP核及外設。根據應用的需要,本系統選用Nios II Processor、On