基于NiosII的自動指紋識別系統(tǒng)設(shè)計
介紹基于nios ii處理器的嵌入式自動指紋識別系統(tǒng)的實現(xiàn)方法;具體說明自動指紋識別系統(tǒng)的基本原理、系統(tǒng)總體結(jié)構(gòu)、硬件結(jié)構(gòu)設(shè)計、用戶自定義指令的設(shè)計,以及指紋識別算法的處理流程和實現(xiàn)方法?! ∫浴 ≈讣y識別作為生物特征識別的一種,在身份識別上有著其他手段不可比擬的優(yōu)越性:人的指紋具有唯一性和穩(wěn)定性的特點;隨著指紋傳感器性能的提高和價格的降低,指紋的采集相對容易;指紋的識別算法已經(jīng)較為成熟。由于指紋識別的諸多優(yōu)點,指紋識別技術(shù)已經(jīng)逐漸走入民用市場,并應(yīng)用到許多嵌入式設(shè)備中?! ∧壳暗那度胧教幚砥鞣N類繁多。altera公司的nios ii處理器是用于可編程邏輯器件的可配置的軟核處理器,與altera的低成本的cyclone fpga組合,具有很高的性能價格比。本系統(tǒng)采用nios ii和cyclone ep1c20嵌入式系統(tǒng)開發(fā)板,以及veridicom公司的fps200指紋傳感器芯片,實現(xiàn)了一個嵌入式自動指紋識別系統(tǒng)?! ? 總體設(shè)計及系統(tǒng)架構(gòu) 本系統(tǒng)有兩大功能:指紋登記和指紋比對。指紋登記主要包括指紋采集、指紋圖像預(yù)處理、特征點提取、特征模板存儲和輸出顯示;指紋比對的前三步與指紋登記相同,但在特征點提取后,是將生成的特征模板與存儲在指紋特征模板庫中的特征模板進(jìn)行特征匹配,最后輸出顯示匹配結(jié)果。自動指紋識別系統(tǒng)的基本原理框圖如圖1所示。圖1 自動指紋識別的基本原理框圖 本系統(tǒng)在結(jié)構(gòu)上分為三層:系統(tǒng)硬件平臺、操作系統(tǒng)和指紋識別算法。系統(tǒng)層次結(jié)構(gòu)如圖2所示。圖2 系統(tǒng)層次 最底層——系統(tǒng)硬件平臺,是系統(tǒng)的物理基礎(chǔ),提供軟件的運行平臺和通信接口。系統(tǒng)的硬件平臺在altera的nios ii cyclone嵌入式系統(tǒng)開發(fā)板上實現(xiàn),指紋傳感器采用美國veridicom公司的fps200。fps200可輸出大小為256×300像素、分辨率為500 dpi的灰度圖像?! 】煽啃?。這一層提供任務(wù)調(diào)度以及接口驅(qū)動,同時,通過硬件中斷來實現(xiàn)系統(tǒng)對外界的通信請求的實時響應(yīng),如對指紋采集的控制、對串口通信的控制等。這種方式可以提高系統(tǒng)的運行效率。 最上層是指紋識別核心算法的實現(xiàn)。該算法高效地對采集到的指紋進(jìn)行處理和匹配。采用c語言在nios ii的集成開發(fā)環(huán)境(ide)中實現(xiàn)?! ? 系統(tǒng)硬件的設(shè)計與實現(xiàn) 2.1 nios ii嵌入式軟核處理器簡介 nios ii嵌入式處理器是altera公司于2004年6月推出的第二代用于可編程邏輯器件的可配置的軟核處理器,性能超過200 dmips。nios ii是基于哈佛結(jié)構(gòu)的risc通用嵌入式處理器軟核,能與用戶邏輯相結(jié)合,編程至altera的fpga中。處理器具有32位指令集,32位數(shù)據(jù)通道和可配置的指令以及數(shù)據(jù)緩沖。它特別為可編程邏輯進(jìn)行了優(yōu)化設(shè)計,也為可編程單芯片系統(tǒng)(sopc)設(shè)計了一套綜合解決方案。nios ii處理器系列包括三種內(nèi)核:一種是高性能的內(nèi)核(nios ii/f);一種是低成本內(nèi)核(nios ii/e);一種是性能/成本折中的標(biāo)準(zhǔn)內(nèi)核(nios ii/s),是前兩種的平衡。本系統(tǒng)采用標(biāo)準(zhǔn)內(nèi)核?! ios ii 處理器支持256 個具有固定或可變時鐘周期操作的定制指令;允許nios ii設(shè)計人員利用擴(kuò)展cpu指令集,通過提升那些對時間敏感的應(yīng)用軟件的運行速度,來提高系統(tǒng)性能?! ?.2 硬件平臺結(jié)構(gòu) 系統(tǒng)的硬件平臺結(jié)構(gòu)如圖3所示。圖3 系統(tǒng)硬件平臺結(jié)構(gòu) 本系統(tǒng)使用fps200指紋傳感器獲取指紋圖像。fps200是電容式固態(tài)指紋傳感器,采用cmos技術(shù),獲取的圖像為256×300像素,分辨率為500 dpi。該傳感器提供三種接口方式:8位微機總線接口、集成usb全速接口和集成spi接口。本系統(tǒng)采用集成spi接口。指紋采集的程序流程是:首先初始化fps200的各個寄存器,主要是放電電流寄存器(dcr)、放電時間寄存器(dtr)和增益控制寄存器(pgc)的設(shè)置;然后查詢等待,指紋被fps200采集進(jìn)入數(shù)據(jù)寄存器后,通過dma存入內(nèi)存?! ∮捎趶闹讣y傳感器采集到的指紋圖像數(shù)據(jù)在80 kb左右,以dma方式存入片內(nèi)ram。nios ii對指紋圖像數(shù)據(jù)進(jìn)行處理后,生成指紋特征模板,在指紋登記模式下,存入片外flash中;在指紋比對模式下,與存儲在flash中的特征模板進(jìn)行匹配,處理結(jié)果通過lcd和七段led顯示器輸出顯示?! ”鞠到y(tǒng)的硬件平臺主要是在altera的nios ii cyclone嵌入式開發(fā)板上實現(xiàn),選用altera的cyclone版本的nios ii開發(fā)套件,包括nios ii處理器、標(biāo)準(zhǔn)外圍設(shè)備庫、集成了sopc builder系統(tǒng)設(shè)計工具的quartusii開發(fā)軟件等。系統(tǒng)的主要組件nios ii的標(biāo)準(zhǔn)內(nèi)核、片內(nèi)存儲器、spi、uart、dma控制器、并行i/o接口、avalon總線、定時器等都集成在一塊altera的cyclone