指紋,由于其具有終身不變性、唯一性和方便性,已幾乎成為生物特征識別的代名詞。在指紋識別應用市場上智能手機上的指紋識別占了很大的比例,如今這項技術正方便著我們的生活。而本文介紹的是一款使用FPGA的指紋識別系統電路。
本設計選用具有高集成度、低功耗、短開發周期的FPGA來完成此項設計,以實現系統的ASIC為研究背景,具有很強的現實意義和廣闊的市場空間。 采用xilinx公司Spartan 3E系列FPGA作為核心控制器件,這款器件采用90ns的工藝,最大容量50萬門,可支持32位的RISC處理器,具有128 Mbit 并行Flash,足以滿足設計的要求。該項目利用嵌入式軟核實現系統的管理,利用硬件實現識別算法,保證了系統功能的完整性與識別的正確性。
指紋采集模塊
本設計中采用的是富士通的MBF200指紋傳感器,MBF200硬件框圖如圖1所示,采用SPI模式,所以MBF200與FPGA只通MISO,MOSI,/S/C/S,SCLK四個端口相連接。 /S/C/S為MBF200的使能端,SCLK為MBF200的系統時鐘,當需要采集指紋信號時,FPGA向/S/C/S發送低電平,則MBF200開始工作。FPGA通過MOSI向MBF200發送控制命令,控制MBF200的數據輸出方式及傳輸模式。VDD[3:1]為數字電源輸入,VDDA[2:1]為模擬電源輸入,VSS[3:1]為數字地,VSSA[2:1]為模擬地,所以如圖所接。而為了防止數字信號對模擬信號的干擾,用10歐電阻隔開。并且數字電源輸入與相應的數字地之間均接有電容用來閣除非直流信號。為了防止數字地與信號地之間的干擾,本設計采用0歐電阻隔離。0歐電阻相當于很窄的電流通路,能夠有效地限制環路電流,使噪聲得到抑制。電阻在所有頻帶上都有衰減作用(0歐電阻也有阻抗),這點比磁珠強。
圖1 MBF200硬件連接電路
MODE[1:0]引腳是用來設定MBF200所用接口模式的,在本設計中,置MODE[1:0]為01,選定SPI傳輸模式。 在SPI模式當中,AIN,ISET,FEST三個接口都不會用上,但根據MBF200內部電路結構,最好接電阻與地相接。
指紋數據處理模塊
由于指紋數據處理涉及很多算法,運算量大,所以本系統在Spartan-3E開發板上嵌入一個Microblaze軟核來進行數據處理,首先將SPI口傳輸進來的數據送人SDRAM進行存儲,開發板上帶有32M的SDRAM,完全可以存儲很多張指紋數據。在創建指紋數據庫時,系統從SDRAM中取出數據,放入Microblaze進行處理,再將處理后的指紋數據信息存入FLASH組建指紋數據庫。在比對模式時,利用Microblaze進行數據處理后的數據扔存入SDRAM,然后從FLASH和SDRAM分別提取指紋圖像特征數據進行比對,得出比對結果。
指紋數據存儲模塊
trataFlash與FPGA管腳連接圖如圖2所示。 CE[2:0]為strataFlash使能信號輸入端口當只用一個片子時,CE[2:1]接地只用CE0控制。由于在本設計中,FPGA與FLASH之間的數據傳輸D[0]與FPGA對MBF200的控制線MISO復用,所以從FLASH里取數據與控制MBF200產生沖突,時序不好控制,所以本設計中將會給BYTE#置高關閉A0,將strataFlash置于X16模式。 D[7:0]在寫模式下,傳送控制命令在寫CUI時,在緩沖器寫和編程模式下。在讀模式下,D[7:0]發送CFI、數據陣列和標志數據。狀態寄存器的數據將不通過這8位傳輸。 VPEN是鎖定使能輸入,當VPEN《VPRNLK時,內存將不允許寫入數據或者命令。
圖2 FLASH輸入存儲模塊硬件控制圖
本系統采用xilinx公司Spartan 3E系列FPGA作為核心控制芯片,通過富士通公司的MBF200指紋傳感器實現對指紋圖象的采集,利用SPI接口傳輸到FPGA進行數據的存儲,利用內嵌的MicroBlaze處理器對指紋圖象進行灰度濾波、二值化、二值去噪、細化等預處理,得到清晰的指紋圖象,再從清晰的指紋圖象中提取指紋特征點并存入指紋數據庫作為建檔模版。指紋比對時,采用同樣的方法,得到比對模版,然后將比對模版與建檔模版利用指紋識別算法進行比對,得出比對結果。該項目利用嵌入式軟核實現系統的管理,利用硬件實現識別算法,保證了系統功能的完整性與識別的正確性。該識別系統可用于門禁、考勤、證件管理等很多方面,具有很廣泛的應用前景。
編者結語
本設計選用具有高集成度、低功耗、短開發周期的FPGA來完成此項設計,以實現系統的ASIC為研究背景,具有很強的現實意義和廣闊的市場空間。該項目利用嵌入式軟核實現系統的管理,利用硬件實現識別算法,保證了系統功能的完整性與識別的正確性。