【正文】
基于 VHDL 的密碼鎖設(shè)計 2 Abstract With the development of economy and technology, electronics are headed to intelligentized and integrated. With the improvement of people’s living standard, the importance of how to achieve family security is being more and more outstanding. So the electronic password lock es into being. With the advantages of lower cost, higher safety coefficient, lower power consumption, and easy to use, it plays an indispensable role in people’s life and acts as a defender. This paper will have a concrete research of the electronic password lock with VHDL language design, the design method of digital system of topdown and the QUARTUS II to pile and simulate programs. This paper will achieve the goal of juding electronic password locks and changing passwords. The results of simulation shows this electronic password lock program can check 3digit password, set up password in advance and reset password. What’s more, this program is easy to use and can act the main functions of electronic password locks. Key word: Electronic bination lock。 基于 VHDL 的密碼鎖設(shè)計 3 目錄 第一章 引言 4 鎖的歷史 6 密碼鎖設(shè)計的功能 6 密碼鎖的設(shè)計總體結(jié)構(gòu) 6 第三章 密碼鎖的 總體框圖 及程序 8 密碼鎖的 鍵盤輸入框圖 8 密碼鎖的 主控制模塊框圖 9 密碼鎖的程序 14 第五章 總結(jié) 16 附錄 1 英文參考資料 20 基于 VHDL 的密碼鎖設(shè)計 4 第一章 引言 鎖的歷史 隨著社 會技術(shù)的發(fā)展,如何實現(xiàn)個人信息安全的問題越來越突出。電子密碼鎖是一種 電子密碼鎖是一種通過 密碼 輸入來控制電路或是芯片工作,從而控制機械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品?,F(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心,通過編程來實現(xiàn)的。第一,保密性好,編碼量多,幾乎可以完全避免隨機開鎖的可能性。第三,誤碼輸入保 護(hù),當(dāng)輸入多次還不正確時,程序會自動進(jìn)入保護(hù)階段,報警系統(tǒng)自啟等等優(yōu)點。第五,報警功能,當(dāng)出現(xiàn)密碼輸入錯誤,火災(zāi)等情況時,密碼鎖會自動報警。 密碼鎖研究的意義和目的 數(shù)字密碼鎖在 20 世紀(jì) 30 年代已經(jīng)進(jìn)入了人們的視野,但是當(dāng)時的密碼鎖不僅體積巨大,而且沒有普及使用。 我國的經(jīng)濟迅 速發(fā)展,人們的生活質(zhì)量顯著提高,人們對安全要求也越來越高,所以我國也積極開發(fā)數(shù)字密碼鎖的開發(fā),使其能在人們的生活中普遍使用,為人們的生活帶來便利 。 VHDL 語言是一種用普通文本設(shè)計數(shù)字系統(tǒng)的硬件描述語言,本文通過對 VHDL 程序的編譯,功能仿真實現(xiàn)密碼鎖的功能。 語言的特點 VHDL 語言簡介 基于 VHDL 的密碼鎖設(shè)計 5 VHDL 是 VeryHighSpeed Integrated Circuit Hardware Description Language 的簡稱, 誕生于 1982 年,被 IEEE 和美國國防部確認(rèn)為標(biāo)準(zhǔn)硬件描述語言。VHDL 語言的設(shè)計流程是將一個設(shè)計實體,也可以是原件,或者一個系統(tǒng)分成外部和內(nèi)部, 就是涉及實體的內(nèi)部功能和算法。這種將實體分成外部和內(nèi)部的方法就叫做 VHDL 語言。學(xué)習(xí) VHDL 語言首先要學(xué)會 VHDL一些常用的編程語句,用來設(shè)計較為簡單的集成電路。 第一, VHDL 語言以行為描述見長,能夠抽象的描述實體的功能,這種過程,叫做行為描述。 第三, VHDL 語言可以對電子實體進(jìn)行軟件仿真 。 VHDL 語言可以用簡單的簡明的程序描述十分復(fù)雜的硬件電路。 VHDL 語言設(shè)計方法靈活多樣,它既支持自頂向下的設(shè)計方法,也支持自底向上的設(shè)計方式;它既支持層次化的設(shè)計方式,也支持模塊化的設(shè)計理念。 VHDL 既可以描述系統(tǒng)電路,也可以描述門電路。 ( 2) 初始密碼 在內(nèi)部設(shè)定,密碼可以任意設(shè)置。 ( 3) 密碼不小心輸入錯誤,可以退出,從新輸入。 2. 具體實現(xiàn) ( 1) 開始加電時,密碼鎖處于內(nèi)部設(shè)定狀態(tài)。輸入密碼過程中,如果輸入錯誤,可以按退出鍵,退出。 密碼鎖的設(shè)計總體 思路 密碼鎖的系統(tǒng)結(jié)構(gòu) 根據(jù) 的設(shè)計要求,設(shè)計了如圖 21 的圖形模塊。 本此設(shè)計的密碼輸入是串行輸入的,因此在鍵盤輸入模塊設(shè)置了一個臨時的寄存 控制電路 輸出 基于 VHDL 的密碼鎖設(shè)計 7 器,鍵盤每輸入一個值,將此值存在其中,當(dāng)符合某些條件是,將密碼輸入值傳送給 q。 基于 VHDL 的密碼鎖設(shè)計 8 第三章 密碼鎖的硬件原理及程序 密碼鎖的 鍵盤輸入框圖 圖 31 鍵盤輸入框圖 如圖 31 所示,輸入信號由 q[9..0]提供, 輸入為四位密碼, p1[3..0], p2[3..0], P3[3..0], p4[3..0]為相應(yīng)的輸入四位密碼, esc 為退出鍵,低電平有效。 密碼鎖的 完整框圖 圖 33 密碼鎖的完整框圖 密碼鎖的完整框圖如圖所示:當(dāng) esc 為高電平時通過鍵盤 q[9..0]輸入四位密碼,通過 模塊 ru 將先后輸入的四位密碼分別對應(yīng)到相應(yīng)的 p1[3..0], p2[3..0],P3[3..0], p4[3..0]。當(dāng)密碼鎖打開以后,通過 m 控制鍵可以修改密碼, l 為輸出,當(dāng)密碼鎖打開時, m 為 1;當(dāng)密碼鎖鎖定時, m 為 0. 密碼鎖 的程序 鍵盤輸入模塊 程序 LIBRARY IEEE。 USE 。 ENTITY ru IS PORT( esc: IN STD_LOGIC。 基于 VHDL 的密碼鎖設(shè)計 10 q: IN STD_LOGIC_VECTOR(9 DOWNTO 0)。 p1,p2,p3,p4: out integer range 0 to 9)。 END ENTITY ru。 a 是鍵盤按鈕控制 。 b是 鍵盤數(shù)字的相或 。 c 是鍵盤輸入的臨時存貯器 。 t0: process (q) begin if q=0000000001 then c=0。 elsif q=0000000010 then c=1。 elsif q=0000000100 then c=2。 elsif q=0000001000 then c=3。 elsif q=0000010000 then c=4。 elsif q=0000100000 then c=5。 elsif q=0001000000 then c=6。 elsif q=0010000000 then c=7。 elsif q=0100000000 then c=8。 elsif q=1000000000 then c=9。 end if。 t1: process (b,c,esc) begin if esc=39。 then 當(dāng) esc 為低電平時, p1, p2, p3, p4為 0。 p2=0。 p4=0。event and b=39。 then 當(dāng) b 為低電平時,給 p1, p2, p3,p4 賦值 。 當(dāng) a 為 0 時,將 c 的值賦給 p1。 當(dāng) a 為 1 時,將 c 的值賦給 p2。 當(dāng) a 為 2 時,將 c 的值賦給 p3。 當(dāng) a 為 3 時,將 c 的值賦給 p4。 end if。 t2: pro