陳鈺聞 巨永鋒 沈佳俊 杜 凱
(長(zhǎng)安大學(xué)電子與控制工程學(xué)院)
智能鎖具在工廠、軍械庫(kù)、機(jī)要室、醫(yī)院、智能建筑、銀行、賓館、車場(chǎng)、學(xué)校及快遞等領(lǐng)域廣泛運(yùn)用。傳統(tǒng)的機(jī)械鎖、卡片鑰匙式電子鎖及電子密碼鎖等存在一些問題,如機(jī)械鎖必須使用機(jī)械鑰匙開門,卡片鑰匙式電子鎖需要卡片作為鑰匙開門,而且這兩類鎖都存在易復(fù)制、易被他人解鎖和易丟失的問題;同樣,傳統(tǒng)電子密碼鎖也存在密碼容易被盜等缺點(diǎn)。為此,筆者基于STM32F103ZET6單片機(jī)設(shè)計(jì)了一種以指紋和密碼共同控制的指紋密碼鎖,將指紋的唯一性和多樣性特征與現(xiàn)代科技相結(jié)合,使信息安全、經(jīng)濟(jì)安全、人身安全的保障相較于傳統(tǒng)的鎖具更加可靠、多樣和便捷。
基于STM32F103ZET6單片機(jī)的指紋密碼鎖主要由總控制器、指紋模塊、密碼輸入模塊、顯示模塊、執(zhí)行機(jī)構(gòu)、聲光報(bào)警模塊、字庫(kù)存儲(chǔ)模塊及其他擴(kuò)展模塊等組成(圖1)。通過總控制器控制指紋模塊,實(shí)現(xiàn)指紋的識(shí)別;指紋模塊實(shí)現(xiàn)指紋的采集和保存功能;密碼輸入模塊實(shí)現(xiàn)密碼的輸入、修改和保存,達(dá)到控制電磁鎖的目的;顯示模塊用于實(shí)時(shí)顯示設(shè)備的工作狀態(tài);觸摸屏用于實(shí)現(xiàn)錄取和刪除指紋的功能,也可以提醒使用者進(jìn)行下一步操作;聲光報(bào)警模塊的主要作用是實(shí)現(xiàn)信號(hào)傳遞;執(zhí)行機(jī)構(gòu)是電磁鎖,通過總控制器對(duì)指紋模塊和密碼輸入模塊進(jìn)行控制,實(shí)現(xiàn)電磁鎖的打開與關(guān)閉功能;字庫(kù)存儲(chǔ)模塊主要指SRAM和SD卡,用于液晶顯示漢字;其他擴(kuò)展模塊包括電源、繼電器等,起到提供電源、控制電路等作用。
圖1 指紋密碼鎖組成結(jié)構(gòu)框圖
系統(tǒng)硬件結(jié)構(gòu)設(shè)計(jì)包括電源模塊、指紋模塊、4×4矩陣鍵盤、顯示模塊、存儲(chǔ)器模塊、執(zhí)行機(jī)構(gòu)及其他擴(kuò)展模塊等。
電源輸入部分采用USB接口供電,以提高其適應(yīng)環(huán)境的能力。輸入部分為+5V,輸出部分有+5、+3.3V,其中+5V供系統(tǒng)模塊使用,+3.3V屬于外部擴(kuò)展,便于系統(tǒng)與其他系統(tǒng)配合,提高本設(shè)計(jì)的兼容性與廣泛的適應(yīng)性。該模塊采用AMS1117-3.3芯片,將+5V轉(zhuǎn)換為+3.3V。系統(tǒng)電源模塊如圖2所示。
圖2 系統(tǒng)電源模塊
ATK-AS608是高性能的光學(xué)指紋識(shí)別模塊,芯片內(nèi)置DSP運(yùn)算單元,集成了指紋識(shí)別算法,能高效快速地采集圖像并識(shí)別指紋特征[1]。模塊性能穩(wěn)定、功能完善,兼具指紋采集、指紋登記、指紋比對(duì)及指紋搜索等功能[2]。模塊本身配備了串口、USB通信等接口,用戶不需要研究復(fù)雜的圖像處理過程和指紋識(shí)別算法,只需按照串口和USB通信協(xié)議便可控制模塊。模塊可應(yīng)用于指紋鎖、各種考勤機(jī)、保險(xiǎn)箱柜及指紋門禁系統(tǒng)等場(chǎng)合。
密碼輸入模塊主要由矩陣鍵盤組成,矩陣鍵盤原理如圖3所示。
圖3 矩陣鍵盤原理
矩陣鍵盤是整個(gè)系統(tǒng)密碼輸入的核心部分。數(shù)字1、2、3、4、5、6、7、8、9、0分別用按鍵S1、S2、S3、S5、S6、S7、S9、S10、S11、S14表示;S16為進(jìn)入鍵(密碼更改后使用);S4為退出鍵;S8為進(jìn)入管理員界面按鍵;S12為模式選擇鍵;S13為取消鍵;S15為確認(rèn)鍵。
為了在系統(tǒng)運(yùn)行過程中實(shí)時(shí)顯示其工作狀態(tài),并考慮人性化設(shè)計(jì)要求,本設(shè)計(jì)加入顯示模塊,選用ATK-4.3TFTLCD電容式觸摸屏模塊[3],將單片機(jī)處理后的指紋采集情況和密碼輸入結(jié)果用于人機(jī)交互顯示到TFTLCD液晶顯示模塊上。TFTLCD液晶顯示模塊如圖4所示。
存儲(chǔ)器模塊主要由SD卡和SRAM兩部分組成。SD卡是基于Flash的存儲(chǔ)卡,支持SPI和SDIO兩種模式。主機(jī)依次分別訪問每個(gè)卡,每個(gè)卡的CID寄存器中已預(yù)編程了一個(gè)唯一的卡標(biāo)識(shí)號(hào),用以區(qū)分不同的卡[4]。
圖4 TFTLCD液晶顯示模塊
本設(shè)計(jì)中,考慮到設(shè)計(jì)本身的意義和自身?xiàng)l件的限制,決定采用12V小型電磁鎖,該鎖結(jié)構(gòu)簡(jiǎn)單緊湊、重量輕、體積小且安全可靠,其主要特性如下:
使用電壓 12~24V(DC)
允許電流 0.8~1.2A
功耗 9.6~28.8W
通電動(dòng)作時(shí)間 不大于1s
允許連續(xù)接通時(shí)間 不大于10s
本設(shè)計(jì)中,選用STM32F103ZET6單片機(jī)作為總控制器。選用藍(lán)色LED作為電源指示燈,用紅色和綠色LED分別表示信號(hào)指示燈。指紋輸入、指紋錄取和指紋刪除過程采用有源蜂鳴器報(bào)警,起到提示的作用,并方便操作。繼電器選擇3.3V SONGLE型。三極管選擇8550PNP型。
系統(tǒng)軟件全部采用模塊化設(shè)計(jì),整個(gè)系統(tǒng)的控制程序分為主函數(shù)、功能函數(shù)和驅(qū)動(dòng)函數(shù)3部分。各模塊都單獨(dú)調(diào)試,調(diào)試無(wú)誤后再整合在一起組成整個(gè)控制系統(tǒng)軟件。程序編輯采用模塊化設(shè)計(jì),可方便后期維護(hù),對(duì)于代碼的優(yōu)化也有很大的益處,在整個(gè)系統(tǒng)的調(diào)試過程中,也可以很快地修改對(duì)應(yīng)功能的程序。指紋模塊在總控制器的控制下進(jìn)入自動(dòng)指紋識(shí)別狀態(tài),在指紋識(shí)別成功的情況下輸入密碼,如果密碼輸入正確則電磁鎖打開,否則電磁鎖打開失敗。
系統(tǒng)運(yùn)行流程如圖5所示,首先由總控制器判斷各模塊工作是否正常;然后液晶屏顯示虛擬鍵盤可進(jìn)行指紋錄取和刪除功能,如果不需要?jiǎng)t進(jìn)入下一步,如果需要錄取或者刪除指紋則在觸摸屏上按下“錄取”或“刪除”鍵,完成指紋的錄取或者刪除過程;之后進(jìn)入密碼輸入階段;最后判斷密碼是否修改。其中,指紋模塊和密碼輸入模塊的運(yùn)行流程如圖6所示。
圖5 系統(tǒng)運(yùn)行流程
圖6 指紋模塊和密碼輸入模塊運(yùn)行流程
在軟件編程和程序設(shè)計(jì)過程中,本設(shè)計(jì)用STM32F103ZET6單片機(jī)內(nèi)部基礎(chǔ)資源USART2實(shí)現(xiàn)串口控制功能,采用AS608指紋模塊與STM32F103ZET6單片機(jī)相連實(shí)現(xiàn)指紋的錄入,采用TFTLCD液晶觸摸屏實(shí)現(xiàn)人機(jī)交互功能,使用SD卡的SPI通信方式實(shí)現(xiàn)錄入指紋的存儲(chǔ)。本系統(tǒng)實(shí)現(xiàn)了以單片機(jī)為總控制器,以光學(xué)式指紋識(shí)別模塊為指紋采集模塊,以矩陣鍵盤作為密碼輸入設(shè)備,采用TFTLCD觸摸屏進(jìn)行人機(jī)交互界面的指紋密碼鎖系統(tǒng)。已經(jīng)錄入指紋的手指識(shí)別情況如圖7所示,錄取指紋成功和錄取指紋失敗的情況如圖8所示。
圖7 已經(jīng)錄入指紋的手指識(shí)別界面
圖8 錄取指紋失敗和錄取指紋成功的界面
在設(shè)計(jì)過程中,有意識(shí)地規(guī)避了試驗(yàn)儀設(shè)計(jì)存在的缺點(diǎn),為指紋密碼鎖整體性能的穩(wěn)定提供了保證。
按鍵掃描過程中,按鍵所要表達(dá)的信息并未完全正確表現(xiàn)出來(lái),查看硬件電路圖正確后,改變了相應(yīng)的C語(yǔ)言程序,使得結(jié)果符合預(yù)期。
在總體程序編寫完成以后,通過編譯,會(huì)發(fā)現(xiàn)程序中有錯(cuò)誤或者警告。根據(jù)提示,完成語(yǔ)法的修改,直到編譯沒有錯(cuò)誤為止。
以PCB功能板為基礎(chǔ)進(jìn)行功能驗(yàn)證時(shí),由于PCB功能板電磁鎖設(shè)計(jì)部分引線接錯(cuò),使得程序無(wú)法在PCB功能板上顯示出功能。通過更改PCB功能板的接線,最終實(shí)現(xiàn)了各個(gè)功能的顯示。
基于單片機(jī)的指紋密碼鎖的硬件設(shè)計(jì),實(shí)現(xiàn)了對(duì)各模塊的選擇、模塊的調(diào)試、元件的選定、原理圖繪制、PCB創(chuàng)建、元器件焊接及板子調(diào)試等工作;軟件部分通過總控制器對(duì)指紋傳感器的工作方式進(jìn)行控制,利用矩陣鍵盤進(jìn)行密碼的輸入調(diào)試,實(shí)現(xiàn)觸摸屏的人機(jī)交互,最終利用總控制器對(duì)繼電器的控制實(shí)現(xiàn)了門鎖打開功能,但關(guān)閉功能還有待改進(jìn)。需要說明的是,本設(shè)計(jì)還有改進(jìn)的空間,可以加入報(bào)警模塊、非法闖入檢測(cè)模塊和面部識(shí)別模塊,實(shí)現(xiàn)對(duì)外來(lái)非法進(jìn)入的報(bào)警。本設(shè)計(jì)應(yīng)用范圍廣,可安全、便捷、有效地滿足客戶需求。