智能密碼鎖控制系統(tǒng)設計_第1頁
智能密碼鎖控制系統(tǒng)設計_第2頁
智能密碼鎖控制系統(tǒng)設計_第3頁
智能密碼鎖控制系統(tǒng)設計_第4頁
智能密碼鎖控制系統(tǒng)設計_第5頁
已閱讀5頁,還剩20頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

題目:智能密碼鎖控制系統(tǒng)設計

大作業(yè)摘要基于FPGA設計的點子密碼鎖是一個小型的數(shù)字系統(tǒng),與普通機械鎖相比,具有許多獨特的有點:保密性好,防盜性強,可以不用鑰匙,記住密碼即可開鎖等。目前使用的點子密碼鎖大部分是基于單片機技術,在實際應用中,程序容易跑飛,系統(tǒng)的可靠性較差。此設計是一種基于現(xiàn)場可編輯門陣列FPGA器件的電子密碼鎖的設計方法,采用VHDL語言對系統(tǒng)進行描述,并在EP3C10E144C8上實現(xiàn)。設計的背景、目的和意義密碼鎖就是要有一定的自我保護功能,并且能夠定時更新防止破譯的危險。密碼鎖控制器是硬件與軟件的結合。VerilogHDL只需要根據(jù)系統(tǒng)設計的要求施加不同的約束條件,即可設計出實際電路。利用計算機的強大功能,在EDA工具的支持下,把邏輯驗證與具體工藝庫相匹配,將布線及延遲計算分成不同的階段來實現(xiàn),減少了設計者的繁重勞動。設計任務及要求課程設計的任務設計一個6位的數(shù)字密碼鎖,利用VerilogHDL語言來實現(xiàn),并用QuartusⅡ記性仿真與測試。課程設計的要求設計一個簡單的數(shù)字密碼鎖,密碼為3位1.在內部設置密碼,其密碼用3位十進制數(shù)表示2輸入密碼時,每次輸入一位數(shù),輸入后按#進行確認。3當輸入的密碼順序與設置的密碼一致時,密碼鎖打開,否則,則報警。連續(xù)三次錯誤則鎖死。確定輸入和輸出變量Input:nRST,MIMA_IN,QUEREN,CLK;Output:OPEN,ERROR;確定輸入狀態(tài)input:output:CLK:主時鐘open:開鎖成功open=1nREST:復位ERROR:開鎖錯誤QUEREN:確認密碼ERROR=1MIMA_IN:密碼輸入整體設計框圖方案論證方案1:采用數(shù)字電路控制,用以CMOS構成的數(shù)字邏輯電路作為密碼鎖的控制核心,用verilogHDL硬件描述語言來進行仿真。

方案2:采用以AT89C51單片機為核心控制的方案。能完成開鎖,修改密碼,密碼錯誤報警,LCD顯示密碼等基本的密碼鎖功能?;趩纹瑱C的實現(xiàn)方案原理復雜,調試比較麻煩,所用到的器件比較多,而用數(shù)字電路的實現(xiàn)過程相對而言比較簡單,軟件易于實現(xiàn),容易調試。狀態(tài)機設計(狀態(tài)轉換圖)

狀態(tài)機設計(狀態(tài)編碼)odulemimasuo(clk,//主時鐘,直接接17號引腳,不需要外接nrst,//復位按鍵,接上面一排的按鍵mima_in,//密碼輸入,接三個下面的撥碼開關queren,//確認輸好密碼,接上面一排的按鍵lock,//三次錯誤,鎖死,接LED燈0-鎖死open//密碼正確,打開,接LED燈0-打開);parametermima=3'b011;//設置默認密碼inputclk;inputnrst;input[2:0]mima_in;inputqueren;outputlock;outputopen;regis_right;reg[1:0]count;reg[3:0]cs;//當前狀態(tài)reg[3:0]ns;//下一個狀態(tài)parameter[3:0]idle=4'b0001,tanqi=4'b0010,sancisuosi=4'b0100,kaisuo=4'b1000;//四個狀態(tài),空閑,確認鍵按下,三次鎖死,成功開鎖wirekey_out;//將確認鍵消抖后給了輸出detectu1(.clk(clk),.reset(nrst),.pin_in(queren),.h2l_sig(h2l_sig));//按鍵消抖模塊delayu2(.clk(clk),.reset(nrst),.h2l_sig(h2l_sig),.pin_out(key_out));//按鍵消抖模塊//第一個always語句塊,順序狀態(tài)轉化(三段式第一段)always@(posedgeclk,negedgenrst)beginif(!nrst)cs<=idle;elsecs<=ns;end//第二個always語句塊,根據(jù)不同的輸入轉換到不同的狀態(tài)(三段式第二段)always@(nrst,cs,key_out,count)begincase(cs)idle:if(key_out)ns=tanqi;elsens=idle;tanqi:if(count==2'd3)ns=sancisuosi; else if(count<2'd3&&is_right) ns=kaisuo; else ns=idle;sancisuosi:ns=sancisuosi;kaisuo:ns=kaisuo;endcaseend//標志寄存器,判斷密碼輸入是否正確regrlock;regropen;//密碼輸入錯誤計數(shù)//第三個always模塊,狀態(tài)機的輸出,根據(jù)狀態(tài)不同輸出不同的信號(三段式第三段)always@(posedgeclk,negedgenrst)beginif(!nrst){rlock,ropen}<=2'b11;elsebegin{rlock,ropen}<=2'b11;case(cs)idle:{rlock,ropen}<=2'b11;tanqi:{rlock,ropen}<=2'b11;sancisuosi:{rlock,ropen}<=2'b01;kaisuo:{rlock,ropen}<=2'b10;endcaseendend//第4個always語句塊,在確認鍵按下的時候判斷密碼是否正確同時使錯誤數(shù)加一,來判斷是否進行鎖死always@(negedgequeren,negedgenrst)beginif(!nrst)begincount<=0;is_right<=0;endelseif(!queren)if(mima_in==mima)is_right<=1;elsebegincount<=count+1'b1;is_right<=0;endendassignopen=ropen;assignlock=rlock;endmodule狀態(tài)機設計原理圖RTL圖仿真時序圖正確開鎖的時序圖演示照片三燈亮表示密碼正確開鎖三五兩燈同時亮表示密碼輸入錯誤并且報警四個燈亮表示連續(xù)輸入三次錯誤密碼鎖死并且報警設計結論及評價優(yōu)點:設計的密碼鎖控制器設置的是六位密碼,在系統(tǒng)復位后,用戶按鍵6次,輸入一個完整的密碼串,輸入完后,系統(tǒng)會進行比對,如果發(fā)現(xiàn)密碼吻合,則開門,否則系統(tǒng)報警,直到輸入正確的密碼,報警聲停止。這樣的設計可以很好的滿足人們的日常需求。同時,密碼鎖還具有密碼修改功能,方便操作,使得密碼鎖的使用更加安全、便捷。

不足:在軟件、硬件設計和仿真過程中遇到

溫馨提示

  • 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

提交評論