基于stm-32指紋識別密碼鎖控制系統(tǒng)的設計與實現(xiàn)畢業(yè)論文_第1頁
已閱讀1頁,還剩24頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、<p>  本 科 生 畢 業(yè) 論 文(設計)</p><p>  題目:基于STM-32指紋密碼鎖控制系統(tǒng)的設計與實現(xiàn)</p><p>  基于STM-32指紋密碼鎖控制系統(tǒng)的設計與實現(xiàn)</p><p>  摘 要:本文首先介紹了指紋密碼鎖控制系統(tǒng)的開發(fā)背景和意義,簡單介紹了一些國內(nèi)外常見的指紋識別裝置和指紋識別密碼鎖,并指出了當前指紋識別控制系統(tǒng)存在

2、的問題,再根據(jù)完整的指紋識別模塊指令確定了本系統(tǒng)的目標和要求,以戰(zhàn)艦STM-32為開發(fā)平臺進行了系統(tǒng)的總體結構設計,闡述了系統(tǒng)的軟、硬件組成,并重點探討了指紋識別模塊、鍵盤模塊、LCD液晶顯示模塊和報警模塊等幾個主要功能模塊的設計與實現(xiàn)。最后,對系統(tǒng)的設計與實現(xiàn)做相應總結。</p><p>  關鍵詞:指紋識別;戰(zhàn)艦 STM32;模式識別</p><p>  Design and Impl

3、ementation of STM32-based fingerprint combination lock control System</p><p>  Abstract: This paper introduces the fingerprint lock control system development background and significance simply, introduced s

4、ome common fingerprint identification device and fingerprint identification combination lock at home and abroad, and points out the problems existing in the current fingerprint identification control system, according to

5、 the complete fingerprint identification module instruction to determine the objectives and requirements of this system, the warship STM - 32 as a devel</p><p>  Key words: Fingerprint identification; Warshi

6、p STM32; Pattern recognition</p><p><b>  目 錄</b></p><p><b>  1緒 論1</b></p><p>  1.1 開發(fā)背景和意義1</p><p>  1.2 國內(nèi)外研究現(xiàn)狀1</p><p>  1

7、.2.1 總體研究現(xiàn)狀1</p><p>  1.2.2 指紋采集技術的研究現(xiàn)狀2</p><p>  1.2.3指紋識別技術的研究現(xiàn)狀3</p><p>  1.3本文主要研究內(nèi)容和章節(jié)安排3</p><p>  2系統(tǒng)總體結構設計4</p><p>  2.1 系統(tǒng)設計總體要求4</p>

8、<p>  2.2硬件總體結構設計4</p><p>  2.3軟件總體結構設計5</p><p>  3系統(tǒng)硬件模塊設計與實現(xiàn)6</p><p>  3.1指紋識別模塊設計與實現(xiàn)6</p><p>  3.2 LCD液晶顯示模塊設計與實現(xiàn)7</p><p>  3.3鍵盤模塊設計與實現(xiàn)8<

9、/p><p>  3.4報警模塊設計與實現(xiàn)9</p><p>  4系統(tǒng)軟件模塊設計與實現(xiàn)10</p><p>  4.1鍵盤模塊程序設計與實現(xiàn)10</p><p>  4.2報警模塊程序設計與實現(xiàn)10</p><p>  4.3 LCD液晶顯示模塊程序設計與實現(xiàn)11</p><p>  

10、4.4指紋識別模塊程序設計與實現(xiàn)12</p><p>  4.4.2指紋識別模式12</p><p>  4.4.2指紋識別模式13</p><p>  5系統(tǒng)實現(xiàn)結果14</p><p>  5.1系統(tǒng)總體框架14</p><p>  5.2指紋錄入模式15</p><p>  5

11、.3指紋識別模式17</p><p>  5.4結果分析19</p><p><b>  6總結與展望19</b></p><p><b>  參考文獻21</b></p><p><b>  致謝22</b></p><p><b>

12、;  1緒 論</b></p><p>  1.1 開發(fā)背景和意義</p><p>  指紋就是我們?nèi)祟愂种改┒酥父股嫌砂纪沟钠つw所形成的紋路,是人類在進化過程中自然形成的[1]。指紋具有唯一性、遺傳性和不變性。它的復雜程度足以提供用于鑒別的足夠特征。到目前為止,尚未發(fā)現(xiàn)有不同的人擁有相同的指紋,所以每個人的指紋也是獨一無二。由于指紋是每個人所特有的標記,指紋逐漸成為警方追捕疑

13、犯的重要線索[1]。隨著現(xiàn)代信息化的大潮流,指紋識別已經(jīng)不僅僅運用于追捕嫌犯,更多的也走向大眾化?,F(xiàn)代科技的高速發(fā)展,光電傳感器應運而生,以指紋識別技術作為橋梁與指紋生理特征相結合,便產(chǎn)生了指紋識別為核心的各種指紋識別儀器。</p><p>  指紋密碼鎖就是其中比較典型的一種。指紋的唯一性和多樣性使得這種生理特征與現(xiàn)代科技相結合運用使我們的信息安全、經(jīng)濟安全、人身安全的保障相比較于傳統(tǒng)的鎖具更加具有可靠性和多樣

14、性??萍嫉牟粩喔镄率沟弥讣y密碼鎖的研究和設計開發(fā)也依然在不斷地革新完善中。隨著舊問題的解決,新問題也會不斷的出現(xiàn)。</p><p>  因此研究和開發(fā)以指紋識別技術為核心的指紋密碼鎖能夠更好的了解當前科技與生物生理特征有效結合的程度,對于當前指紋密碼鎖的研究所存在的問題和研究程度以及之后的發(fā)展方向有更深入的了解。同時,在開發(fā)和設計過程中,我們也能夠更好的運用和鞏固所學到的計算機知識。</p><

15、;p>  1.2 國內(nèi)外研究現(xiàn)狀</p><p>  1.2.1 總體研究現(xiàn)狀</p><p>  現(xiàn)在國內(nèi)外指紋識別技術基本上都是采用基于細節(jié)點特征的指紋識別技術,從研究角度來說,國內(nèi)外的差距并不明顯。由于具有廣闊的市場前景,也受到了越來越廣泛的重視,國外很多著名的IT廠商、電子廠商都在積極推進AFIS技術的研究工作[1]。 </p><p>  國內(nèi)對于指

16、紋識別鎖的研究正在不斷提升,也在不斷的向廣大百姓普及。目前指紋鎖產(chǎn)品正逐步走向中國家庭,中國消費者對指紋鎖的認知已經(jīng)越來越廣泛,但是國內(nèi)對于AFIS主要側重于研究角度,很長一段時間沒有在實際應用中實踐,所以 這些技術和實際的市場需求間還有不少差距[2]。而實際從事指紋應用的公司沒有自己的技術,在技術上依然有著很大的提升和改善空間。</p><p>  指紋應用到計算機信息安全加密應用是目前國際公認未來最有前途的新

17、興市場,凡是用密碼方式驗證的都可以統(tǒng)統(tǒng)采用指紋驗證模式。指紋識別密碼鎖,指紋識別技術的發(fā)展得益于現(xiàn)代電子集成制造技術和快速可靠的算法的研究。盡管指紋只是人體皮膚的一小部分,但用于識別的數(shù)據(jù)量相當大,對這些數(shù)據(jù)進行比對也不是簡單的相等與不相等的問題,而是使用需要進行大量運算的模糊匹配算法。現(xiàn)代電子集成制造技術使得我們可以制造相當小的指紋圖象讀取設備,同時飛速發(fā)展的個人計算機運算速度提供了在微機甚至單片機上可以進行兩個指紋的比對運算的可能。

18、另外,匹配算法可靠性也不斷提高,指紋識別技術經(jīng)已經(jīng)常實用[3]。</p><p>  1.2.2 指紋采集技術的研究現(xiàn)狀</p><p>  指紋識別技術實際上包括了“指紋采集技術”和“指紋識別技術”。 </p><p>  指紋采集技術經(jīng)過了較長時間的發(fā)展,其過程也隨著傳感技術的發(fā)展而受到影響以及推動。第一代“指紋采集技術”主要采用的就是“按壓留痕”的方式,通過“

19、油墨-指紋圖像”的方式進行采集[2],存在不完整、不安全的一些缺點。那么第二代“指紋采集技術”在傳感器的發(fā)展帶動下,開始采用自動化和數(shù)字化的采集方式、指紋的信息以數(shù)字信息的形式進行表示和存儲。比較有代表性的采集儀器就有光學指紋采集儀、半導體壓感指紋采集儀、溫感指紋采集儀以及電容式指紋采集儀。這種采集方式比較方便,安全性、完整性和可處理性較高。“指紋采集技術”的原理就是根據(jù)嵴和峪的幾何特性、物理特性和生物特性的不同,得到不同的反饋信號值[

20、3]。再根據(jù)不同的反饋信號值繪成指紋圖像。現(xiàn)在國內(nèi)外的指紋采集流程主要有分割、二值化、增強濾波、細化。其中分割方法現(xiàn)在主要采用方向法、方差法、以及改進的方差法。其中改進的方差法,在方差分割的基礎上進行開閉運算,是較為成熟的分割方法。二值化方法主要有方向圖、靜態(tài)閾值二值化以及基于方向場的二值化。增強濾波則是基于上述的方向圖的基礎上進行平均濾波。細化現(xiàn)在主要運用快速細化算法和改進的OPTA算法。上述這些過程雖然能夠形成</p>

21、<p>  1.2.3指紋識別技術的研究現(xiàn)狀</p><p>  “指紋識別技術”其實是屬于模式識別的范疇。它通過特定的數(shù)學算法分析指紋特征,然后判定兩枚指紋特征的相似度。主要通過指紋特征分析和匹配兩個過程進行實現(xiàn)。</p><p>  其中指紋特征分析是對指紋采集之后的圖像的整體特征和細節(jié)特征進行提取和鑒別[3]?,F(xiàn)在國內(nèi)外對于圖像特征的提取主要是對特征點的提取和處理來實現(xiàn),

22、主要對細化圖端點和交叉點進行處理。</p><p>  匹配是指指紋圖案的整體和細節(jié)特征按照模式識別的原理進行比對,是指已經(jīng)錄入注冊的指紋和尚需驗證的指紋之間進行比對,是對已經(jīng)處理好的特征值進行比較[4]?,F(xiàn)在國內(nèi)外對于匹配主要從兩個方面進行特征的判斷。對于整體特征的匹配主要進行指紋紋形的分類判斷以及指紋嵴密度的判斷。局部匹配則是對于細節(jié)點進行類型、坐標、質量以及方向上的匹配,也有包括一組指紋特征值之間所形成的拓

23、撲關系進行比對和匹配。其中特征點的匹配現(xiàn)在采有嵴線長度的匹配、三角形邊長匹配以及點類型匹配。當然這些匹配方法并不是最完善的,存在著一定的匹配盲區(qū),不能說很完整很正確的進行匹配。目前國內(nèi)外正在不斷的研究和完善新的指紋特征匹配算法。</p><p>  1.3本文主要研究內(nèi)容和章節(jié)安排</p><p>  本文主要以戰(zhàn)艦STM-32作為開發(fā)平臺通過對指紋錄入識別模塊、鍵盤模塊、LCD液晶顯示模

24、塊和報警模塊等幾個主要功能模塊的設計和整合來模擬實現(xiàn)指紋密碼鎖的控制。這一設計通過對完整的指紋模塊的指令研究以及指紋的識別處理,熟悉簡單的圖像處理以及STM32系列ARM單片機的使用。本文研究的內(nèi)容主要包括六章:</p><p>  第一章是緒論,主要說明了本設計的開發(fā)背景和意義,還有這個項目在國內(nèi)外的當前研究狀況。</p><p>  第二章是系統(tǒng)總體結構設計,根據(jù)系統(tǒng)的總體要求設計系統(tǒng)

25、軟硬件的總體結構。</p><p>  第三章是系統(tǒng)硬件模塊設計與實現(xiàn),主要闡述系統(tǒng)的硬件模塊的設計以及具體實現(xiàn)方法。</p><p>  第四章是系統(tǒng)軟件模塊的設計與實現(xiàn),主要闡述了系統(tǒng)功能實現(xiàn)的軟件設計以及具體實現(xiàn)方法。</p><p>  第五章是系統(tǒng)實現(xiàn)結果,主要展示了系統(tǒng)的實現(xiàn)的功能和結果。</p><p>  第六章是總結與展望,

26、總結本次設計所取得的成果和依舊存在的問題并對下一步改進工作做了展望。</p><p><b>  2系統(tǒng)總體結構設計</b></p><p>  2.1 系統(tǒng)設計總體要求</p><p>  基于STM-32的指紋密碼鎖控制系統(tǒng)是以 戰(zhàn)艦STM32開發(fā)板為開發(fā)平臺,配合FM-180指紋識別模塊和開發(fā)板自帶的2.8寸TFT彩色LCD液晶顯示屏幕,

27、利用 keil uvision4開發(fā)軟件環(huán)件開發(fā),通過軟硬件模塊的整合和控制模擬實現(xiàn)控制指紋密碼鎖,熟悉數(shù)據(jù)的讀寫功能實現(xiàn)。</p><p>  本次設計通過完整的指紋識別模塊實現(xiàn)指紋的錄入和識別。根據(jù)戰(zhàn)艦STM-32開發(fā)板的按鍵實現(xiàn)錄入和識別模式的轉換,并通過LCD液晶顯示屏顯示當前的模式狀態(tài)和錄入和識別狀態(tài),同時通過蜂鳴器發(fā)出不同間隔和次數(shù)的蜂鳴聲對應相應的狀態(tài)。</p><p>  

28、一、設計的具體功能要求如下:</p><p>  通過按鍵控制指紋錄入模式和指紋識別模式的轉換;</p><p>  錄入模式下再次按錄入鍵能夠繼續(xù)錄入指紋;</p><p>  通過按鍵能夠清除所有內(nèi)部存儲的指紋;</p><p>  蜂鳴器針對成功或失敗不同結果下發(fā)出不同間隔和次數(shù)的蜂鳴;</p><p>  錄入

29、成功生成的指紋號和識別成功對應的指紋號在LCD上顯示;</p><p>  LCD顯示不同的模式以及錄入和識別成功或失敗不同結果進行顯示。</p><p><b>  二、開發(fā)工具</b></p><p>  以戰(zhàn)艦 STM32-V3.0開發(fā)板為主控模塊,用FM-180指紋識別模塊作為從屬模塊對其發(fā)出相應的指令進行指紋的采集和識別處理,用2.8

30、寸TFT彩屏作為顯示模塊,以Keil uVision4為開發(fā)環(huán)境,J-Link仿真工具和串口調試工具作為輔助工具。</p><p>  2.2硬件總體結構設計</p><p>  本系統(tǒng)的硬件由以下幾個部分組成(如圖2.1):</p><p>  圖2.1 系統(tǒng)硬件結構圖</p><p>  由硬件結構圖可以看出:指紋通過FM-180指紋識別

31、模塊采集處理;并將處理后的指紋特征值等以數(shù)據(jù)包的形式發(fā)給主控模塊;主控模塊發(fā)送指令包對FM-180指紋識別模塊進行控制以及對鍵盤模塊、報警模塊、LCD液晶顯示模塊進行控制。在LCD液晶顯示屏上顯示錄入和識別成功的指紋號碼。報警模塊中以開發(fā)板自帶的蜂鳴器為主,在不同的狀態(tài)和結果下進行不同間隔和次數(shù)的蜂鳴。鍵盤模塊主要通過三個按鍵分別實現(xiàn)模式轉換、錄入、清除等功能。 </p><p>  2.3軟件總體結構設計<

32、;/p><p>  本系統(tǒng)的軟件由以下幾個部分組成(如圖2.2):</p><p>  圖2.2 系統(tǒng)軟件結構圖</p><p>  由系統(tǒng)軟件機構圖可以看出,主控制器作為主要的控制中心對其他四個模塊進行控制,其中指紋識別主要接收主控制器的指令并發(fā)送數(shù)據(jù)給主控制器并且對輸入指紋進行采集處理。顯示屏顯示各個狀態(tài)特別是錄入的指紋號和識別的指紋號。按鍵主要實現(xiàn)模式切換、指紋錄

33、入、指紋清除三個功能。報警程序以蜂鳴器為主,通過驅動程序實現(xiàn)不同狀態(tài)下不同次數(shù)和間隔的蜂鳴。</p><p>  3系統(tǒng)硬件模塊設計與實現(xiàn)</p><p>  3.1指紋識別模塊設計與實現(xiàn)</p><p>  指紋識別模塊選用FM-180指紋識別設備實現(xiàn),F(xiàn)M-180亮背景光學頭指紋識別設備采用光學指紋傳感器,由高性能DSP處理器和FLAH等芯片構成。供電電壓3.6

34、-6.0V,供電電流<120mA,匹配方式有比對方式(1:1)和搜索方式(1:N)如圖3.2所示:</p><p>  圖3.1 FM-180指紋識別模塊實物圖</p><p>  FM-180是完整的指紋識別模塊,不需要其他外圍部件,模塊始終處于從屬地位[5],控制端也就是戰(zhàn)艦STM32開發(fā)板的CPU通過不同的指令讓模塊完成各項功能。CPU的指令、模塊的應答以及數(shù)據(jù)的交換都是按照規(guī)

35、定格式的數(shù)據(jù)包來進行數(shù)據(jù)通信。指令/數(shù)據(jù)包一共分三類:包標識=01為命令包;包標識=02為數(shù)據(jù)包,并且允許有后續(xù)數(shù)據(jù)包傳入;包標識=08是最后數(shù)據(jù)包,作為結束包。所有的數(shù)據(jù)包都要加包頭:0xEF01.</p><p>  指紋識別模塊與戰(zhàn)艦 STM32的CPU進行串行通訊時,通過外部引腳與STM32開發(fā)板相連接。指紋識別模塊的引腳定義如表3.1所示:</p><p>  表3.1 指紋識別

36、模塊引腳定義表</p><p>  STM32開發(fā)板板載的USB串口和STM32F103ZET6的串口通過P6連接起來的,其中USART1_RX和USART1_TX是相對于STM32F103ZET6來說的。通過PA9和PA10接口與外部設備連接就能實現(xiàn)和外部設備的串行通信。串口1選擇接口原理圖如圖3.3所示:</p><p>  圖3.2 STM32的USB串口/串口1選擇接口圖</

37、p><p>  指紋識別模塊的RXD與STM32開發(fā)板的PA9口連接,指紋識別模塊的TXD與STM32開發(fā)板的PA10口連接。這樣就能實現(xiàn)指紋識別模塊與STM32開發(fā)板的CPU進行數(shù)據(jù)串口通信。</p><p>  這樣STM32的CPU就能通過串口1的PA10口對指紋識別模塊發(fā)送規(guī)定格式的命令包,就能實現(xiàn)對外部的指紋識別設備的控制操作,讓外部指紋識別設備完成指紋的采集、存儲、識別等功能。FM

38、-180指紋識別模塊具有512字節(jié)的存儲區(qū)域,能夠存儲采集中同一個指紋的兩個特征值的合并之和。CPU通過讀或者寫外部指紋設備寄存器來調取或者存儲不同的配置狀態(tài)以及指紋圖像特征值。外部指紋識別設備也能夠通過串口1的PA9口對接收到的指令發(fā)出應答,并以數(shù)據(jù)包的形式發(fā)送給STM32的CPU,完成指令應答。通過串口1的數(shù)據(jù)通信,就能實現(xiàn)STM32的CPU與外部指紋識別設備數(shù)據(jù)交互,實現(xiàn)控制與反饋,也實現(xiàn)了本次設計最基本和核心的功能,也就是指紋的

39、錄入和識別。</p><p>  3.2 LCD液晶顯示模塊設計與實現(xiàn)</p><p>  LCD顯示模塊選用與戰(zhàn)艦 STM32 配套的2.8寸TFT液晶顯示屏實現(xiàn),與主板的TFTLCD模塊接口相接。支持16位真彩顯示,顯示分辨率為320×240,接口為16位的80接口。TFTLCD模塊接口如圖3.4所示:</p><p>  圖3.3 2.8寸TFTLC

40、D模塊接口圖</p><p>  從圖3.3可以看出,TFTLCD模塊采用16位的并方式與外部連接,其中CS:是TFTLCD片選信號,通過LCD_CS發(fā)送高電平給TFTLCD能使TFT工作。WR:向TFTLCD寫入數(shù)據(jù),當輸入低電平時可以通過并行數(shù)據(jù)口寫入數(shù)據(jù)。RD:從TFTLCD讀取數(shù)據(jù),當輸入高電平時可以通過并行數(shù)據(jù)口讀出數(shù)據(jù)。D[15:0]:16位雙向數(shù)據(jù)線,用于雙向傳送16位數(shù)據(jù)。</p>

41、<p>  根據(jù)上述LCD液晶顯示屏的原理以及電平邏輯,STM32開發(fā)板的CPU在接受到外部設備執(zhí)行操作的應答信號之后,就可以對LCD液晶顯示屏并行數(shù)據(jù)口、讀寫口以及片選等使能口輸入對應的電平信號和數(shù)據(jù),從而顯示指紋的錄入、識別、清除等各個模式下的操作結果。這樣,通過LCD液晶顯示屏系統(tǒng)就能及時的將操作結果反映給用戶。</p><p>  3.3鍵盤模塊設計與實現(xiàn)</p><p>

42、;  STM32開發(fā)板自帶四個按鍵,鍵盤模塊涉及3個按鍵,其中按鍵KEY0接PE4;按鍵KEY1接PE3;按鍵KEY2接PE2。按鍵另一端采用開關形式與GND相連,三個按鍵與STM32的連接原理如圖3.5所示: </p><p>  圖3.4 按鍵與STM32連接原理圖</p><p>  通過按鍵按下的時候向STM32開發(fā)板的CPU發(fā)出外部中斷信號,從而使得CPU發(fā)出不同按鍵對應的操作指

43、令,實現(xiàn)模式的切換、指紋的持續(xù)錄入以及指紋的清除等功能。當KEY0按下時,切換錄入和識別模式并且由LCD顯示當前模式;在錄入模式下按下KEY1可以進行指紋的錄入;按下KEY2則刪除所有已經(jīng)存儲的指紋。</p><p>  3.4報警模塊設計與實現(xiàn)</p><p>  報警模塊主要通過對蜂鳴器的控制來實現(xiàn)。STM32開發(fā)板自帶蜂鳴器,蜂鳴器的驅動信號連接在STM32的PB8上,與STM32的

44、連接原理如圖3.6所示:</p><p>  圖3.5 蜂鳴器與STM-32連接原理圖</p><p>  采用NPN三極管(S8050)驅動蜂鳴器,R60作為防止蜂鳴器誤發(fā)聲音。當PB8輸出高電平時,蜂鳴器發(fā)聲;PB8輸出低電平的時候,蜂鳴器停止發(fā)出聲音。</p><p>  CPU在接收到指紋識別設備在指紋錄入、識別以及清除不同狀態(tài)下執(zhí)行結果的信號后,對蜂鳴器的

45、串行通信口PB8發(fā)出對應的高低電平,并通過內(nèi)部時鐘對不同間隔進行控制。在指紋的在指紋識別模塊與STM-32 CPU握手成功時,CPU向PB8口置較長一段時間的高電平,使得蜂鳴器發(fā)出一次較長時間的蜂鳴聲。同樣的道理,在刪除指紋時發(fā)出一次較長的蜂鳴聲;在指紋錄入中采集兩次指紋時,第一次蜂鳴器發(fā)出一次較短蜂鳴聲,第二次則是連續(xù)發(fā)出兩次較短促的蜂鳴聲;當指紋識別失敗時,連續(xù)發(fā)出三次短促的蜂鳴聲。</p><p>  4系

46、統(tǒng)軟件模塊設計與實現(xiàn)</p><p>  4.1鍵盤模塊程序設計與實現(xiàn)</p><p>  鍵盤模塊主要通過STM32上自帶的按鍵進行設計與實現(xiàn)。通過對STM32開發(fā)板的CPU寫入程序對按鍵不同狀態(tài)下返回的信息值進行處理和控制,就能實現(xiàn)鍵盤模塊的不同按鍵功能。</p><p>  首先要通過void KEY_Init(void)函數(shù)對按鍵進行初始化,再利用KEY_S

47、can()函數(shù)掃描是否有按鍵按下,而其定義的mode參數(shù)則是來控制是否支持按鍵連續(xù)按下,可以防止一次多觸發(fā)或者實現(xiàn)長按檢測,這是按鍵的初始化準備過程。</p><p>  鍵盤模塊主要的按鍵功能的程序流程圖如圖4.1所示:</p><p>  圖4.1 按鍵功能程序流程圖</p><p>  modeflag以0和1作為判別當前模式的特征值,當按鍵KEY0按下時,進

48、入切換模式狀態(tài),并且將modeflag取相反值;當按鍵KEY1按下時則是進入錄入模式;當按鍵KEY2按下時,清除所有指紋的狀態(tài)值clearflag置1,發(fā)出清除信號,清除所有已經(jīng)錄入存儲的指紋。</p><p>  4.2報警模塊程序設計與實現(xiàn)</p><p>  報警模塊是以戰(zhàn)艦STM32開發(fā)板自帶的蜂鳴器作為設計和實現(xiàn)的對象。蜂鳴器通過PB8口與CPU相連接,對蜂鳴器的控制實際上就是通

49、過CPU向PB8口發(fā)送不同時間間隔和次數(shù)的高電平或者低電平,從而控制蜂鳴器在不同狀態(tài)下的蜂鳴次數(shù)和間隔時間。</p><p>  首先,利用void BEEP_Init(void)對蜂鳴器進行初始化,使能GPIOB端時鐘,采用推挽輸出并初始化PB8口,當PB8口輸出為0時關閉蜂鳴器的輸出。這是整個蜂鳴器的初始化過程,之后就是對蜂鳴器不同狀態(tài)下的蜂鳴進行設置。主要的程序流程圖如圖4.2所示:</p>

50、<p>  圖4.2 蜂鳴器程序流程圖</p><p>  從圖4.2中可以看出,在不同的模式處理下,蜂鳴器有不同的蜂鳴狀態(tài)。在開始CPU與指紋識別模塊握手成功,置BEEP=1,并設置延時,再置BEEP=0蜂鳴器會響一次;同樣,在指紋錄入狀態(tài)下,由于指紋一共采集兩次,所以第一次采集成功響一次,第二次采集成功響兩次;在指紋識別狀態(tài)下,識別失敗連續(xù)短促的響三次,識別成功響一次。指紋清除狀態(tài)下,清除所有指紋,

51、蜂鳴器長響一次。這樣,在對應不同的指紋操作狀態(tài)已經(jīng)成功與否,能夠通過蜂鳴器實現(xiàn)報警。</p><p>  4.3 LCD液晶顯示模塊程序設計與實現(xiàn)</p><p>  LCD液晶顯示模塊主要是用來顯示當前狀態(tài)以及不同操作下顯示不同操作結果。這一功能主要通過對戰(zhàn)艦STM32開發(fā)板配套的2.8寸TFTLCD液晶屏的數(shù)據(jù)寫入并顯示來實現(xiàn)。狀態(tài)顯示和結果顯示都通過CPU寫入數(shù)據(jù)并在LCD上顯示。&

52、lt;/p><p>  對于LCD液晶顯示屏的初始化主要通過對LCD操作結構的定義,還通過LCD->LCD_REG=CMD和LCD->LCD_RAM=DATA來對LCD寫命令和寫數(shù)據(jù),反過來就可以進行讀寄存器和讀數(shù)據(jù)。LCD的CS、WR、RD、和IO都是由FSMC控制,就不需要手動設置。這些都是對液晶顯示屏的初始化。在本次設計中LCD液晶顯示屏要實現(xiàn)的功能的程序流程圖如圖4.3所示:</p>

53、<p>  圖4.3 LCD液晶顯示屏程序流程圖</p><p>  從4.3圖可以看出,在剛啟動設備的時候如果外部設備與CPU握手成功,CPU通過LCD_ShowString()函數(shù)對LCD液晶顯示屏執(zhí)行顯示操作,使得屏幕顯示準備就緒。同樣的 ,在指紋錄入模式下,當CPU接收到錄入成功的信號時,也通過LCD_ShowString()函數(shù)顯示錄入成功狀態(tài),生成并顯示當前錄入的指紋號。在指紋識別狀態(tài)下,

54、識別成功則通過LCD_ShowString()函數(shù)顯示對應的指紋號,識別失敗則顯示識別失敗,指紋號歸零。</p><p>  4.4指紋識別模塊程序設計與實現(xiàn)</p><p>  4.4.2指紋識別模式</p><p>  本次設計采用的是FM-180指紋識別設備,是較為完善的指紋識別模塊,主要通過CPU對設備發(fā)送規(guī)定格式的數(shù)據(jù)包或者命令包來實現(xiàn)指紋的錄入和識別。指

55、令/數(shù)據(jù)包一共分三類:包標識=01為命令包;包標識=02為數(shù)據(jù)包,并且允許有后續(xù)數(shù)據(jù)包傳入;包標識=08是最后數(shù)據(jù)包,作為結束包。所有的數(shù)據(jù)包都要加包頭:0xEF01. </p><p>  其中指紋錄入的關鍵在于兩次采集指紋生成的特征值并存于flash指紋庫。其程序流程圖如圖4.4所示:</p><p>  圖4.4指紋錄入程序流程圖</p><p>  在發(fā)送指

56、令以及生成指令中都會有等待接收應答包,只有接受到應答包才能發(fā)送下一步指令。其中產(chǎn)生特征1就是使得標識參數(shù)BufferID=1,通過unsigned char GENT1[]函數(shù)發(fā)送12個字節(jié)給傳感器作為指令生成特征1并將特征值1存儲于ModleBufferA。在第一次采集成功之后,進行第二次采集的過程中,生成特征2就是BufferID=2,通過unsigned char GENT1[]函數(shù)發(fā)送12個字節(jié)給傳感器作為指令生成特征2將特

57、征值存儲于ModleBufferB。。兩次采集均成功的狀態(tài)下,進入注冊,通過unsigned char MERG[]函數(shù)發(fā)送12個字節(jié)合并兩個特征值的指令并且將兩個特征值進行合并之后存入指定存儲器ModleBuffer。完成指紋的兩次采集,生成兩個特征值,合并之后的特征值更具準確性。同時錄入成功之后會通過自動計數(shù)生成指紋號Number并顯示。通過這個程序的設計能夠實現(xiàn)指紋的兩次采集并且錄入。</p><p> 

58、 4.4.2指紋識別模式</p><p>  由于FM-180指紋識別設備是較為完善的指紋識別模塊,通過CPU對設備發(fā)送數(shù)據(jù)包或者命令包來實現(xiàn)指紋的錄入和識別。有三類數(shù)據(jù)包和命令包:包標識=01為命令包;包標識=02為數(shù)據(jù)包,并且允許有后續(xù)數(shù)據(jù)包傳入;包標識=08是最后數(shù)據(jù)包,作為結束包。所有的數(shù)據(jù)包都要加包頭:0xEF01. </p><p>  其中指紋識別的關鍵在于現(xiàn)場采集指紋和已有

59、指紋庫之間的比對,其中要對已有指紋庫進行搜索,然后進行特征值的比對。其程序流程圖如圖4.5所示:</p><p>  圖4.5指紋識別程序流程圖</p><p>  根據(jù)指紋識別程序流程圖可以看到,從現(xiàn)場獲取的指紋需要通過CPU發(fā)送圖像獲取以及特征獲取的指令才能生成最后的特征值,然后對flash存儲模板中的已有指紋特征值進行搜索,這是通過PS_Search指令實現(xiàn)。通過SearchBuf

60、= Searchfinger()進行比對,根據(jù)SearchBuf==1的返回值來確定現(xiàn)場指紋在錄入的指紋庫中是否有匹配的指紋。同時將識別成功對應的指紋號Searchnum返回給CPU,或者返回65535的值表示指紋識別失敗。這樣CPU的能夠根據(jù)不同的識別狀態(tài)及時的將識別結果顯示在LCD液晶顯示屏上。</p><p><b>  5系統(tǒng)實現(xiàn)結果</b></p><p>

61、<b>  5.1系統(tǒng)總體框架</b></p><p>  本系統(tǒng)由戰(zhàn)艦STM32為主要控制中心,同時外接FM-180指紋識別模塊以及戰(zhàn)艦STM32開發(fā)板自帶的鍵盤、LCD液晶顯示屏和蜂鳴器。通過對這些組成模塊的程序控制實現(xiàn)整個設計。下圖5.1是總體實物圖:</p><p>  圖5.1系統(tǒng)總體實物圖</p><p><b>  5.

62、2指紋錄入模式</b></p><p>  按下按鍵KEY0從系統(tǒng)默認的識別模式轉換到指紋錄入模式,按下KEY1鍵開始錄入指紋,錄入成功之后就會生成并顯示一個指紋號對應你現(xiàn)在的指紋,再次按KEY1鍵,繼續(xù)錄入指紋,成功之后按照加1的計數(shù)順序繼續(xù)生成新的指紋號碼。具體實現(xiàn)如圖5.2、圖5.3、圖5.4所示:</p><p>  圖5.2指紋錄入模式開始LCD顯示圖</p&g

63、t;<p>  圖5.3指紋錄入成功LCD顯示圖</p><p>  圖5.4指紋繼續(xù)錄入成功LCD顯示圖</p><p><b>  5.3指紋識別模式</b></p><p>  系統(tǒng)初始默認為指紋識別模式,因此進入系統(tǒng)就可以進行指紋識別的操作,當然如果通過按鍵KEY0切換到了指紋錄入模式,同樣可以切換回來。LCD液晶顯示屏顯

64、示當前的模式。如果識別成功,LCD顯示識別成功并顯示匹配的指紋號;如果識別失敗,顯示紅色的識別失敗,并且將指紋號歸零即當前無指紋。具體實現(xiàn)結果如圖5.5、圖5.6、圖5.7所示:</p><p>  圖5.5指紋識別開始LCD顯示圖</p><p>  圖5.6指紋識別成功LCD顯示圖</p><p>  圖5.7指紋識別失敗LCD顯示圖</p>&l

65、t;p><b>  5.4結果分析</b></p><p>  根據(jù)上述實驗結果可以看出,基本實現(xiàn)了指紋錄入和識別兩個基本功能,并且在按下按鍵KEY2的情況下,清除所有指紋,指紋號顯示為零,模式自動轉換到錄入模式。通過LCD液晶顯示頻顯示當前模式和指紋輸入和處理狀態(tài),鍵盤模塊的按鍵功能也基本實現(xiàn),蜂鳴器也能夠按照預想的設定進行不同狀態(tài)下不同次數(shù)和間隔的蜂鳴。指紋錄入能夠在上一個指紋錄入

66、成功的狀態(tài)下繼續(xù)進行指紋的錄入。指紋識別也能夠顯示與當前現(xiàn)場指紋相匹配的指紋號。也存在一些問題:指紋的錄入沒有對錄入失敗狀態(tài)在LCD液晶顯示屏上顯示出來;指紋識別失敗沒有自動轉換到指紋識別開始界面。</p><p><b>  6總結與展望</b></p><p>  在本次設計中探索了國內(nèi)外的指紋密碼鎖的研究現(xiàn)狀和背景,并對指紋采集和指紋識別兩個技術以及現(xiàn)在的一些通

67、用算法有了比較深入的了解。</p><p>  本次設計主要先通過對系統(tǒng)的軟硬件的總體結構進行了設計與構想,然后對軟件模塊和硬件模塊分別進行了具體的設計與實現(xiàn),從而達到了初期的目標。這次設計以功能強大的戰(zhàn)艦STM32開發(fā)板作為開發(fā)平臺以及keil uvision4開發(fā)軟件,運用戰(zhàn)艦STM32開發(fā)板自帶的蜂鳴器、按鍵和LCD液晶顯示屏并通過對這些自帶設備的程序控制和設計實現(xiàn)了報警模塊、鍵盤模塊和LCD液晶顯示模塊的

68、基本功能,完成初期的設想目標。采用功能較為完善的FM-180指紋識別設備,通過戰(zhàn)艦STM32開發(fā)板的CPU對指紋識別設備發(fā)送指令以及數(shù)據(jù)并進行程序的判斷和實現(xiàn),從而實現(xiàn)了指紋的錄入、識別兩個核心功能,以及指紋的清除,模式切換、液晶顯示等其他功能。</p><p>  在設計過程中也遇到一些問題和困難,比如在使用較為完善的FM-180指紋識別模塊進行數(shù)據(jù)和指令的傳送時,要特別注意指令包和數(shù)據(jù)包的格式,特別是一些標識

69、碼的獲取和判斷。設計過程中,經(jīng)常出現(xiàn)格式的錯誤或者使用錯誤導致命令包和數(shù)據(jù)包的發(fā)送接收出現(xiàn)錯誤,從而無法實現(xiàn)功能。再比如在指紋的識別和錄入過程中,要對發(fā)來的數(shù)據(jù)包進行包頭字節(jié)的提取和判斷,并且對數(shù)據(jù)包的數(shù)據(jù)字節(jié)部分要進行數(shù)據(jù)的提取和存儲,之后也要進行校驗和的計算,這樣才是對一次數(shù)據(jù)包接收的完整過程。</p><p>  在這次設計中尚且存在的問題有:LCD液晶顯示屏沒有顯示讀取的指紋圖像;清除指紋時是一次性清除,

70、不能有選擇性的進行清除;沒有對指紋錄入失敗進行報警和顯示;功能較少僅限于錄入、識別、清除;用戶與系統(tǒng)的交互主要通過LCD液晶顯示屏,這點尚顯單調。</p><p>  本次設計基本實現(xiàn)了設計初期的目標,但是依然在今后的開發(fā)中從以下幾方面進行改進:</p><p>  1、通過對指紋識別設備Flash存儲模板中調取已經(jīng)讀取的指紋圖像并通過LCD液晶顯示屏顯示。這樣也會使得交互界面較為充實。&

71、lt;/p><p>  2、通過對指紋識別設備的特征值存儲單元和Flash存儲模板的地址的選取,然后根據(jù)地址,使用按鍵KEY2進行有選擇性的刪除。</p><p>  3、對于指紋錄入失敗要設計相應的報警形式和LCD顯示形式。</p><p>  4、可以嘗試設計增加指紋選取功能,通過按鍵能夠有選擇性的調取已經(jīng)錄入的指紋圖像,并使用中英文兩種蚊子顯示,使界面更加充實。&

72、lt;/p><p>  通過這次的設計,我了解了當前國內(nèi)外對于指紋密碼鎖控制系統(tǒng)的開發(fā)和研究現(xiàn)狀,并且從系統(tǒng)的軟硬件總體結構設計到各個模塊的具體設計與實現(xiàn)。這個過程中不僅僅是對大學四年知識的一種回顧,也是對自己心智的一種歷練。遇到過困難和瓶頸,就要看自己的心態(tài),耐心和堅持尤其重要,多向老師和同學請教克服開發(fā)中的一個個困難,之后就能體會到那種成就感,也是最為開心的。</p><p><b&

73、gt;  參考文獻</b></p><p>  [1]柴曉光,岑寶熾.民用指紋識別技術[M].北京:人民郵電出版社,2004.</p><p>  [2]劉文耀.數(shù)字圖像采集與處理[M].北京:電子工業(yè)出版社,2007.</p><p>  [3]楊光祥,梁華,朱軍.STM32單片機原理與工程實踐[M].武漢:武漢理工大學出版社, 2013.</p

74、><p>  [4]康華光.電子技術基礎模擬部分第四版[M].北京:高等教育出版社,1999.</p><p>  [5]李寧.基于MDK的STM32處理器開發(fā)應用[M].北京:北京航空航天大學出版社,2008.</p><p>  [6]閻石.數(shù)字電子技術基礎第四版[M].北京:高等教育出版社,1999.</p><p>  [7]王瑞福.單片

75、機微機測控系統(tǒng)設計大全[M].北京:北京航空航天大學出版社,1998.</p><p>  [8]張毅剛.單片機原理與應用[M].北京:高等教育出版社,2006.</p><p>  [9]李貴山,楊建平.微型計算機測控技術[M].北京:機械工業(yè)出版社,2002.</p><p>  [10]曹承志.微型計算機控制技術[M].北京:機械工業(yè)出版社,2004.<

76、/p><p>  [11]李貴山,周征.檢測與控制技術[M].西安:西安電子科技大學出版社,2006.</p><p>  [12]郭迎賓.可靠性技術在繼電器控制中的應用探討[J].中國科技縱橫,2014(16):18-22.</p><p>  [13]D W Hart.Foundation and application of microcontroller[M].

77、beijing:Higher Education Press,2004.</p><p>  [14]Richard.Algorithms and Applications (Texts in Computer Science)[J]. Higher Education Press,2010.</p><p><b>  致謝</b></p><p

78、>  本次基于STM-32的指紋識別密碼鎖控制系統(tǒng)在設計與實現(xiàn)的過程中得到了很多老師和同學的幫助,在此向他們由衷的致謝。特別要感謝我的導師張后旗老師的悉心指導和無私幫助。在百忙中能抽空給予我很多幫助。特別是在設計軟硬件總體結構和模塊以及撰寫論文的過程中,張老師給了我很大的幫助,并且不斷地督促我們完成每個時期的進度,還有我的室友以及同學也在我遇到設計困難時給了很多建議以及設計上的一些幫助。在此,我表示真誠地感謝。</p>

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論