姜旭東 遲耀丹 田海龍
【摘要】隨著當今社會的不斷發(fā)展,人們愈發(fā)追求生活便利的同時,還對信息的保密有著越來越高的要求。指紋識別技術涉及圖像處理、模式識別、計算機視覺、數(shù)學形態(tài)學、小波分析等眾多學科。由于每個人的指紋不同,就是同一人的十指之間,指紋也有明顯區(qū)別,因此指紋可用于身份鑒定??梢杂米魅藗兊奈ㄒ粯俗R。本文提出的便是一種對于指紋識別的后端支持技術。
【關鍵詞】指紋識別系統(tǒng) STM8 2生物識別
一、簡介
指紋識別即指通過比較不同指紋的細節(jié)特征點來進行鑒別。其優(yōu)勢在于:指紋是人體獨一無二的特征,并且它們的復雜度足以提供用于鑒別的足夠特征;如果要增加可靠性,只需登記更多的指紋、鑒別更多的手指,最多可以多達十個,而每一個指紋都是獨一無二的;掃描指紋的速度很快,使用非常方便;讀取指紋時,用戶只需將手指與指紋采集頭相互接觸。接觸是讀取人體生物特征最可靠的方法;指紋采集頭可以更加小型化,并且價格會更加的低廉
由于指紋采集的眾多優(yōu)勢,便需要后端設備對指紋采集模塊采集到的信息進行加工處理。本設計中,我們采用的是stm32處理器進行指紋采集的相關運算。
STM32系列基于專為要求高性能、低成本、低功耗的嵌入式應用專門設計的ARM內核,除最為突出的與制程有關的節(jié)能特色外,STM32系列還提供更多其它的功能,開發(fā)人員能夠優(yōu)化應用設計的功耗特性。
二、硬件電路設計
(一)MCU
后備區(qū)域供電腳VBAT腳的供電采用CR1220紐扣電池和VCC3.3混合供電的方式,在有外部電源(VCC3.3)的時候,CR1220不給VBAT供電,而在外部電源斷開的時候,則由CR1220給其供電。這樣,VBAT總是有電的,以保證RTC的走時以及后備寄存器的內容不丟失。圖中的R31和R32用隔離MCU部分和外部的電源,這樣的設計主要是考慮了后期維護,如果3.3V電源短路,可以斷開這兩個電阻,來確定是MCU部分短路,還是外部短路,有助于生產(chǎn)和維修。當然大家在自己的設計上,這兩個電阻是完全可以去掉的。
(二)復位電路
因為STM32是低電平復位的,所以我們設計的電路也是低電平復位的,這里的R24和C48構成了上電復位電路。
(三)電源
圖3電源
圖中,總共有3個穩(wěn)壓芯片:U15/U16/U18,DC_IN用于外部直流電源輸入,經(jīng)過U15 DC-DC芯片轉換為5V電源輸出,其中D4是防反接二極管,避免外部直流電源極性搞錯的時候,燒壞開發(fā)板。K1為開發(fā)板的總電源開關,F(xiàn)1為1000ma自恢復保險絲,用于保護USB。U16和U18均為3.3V穩(wěn)壓芯片,給開發(fā)板提供3.3V電源,其中U16輸出的3.3V給數(shù)字部分用。
三、代碼設計
(一)代碼功能簡介
(1)刪指紋——與模塊握手通過之后,屏幕將虛擬一個鍵盤,按‘刪指紋進入刪除界面。在此界面可以按照提示輸出一個數(shù)值按‘Enter刪除單個指紋,也可按‘清空指紋清空指紋庫。如果是誤操作也可以按‘返回主界面。
(2)錄指紋——按‘錄指紋進入此項。錄指紋流程:按第一次手指→按第二次手指→自動生成模板→輸入存儲ID→存儲指紋成功。其中兩次按指紋操作,如果超過10次無手指按下則退回主界面。模塊感應到手指按下0.3S(最少停留0.3S)后,蜂鳴器會“滴”一聲!
(3)刷指紋 與模塊握手成功之后,主函數(shù)中判斷指紋模塊的感應引腳(touch→PA6)模塊感應到手指輸出高電平,程序判斷后進入刷指紋流程→讀指紋圖像→搜索匹配指紋庫→成功或沒有搜到指紋。
(二)部分源碼展示
這段代碼的功能是:刪除模板Ps_DeletChar以及刪除flash數(shù)據(jù)庫中指定ID號開始的N個指紋模板。其參數(shù)描述為:PagelD(指紋庫模板號),N刪除的模板個數(shù)。返回值是:模塊返回確認字
功能:以CharBuffer1或CharBuffer2中的特征文件高速搜索整個或部分指紋庫。若搜索到,則返回頁碼,該指令對于的確存在于指紋庫中,且登錄時質量很好的指紋,會很快給出搜索結果。參數(shù):BufferID,StartPage(起始頁),PageNum(頁數(shù))。返回值:模塊返回確認字+頁碼(相配指紋模板)。
其主函數(shù)代碼過長,在這里便不再展示。