EDA4位數(shù)字密碼鎖_第1頁
EDA4位數(shù)字密碼鎖_第2頁
EDA4位數(shù)字密碼鎖_第3頁
EDA4位數(shù)字密碼鎖_第4頁
EDA4位數(shù)字密碼鎖_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、摘要摘要 隨著數(shù)字集成技術和電子設計自動化(EDA)技術的迅速發(fā)展,數(shù)字密碼鎖應 運而生。本文采用先進的 EDA 技術,利用 QUARTUS 工作平臺和 VHDL 語言, 設計了一種新型的數(shù)字密碼鎖,它不但可以完成鎖具的基本功能,還能附加一些 其他的智能,例如:報警、識別功能,數(shù)字密碼鎖具功能齊全,安全系數(shù)高, 有機械鎖無可比擬的優(yōu)越性,它的造價成本低,易于操作,越來越受到眾多客 戶的青睞,可以優(yōu)先占領市場有利份額。 關鍵詞:EDA 技術 quartus工作平臺 VHDL 語言 數(shù)字密碼鎖 目錄目錄 1 1 引言引言.1 1.1 課程設計背景.1 1.2 課程設計目的.1 1.3 課程設計內容

2、.2 2 2 數(shù)字密碼鎖設計數(shù)字密碼鎖設計.2 2.1 系統(tǒng)設計.2 2.2 模塊功能.2 2.2.1 控制模塊 .2 2.2.2 比較模塊 .3 2.2.3 寄存模塊.5 3 3 仿真分析仿真分析.6 3.1 控制模塊的仿真.6 3.2 比較模塊的仿真.7 3.3 寄存模塊的仿真.8 3.4 系統(tǒng)的仿真波形.9 3.5 系統(tǒng)的引腳鎖定.11 4 4 總結總結.11 參考文獻參考文獻.13 1 引言引言 1.11.1 課程設計背景課程設計背景 隨著社會的發(fā)展和人們生活水平的提高,人們的安全意識的加強,安全防盜已成 為社會問題。自古以來鎖在人們的生活中扮演著重要的角色,人們對其要求也較高, 希望

3、鎖既要安全可靠地防盜,又要使用方便。目前使用廣泛的彈子鎖由于要攜帶鑰匙, 經(jīng)常更換鎖芯等缺點,已經(jīng)漸漸變得難以滿足當前社會對于安全防盜的要求。而數(shù)字 密碼鎖由于其高安全性、低成本、易操作、密碼可更換等優(yōu)點受到越來越多人的歡迎。 隨著現(xiàn)代電子技術的迅速發(fā)展,ASIC 技術的日趨進步和完善,數(shù)字系統(tǒng)的硬件設 計正朝著速度快、體積小、容量大、重量輕的方向發(fā)展。目前大部分密碼鎖采用單片 機進行設計,電路比較復雜,性能不夠靈活。而硬件描述語言 VHDL 的出現(xiàn),則為設 計者提供了一種用形式化方法來描述數(shù)字系統(tǒng)硬件電路的方法。VHDL 具有強大的系 統(tǒng)描述能力、規(guī)范的程序設計結構、靈活的語句表達風格和多層

4、次的仿真測試手段。 VHDL 使得設計者可以進行更大、更復雜的數(shù)字系統(tǒng)的設計。 本文采用先進的 EDA 技術,利用 QUARTUS 工作平臺和 VHDL 語言,設計了 一種新型的密碼鎖。該密碼鎖具有密碼預置和誤碼報警等功能,保密性好,遠遠大于 以往的密碼鎖,使隨機破譯成功率幾乎為零,編碼可變,避免因人員的更替而使鎖的 保密級別下降且有利于用戶編制易于記憶的密碼,因而該數(shù)字密碼鎖具有體積小、功 耗低、價格便宜、安全可靠,維護和升級都十分方便等優(yōu)勢。 1.21.2 課程設計目的課程設計目的 1. 掌握 VHDL 語言編程方法,通過實踐加深對理論知識的理解。 2. 學會 Quartus軟件的使用方法

5、。 3.掌握數(shù)字密碼鎖的設計方法。 4.掌握波形仿真,學會分析實驗現(xiàn)象,提高分析問題的能力。 1.31.3 課程設計內容課程設計內容 設計一個數(shù)字密碼鎖,用戶可輸入 4 位的二進制數(shù),可有用戶任意輸入正確時開 鎖,密碼輸入錯誤時報警.碼可手動預置,并可進行修改密碼,取消報警。給出系統(tǒng)總 體組成框圖,設計思路,完成以上模塊的 VHDL 實現(xiàn)及功能仿真,頂層文件及整體仿 真。 2 2 數(shù)字密碼鎖設計數(shù)字密碼鎖設計 2.12.1 系統(tǒng)設計系統(tǒng)設計 根據(jù)系統(tǒng)的設計要求,系統(tǒng)設計采用自頂向下的設計方法。頂層設計采用原理 圖的設計方式和系統(tǒng)的整體組裝,分別由控制模塊、寄存器模塊、比較器模塊等部分 組成。即

6、按照這三個組成模塊定義相應的芯片引腳和輸入輸出的參數(shù)。 2.22.2 模塊功能模塊功能 根據(jù)“自頂而上”的設計方法,將系統(tǒng)頂層實體劃分為若干模塊,本實驗大體 可分為三個模塊,分別為:頂層實體控制器模塊,寄存器模塊,比較器模塊。 控制器是整個系統(tǒng)的功能核心,接受按鍵和其他模塊傳來的信號,再根據(jù)系統(tǒng) 功能產(chǎn)生相應的控制信號送到相關的模塊,輸出鑰匙信號和報警信號。 2.2.12.2.1 控制模塊控制模塊 控制模塊采用有限狀態(tài)機設計,將系統(tǒng)分為 7 個狀態(tài),即開鎖狀態(tài)(outlock) 、 安鎖狀態(tài)(inlock)、輸入密碼狀態(tài)(input)、密碼初驗正確狀態(tài)(right)、密碼初驗錯誤狀態(tài) (wro

7、ng)、報警狀態(tài)(alarm)、修改密碼狀態(tài)(change)。狀態(tài)轉移圖如圖 2-2-1。 lock=0enter=0enter=0 changeoutlockrightx input wrong alarm inlock enter=1 xiu=0 enter=1yes=1 yes=0 start=1 enter=1 enter=1 系統(tǒng)上電時,處于開鎖狀態(tài),當輸入修改密碼 xiu 信號時,系統(tǒng)進入修改密碼狀 態(tài);若輸入安鎖 lock 信號,系統(tǒng)進入安鎖狀態(tài),鎖閉合:在安鎖狀態(tài),輸入輸入密碼 start 信號,系統(tǒng)進入輸入密碼狀態(tài);在輸入密碼狀態(tài),如輸入密碼內容和長度均正確, 進入密碼初驗正

8、確狀態(tài),如果密碼錯誤,進入密碼初驗錯誤狀態(tài);在密碼初驗正確狀 態(tài),輸入確認信號 enter 時,進入開鎖狀態(tài),在開鎖狀態(tài) kai 信號等于1 ;在密碼初 驗錯誤狀態(tài),輸入確認信號 enter 時,進入報警狀態(tài);在報警狀態(tài)。warn 信號等于1 。 VHDL 代碼如下: library ieee; use ieee.std_logic_1164.all; entity mima is port(clk,lock,start,xiu,enter,yes:in std_logic; warn,kai,wr,en:out std_logic); end; architecture bhv of mim

9、a is type state is(inlock,input,rightx,wrong,unlock,change,alarm); signal ps,ns:state; begin process(clk) begin 圖 2-2-1 狀態(tài)轉移圖 enter=0 enter=0 start=0 if clkevent and clk=1then pskai=0;en=0;warn=0; wr=0; if(start=1)then ns=input; else nsen=1;kai=0;warn=0; wr=0; if(yes=1)then ns=rightx; else nsen=0;ka

10、i=0;warn=0; wr=0; if enter=1 then ns=unlock; else nsen=0;kai=0;warn=0; wr=0; if enter=1then ns=alarm; else nskai=1;warn=0;en=0; wr=0; if lock=1then ns=inlock; elsif xiu=1then ns=change; else nswarn=1;kai=0;en=0; wr=0; if enter=1then ns=inlock; else nsen=1;warn=0;kai=1; wr=1; if enter=1then ns=unlock

11、; else ns=change; end if; end case; end process; end; 2.2.22.2.2 比較模塊比較模塊 在數(shù)字密碼器中,比較器模塊的功能是對按鍵輸入和寄存器模塊的輸出進行比 較,然后將比較的結果送入到控制器模塊。比較器的具體工作原理是:當比較結果相 等時,c 輸出為 1;當比較結果不相等時,c 的輸出為 0。 VHDL 代碼如下: library ieee; use ieee.std_logic_1164.all; entity bi is port(a,b:in std_logic_vector(3 downto 0); c:out std_log

12、ic); end; architecture bhv of bi is begin c=1when a=b else 0; end; 2.2.32.2.3 寄存模塊寄存模塊 寄存器模塊用于存放預設和修改后的密碼,并在開鎖時將所存密碼輸出到比較 器與按鍵輸入的密碼進行比較,判斷由按鍵輸入密碼是否正確的結果。 VHDL 代碼如下: library ieee; use ieee.std_logic_1164.all; entity ji is port(clk,wr,en:in std_logic; data_in:in std_logic_vector(3 downto 0); data_out:

13、out std_logic_vector(3 downto 0); end; architecture bhv of ji is signal m:std_logic_vector(3 downto 0); begin process(clk) begin if clkevent and clk=1 then if (en=1and wr=1) then data_out=data_in; m=data_in; else data_outclk,lock=lock,start=start, xiu=xiu,enter=enter,yes=g,kai=kai, warn=warn,wr=d,en

14、=e); u2:ji port map(clk=clk,wr=d,en=e,data_in=key,data_out=f); u3:bi port map(a=key,b=f,c=g); 3.53.5 系統(tǒng)的引腳鎖定系統(tǒng)的引腳鎖定 如圖 3-5 所示: 圖 3-5 引腳鎖定表 4 4 總結總結 通過這次的課程設計,使我對 EDA 這門課程、對 Quartus開發(fā)軟件和 FPGA 實驗開 發(fā)系統(tǒng)有了一個更加深刻的認識。我深深地被 EDA 的強大所震撼,Quartus開發(fā)軟件 雖然使用起來有些麻煩,但它的功能真的很強大,而且設計很自由,設計方式很多, 能極大地滿足當今社會高速發(fā)展的需要。通過這次課

15、程設計,我還懂得了理論與實際 相結合的重要性。我們只有把所學的理論知識與實踐相結合起來,從實踐中檢驗理論, 才能真正為社會服務,并且我們也可以在實踐中提高自己的實際動手能力和獨立思考 的能力,使自己更加適合當今社會的需要。 這次關于密碼鎖的課程設計,總的來說,還是比較成功的。在設計的過程中遇到 的問題,反映出來我的許多不足之處,我以后要努力克服缺點。說真的,這次的課程 設計真的很不容易,在過程中遇到了不少的問題。如:編寫源程序時,經(jīng)常不能通過。 就如在寫頂層文件的程序時,遇到了不少的問題,各元件之間的連接、頂層文件程序 與底層文件程序之間的連接以及信號的定義,總是有錯誤。但在老師同學的幫助下, 再加上自己不懈的努力,最終還是算比較順利地做了

溫馨提示

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

評論

0/150

提交評論