• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    多功能生物識別智能鎖系統(tǒng)設計與實現(xiàn)

    2019-09-17 08:27:40徐金榮高磊
    電子技術與軟件工程 2019年16期
    關鍵詞:管理員端口指紋

    文/徐金榮 高磊

    1 課題研究意義及背景

    自從人類社會文明產(chǎn)生,人類在某些場合所需要的隱私需求愈加,相同的,人類對于隱私的保護要求更加嚴格。在最開始的時候,人們使用掛鉤、插銷這種方式進行保護,但這種方式安全系數(shù)不高,非常容易進行破解。此后人們設計出了機械結構鎖,在很大程度上提高了安全性,并在之后很大一段時間都具有很大的安全性。但在此之后,機械鎖的安全性越來越低,破解也越來越快。更加重要的是由于機械鎖所帶來的不便,人們往往需要帶非常多的鑰匙,一旦忘記攜帶,會帶來非常大的不方便,從而無法解鎖。

    此后人類發(fā)明的解鎖方式越來越多,在傳統(tǒng)的機械鎖方式上,人們又發(fā)明了電子密碼鎖,這種解鎖方式在某些程度上提升了一定的安全性,優(yōu)化了傳統(tǒng)的機械鎖解鎖方式,人們不需要像傳統(tǒng)的機械鎖一樣,攜帶非常多的鑰匙,人們只需要記住密碼就可以進行解鎖,提供了很大的便利性。

    圖1:系統(tǒng)設計流程圖

    在此后,人們又開發(fā)了一種解鎖方式,那就是應用生物特征來進行解鎖。這種解鎖方式更加提升了安全性,并且這種解鎖方式與前兩種解鎖方式相比,這種解鎖方式?jīng)]有傳統(tǒng)機械鎖解鎖方式的復雜性,無需像傳統(tǒng)機械鎖一樣攜帶非常不便的鑰匙來進行解鎖,也無需像電子密碼鎖一樣,需要記住非常多的密碼來進行解鎖。這種解鎖方式只需要使用每個人獨特的生物特征來進行解鎖。這種生物特征具備獨一無二的特性,并且為生物個體所自然攜帶。

    1.1 生物特征概述

    圖2:程序設計流程圖

    圖3:矩陣鍵盤程序編程流程圖

    每個生物個體都具有唯一的可以測量或者可以驗證的生理特征或者行為方式,這就是生物特征。它包括兩種特征,一種是生理特征,例如指紋,面容,虹膜,指紋,聲音等特征,另一種是行為特征,例如步態(tài),筆跡,動作等特征。

    1.1.1 指紋

    指紋,也就是傳統(tǒng)意義上的手印,是人手指末端腹部表皮上所突出來的各種凹凸紋路。在發(fā)育過程中,雖然人的三個皮層—表皮層、真皮層以及基質(zhì)層—這三個皮層都在同時發(fā)育,但由于不同層發(fā)育速率不同,發(fā)育出來的皮膚軟硬程度不同從而產(chǎn)生了凹凸紋路,這種紋路的產(chǎn)生是由遺傳以及環(huán)境的共同作用所決定的。

    指紋大致上有三種類型斗型、弓形以及箕型。這種分類方式是根據(jù)皮下組織對指肚表皮頂壓方向的不同所決定的。從目前的科學發(fā)現(xiàn)來看,現(xiàn)如今除了極個別先天性無指紋的個體外還沒有發(fā)現(xiàn)過有指紋完全相同的個體出現(xiàn)。所以指紋具備獨一無二的特性。正是由于指紋的這種特性,使得指紋識別技術的安全性非常之高,指紋成為生物特征應用的不二之選。另外,由于指紋容易獲取,比對方便,更加為指紋的普及提供了支持。

    1.1.2 指紋識別技術

    指紋識別技術作為一種熱度最大,技術最成熟,并且最被廣大群眾所接受的一種技術,已經(jīng)被全球大部分的國家所接受,并且已經(jīng)被廣泛使用到了各種鄰域,各種地方,例如政府、軍隊、銀行等地方。

    由于每個人指紋的紋路圖案,特征點都不同,并且呈現(xiàn)唯一且終身不變性,人們可以將這些信息進行比對,從而校驗身份信息。因為指紋其實是一種非常復雜的紋路,如果將指紋的圖像完全保存,并在細節(jié)上進行比對的話,無疑是一件非常繁瑣以及復雜的事情,因而這種比對主要是根據(jù)人手指指紋的特征點進行比對,而不是直接存儲圖像。

    指紋特征點比對主要包括幾個部分

    (1)總體特征,這是指人肉眼就可以觀察到的區(qū)域,包括紋形、模式區(qū)、核心點、三角點以及紋數(shù)。

    (2)紋形,這是研究指紋的專家根據(jù)人手指的脊線走向以及分布情況所確定的不同類型。

    (3)模式區(qū),這種區(qū)域是指紋上包括了總體特征的區(qū)域,比對時主要分辨指紋所屬紋形。

    (4)核心點,這個特征點位于指紋紋路的漸進中心,這是指紋比對中最為重要的參考點。

    (5)三角點,這是指離核心點最近的分叉點或者斷點,這是紋數(shù)計算的開始地方。

    (6)紋數(shù),這是指指紋模式區(qū)內(nèi)從核心點到三角點之間的指紋紋路的數(shù)量。

    2 多功能智能鎖系統(tǒng)的整體分析

    本論文研究的內(nèi)容是多功能智能鎖系統(tǒng)設計,既然是一個系統(tǒng),那么首先需要了解這個系統(tǒng)的主要功能是什么,可以實現(xiàn)密碼鎖,另一個是指紋鎖。怎么實現(xiàn)?可以用單片機,那么我們首先就需要確定,使用何種單片機。在單片機的領域里,89C51單片機算得上是最基礎的芯片,大部分的用戶在學習時,第一個接觸的單片機大多數(shù)都是51單片機,雖然在性能上51單片機不如后代的一系列單片機,同樣的在操作的復雜性上51單片機無疑是要優(yōu)于后代的芯片的。然后就是另一種常用的單片機,32系列單片機。這個系列的單片機性能要優(yōu)于51單片機,功能性方面也要優(yōu)于51單片機。通過對本項目的分析,指紋模塊需要兩個I/O口以及一個VCC和一個GND,矩陣鍵盤需要8個I/O口,LCD1602顯示屏需要11個I/O口以及兩個GND端口,兩個VCC端口,AT24C02芯片需要兩個I/O口以及一個VCC端口一個GND端口,再有就是剩下的控制電路,例如LED燈,電磁開關等。經(jīng)過分析,本系統(tǒng)設計中需要的I/O端口使用數(shù)量沒有超過32個。另外,在功能性上該系統(tǒng)設計中沒有用到特別多的功能,經(jīng)過考慮,最終決定使用STC89C52芯片,根據(jù)要求來看,該芯片完全可以達到本系統(tǒng)設計的要求。

    本項目功能之一是指紋鎖,這種設備使用的是個體的生物特征指紋,需要對指紋的信息進行判斷比對,從而來實現(xiàn)指紋鎖的功能。經(jīng)過選擇,本設計最終選用了ATK-AS608模塊來使用,這個指紋模塊識別精度高,使用方便,只需要通過串口通訊就可以實現(xiàn)功能。

    此外,通過對該系統(tǒng)的分析,如果只完成指紋開鎖功能的話,非常明顯是無法在正常生活中使用的。人在正常生活中,經(jīng)常會出現(xiàn)指紋受損的情況,或者出現(xiàn)指紋過濕、過臟的情況,這種情況下,不管是什么設備都很難獲取到清晰的指紋圖像,造成無法比對的情況。為了避免這種情況,在本次設計中,額外增加了密碼功能,以防止該情況出現(xiàn)。在增加密碼功能后,就有了一個新的問題,STC89C52芯片在運行程序后,是從最開始進行運行的,因此,如果設備的密碼直接寫在單片機的程序中的話,那么如果遇到特殊情況,單片機進行了重新啟動,那么密碼信息會恢復到最初的情況,因此,密碼信息不可以寫到單片機的程序中。就此,本項目中選擇了一種EEPROM芯片用來保存密碼信息,這樣,密碼信息不會丟失,只需要在程序中初始化一次設備就可以。

    另外,還有最重要的一點,指紋鎖在使用時必然會遇到,例如保存指紋、刪除指紋、修改密碼等情況的出現(xiàn)。但是這種情況下,不可能任何一個人都有權限來操作。因此該設備需要增添了管理員功能,以此來保證設備運行的安全性。思路流程圖如圖1所示。

    2.1 程序設計流程

    在進行程序編寫時,首先需要了解該系統(tǒng)的邏輯。由于本系統(tǒng)設計有兩種開鎖方式,一種是指紋方式,另一種是密碼方式,經(jīng)過考慮后,本設計選擇將這兩種方法分開,提供給用戶選擇,使得用戶可以自由選擇想使用的方式。之后就是比對程序,在密碼模式下,用戶需要通過鍵盤來輸入密碼,所以在設計程序的時候,程序需要可以獲取用戶在鍵盤上所按下的內(nèi)容。在獲取到內(nèi)容之后,程序需要將獲取到的內(nèi)容同保存到AT24C02中的數(shù)據(jù)做對比,如果比對成功則解鎖成功,如果比對失敗則解鎖失敗。另一種模式是指紋模式,與密碼模式相同,程序需要獲取到指紋的圖像與存在大容量FLASH中的指紋數(shù)據(jù)做對比,檢索成功后則開鎖成功,反之,則解鎖失敗。另外,之前說過,程序設計了管理員模式,在分析邏輯的時候決定將管理員模式同密碼模式相結合,也就是如果輸入的是開鎖密碼,則進行解鎖操作,如果輸入的是管理員密碼則進入管理員操作界面。在這個界面用戶可以對指紋,以及密碼進行操作。整體流程圖如圖2所示。

    2.2 程序設計

    程序設計也就是各個部分的合理設計,在本系統(tǒng)中主要需要設計軟件的硬件是矩陣鍵盤、LCD1602顯示屏、指紋模塊以及AT24C02。只有這幾個設備各個部分之間合理搭配,本系統(tǒng)才可以正常工作。

    2.2.1 矩陣鍵盤程序設計

    想要了解矩陣鍵盤的程序編寫,必須要知道鍵盤控制的流程。鍵盤的流程過程圖如圖3所示。

    矩陣鍵盤在使用時主要有兩種方法,一種是鍵掃描法,另一種是線反轉(zhuǎn)法,這兩種方法前面已經(jīng)介紹過,再次不做重復介紹。

    2.2.2 LCD1602顯示屏軟件設計

    LCD1602在使用時需要對其的三個端口進行設置,這三個端口分別是EN、RS以及RW,在進行不同的操作的時候這三個端口需要設置不同的狀態(tài)。例如在寫數(shù)據(jù)的時候,RS和RW分別需要設置為1和0,在讀數(shù)據(jù)的時候需要將RS和RW都設置為1。在寫數(shù)據(jù)的時候,用戶需要將數(shù)據(jù)寫入數(shù)據(jù)緩存器或者字符發(fā)生器中,兩者的區(qū)別是,如果需要顯示的數(shù)據(jù)是用戶自定義的字符信息模板,此時就需要將數(shù)據(jù)寫到字符發(fā)生器的00H~07H地址中。如果需要顯示的字符是系統(tǒng)內(nèi)部已經(jīng)定義好的字符信息模板時,就將該信息保存到DR當中,之后在顯示的時候,模塊內(nèi)部會將地址指針指向需要顯示的字符模板所在的地址。同樣,在獲取數(shù)據(jù)的時候,程序會將地址計數(shù)器指定到字符發(fā)生器或者數(shù)據(jù)存儲器中所需要的地址,讀出八位數(shù)據(jù),然后暫時保存在DR中,然后再由模塊內(nèi)部總線傳輸?shù)紻0~D7上。

    2.2.3 指紋模塊軟件設計

    指紋模塊ATK-AS608在使用時需要遵循一種規(guī)范,也就是通信協(xié)議。只有這種協(xié)議正確,單片機或者上位機與指紋模塊的連接才會正常。在編寫軟件時,用戶首先需要向指紋模塊發(fā)送規(guī)定的通信協(xié)議,使得單片機和指紋模塊連接。在進行數(shù)據(jù)傳輸時,模塊會反饋一些確認碼,軟件在編寫的時候,可以根據(jù)這些確認碼來判斷是否正確,以及錯誤的原因。用戶可以根據(jù)反饋回來的確認碼來對程序或者硬件設備進行調(diào)試。

    2.2.4 AT24C02軟件設計

    AT24C02主要是用來保存數(shù)據(jù)的,這個芯片在使用的時候大多數(shù)情況下是使用I2C通信協(xié)議的方法來進行通信。

    圖4

    圖5:ATK-AS608串口調(diào)試界面

    I2C(Inter-integrated Circuit)總線常用于不同設備之間的短距離通信,在大多數(shù)的情況下,主要用于核心與外部設備之間的數(shù)據(jù)交換,因為它的操作簡便,只需要兩個端口就可以進行操作。在歷史上,最早運用該技術的是1982年飛利浦自行開發(fā)并應用的,當然在開始的時候,該技術的頻率,地址大小都有限制,在此之后,公司優(yōu)化了該芯片的傳輸頻率以及地址大小。在I2C的基礎上,1995年Intel提出了“System Management Bus” (SMBus),用于低速設備通信,SMBus把時鐘頻率限制在10kHz~100kHz,但I2C可以支持0kHz~5MHz的設備:普通模式(100kHz即100kbps)、快速模式(400kHz)、快速模式+(1MHz)、高速模式(3.4MHz)和超高速模式(5MHz)。

    正常我們所使用的通信方式是使用串行端口,這種方式與I2C通信是有區(qū)別的。使用串口方式進行通訊的時候,數(shù)據(jù)傳輸方式是異步傳輸?shù)?,也就是說,每時每刻數(shù)據(jù)只能是發(fā)送或者接受,而不能同時進行。并且,在使用串口通訊的時候,傳輸雙方必須規(guī)定一個速率,只有速率相同,兩者才可以正常進行通訊,某一方的時鐘頻率相差很大都會導致數(shù)據(jù)傳輸混亂。 異步串行端口在每個數(shù)據(jù)幀中都要插入至少一個起始位和一個終止位,意味著每傳輸8bits的數(shù)據(jù)實際要花費10bits的傳輸時間,從而降低了數(shù)據(jù)傳輸速率。另一個問題是異步串行端口的設計就是針對兩個設備之間通信的,那么如果有多個設備連接到一個串口上,就必須解決信號碰撞的問題(bus contention),通常要通過額外硬件來完成。 最后就是數(shù)據(jù)傳輸速率,異步串行通信并沒有一個理論上的速率限制,大部分UART設備只支持一些特定的波特率,最高通常在230400bps左右。I2C最少只需要兩根線,和異步串口類似,但可以支持多個SLACVE設備。和SPI不同的是,I2C可以支持MUL-MASTER系統(tǒng),允許有多個MASTER并且每個MASTER都可以與所有的SLACVES通信(MASTER之間不可通過I2C通信,并且每個MASTER只能輪流使用I2C總線)。MASTER是指啟動數(shù)據(jù)傳輸?shù)脑O備并在總線上生成時鐘信號以驅(qū)動該傳輸,而被尋址的設備都作為SLACVES。I2C協(xié)議把傳輸?shù)南⒎譃閮煞N類型的幀:一個地址幀——用于MASTER指明消息發(fā)往哪個SLACVE;一個或多個數(shù)據(jù)幀——由MASTER發(fā)往SLACVE的數(shù)據(jù)(或由SLACVE發(fā)往MASTER),每一幀是8-bit的數(shù)據(jù)。注:協(xié)議要求每次放到SDA上的字節(jié)長度必須為8位,并且每個字節(jié)后須跟一個ACK位,在下面會講到。數(shù)據(jù)在SCL處于低電平時放到SDA上,并在SCL變?yōu)楦唠娖胶筮M行采樣。讀寫數(shù)據(jù)和SCL上升沿之間的時間間隔是由總線上的設備自己定義的,不同芯片可能有差異。

    在進行軟件編寫的時候,AT24C02需要編寫開始、結束、應答、等待的信號來模仿I2C協(xié)議,從而達到單片機與芯片通信的目的。

    2.2.5 管理員模式設計

    對于該項目的指紋鎖系統(tǒng)設計,需要配套設置管理員界面,管理員掌握最高權限可對用戶指紋信息進行管理。管理員界面的進入必須有要求,不能是任何用戶都可以進入,由此來增加鎖設備的安全性。經(jīng)過分析,通過輸入密碼進入管理員系統(tǒng)是最優(yōu)解。但是考慮到之前設計過密碼的開鎖方式,如果單獨設置一個管理員密碼輸入界面,則占用了非常大的系統(tǒng)資源。所以,在進行管理員設置時,是通過與開鎖密碼相同的界面進入的。但如此一來,如果開鎖密碼與管理員密碼相同的話,就會出現(xiàn)程序邏輯問題。所以,在設置各種密碼時,是需要將開鎖密碼與管理員密碼分開設置的,不能設置為相同的密碼,這樣一來,既省去了很多的系統(tǒng)資源,又增加了設備的安全性。如圖4所示。

    3 實物介紹、測試和分析

    本文設計的是基于單片機的指紋鎖系統(tǒng),首先通過對任務需求的分析,確定了所需要使用的芯片,確定了所需要使用的各種模塊。之后對各個模塊以及芯片進行了學習,通過查閱各種器件的工作原理,芯片的中英文手冊等,繪制出原理/仿真圖,然后進過硬件電路整體的制作焊接,并為了實物的美觀,為該設備設計了一款外包裝。在整體硬件完成之后,開始進行軟件的編寫。通過之前對各個器件工作原理以及中英文手冊的學習,首先對各個模塊進行了分開調(diào)試,熟悉了不同模塊的工作原理,并實現(xiàn)了模塊的不同功能。在此基礎上,按照事先思考過的指紋鎖解鎖流程,按照一定的邏輯將各個模塊之間進行了整合,完成了部分功能,使得各個模塊之間可以直接或者間接的進行通訊。最后設計了指紋模塊的管理員模式,使得用戶可以對程序深層的數(shù)據(jù)進行修改。經(jīng)過最終的調(diào)試后,該電路系統(tǒng)很好的實現(xiàn)了開鎖功能,不僅可以實現(xiàn)指紋的開鎖功能,也可以實現(xiàn)密碼開鎖功能,并且管理員系統(tǒng)也可以正常的對程序深層數(shù)據(jù)進行修改,達到了任務書所規(guī)定的要求。

    3.1 硬件測試及分析

    首先,通過系統(tǒng)的要求分析,確定了所需要使用的模塊,設計了所需要的硬件電路,之后需要對各個模塊進行測試調(diào)試,確保每一個模塊可以正常工作。首先對本項目中的核心MCU進行測試,經(jīng)過測試,MCU工作正常,I/O端口可以被正常拉高或者拉低,串口工作正常,可以正常使用串口進行通訊。然后對LCD1602顯示器進行了測試,為了使得該硬件正常進行顯示,需要在硬件的V0端口外接一個滑動變阻器,通過調(diào)節(jié)滑動變阻器的阻值,顯示設備可以正常工作,顯示清晰。之后對矩陣按鍵進行了測試,矩陣按鍵工作正常,可以正常進行按鍵操作。然后對AT24C02芯片進行了測試,芯片可以正常保存以及讀取數(shù)據(jù)。最后通過串口對指紋模塊進行了測試,模塊工作正常,獲取指紋圖像清晰,串口調(diào)試圖如圖5所示。此后,將各個模塊進行整合,通過Proteus軟件進行了硬件仿真,硬件調(diào)試正常。通過對模塊的合理分析,編寫了整體軟件程序,通過編譯器進行編譯下載到實體測試后,各個模塊運行正常,模塊之間的直接與間接通訊正常。較好的完成了基本任務,符合畢業(yè)設計任務書要求。

    4 總結

    本設計是基于單片機的指紋鎖系統(tǒng),該系統(tǒng)即可以實現(xiàn)指紋的開鎖設計,也可以實現(xiàn)密碼的開鎖設計。并在此基礎上增添了管理員功能,大大增加了系統(tǒng)的安全性。該系統(tǒng)使用簡便,指紋識別準確度高,開鎖簡便,沒有傳統(tǒng)機械鎖的復雜,也不需要攜帶繁重的鑰匙。同時,該系統(tǒng)使用了生物特征指紋來進行解鎖,破解難度高,安全性好。

    在本設計中,還有很多需要改善的地方,例如,在設備最開始的時候,用戶需要選擇輸入方式,程序不能自動判斷,增加了程序的繁復性。再有就是管理員界面操作復雜,進行一步操作,往往需要兩到三步的操作才可以完成。另外,該指紋鎖系統(tǒng),使用的時候,各種設備一直都保持在運行狀態(tài),需要增加休眠模式來減緩系統(tǒng)的能耗等。

    猜你喜歡
    管理員端口指紋
    我是小小午餐管理員
    一種端口故障的解決方案
    科學家(2021年24期)2021-04-25 13:25:34
    像偵探一樣提取指紋
    我是圖書管理員
    少先隊活動(2020年8期)2020-12-18 02:32:07
    我是圖書管理員
    少先隊活動(2020年7期)2020-12-18 01:48:39
    為什么每個人的指紋都不一樣
    可疑的管理員
    端口阻塞與優(yōu)先級
    基于自適應稀疏變換的指紋圖像壓縮
    自動化學報(2016年8期)2016-04-16 03:39:00
    可疑的指紋
    临安市| 重庆市| 洪泽县| 定远县| 海阳市| 常熟市| 久治县| 凤翔县| 鄂尔多斯市| 营口市| 江西省| 凌海市| 乌鲁木齐市| 故城县| 靖边县| 齐齐哈尔市| 长白| 望城县| 永和县| 青海省| 荥经县| 甘南县| 莱西市| 兴仁县| 囊谦县| 庄浪县| 蕲春县| 吉水县| 宝应县| 南漳县| 庆安县| 淅川县| 沙河市| 屯昌县| 定襄县| 道孚县| 哈尔滨市| 宁陵县| 堆龙德庆县| 颍上县| 葵青区|