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

下載本文檔

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

文檔簡介

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

2、的問題,再根據(jù)完整的指紋識別模塊指令確定了本系統(tǒng)的目標(biāo)和要求,以戰(zhàn)艦STM-32為開發(fā)平臺進(jìn)行了系統(tǒng)的總體結(jié)構(gòu)設(shè)計,闡述了系統(tǒng)的軟、硬件組成,并重點探討了指紋識別模塊、鍵盤模塊、LCD液晶顯示模塊和報警模塊等幾個主要功能模塊的設(shè)計與實現(xiàn)。最后,對系統(tǒng)的設(shè)計與實現(xiàn)做相應(yīng)總結(jié)。</p><p>  關(guān)鍵詞:指紋識別;戰(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 指紋采集技術(shù)的研究現(xiàn)狀2</p><p>  1.2.3指紋識別技術(shù)的研究現(xiàn)狀3</p><p>  1.3本文主要研究內(nèi)容和章節(jié)安排3</p><p>  2系統(tǒng)總體結(jié)構(gòu)設(shè)計4</p><p>  2.1 系統(tǒng)設(shè)計總體要求4</p>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

26、總結(jié)本次設(shè)計所取得的成果和依舊存在的問題并對下一步改進(jìn)工作做了展望。</p><p><b>  2系統(tǒng)總體結(jié)構(gòu)設(shè)計</b></p><p>  2.1 系統(tǒng)設(shè)計總體要求</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>  本次設(shè)計通過完整的指紋識別模塊實現(xiàn)指紋的錄入和識別。根據(jù)戰(zhàn)艦STM-32開發(fā)板的按鍵實現(xiàn)錄入和識別模式的轉(zhuǎn)換,并通過LCD液晶顯示屏顯示當(dāng)前的模式狀態(tài)和錄入和識別狀態(tài),同時通過蜂鳴器發(fā)出不同間隔和次數(shù)的蜂鳴聲對應(yīng)相應(yīng)的狀態(tài)。</p><p>  

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

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

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

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

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

33、入、指紋清除三個功能。報警程序以蜂鳴器為主,通過驅(qū)動程序?qū)崿F(xiàn)不同狀態(tài)下不同次數(shù)和間隔的蜂鳴。</p><p>  3系統(tǒng)硬件模塊設(shè)計與實現(xiàn)</p><p>  3.1指紋識別模塊設(shè)計與實現(xiàn)</p><p>  指紋識別模塊選用FM-180指紋識別設(shè)備實現(xiàn),F(xiàn)M-180亮背景光學(xué)頭指紋識別設(shè)備采用光學(xué)指紋傳感器,由高性能DSP處理器和FLAH等芯片構(gòu)成。供電電壓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的指令、模塊的應(yīng)答以及數(shù)據(jù)的交換都是按照規(guī)

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

36、模塊引腳定義表</p><p>  STM32開發(fā)板板載的USB串口和STM32F103ZET6的串口通過P6連接起來的,其中USART1_RX和USART1_TX是相對于STM32F103ZET6來說的。通過PA9和PA10接口與外部設(shè)備連接就能實現(xiàn)和外部設(shè)備的串行通信。串口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進(jìn)行數(shù)據(jù)串口通信。</p><p>  這樣STM32的CPU就能通過串口1的PA10口對指紋識別模塊發(fā)送規(guī)定格式的命令包,就能實現(xiàn)對外部的指紋識別設(shè)備的控制操作,讓外部指紋識別設(shè)備完成指紋的采集、存儲、識別等功能。FM

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

39、錄入和識別。</p><p>  3.2 LCD液晶顯示模塊設(shè)計與實現(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ù),當(dāng)輸入低電平時可以通過并行數(shù)據(jù)口寫入數(shù)據(jù)。RD:從TFTLCD讀取數(shù)據(jù),當(dāng)輸入高電平時可以通過并行數(shù)據(jù)口讀出數(shù)據(jù)。D[15:0]:16位雙向數(shù)據(jù)線,用于雙向傳送16位數(shù)據(jù)。</p>

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

60、= Searchfinger()進(jìn)行比對,根據(jù)SearchBuf==1的返回值來確定現(xiàn)場指紋在錄入的指紋庫中是否有匹配的指紋。同時將識別成功對應(yīng)的指紋號Searchnum返回給CPU,或者返回65535的值表示指紋識別失敗。這樣CPU的能夠根據(jù)不同的識別狀態(tài)及時的將識別結(jié)果顯示在LCD液晶顯示屏上。</p><p><b>  5系統(tǒng)實現(xiàn)結(jié)果</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)整個設(shè)計。下圖5.1是總體實物圖:</p><p>  圖5.1系統(tǒng)總體實物圖</p><p><b>  5.

62、2指紋錄入模式</b></p><p>  按下按鍵KEY0從系統(tǒng)默認(rèn)的識別模式轉(zhuǎn)換到指紋錄入模式,按下KEY1鍵開始錄入指紋,錄入成功之后就會生成并顯示一個指紋號對應(yīng)你現(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)初始默認(rèn)為指紋識別模式,因此進(jìn)入系統(tǒng)就可以進(jìn)行指紋識別的操作,當(dāng)然如果通過按鍵KEY0切換到了指紋錄入模式,同樣可以切換回來。LCD液晶顯示屏顯

64、示當(dāng)前的模式。如果識別成功,LCD顯示識別成功并顯示匹配的指紋號;如果識別失敗,顯示紅色的識別失敗,并且將指紋號歸零即當(dāng)前無指紋。具體實現(xiàn)結(jié)果如圖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結(jié)果分析</b></p><p>  根據(jù)上述實驗結(jié)果可以看出,基本實現(xiàn)了指紋錄入和識別兩個基本功能,并且在按下按鍵KEY2的情況下,清除所有指紋,指紋號顯示為零,模式自動轉(zhuǎn)換到錄入模式。通過LCD液晶顯示頻顯示當(dāng)前模式和指紋輸入和處理狀態(tài),鍵盤模塊的按鍵功能也基本實現(xiàn),蜂鳴器也能夠按照預(yù)想的設(shè)定進(jìn)行不同狀態(tài)下不同次數(shù)和間隔的蜂鳴。指紋錄入能夠在上一個指紋錄入

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

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

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

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

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

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

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

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

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

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

76、/p><p>  [11]李貴山,周征.檢測與控制技術(shù)[M].西安:西安電子科技大學(xué)出版社,2006.</p><p>  [12]郭迎賓.可靠性技術(shù)在繼電器控制中的應(yīng)用探討[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)在設(shè)計與實現(xiàn)的過程中得到了很多老師和同學(xué)的幫助,在此向他們由衷的致謝。特別要感謝我的導(dǎo)師張后旗老師的悉心指導(dǎo)和無私幫助。在百忙中能抽空給予我很多幫助。特別是在設(shè)計軟硬件總體結(jié)構(gòu)和模塊以及撰寫論文的過程中,張老師給了我很大的幫助,并且不斷地督促我們完成每個時期的進(jìn)度,還有我的室友以及同學(xué)也在我遇到設(shè)計困難時給了很多建議以及設(shè)計上的一些幫助。在此,我表示真誠地感謝。</p>

溫馨提示

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

評論

0/150

提交評論