基于VHDL的電子密碼鎖設計與仿真_第1頁
基于VHDL的電子密碼鎖設計與仿真_第2頁
基于VHDL的電子密碼鎖設計與仿真_第3頁
基于VHDL的電子密碼鎖設計與仿真_第4頁
基于VHDL的電子密碼鎖設計與仿真_第5頁
已閱讀5頁,還剩60頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

基于VHDL的電子密碼鎖仿真設計目錄中文摘要 IV關鍵詞 IVAbstract VKeywords V第一章 引言 11.1 設計目的 11.2 設計意義 11.3 設計要求 21.4 相關領域概述 31.4.1QuartusII簡介 31.4.2CPLD簡介 4第二章 開發(fā)方案與論證 52.1開發(fā)方案 52.1.1并行開發(fā)方案 52.1.2串行開發(fā)方案 62.2方案論證 6第三章 電路模塊功能設計 93.1受控電路 93.1.1鍵盤編碼電路模塊 93.1.2按鍵消抖電路模塊 103.1.3密碼比較電路模塊 113.1.4密碼比較計數(shù)器電路模塊 113.1.5密碼預置電路模塊 123.1.6錯誤報警電路模塊 123.1.7觸發(fā)器電路模塊 133.2控制器電路 13第四章 詳細設計與模塊仿真 174.1受控電路源程序與仿真 174.1.1鍵盤編碼電路模塊 174.1.2按鍵消抖電路模塊 184.1.3密碼比較電路模塊 194.1.4比較計數(shù)器 194.1.5密碼預置電路模塊 204.1.5錯誤報警電路模塊 214.1.6輸出電路模塊 224.2控制器電路源程序與仿真 224.3頂層文件的設計與實現(xiàn) 274.3.1編碼預置模塊 274.3.2頂層文件設計 28第五章 設計結果 315.1仿真測試 315.1.1仿真測試波形 315.1.2邏輯測試 33第六章總結與展望 356.1密碼鎖系統(tǒng)應用場合 356.2密碼鎖系統(tǒng)未來發(fā)展 356.3總結 36參考文獻 37致謝 38附錄 39附錄AVHDL源代碼 39A-1編碼器 39A-2比較器 41A-3比較計數(shù)器 41A-4密碼預置 42A-5報警計數(shù)器 43A-6觸發(fā)器 44A-7輸入 45附錄B控制器邏輯圖 47基于VHDL的電子密碼鎖設計與仿真中文摘要隨著社會物質財富的不斷積累,安全防盜以成為社會問題。而鎖自古以來就是人們防盜的首選。要既能防盜又要實用方便。在當下技術環(huán)境下數(shù)字鎖成為一種趨勢。本設計采用EDA技術設計一個防盜數(shù)字密碼鎖,欲解決此問題。在QuartusII環(huán)境下采用VHDL硬件描述語言設計電子密碼鎖,闡述了其工作原理,給出了具體的電路圖和仿真波形。該密碼鎖具有體積小、功耗低、保密性強、錯誤累積報警等功能??蓱糜谧≌?、保險箱等需要防盜的場所,實用性較強。采用VHDL描述,產品的擴展性強,很容易于最新技術結合形成功能更加強大的系統(tǒng)。本系統(tǒng)采用矩陣鍵盤輸入。密碼由8位十進制數(shù)組成,密碼多一位少一位都算錯誤,安全性有足夠保障。并且當錯誤開鎖次數(shù)達到3次報警器將鳴叫,形成一個連鎖防盜系統(tǒng)。在錯誤尚未發(fā)生時,可通過復位回到密碼輸入狀態(tài),體現(xiàn)人性化的設計。在報警時,警報的切斷只能由保安室或實用者不能接觸的地方控制,為無關操作人員增加了心理威懾作用。關鍵詞:QuartusII,VHDL,密碼鎖,電路仿真DesignandsimulationofdigitalcodedlockbasedonVHDLAbstractWiththeaccumulationofsocialmaterialwealth,thepreventionofthieveshasbecomeasocialproblem.Lockisalwaysthefirstchoicewhenpeopledealwiththieves.Itrequireslocknotonlytobeagainstwiththeft,butalsopracticalandconvenient.Underthecircumstanceofcurrenttechnology,numberspadlockisbecomingatrendamonglocks.ThisdesignmakesuseofEDAtechnologytodesignaburglardigitalcombinationlocktopreventfromthieves.ThisdesignwilluseVHDL(HardwareDescriptionLanguage)underthecircumstanceofQuartusIItoexpounditsworkingprincipleandprovidecircuitdiagramandsimulationwaveform.Thiscodedlockhasthecharacteristicofsmallsize,lowconsumption,highsecurityandthefunctionoferroraccumulationalarmetc.Thiskindoflockispracticalbecauseitcanbeusedinresidence,proofboxandotherplaceswherehavetheneedofpreventfromthieves.Thelockusematrixkeyboardtoinput.It’shasenoughsbecauseitspasswordconstitutesof8decimalnumbersanditwouldbewrongifthenumberismorethan8orlessthan8.It’shumanizationbecausetherewillbealarmifthereare3timeserrorswheninputthepassword.Thealarmcanonlybecutbypublicsecurityorwherebeyondthievestouch,whichwillmakethievesmoreafeard.Keywords:QuartusII,VHDL,codedlock,circuitsimulation引言隨著社會物質財富的日益增長,安全防盜已成為社會問題。而鎖自古以來就是把守門戶的鐵將軍,人們對它要求甚高,既要安全可靠地防盜,又要使用方便,這也是制鎖者長期以來研制的主題。數(shù)字密碼鎖是實際生活中運用廣泛的一種數(shù)字電路,主要功能是對某些操作進行加密保護,目的是避免無權人員使用某些設施或者進行越權操作。本章首先介紹本設計的目的、設計意義以及設計要求。然后簡述相關領域的發(fā)展。設計目的硬件描述VHDL語言,描述能力強、覆蓋面廣、抽象能力強,采用VHDL建立硬件模型可以從繁瑣的元件設計轉向功能設計。用VHDL可以快速方便地設計出符合各種要求的數(shù)字密碼鎖,而且操作簡單,密碼的位數(shù)可適當增該,增強其安全性,且很容易做成ASIC芯片,設計過程達到高度自動化,設計完成后可在Quartus=2\*ROMANII環(huán)境下進行電路的模擬仿真。使設計成本盡可能降低。本次設計為開發(fā)一款體積小,功耗低,操作簡易便于修改維護,具有良好應用前景的數(shù)字密碼鎖。設計意義在日常生活中和工作中,住宅的安全,單位的文件,和一些個人資料的保存。人們往往采用上鎖的方法來解決。如果采用傳統(tǒng)的機械鎖,人們往往需要攜帶很多鑰匙,既不方便,鑰匙的丟失還會使安全性大打折扣。隨著物質財富的積累和科學技術的發(fā)展,人們對鎖的要求越來越高。密碼鎖代替機械鎖成為一種趨勢。密碼鎖具有安全性高、低成本、低功耗、易于操作,等等優(yōu)點。在安保領域,有防盜報警功能的電子密碼鎖逐漸取代了傳統(tǒng)機械密碼鎖。機械密碼鎖結構的復雜度和密碼位數(shù)成正比成本高且安全性能差。而電子密碼鎖無論在技術上還是性能上都優(yōu)于機械密碼鎖。當然,特定的使用環(huán)境除外。隨著大規(guī)模集成電路技術的發(fā)展,特別是硬件描述語言(VHDL),出現(xiàn)了用微型智能密碼鎖,它是除了具有電子密碼鎖的功能外,還擁有了智能化管理,專家分析系統(tǒng),從而使密碼鎖的作用,比如高安全性、可靠性,應用日益廣泛的應用。人們對安全的重視和科學技術的發(fā)展,許多電子智能鎖如,指紋識別、IC識別等已經出現(xiàn)在國內外。但是這些產品的特點需要一個特別的指紋或有效卡,成本相對較高不益于普及使用。針對當前技術和水平、市場接納、電子密碼鎖是這類電子防盜產品的主流。設計要求根據(jù)實際需求數(shù)字密碼鎖應具有以下功能:采用8位十進制數(shù)字作為內置密碼,修改密碼必須重構邏輯。系統(tǒng)通電后必須給密碼鎖上鎖,即按上鎖鍵SETUP,表示密碼鎖準備就緒,可以接受外部輸入的密碼數(shù)字,這時用來指示密碼鎖工作情況的指示燈和揚聲器處于不工作狀態(tài),系統(tǒng)處于上鎖等待密碼輸入狀態(tài)。開鎖。開鎖操作過程如下:I按下復位鍵START,此時系統(tǒng)各部分處于初始狀態(tài)。II輸入密碼,一次鍵入8個十進制數(shù)字。III按下開鎖鍵OPEN,若密碼正確,鎖被打開(用綠燈LD點亮表示);若密碼不正確,鎖不被打開(綠燈LD不亮)不提示錯誤(用紅燈HD表示)。IV使用者按錯號碼,可在按開鎖鍵OPEN以前按復位鍵START消除輸入,重新輸入密碼。V開門成功事物處理完畢后,必須按下上鎖鍵SETUP,是系統(tǒng)進入就緒狀態(tài)。VI所有輸入采用鍵盤輸入。報警功能。系統(tǒng)允許錯誤開門2次,當?shù)?次錯誤開門將報警。在報警狀態(tài),上鎖鍵SETUP、復位鍵START、開門鍵OPEN、數(shù)字鍵0~9應不起作用,需用另一內部設置鍵解除鎖定(ISETUP),該按鍵在實際應用中可放置在保安室或其他使用者不能接觸的地方。在本設計中為描述方便,將內置與鍵盤中。相關領域概述本節(jié)將對電子密碼鎖的開發(fā)環(huán)境QuartusII和最后的實現(xiàn)環(huán)境CPLD進行簡要介紹。1.4.1QuartusII簡介本設計是基于QuartusII9.0的,在此對它作一些介紹。QuartusII[12]是Altera提供的FPGA/CPLD開發(fā)集成環(huán)境,Altera是世界上最大的可編程邏輯器件供應商之一。QuartusII在21世紀初推出,是Altera前一代FPGA/CPLD集成開發(fā)環(huán)境MAX+PLUSII的更新?lián)Q代產品,其界面友好,使用便捷。QuartusII提供了一種與結構無關的設計環(huán)境,使設計者能方便地進行設計輸入、快速處理和器件編程。Altera的QuartusII提供了完整的多平臺設計環(huán)境,能滿足各種特定設計的需要,也是單芯片可編程系統(tǒng)(SOPC)設計的綜合性環(huán)境和SOPC開發(fā)的基本設計工具,并為AlteraDSP開發(fā)包進行系統(tǒng)模型設計提供了集成綜合環(huán)境。QuartusII設計工具完全支持VHDL、Verilog的設計流程,其內部嵌有VHDL、Verilog邏輯綜合器。QuartusII也可以利用第三方的綜合工具,如LeonardoSpectrum、SynplifyPro、FPGACompilerII,并能直接調用這些工具。同樣,QuartusII具有仿真功能,同時也支持第三方仿真工具,如ModelSim。此外,QuartusII與MATLAB和DSPBuilder結合,可以進行基于FPGA的DSP系統(tǒng)開發(fā)和數(shù)字通信模塊的開發(fā)。QuartusII包括模塊化得編譯器。編譯器包括的功能模塊由分析/綜合器(Analysis&Synthesis)、適配器(Fitter)、裝配器(Assembler)、時序分析器(TimingAnalyzer)、設計輔助模塊(DesignAssistant)、EDA網表文件生成器(EDANetlistWriter)、編輯數(shù)據(jù)接口(CompilerDatabaseInterface)等??梢酝ㄟ^選擇StartCompiler來運行所有的編譯器模塊,也可以通過選擇Start單獨運行各個模塊。還可以通過選擇CompilerTool(Tools菜單),在CompilerTool窗口中運行該模塊來啟動編譯器模塊。在CompilerTool窗口中,可以打開該模塊的設置文件或報告文件,或打開其他相關窗口。QuartusII編譯器支持的硬件描述語言有VHDL、Verilog和AHDL。QuartusII支持層次化設計,可以在一個新的編輯輸入環(huán)境中對使用不同輸入設計方式完成的模塊(元件)進行調用,從而解決了原理圖與HDL混合輸入設計的問題。在設計輸入之后,QuartusII的編譯器將給出設計輸入的錯誤報告。可以使用QuartusII帶有的RTLViewer觀察綜合后的RTL圖。1.4.2CPLD簡介CPLD(ComplexProgrammableLogicDevice)復雜可編程邏輯器件[12],是從PAL和GAL器件發(fā)展出來的器件,相對而言規(guī)模大,結構復雜,屬于大規(guī)模集成電路范圍。早期的CPLD大多采用EPROM編程技術,其編程過程與簡單PLD一樣,每次編程需要在專用或通過設備上運行。后來采用E2PROM和閃爍存儲器技術,使CPLD具有了“在系統(tǒng)可編程(ISP)”特性。所謂在系統(tǒng)可編程是指未編程的ISP器件可以直接焊接在印制電路板上,然后通過計算機的數(shù)據(jù)傳輸端口和專用的編程電纜對焊接在電路板上的ISP器件直接多次編程,從而使器件具有所需要的邏輯功能。這種編程不需要使用專用的編程器,因為已將原來屬于編程器的編程電路和升壓電路集成在ISP器件內部。ISP技術使得調試過程不需要反復撥插芯片,從而不會產生引腳彎曲變形現(xiàn)象,提高了可靠性,而且可以隨時對焊接在電路板上的ISP器件的邏輯功能進行修改,從而加快了數(shù)字系統(tǒng)的調試過程。目前。ISP已成為系統(tǒng)在線遠程升級的技術手段。目前,絕大多數(shù)FPGA器件具有ISP功能。例如,Altera公司的MAX7000S(5V)、MAX7000A(3.3V)和MAX7000B(2.5V)系列,Xilinx公司的XC9500系列以及Lattice公司的CPLD器件等。開發(fā)方案與論證本章將首先介紹數(shù)字鎖兩種不同的開發(fā)方案,從方案的原理,實現(xiàn)的成本進行比較。然后論證本設計采用的方案——串行方案。2.1開發(fā)方案 開發(fā)方案有串行開發(fā)方案和并行開發(fā)方案下面分別介紹2.1.1并行開發(fā)方案并行開發(fā)方案,密碼采用并行輸入方式。密碼輸入完畢后再一次性比較。原理圖如圖2.1所示。圖2.1并行開發(fā)原理圖 數(shù)據(jù)通過鍵盤輸入,消抖后編碼存入數(shù)據(jù)緩沖器。在控制器的控制下與預存密碼進行比較正確則開啟密碼鎖。達到錯誤次數(shù)報警。2.1.2串行開發(fā)方案 串行開發(fā)方案,密碼采用串行輸入。邊輸入,邊比較。多撥、少撥均視為錯誤。原理圖如圖2.2所示。圖2.2串行開發(fā)原理圖 數(shù)據(jù)通過鍵盤輸入,消抖后編碼。在控制器的控制下與預存密碼進行比較正確則開啟密碼。否則視為錯誤開啟,達到錯誤次數(shù)報警。2.2方案論證 串行開發(fā)所需硬件資源少,本設計采用串行開發(fā)方案。 依據(jù)上述對數(shù)字鎖系統(tǒng)的功能要求,其系統(tǒng)整體框圖如圖2.3所示,它將系統(tǒng)劃分為控制器和受控電路兩部分,受控電路由消抖電路模塊、編碼器、比較器、密碼預置、計數(shù)器、觸發(fā)器等模塊組成。數(shù)字密碼鎖控制系統(tǒng)的輸入信號包括:數(shù)字密碼鍵盤0~9,上鎖鍵STEUP,復位鍵START,解除鎖定鍵ISETUP,開鎖鍵OPEN;輸出信號包括:開門指示燈LD,錯誤指示燈HD,報警器BG。數(shù)字鎖的密碼采用3x4鍵盤輸入,由于3x4鍵盤輸出為行線/列線信號,所以首先經編碼器編碼(圖中kr,kc為總線信號)將行線/列線信號變?yōu)橄鄳?~9的8421BCD碼并與原存儲于系統(tǒng)中的密碼相比較,因而需要有一個4位等值比較器,并將比較結果DEP反饋給控制器。圖2.3數(shù)字密碼鎖系統(tǒng)電路整體框圖編碼器模塊的作用是將鍵盤輸入的信號編成BCD碼,并且每鍵入一個數(shù)碼,應向控制器送一個脈沖DATA_IN表示有數(shù)據(jù)輸入。比較器模塊的作用是將輸入的密碼和內置密碼進行比較,并將結果DEP反饋給控制器。密碼預置模塊的作用是預置內部密碼,因為內部預置密碼采用8位十進制數(shù),且用BCD碼表示,需32個輸入端送入,所以可選用32選4數(shù)據(jù)選擇電路來選擇密碼。由于密碼是串行輸入,依次分別于一個預置碼進行比較,因為8個十進制預置碼是提前預置好的,所以還需要一個計數(shù)器來選擇目前要比較第幾個數(shù)據(jù)。32選4數(shù)據(jù)選擇器的3位地址碼用一個模8計數(shù)器控制??刂破飨蛴嫈?shù)器提供一個清零信號RESET_CNP和時鐘信號CNP,每次通過鍵盤輸入一個密碼數(shù)字,控制器向計數(shù)器提供一個時鐘脈沖CNP,使計數(shù)器加1,當計數(shù)器到8時,說明8個密碼數(shù)字已經比較完畢,此時計數(shù)器產生進位信號CO8反饋給控制器,控制器進入待啟動狀態(tài)或預警狀態(tài)。由于輸入都采用鍵盤輸入,其按下時刻和持續(xù)時間長短是隨機的,且存在因簧片反彈引起的電平抖動現(xiàn)象。必須在每個開關后面安排一個消抖同步模塊,以保證系統(tǒng)能真確捕捉到輸入脈沖。消抖同步模塊的作用是保證系統(tǒng)能捕捉到輸入脈沖,并保證沒按一次鍵只形成一個寬度等于系統(tǒng)時鐘周期的脈沖。報警計數(shù)器模塊的作用是,每一次開啟錯誤,控制器向報警計數(shù)器提供一個時鐘信號HD,使計數(shù)器加1,當計數(shù)器到3時,說明錯誤次數(shù)達到3次,模3進位信號CO3反饋給控制器,控制器發(fā)出報警信號BG。解除鎖定或正確開門后控制器向報警計數(shù)器發(fā)出清零信號ISETUP,使計數(shù)器清零??刂破髂K在密碼系統(tǒng)每收到一個輸入的密碼數(shù)字時,應向比較計數(shù)器發(fā)出一個時鐘信號CNP。當密碼系統(tǒng)在按下開鎖鍵OPEN前收到第9個時鐘信號時,應裝入預警狀態(tài),等待按下開鎖鍵OPEN后發(fā)出錯誤信號HD。因此,密碼鎖系統(tǒng)沒輸入一個密碼數(shù)字,應向控制器送入一個脈沖DATA_IN,顯然此信號也應同步,即形成寬度只占一個系統(tǒng)時鐘的脈沖。密碼鎖系統(tǒng)的輸出有開鎖指示燈LD(綠燈)、錯誤指示燈HD(紅燈)和揚聲器。LD和HD由觸發(fā)器控制??刂破鞣謩e向觸發(fā)器提供一個置位信號S_LD、S_HD,按下上鎖鍵時向觸發(fā)器提供一個復位信號RESET_L,用來控制綠燈LD、紅燈HD工作。電路模塊功能設計數(shù)字密碼鎖系統(tǒng)電路設計采用自頂而下的設計方法。自頂而下設計方法的主要思想是對數(shù)字系統(tǒng)分模塊,分層次進行設計,這樣可以將復雜的設計劃分成若干個相對簡單的模塊,不同的模塊可完成數(shù)字系統(tǒng)中某一部分的具體功能,從而使電路設計大為簡化。本章對個模塊進行功能設計,即各模塊的功能描述。將分受控電路和控制電路兩部分描述。3.1受控電路受控電路的主要版塊有,鍵盤編碼電路模塊、消抖電路模塊、比較器模塊、密碼預置木塊、比較計數(shù)器模塊和報警計數(shù)模塊3.1.1鍵盤編碼電路模塊 數(shù)字密碼鎖控制系統(tǒng)的輸入信號包括:數(shù)字密碼鍵盤0~9,復位鍵START,開鎖鍵OPEN,上鎖鍵SETUP,功能鍵ISETUP。 4*4矩陣式鍵盤完全能滿足上述要求,且經濟美觀。根據(jù)需要,鍵盤布局如圖3.1所示。圖3.1鍵盤按鍵布局 根據(jù)4*4矩陣式鍵盤特點,采用行列式編碼方式。為減少硬件的開銷,只對數(shù)字0~9進行編碼。行線kc送高電平(1111),列線kr送低電平(000)。當沒有按鍵時,行線和列線是斷開的。當有按鍵時,行線和列線信號將相應有所改變,據(jù)此,可對此類信號進行編碼,達到識別的目的。鍵盤的輸入原理如圖3.2所示。圖3.2鍵盤編碼原理3.1.2按鍵消抖電路模塊 由于本設計采用的是鍵盤輸入,按鍵時手部的抖動,輸入信號就會產生不穩(wěn)定脈沖。如果信號不加以處理就可能會導致錯誤的信號識別。因此每個輸入端就各需要一個消抖電路。也就是說,輸入信號波形有抖動,但經過消抖之后,其輸出也為正規(guī)的矩形波。 如圖3.3所示的信號波形,在正常信號的上升沿和下降沿含有一些隨即干擾信號,或隨即抖動。為了去除這些抖動干擾脈沖,可采用如圖3.4所示電路來實現(xiàn)這個目標。 圖3.3信號上升與下降沿都含有隨機干擾抖動信號 圖3.4所示電路有2個上升沿D觸發(fā)器和一個2輸入與門構成。設key_in是輸入信號,clk是消抖電路本身的工作時鐘。2個D觸發(fā)器連接成同步時序方式,即將他們的輸入端都連在一起。輸入信號以移位串行方式向前傳遞。信號的輸出口是key_out。 當信號輸入電路后,能在key_out輸出脈沖信號的條件是,必須2個D觸發(fā)器的輸出端都同為1,從而2輸入與門來輸出高電平。由于干擾信號是一群寬度狹窄的隨機信號,在串入是,很難同時時與門輸出為1,而只有正常信號才有足夠的寬度通過此電路,從而起到“濾波”功能。圖3.4消抖電路3.1.3密碼比較電路模塊 密碼驗證用于將編碼器轉化后的8421BCD碼與預置密碼進行比較。因此只需要比較兩組數(shù)據(jù)是否相等,不需要知道誰大誰小,所以采用等值比較器。設比較器的4個輸入端為y0~y3,輸出端為f0~f3,當比較兩數(shù)正確時輸出一個dep有效信號“1”給控制器,否則輸出為“0”。如圖3.5所示。圖3.5密碼驗證3.1.4密碼比較計數(shù)器電路模塊本設計采用串行輸入,所以還得有計數(shù)器,用于判斷密碼比較到第幾個數(shù)字和密碼是否輸入完畢。計數(shù)器是一種累積脈沖的邏輯部件,clr為復位信號,高電平有效。當復位信號clr為低電平時,脈沖信號clk每來一個脈沖就計數(shù)一次,模8進位信號co8用于判斷密碼是否輸入完畢,q[i]用于判斷目前比較到第幾個數(shù)字。設計如圖3.6所示。圖3.6密碼比較計數(shù)器3.1.5密碼預置電路模塊 密碼預置電路用于設置密碼,本系統(tǒng)密碼采用內置方式。修改密碼需重夠邏輯。密碼預置需能判斷需比較第幾位密碼。系統(tǒng)內置8位密碼用8421BCD碼表示則需要4位輸出y0~y3。q[i]接收由密碼比較計數(shù)器發(fā)來的信號用于判斷比較第幾位密碼。設計如圖3.7所示。圖3.7密碼預置3.1.6錯誤報警電路模塊 在實際運用中,增加報警功能有他的必要。本系統(tǒng)采用3次錯誤報警設置。那么就需要一個模3計數(shù)器。同密碼比較計數(shù)器原理基本一樣。clr為復位信號,高電平有效。當復位信號clr為低電平時,脈沖信號clk每來一個脈沖計數(shù)一次,模3進位信號co3用于判斷錯誤次數(shù)是否達到上限。設計如圖3.8所示。圖3.8報警計數(shù)器3.1.7觸發(fā)器電路模塊觸發(fā)器是一個門輸出電路,用LD表示密碼鎖打開,HD表示開啟過程出錯。控制器向該模塊提供置數(shù)和復位信號(低電平有效),用于驅動兩個指示燈和門電路工作。當復位信號RESET_L有效時,指示燈LD和HD熄滅。RESET_L為脈沖信號,門狀態(tài)是一個連續(xù)狀態(tài),所以采用非門信號作為輸出。設計圖如圖3.9所示。圖3.9觸發(fā)器3.2控制器電路 控制器是整個電子密碼鎖的核心。根據(jù)設計要求,可知控制器共有6個狀態(tài),即待鎖狀態(tài)A、上鎖狀態(tài)B、輸入密碼狀態(tài)C、待啟動裝袋D、預警狀態(tài)E和報警狀態(tài)F??刂破髂K工作狀態(tài)流程圖(簡稱ASM圖)如圖3.10所示。矩形框:工作狀態(tài)菱形框:分支條件平行四邊形框:條件輸出開門鍵(OPEN)上鎖(SETUP)解除鎖定(ISETUP)上鎖(STATR)圖3.10控制器工作狀態(tài)流程圖待鎖狀態(tài)A待鎖狀態(tài)是指密碼鎖系統(tǒng)處于打開、報警后的狀態(tài)。此時數(shù)字鎖尚未“鎖好”,還未進入正常運行,因此系統(tǒng)不接受除上鎖鍵(SETUP)或解除鎖定鍵(ISETUP)外的任何輸入信號。當按下上鎖鍵后,系統(tǒng)將進入上鎖狀態(tài),且將開門標志燈LD、錯誤燈HD熄滅,警報器聲音切斷,因而需輸入RESET_L復位信號。在圖3-10待鎖狀態(tài)的流程中,當SETUP=1時進入第二狀態(tài),START=0時維持原狀態(tài);當SETUP=1時輸出RESET_L復位信號。至于en使能信號,是用來控制數(shù)據(jù)輸入信號DATA_IN、開門信號OPEN輸入的,在本狀態(tài)皆應無效且條件上鎖SETUP無關,是一種無條件輸出,因而標在算法狀態(tài)框旁邊,并用箭頭↓表示無效。上鎖狀態(tài)B系統(tǒng)的第二狀態(tài)實在按下上鎖鍵SETUP以后,數(shù)字鎖已“鎖好”,系統(tǒng)正常運行,等待執(zhí)行開鎖狀態(tài)。當按下START時,將轉入開鎖狀態(tài),開鎖程序開始執(zhí)行,等待輸入密碼數(shù)字,此時應將計數(shù)器清零,故在第二工作狀態(tài)中有一條輸出框,輸出比較計數(shù)器清零信號RESER_CNP。輸入密碼狀態(tài)C進入此狀態(tài)時,en使能信號變?yōu)橛行г试S輸入密碼數(shù)字0~9或按下開鎖鍵OPEN,故而在狀態(tài)框旁邊標有en↑。該狀態(tài)每收到一個信號應線判斷是密碼數(shù)據(jù)信號DATA_IN還是開鎖信號OPEN。如果是開鎖信號OPEN則不符合開鎖程序,應發(fā)出開鎖錯誤信號,級發(fā)出紅燈信號HD;若是密碼信號,則控制器應向計數(shù)器發(fā)出時鐘信號CNP,若DEP=0,意味著輸入密碼不對,應轉入預警狀態(tài)E,否則檢查計數(shù)器狀態(tài)是否已計到8,若模8信號CO8有效則表示已接受到8個正確密碼,可轉入下一狀態(tài)待啟動狀態(tài),否則返回本狀態(tài),繼續(xù)接受其他密碼。在轉移到預警狀態(tài)E或待啟動狀態(tài)D以前,如果收到復位信號SATRA,控制器發(fā)出比較計數(shù)器清零信號RESET_CNP,使計數(shù)器清零,則前面收到的密碼無效,重新進行輸入密碼操作。待啟動狀態(tài)D在待啟動狀態(tài),這時控制器將判斷按鍵輸入的是密碼數(shù)字信號還是開鎖信號,若是開鎖信號OPEN,則發(fā)出綠燈信號LD,使綠燈點亮,啟動開門續(xù)電器;若是數(shù)字密碼信號,則進入預警狀態(tài)。在待啟動狀態(tài)下,在接受信號以前如果按動復位鍵START,則控制器將發(fā)出比較計數(shù)器清零信號RESET_CNP并回到輸入密碼狀態(tài)。預警狀態(tài)E在預警狀態(tài),此時若按復位鍵,系統(tǒng)發(fā)出比較計數(shù)器清零信號RESET_CNP后,并使控制器回到輸入密碼狀態(tài)。若按下開鎖鍵OPEN,使紅燈HD點亮,并向報警計數(shù)器發(fā)出時鐘信號。錯誤狀態(tài)F在此狀態(tài),每亮一次紅燈HD,計數(shù)加1,按復位鍵SATRA返回到密碼輸入狀態(tài)C。當計數(shù)器CO3有效為高電平時進入報警狀態(tài)。報警狀態(tài)G當報警計數(shù)器CO3有效,此時報警器鳴叫,須按解除鎖定鍵I_SETUP方回到上鎖狀態(tài)。詳細設計與模塊仿真本章主要解決各功能模塊的VHDL實現(xiàn)和其功能的仿真測試。4.1受控電路源程序與仿真受控電路在控制器的控制下完成相應的電路功能,在第三章我們完成了電路的功能設計,接下來將對各模塊進行VHDL實現(xiàn)以及相應功能的仿真測試,測試是否達到設計要求。4.1.1鍵盤編碼電路模塊 該電路模塊主要完成的是鍵盤的編碼。VHDL源程序見附錄A-1。 編碼器電路的仿真波形如圖4.1所示。從波形圖可以看出,en是使能端,高電平有效,它由控制器的輸出控制。當en=0是,輸出為0;當en為高電平時,可以進行編碼。當en=1時,按下相應的按鍵,輸出即為輸入數(shù)據(jù)對應的8421BCD碼。dout端由于用來記錄輸入數(shù)據(jù)的個數(shù),因此無論輸入是否有效,只要有輸入dout端就會產生高電平輸出,以記錄輸入數(shù)據(jù)的個數(shù)。dout信號經消抖同步后送到控制器data_in輸入端。圖4.1編碼器電路模塊的仿真波形 通過VHDL源代碼很容易得邏輯電路圖如4.2所示。圖4.2編碼器電路模塊邏輯電路4.1.2按鍵消抖電路模塊本部分采用所用都是基本元件,宜采用圖形設計輸入方式,如圖3-4所示。這里不在熬述。 消抖電路模塊仿真波形如圖4.3所示。由波形圖可以看出,在一個上升沿檢測到有按鍵時則不管這一時鐘周期內有多少次抖動,只輸出一個時鐘周期寬度的脈沖信號。并且當按鍵一直持續(xù)多少個時鐘周期時,輸出信號仍為一個時鐘周期寬度的單脈沖。圖4.3消抖電路仿真波形 消抖電路邏輯電路圖如圖4.4所示.圖4.4消抖電路邏輯電路4.1.3密碼比較電路模塊密碼驗證就是一個等值比較電路,將編碼器轉化后的8421BCD碼與預置密碼進行比較。VHDL源程序鍵附錄A-2。 比較器電路模塊仿真波形如圖4.5所示。從比較器仿真波形可以看出,當兩組數(shù)據(jù)y[3..0]與f[3..0]相等時輸出端dep輸出有效信號高電平給控制器,否則輸出低電平。圖4.5比較器仿真波形 比較器邏輯電路如圖4.6所示。圖4.6比較器邏輯電路4.1.4比較計數(shù)器因為是串行輸入,密碼比較還需要一個計數(shù)器器。VHDL源程序見附錄A-3。 比較計數(shù)器電路模塊的仿真波形如圖4.7所示。從波形圖可以看出,當復位信號clr為低電平時,時鐘脈沖輸入clk在上升沿有效,輸出端q[2..0]進行8進制計數(shù),并且當計數(shù)到8個數(shù)時,進位信號CO8轉為高電平,表明密碼輸入完畢,可以開啟密碼鎖。圖4.7比較計數(shù)器仿真波形 比較計數(shù)器邏輯電路圖如圖4.8所示。圖4.8比較計數(shù)器邏輯電路4.1.5密碼預置電路模塊 本設計采用內置密碼設置,修改密碼需重構邏輯。這里設定密碼為八位數(shù)12345678,同時密碼預置部分還需要判斷比較到第幾個數(shù)字。信號通過比較計數(shù)器獲得。VHDL源程序見附錄A-4。 密碼預置電路模塊仿真波形如圖4.9所示。從波形可以看出,從比較計數(shù)器過來的信號q[2..0]能正確的控制預置密碼的輸出。圖4.9密碼預置電路仿真波形 密碼預置電路模塊邏輯電路圖如圖4.10所示。圖4.10密碼預置邏輯電路4.1.5錯誤報警電路模塊當開門錯誤達到3次時,報警器將鳴叫。因此需要一個模3計數(shù)器。VHDL源程序見附錄A-5。報警計數(shù)器電路模塊的仿真波形如圖4.11所示。從波形圖可以看出,當復位信號clr為低電平時,時鐘脈沖輸入clk在上升沿有效,輸出端q[1..0]進行1進制計數(shù),并且當計數(shù)到3個數(shù)時,進位信號co3轉為高電平,表明錯誤次數(shù)達到上限,開始報警。圖4.11報警計數(shù)器仿真波形 報警計數(shù)器電路模塊邏輯電路圖如圖4.12所示。圖4.12報警計數(shù)器邏輯電路4.1.6輸出電路模塊 輸出電路主要是一個門狀態(tài)電路,采用兩個RS觸發(fā)器輸出控制驅動電路。VHDL源程序見附錄A-6。 觸發(fā)器模塊仿真波形如圖4.13所示,在圖中z1為控制器端輸出的原始信號,將與其相反的qb信號加上非門為紅燈和綠燈的驅動信號。圖4.13觸發(fā)器模塊的仿真波形 觸發(fā)器模塊的邏輯電路如圖4.14所示。圖4.14觸發(fā)器模塊邏輯電路4.2控制器電路源程序與仿真 控制器是系統(tǒng)的最核心部分,對系統(tǒng)各模塊的輸入輸出進行邏輯綜合,從而達到設計要求??刂破魇且粋€時序邏輯電路,是根據(jù)控制器詳細工作流程圖來設計。根據(jù)3.2工作流程圖,可得出如圖4.15MDS狀態(tài)圖。 圖4-15說明如下: 1:SETUP2:SETUP3:SATRA4:START6:OPEN?START8:OPEN?10:OPEN11:DATA_IN?13:DATA_IN?START14:DATA_IN15:17:START?OPEN18:CO3?21:ISETUP22:ISETUP圖4.15控制器MDS圖采用一對一的方式,用7個觸發(fā)器QA、QB、QC、QD、QE、QF、QG表示7個狀態(tài),則7個觸發(fā)器的激勵方程分別為QAQBQCQDQEQFQG各有關輸出為 EN=Q RESET_L=SETUP RESET_CNP= CNP= HD=OPEN? LD=在編寫源程序時采用VHDL的數(shù)據(jù)流描述方式,根據(jù)得出的各狀態(tài)方程編寫程序。控制器VHDL源程序如下:libraryieee;useieee.std_logic_1164.all;useieee.std_logic_unsigned.all;entitykong_zhi_qiis port(clk,setup,start,isetup,iopen,data_in,co8,co3,dep:instd_logic; reset_l:outstd_logic;--定義信號燈清零信號 ld:outstd_logic;--定義綠色信號燈 hd:outstd_logic;--定義紅色信號燈 cnp:outstd_logic;--計數(shù)器脈沖信號 reset_cnp:outstd_logic;--計數(shù)器清零信號 en:outstd_logic;--鍵盤使能信號 qa,qb,qc,qd,qe,qf,qg:outstd_logic);--控制器狀態(tài)信號,用于測試endkong_zhi_qi;architecturebehaveofkong_zhi_qiissignalqa1,qb1,qc1,qd1,qe1,qf1,qg1:std_logic; begin process(clk) begin if(clk'eventandclk='1')then qa1<=(notsetupandqa1)or(iopenand(notdata_in)and(notstart)andqd1)or((notqa1)and(notqb1)and(notqc1)and(notqd1)and(notqe1)and(notqf1)and(notqg1));--待鎖狀態(tài)A qb1<=(setupandqa1)or((notstart)andqb1)or(isetupandqg1);--待鎖狀態(tài)B qc1<=(startandqb1)or(qd1and(notdata_in)andstart)or(qe1andstart)or((notco3)andstartandqf1)or((notiopen)and(notstart)and(notdata_in)andqc1)or((notiopen)andstartandqc1)or((notiopen)and(notstart)anddata_inanddepand(notco8)andqc1);--輸入密碼狀態(tài)C qd1<=((notiopen)and(notstart)anddata_inanddepandco8andqc1)or((notdata_in)and(notstart)and(notiopen)andqd1);--待啟動狀態(tài)D qe1<=((notiopen)and(notstart)anddata_inand(notdep)andqc1)or(data_inandqd1)or((notstart)and(notiopen)andqe1);--預警狀態(tài)E qf1<=((notstart)andiopenandqe1)or(iopenandqc1)or((notstart)and(notco3)andqf1);--錯誤狀態(tài)F qg1<=(co3andqf1)or((notisetup)andqg1);--報警狀態(tài)G reset_cnp<=(qb1andstart)or(qc1and(notiopen)andstart)or(qd1and(notdata_in)andstart)or(qe1andstart)or(qf1and(notco3)andstart); en<=qc1orqd1orqe1orqf1; reset_l<=(setupandqa1)or(isetupandqg1); cnp<=data_inandqc1and(notiopen)and(notstart); hd<=(iopenandqc1)or(iopenandqe1and(notstart)); ld<=qd1andiopenand(notdata_in)and(notstart); endif; endprocess; qa<=qa1; qb<=qb1; qc<=qc1; qd<=qd1; qe<=qe1; qf<=qf1; qg<=qg1;endbehave; 控制器模塊仿真波形如圖4.16所示。圖4.16控制器仿真波形 從圖4.15系統(tǒng)的詳細波形可以看出,當?shù)谝粋€時間脈沖clk到來時待鎖狀態(tài)qa變?yōu)楦唠娖?,按下上鎖鍵setup后馬上進入上鎖狀態(tài)qb,接著按下復位鍵start進入密碼輸入狀態(tài)qc,此時一次鍵入預置密碼12345678,從數(shù)據(jù)輸入信號data_in可以看到沒輸入一位數(shù)字就有信號輸入,并且比較結果dep變?yōu)楦唠娖秸f明密碼輸入正確,當計數(shù)器時鐘信號cnp計夠8個數(shù)字時,模8進位信號co8和待啟動狀態(tài)qd同時變?yōu)楦唠娖?,此時按下開門鍵open門打開,同時開啟指示燈ld變?yōu)楦唠娖剑到y(tǒng)進入待鎖狀態(tài)qa,如圖4.15狀態(tài)1。然后系統(tǒng)依次按上鎖鍵setup和復位鍵start重新進行輸入。如圖4.15狀態(tài)2,這是輸入第八位密碼錯誤,接著開鎖,從波形圖可以看出開門錯誤指示燈hd變?yōu)楦唠娖?。復位后再次鍵入正確密碼,開門正確,如圖4.15狀態(tài)3。圖4.15狀態(tài)4是模擬當錯誤次數(shù)達到3次后系統(tǒng)進入報警狀態(tài)qf此時出ISETUP外所有按鍵無效,此時只有按解除鎖定鍵ISETUP才能回到上鎖狀態(tài)。 控制器邏輯圖見附錄B。4.3頂層文件的設計與實現(xiàn) 頂層文件采用圖形化設計方式,將前面各模塊調入連接構成。為減少系統(tǒng)圖形界面的復雜性,首先設計編碼預置模塊,然后再設計頂層文件。4.3.1編碼預置模塊 該模塊由編碼器、比較器、比較計數(shù)器和密碼預置構成。為了仿真方便再加入一個輸入模塊(實際中可去除)。該輸入模塊VHDL源程序見附錄A-7。 編碼預置模塊原理圖如圖4.17所示。圖4.17編碼預置模塊元件設計將編碼預置模塊元件化將得到如圖4.18所示編碼預置模塊元件。方便頂層文件調用。圖4.18編碼預置模塊元件4.3.2頂層文件設計 將前面設計好的各模塊調入連接如圖4.19所示。4x4鍵盤上的每個輸入端首先通過消抖后進入系統(tǒng),編碼預置模塊出來的信號dout也通過消抖電路后送入控制器。各消抖模塊與控制器工作在同一時鐘下。以期達到系統(tǒng)的同步。開門信號OPEN和控制器使能信號en通過一個與門后送入控制器,以確定開門動作實在鍵盤輸入有效的情況下進行。其他個輸入、輸出端按系統(tǒng)AMS圖進行鏈接。為了仿真測試的方便,可將控制器狀態(tài)輸出端qa~qg端也接一個輸出,以便于在仿真測試中觀察控制器所處狀態(tài),確定系統(tǒng)是否正確。 頂層文件的仿真波形將在5.1給出?,F(xiàn)先給出邏輯圖如圖4.20所示。設計結果本章將對完成的數(shù)字鎖結果進行展示,主要有功能仿真和邏輯測試。5.1仿真測試 仿真測試主要對密碼鎖系統(tǒng)進行功能測試和邏輯測試。測試系統(tǒng)功能是否達到設計要求,邏輯線路是否執(zhí)行正確。5.1.1仿真測試波形功能測試,是直接對VHDL、原理圖描述或其他描述形式的邏輯功能進行測試模擬,以了解其實現(xiàn)的功能是否滿足設計要求的過程。仿真波形不涉及任何具體器件的硬件特性。不經歷適配階段,在設計項目編輯編譯后即可進入門級仿真器進行模擬測試。直接進行功能仿真的好處是設計耗時短、對硬件庫、綜合器沒有任何要求。(1)一次開門正確 按下列順序鍵入按鍵值:上鎖→復位→鍵入密碼→開門。仿真波形如圖5.1所示。從波形圖可以看出。未上鎖是系統(tǒng)處于待鎖狀態(tài)A(圖中qa為高點平);當上鎖后系統(tǒng)馬上轉到待鎖狀態(tài)B(圖中qb為高電平,同時qa轉為低電平);隨后按下復位鍵,系統(tǒng)進入輸入密碼狀態(tài)C(qc轉為高點平),同時發(fā)出reset_cnp清零信號給比較計數(shù)器。En是能裝置為高電平允許鍵入密碼。在C狀態(tài),每收到一位密碼,發(fā)出一次cnp計數(shù),當正確比較脈沖dep為高電平時,繼續(xù)C狀態(tài)。系統(tǒng)當正確收到八位密碼后,比較計數(shù)器發(fā)來CO8有效信號(高電平),同時dep有效,系統(tǒng)轉到待啟動狀態(tài)D(qd為高點平,同時qc轉為低電平)。在此狀態(tài)系統(tǒng)收到開門信號open,門開啟綠燈ld點亮,同時系統(tǒng)回到待鎖狀態(tài)A。(2)鍵入密碼發(fā)現(xiàn)錯誤,復位后正確輸入 按下列順序鍵入按鍵值:上鎖→復位→鍵入錯誤密碼→復位→鍵入正確密碼→開門。仿真波形如圖5.2所示。從波形圖可以看出,當系統(tǒng)收到密碼信息時由于比較器給出dep為電平,系統(tǒng)判斷密碼輸入錯誤,系統(tǒng)進入預警狀態(tài)E(qe為高點平)。這時復位,系統(tǒng)再次進入輸入密碼狀態(tài)C,后面波形同5.1狀態(tài)。圖5.1正確開門狀態(tài)仿真波形圖5.2先鍵入錯誤密碼復位后再鍵入正確密碼仿真波形(3)3次開門出錯。 按下列順序鍵入按鍵值:上鎖→復位→鍵入錯誤密碼→開門→復位→鍵入錯誤密碼→開門→復位→鍵入錯誤密碼→開門。仿真波形如圖5.3所示。從波形圖可以看出,每次錯誤開門系統(tǒng)都會進入錯誤狀態(tài)F(qf為高電平)復位后再次進入密碼輸入狀態(tài)C,當報警計數(shù)器CO8有效(高電平)表示錯誤次數(shù)達到上限,這時系統(tǒng)進入報警狀態(tài)G,不在接受除解除鎖定鍵外的任何輸入。Baojing轉為高電平,警報器鳴叫。圖5.3三次開門錯誤報警波形圖5.1.2邏輯測試 借鑒軟件工程的知識,本環(huán)節(jié)對數(shù)字密碼鎖系統(tǒng)進行白盒測試。測試各語句是否都能執(zhí)行,而不考慮是否正確執(zhí)行。 本設計將采用基本路徑測試方法。根據(jù)3-10流程圖可得如下測試路徑。路徑1:待鎖狀態(tài)A→上鎖NO;路徑2:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位NO;路徑3:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門YES→錯誤狀態(tài)F;路徑4:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門NO→復位YES;路徑5:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門NO→復位NO→輸入密碼NO;路徑6:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門NO→復位NO→輸入錯誤密碼;路徑7:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門NO→復位NO→輸入正確密碼;路徑8:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門NO→復位NO→輸入正確密碼→待啟動狀態(tài)D→輸入密碼YES→預警狀態(tài)E→復位YES;路徑9:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門NO→復位NO→輸入正確密碼→待啟動狀態(tài)D→輸入密碼YES→預警狀態(tài)E→復位NO→開門NO;路徑10:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門NO→復位NO→輸入正確密碼→待啟動狀態(tài)D→輸入密碼YES→預警狀態(tài)E→復位NO→開門YES→錯誤狀態(tài)F;路勁11:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門NO→復位NO→輸入正確密碼→待啟動狀態(tài)D→復位YES;路徑12:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門NO→復位NO→輸入正確密碼→待啟動狀態(tài)D→復位NO→開門NO;路徑13:待鎖狀態(tài)A→上鎖YES→待鎖狀態(tài)B→復位YES→輸入密碼狀態(tài)C→開門NO→復位NO→輸入正確密碼→待啟動狀態(tài)D→復位NO→開門YES;路徑14:錯誤狀態(tài)F不超過3次→復位NO;路徑15:錯誤狀態(tài)F不超過3次→復位YES;路徑16:錯誤狀態(tài)F達到3次→解除鎖定NO;路徑17:錯誤狀態(tài)F達到3次→解除鎖定YES;限于篇幅,具體測試過程省略。通過測試,確保每條路徑都至少執(zhí)行了一遍,測試系統(tǒng)內部動作是否按照設計的規(guī)定正常進行。測試結果顯示,系統(tǒng)內部動作是按照設計規(guī)定正常進行。第六章總結與展望社會在發(fā)展,產品也要發(fā)展,本章將對數(shù)字鎖得應用場合和發(fā)展方向進行一下展望。6.1密碼鎖系統(tǒng)應用場合 根據(jù)不同的應用場景,本系統(tǒng)稍作更改可適應多種場合。如果系統(tǒng)用于樓道系統(tǒng),那么可根據(jù)不同用戶設置不同密碼,實現(xiàn)同門不同密。比如:對每個用戶設置身份識別碼,根據(jù)不同身份系統(tǒng)將調用不同密碼。如果系統(tǒng)需要經常修改密碼,可在系統(tǒng)密碼設計部分加入FlashMemory實現(xiàn)動態(tài)存儲密碼功能,以實現(xiàn)不同的需求。如果系統(tǒng)用于保險柜,可將報警計數(shù)器更改為1次報警增加安全系數(shù)。如果系統(tǒng)用于高檔家庭住宅,可將鍵盤部門改用觸摸屏編碼,增加時尚氣息。當然還有很多應用場合,在這里不在熬述。6.2密碼鎖系統(tǒng)未來發(fā)展 隨著科技的飛躍發(fā)展,越來越多的新技術誕生。必然給各行業(yè)帶來不同的機遇。同樣密碼鎖也一樣。下面就這方面簡述如下:IC卡密碼鎖IC卡(又稱智能卡)具有存儲量打、數(shù)據(jù)保密性好、抗干擾能力強、存儲可靠、讀卡設備簡單、操作速度快、脫機工作能力強等優(yōu)點。目前在金融、稅務、交通、醫(yī)療等各個領域都有廣泛的應用。IC卡電子密碼鎖目前已是成熟的產品,在酒店系統(tǒng)有廣泛的應用。指紋密碼鎖指紋在這個世界上很難找到一樣的,所以就把指紋識別技術運用到密碼鎖上,保密性強,易用。但由于算法過于復雜目前主要應用于軍隊,金融等高保密性行業(yè)。虹膜密碼鎖虹膜識別是目前比較新的識別技術,人眼虹膜也同指紋一樣是獨一無二的。并且不指紋更加不容易被復制。將人體虹膜作為密碼將是一種有效可行的方法。目前虹膜識別技術還在發(fā)展階段,將來必然是密碼鎖的又一發(fā)展方向。6.3總結 本設計設計了一個八位數(shù)字密碼鎖,使用Altera公司的QuartusII開發(fā)軟件,硬件描述語言是VHDL。此八位數(shù)字密碼鎖具有如下幾個特點: (1)“復位”鍵清零,“上鎖”鍵上鎖,“開門”鍵開鎖,“解除鎖定”鍵解除警報?!敖獬i定”鍵可設置在安全的地方,保安室或使用者一時無法接觸的地方。 (2)密碼采用串行輸入,只有密碼位數(shù)正確,且都正確的情況下密碼才有效。 (3)連續(xù)開鎖三次錯誤后,報警系統(tǒng)啟動。三次的設計擁有不錯的“容錯”功能,并有抗暴力破解能力。 (4)報警系統(tǒng)一旦啟動,除“解除鎖定”鍵外,所有的功能鍵都將無效。這是通過“解除鎖定”可關閉報警系統(tǒng)。 本設計所設計的電子密碼鎖功能與性能方面來說還是比較簡單的。由于本人知識的局限性,不能全方面考量實際中的一切問題,難免有所疏忽、遺漏。 通過本次設計,全面的鍛煉了我的分析問題能力,解決問題能力。這將對我今后的工作產生莫大的影響。同時在理論方面,又上了一個臺階。參考文獻[1]邊計年,薛宏熙譯.用VHDL設計電子線路[M].北京:清華大學出版社,2000.[2]黃正謹,徐堅等.CPLD系統(tǒng)設計技術入門與應用.北京:電子工業(yè)出版社,2002.[3]康華光.電子技術基礎(第四版)[M].北京:高等教育出版社,1998.[4]梁宗善.新型集成塊應用[M].武漢:華中理工大出版社,2004.[5]王振紅.VHDL數(shù)字電路設計與應用實踐教程[M].北京:機械工業(yè)出版社,2002.[6]譚會生.EDA技術綜合應用事例與分析[M].西安:西安電子科技大學出版社,2000.[7]西.VHDL與復雜數(shù)字系統(tǒng)設計[M].西安:西安電子科技大學出版社,2003.[8]侯伯亨,顧新.VHDL硬件描述語言與數(shù)字邏輯電路設計[M].西安:西安電子科技大學出版社,2004.[9]譚會生,瞿隧春.EDA技術綜合應用實例與分析[M].西安:西安電子科技大學出版社,2004.[10]王道憲.CPLD/FPGA可編程邏輯器件應用與開發(fā)[M].北京:國防工業(yè)出版社,2005.[11]曾繁態(tài),等著.EDA工程概論[M].北京:清華大學出版社,2003.[12]潘松,黃繼業(yè).EDA技術與VHDL[M].北京:清華大學出版社,2009.[13]顏昌銀.嵌入式多電平逆變技術的研究[D].哈爾濱:哈爾濱工程大學,2008.[14]劉夫江.基于單片機和CPLD的等精度數(shù)字頻率計設計[D].山東:山東大學,2007.[15]潘志浪.基于FPGA的DDS信號源的設計[D].武漢:武漢理工大學,2007.[16]申國政.基于FPGA的雷達激勵器信號發(fā)生器的研究[D].哈爾濱:哈爾濱工業(yè)大學,2007.[17]王軍.集成保護中數(shù)據(jù)同步采集的研究與實現(xiàn)[D].北京:北京交通大學,2008.[18]張旭方.軟啟動數(shù)字觸發(fā)器研究[D].武漢:武漢理工大學,2008.[19]HuangJiwu.TheFeaturesofMicrocontrollerAT89C52andTechniqueofPortConnectionwithI2CSeriesBus[J].WUHANUNIVERSITYJOURNALOFNATURALSCIENCES.2000.(4):461-463.[20]PoloskyMA,CarciaEJ,AllenJJ.Surfacemicromachinedcounter2meshinggearsdiscriminationdevices.SAND29820256C.1998.致謝畢業(yè)設計是大學生活的最后一個課題,在感受收獲的喜悅的同時,心中更是充滿了感激之情。由衷的感謝導師對我的指導。設計從開題到定稿,都離不開欒老師的悉心教導。設計既是一個開發(fā)過程也是一個學習過程,在此過程中我受益匪淺。感謝學院的全體老師們在大學四年來對我的教導,感謝他們在學習和生活中給予我的關心和幫助!感謝我的家人!感謝父母多年的養(yǎng)育之恩!感謝他們對我各方面的關心、鼓勵和支持!真心感謝所有給予我?guī)椭椭С值膸熼L和朋友們!在此,請允許我說聲“謝謝!謝謝你們!”。附錄附錄AVHDL源代碼A-1編碼器LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;useieee.std_logic_arith.all;ENTITYjian_panIS PORT(en:INstd_logic; kr:INstd_logic_vector(3DOWNTO0); kc:INstd_logic_vector(2DOWNTO0); dout:OUTstd_logic; data:OUTstd_logic_vector(3DOWNTO0));ENDjian_pan;ARCHITECTUREoneOFjian_panISBEGIN PROCESS(en,kr,kc) BEGIN if(en='0')then dout<='0'; elsif(en='1')then if(kr="1111")then dout<='0'; data<="0000"; else dout<='1'; endif; if(kr="1110")then casekcis when"010"=>data<="1010";--0 whenothers=>null; endcase; elsif(kr="1101")then casekcis when"100"=>data<="0001";--1 when"010"=>data<="0010";--2 when"001"=>data<="0011";--3 whenothers=>null; endcase; elsif(kr="1011")then casekcis when"100"=>data<="0100";--4 when"010"=>data<="0101";--5 when"001"=>data<="0110";--6 whenothers=>null; endcase; elsif(kr="0111")then casekcis when"100"=>data<="0111";--7 when"010"=>data<="1000";--8 when"001"=>data<="1001";--9 whenothers=>null; endcase; endif; endif; endPROCESS;ENDone;A-2比較器Libraryieee;useieee.std_logic_1164.all;entitybi_jiao_qiis port(f,y:inbit_vector(3downto0); dep:outbit);endbi_jiao_qi;architectureoneofbi_jiao_qiis begin process(f,y) begin iff=ythen dep<='1'; else dep<='0'; endif; endprocess;endone;A-3比較計數(shù)器LIBRARYieee;USEieee.std_logic_1164.all;USEieee.std_logic_unsigned.all;ENTITYbi_jiao_ji_shu_qiISPORT(clk,clr:INstd_logic;--clr為復位信號高電平有效clk為計數(shù)脈沖 q:OUTstd_logic_vector(2DOWNTO0); co8:OUTstd_logic);ENDbi_jiao_ji_shu_qi;ARCHITECTUREoneOFbi_jiao_ji_shu_qiISSIGNALtmp:std_logic_vector(2DOWNTO0);BEGIN PROCESS(clk,clr) BEGIN IF(clr='1')THEN tmp<="000";co8<='0'; ELSIF(clk'eventANDclk='1')THEN IF(tmp="111")THEN co8<='1';tmp<="000"; ELSE tmp<=tmp+'1'; ENDIF; ENDIF; q<=tmp; ENDPROCESS;ENDone;A-4密碼預置libraryieee;use

溫馨提示

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

評論

0/150

提交評論