張素文,許詩詩,危文豪
(武漢理工大學(xué)自動化學(xué)院,湖北 武漢 430070)
指紋具有唯一性和方便性,指紋鎖的安全性能高且只需接觸指紋傳感器約0.5~1.0 s就能實現(xiàn)開鎖功能,方便快捷。隨著指紋技術(shù)和半導(dǎo)體技術(shù)的發(fā)展,指紋鎖已經(jīng)被廣泛應(yīng)用到軍事、保密等機(jī)構(gòu),筆者設(shè)計了一款價格低、性能高的指紋鎖,特別適用于百姓家庭和現(xiàn)代化辦公室。
系統(tǒng)通過指紋傳感器采集指紋,以專用指紋識別集成電路TFS9064芯片為核心,結(jié)合89C52單片機(jī)來進(jìn)行指紋識別和鎖頭控制。該系統(tǒng)具有按鍵輸入和液晶顯示輸出功能,通過TFS9064進(jìn)行指紋的識別,單片機(jī)控制驅(qū)動電機(jī)的正反轉(zhuǎn),推動門鎖上的鎖舌進(jìn)出,實現(xiàn)門鎖的開、關(guān)以及指紋鎖的全部功能。
指紋自動識別技術(shù)主要包括指紋圖像采集、指紋圖像預(yù)處理、特征提取和特征匹配等過程[1]。指紋識別的基本流程如圖1所示。
圖1 指紋識別基本流程
指紋識別首先進(jìn)行指紋圖像采集,然后進(jìn)行預(yù)處理和特征提取,建立數(shù)據(jù)庫。將待識別的指紋與數(shù)據(jù)庫中的指紋特征進(jìn)行匹配,若匹配成功,則鎖頭打開。
圖像預(yù)處理步驟分為圖像的歸一化、方向圖計算、圖像增強(qiáng)、圖像二值化和圖像細(xì)化[2]。
指紋特征分為3類:全局特征、局部特征和局部全局特征。特征提取把指紋圖像的紋線走向、紋線斷點、交叉點等用數(shù)值的形式表示,充分體現(xiàn)了指紋唯一性的特征[3]。通常指紋特征可以分為兩類:細(xì)節(jié)點和單獨點。細(xì)節(jié)點用來匹配指紋圖像;單獨點包括中心點和三角點。
指紋匹配的方法有很多,包括基于圖像的匹配、脊模式匹配、細(xì)節(jié)點匹配,以及基于圖形的匹配[4]。指紋細(xì)節(jié)點具有唯一性和穩(wěn)定性,且表達(dá)方式簡單,因此絕大多數(shù)指紋匹配算法是基于指紋細(xì)節(jié)點的匹配[5]。
(1)系統(tǒng)硬件結(jié)構(gòu)框圖如圖2所示。
圖2 系統(tǒng)硬件結(jié)構(gòu)框圖
該系統(tǒng)采用雙CPU設(shè)計,主要由以下幾部分構(gòu)成:指紋傳感器、指紋處理器、主控制器、人機(jī)交互模塊以及鎖頭執(zhí)行模塊。指紋處理芯片TFS9064為整個系統(tǒng)的核心部分。
指紋傳感器選用ATW300采集指紋圖像;指紋處理器選用TFS9064芯片作為指紋信息的處理芯片;主控制器選擇STC89C52單片機(jī)。人機(jī)交互模塊采用一般按鍵和液晶顯示器LCD12864;鎖頭執(zhí)行模塊在89C52的控制下,完成對鎖舌進(jìn)出的準(zhǔn)確控制,實現(xiàn)門鎖的基本功能。
(2)指紋采集與識別模塊。圖3為指紋的采集與識別模塊。指紋傳感器ATW300通過指紋處理器TFS9064對指紋進(jìn)行采集,TFS9064內(nèi)部有FMCU8KB嵌入式微控制器、FID116KMG指紋識別處理模塊、32可編程接口及SPI/FLASH接口[6]。TFS9064通過 SPI接口與指紋傳感器連接。為了擴(kuò)大指紋識別庫的容量,系統(tǒng)采用AT26DF161,外擴(kuò)了64 k的FLASH。
圖3 指紋采集與識別模塊
(3)主控制電路設(shè)計。圖4為主控制電路圖,主控制器采用STC89C52單片機(jī),完成的任務(wù)主要有:向指紋處理芯片發(fā)送控制指令;響應(yīng)外部中斷,完成輸入功能;控制液晶顯示器;控制鎖頭執(zhí)行等。
(4)鍵盤及LCD顯示電路設(shè)計。鍵盤輸入及LCD顯示電路如圖5所示,系統(tǒng)由4個輸入按鈕、LCD12864輸出顯示以及喇叭語音提示組成。LCD12864本身不帶字庫,需要自己建立所需的字模數(shù)組[7]。4個按鈕的功能分別為上翻、下翻、確定和返回,結(jié)合操作界面就能完成各種操作。喇叭用來播放語音提示信息,使操作更具人性化。
圖4 主控制器電路圖
圖5 鍵盤輸入及LCD顯示電路圖
(5)鎖頭執(zhí)行模塊設(shè)計。鎖頭執(zhí)行模塊主要包括5V直流電機(jī)、驅(qū)動芯片L9110、鎖舌以及一些機(jī)械傳動部件。電機(jī)驅(qū)動電路圖如圖6所示。
圖6 電機(jī)驅(qū)動電路圖
系統(tǒng)的軟件設(shè)計主要是對主控制器89C52進(jìn)行編程,89C52與指紋處理器TFS9064通過串口進(jìn)行通信,通過發(fā)送命令,實現(xiàn)指定的指紋提取、比對、轉(zhuǎn)存等一系列功能,可提高編程的效率[8]。
系統(tǒng)的主程序流程如圖7所示。開機(jī)后按任意鍵,系統(tǒng)對串口和外部中斷0等進(jìn)行初始化,然后對指紋進(jìn)行采集和匹配,若匹配成功則進(jìn)入主界面菜單,主界面有兩個功能選項,分別是開鎖和設(shè)置選項,這兩個功能通過主程序調(diào)用外部中斷0子程序?qū)崿F(xiàn)。
圖7 主程序流程圖
圖8 外部中斷0服務(wù)子流程圖
(1)外部中斷處理程序設(shè)計。外部中斷0服務(wù)子流程圖如圖8所示,首先判斷是否開鎖,如果是則打開鎖,如果不是則進(jìn)入設(shè)置界面,在該界面中可選擇指紋位置編號,進(jìn)而對該位進(jìn)行注冊或刪除操作,當(dāng)操作完成時則返回設(shè)置界面。
(2)指紋注冊程序設(shè)計。指紋注冊子程序流程圖如圖9所示,在程序中對指紋進(jìn)行兩次注冊,通過按鍵改變指紋的ID號,從而確定指紋的位置,向從機(jī)(TFS9064)發(fā)送指紋注冊指令,輸入指紋,主機(jī)通過判斷返回碼來確定指紋是否注冊成功[9]。
圖9 指紋注冊子程序流程圖
(3)指紋匹配程序設(shè)計。指紋匹配在指紋處理芯片TFS9064上實現(xiàn),當(dāng)需要開鎖時,將預(yù)存的指紋模板與現(xiàn)場采集到的指紋進(jìn)行特征匹配,并將匹配結(jié)果返回給主控制器89C52,由89C52進(jìn)行其他的外圍控制。指紋識別程序流程圖如圖10所示。
(4)指紋刪除程序。在該程序中首先選擇指紋刪除的位置,即指紋在從機(jī)存儲位置的ID號,向從機(jī)發(fā)送指紋刪除指令并等待接收5個字節(jié)的返回碼,主機(jī)通過判斷返回碼的相關(guān)位來確定指紋是否刪除成功,從而在LCD屏幕上顯示相關(guān)信息并發(fā)送提示音[10]。指紋刪除子程序如下:
圖10 指紋識別程序流程圖
該程序中有一個選擇分支,用于校驗主機(jī)接收到的返回碼,判斷指紋是否刪除成功。程序執(zhí)行完后返回設(shè)置菜單。
設(shè)計的系統(tǒng)實物圖及注冊或刪除指紋界面如圖11和圖12所示。對系統(tǒng)進(jìn)行測試:先錄入一枚完好的指紋,然后用該手指的指紋去開鎖,經(jīng)過50次左右的測試,每次都能將鎖打開。但存在手指若被劃傷則鎖沒打開的個別現(xiàn)象。
圖11 實物圖
圖12 注冊或刪除指紋界面
在測試過程中發(fā)現(xiàn),將同一個指紋多次注冊或采用指紋特征點較多的手指指紋進(jìn)行注冊,都可以提高系統(tǒng)的識別效率,縮短開鎖時間。
筆者設(shè)計了一款家庭用指紋電子鎖的硬件和軟件。該系統(tǒng)通過ATW300指紋傳感器,經(jīng)指紋識別集成電路芯片TFS9064處理和單片機(jī)控制,實現(xiàn)了指紋鎖的功能。試驗結(jié)果表明:系統(tǒng)工作穩(wěn)定,識別效率高,成本低,功耗低,可滿足設(shè)計要求。
[1] 張成海,張鐸.現(xiàn)代自動識別技術(shù)與應(yīng)用[M].北京:清華大學(xué)出版社,2003:50-82.
[2] NOLIN R R B.Automatic fingerprint recognition[M].New York:Springer-Verlag,2003:12-45.
[3] WU X C,GAO S B,HUANG F.Design of low-power micro fingerprint lock based on STM32F103ZE[C]//2011 Electric Information and Control Engineering Conference.[S.l.]:[s.n.],2011:423 -441.
[4] 冉崇潔.基于DSP的指紋鎖系統(tǒng)設(shè)計與實現(xiàn)[D].成都:電子科技大學(xué)圖書館,2008.
[5] 徐愛鈞,彭秀華.Keil Cx51 V7.0單片機(jī)高級語言編程與uVision2應(yīng)用實踐[M].北京:電子工業(yè)出版社,2008:100-120.
[6] 張素文,石連傳.基于USB與DSP的指紋識別系統(tǒng)的設(shè)計實現(xiàn)[D].武漢:武漢理工大學(xué)圖書館,2009.
[7] 王崇文,王廷才.指紋圖像后處理[J].計算機(jī)工程與設(shè)計,2002(9):14-16.
[8] 何東健.數(shù)字圖像處理[M].西安:西安電子科技大學(xué)出版,2001:35-48.
[9] 田捷,楊鑫.生物特征識別技術(shù)理論與應(yīng)用[M].北京:電子工業(yè)出版社,2003:100-110.
[10] 胡佳曦.指紋識別的算法研究[D].武漢:華中科技大學(xué)圖書館,2005.