版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、<p><b> 電子密碼鎖設(shè)計</b></p><p> 摘要 本文介紹一種利用EDA技術(shù)和VHDL語言,在MAX+PLUSⅡ環(huán)境下,設(shè)計了一種新型的電子密碼鎖。它體積小、功耗低、價格便宜、安全可靠,維護和升級十分方便,具有較好的應(yīng)用前景。</p><p> 隨著社會物質(zhì)財富的日益增長,安全防盜已成為全社會問題。人們對鎖的要求越來越高,既要安全可靠地
2、防盜,又要使用方便。彈子鎖由于結(jié)構(gòu)上的局限已難以滿足當前社會管理和防盜要求,特別是在人員經(jīng)常變動的公共場所,如辦公室、賓館等地方。電子密碼鎖由于其自身的優(yōu)勢,越來越受到人們的青睞,但是目前使用的電子密碼鎖大部分是基于單片機用分離元件實現(xiàn)的,其成本較高且可靠性得不到保證。本文采用先進的EDA技術(shù),利用MAX+PLUSⅡ工作平臺和VHDL語言,設(shè)計了一種新型的電子密碼鎖。</p><p> 關(guān)鍵詞 電子密碼鎖;ED
3、A;VHDL;MAX+PLUSⅡ</p><p><b> 目錄</b></p><p> 1 引 言······················
4、;····························5</p><p> 1.1 系統(tǒng)設(shè)計要求···
5、;····································
6、83;5</p><p> 2 EDA技術(shù)·······························
7、;·················7</p><p> 2.1 EDA的概念··············
8、;·························· 7</p><p> 2.2 EDA技術(shù)的歷史與發(fā)展····
9、;·························· 6</p><p> 2.3 EDA的應(yīng)用····
10、3;··································· 7</p
11、><p> 2.4 EDA的常用軟件································
12、;···· 7</p><p> 3 系統(tǒng)設(shè)計方案與功能實現(xiàn)··························
13、······8</p><p> 3.1密碼鎖輸入模塊·························
14、·······8</p><p> 3.2密碼鎖控制模塊························
15、·········9</p><p> 4 系統(tǒng)仿真······················
16、83;·······················11</p><p> 5 結(jié)束語········
17、····································
18、3;···13</p><p> 致謝·····························
19、;························14</p><p> 參考文獻·······
20、3;····································
21、183;····15</p><p> 附錄···························
22、83;·························14</p><p><b> 1引言</b></p><p>
23、; 計算機組成原理與設(shè)計是計算機通信與技術(shù)專業(yè)本科生的必修課程。在完成理論學(xué)習和必要的實驗后,本科學(xué)生掌握了它的基本原理和各種基本功能的應(yīng)用,但對硬件實際應(yīng)用設(shè)計和其完整的用戶程序設(shè)計還不清楚,實際動手能力不夠,因此對該課程進行一次課程設(shè)計是有必要的。</p><p> 計算機組成原理與設(shè)計的課程設(shè)計既要讓學(xué)生鞏固課本學(xué)到的理論,還要讓學(xué)生學(xué)習硬件電路設(shè)計和用戶程序設(shè)計,同時學(xué)習查閱資料、參考資料的方法。&l
24、t;/p><p> 計算機原理與設(shè)計的課程設(shè)計主要是通過學(xué)生獨立設(shè)計方案并自己動手用計算機電路設(shè)計軟件,編寫和調(diào)試用戶程序,來加深對該課程的認識和理解,充分發(fā)揮我們的個體創(chuàng)新能力。</p><p> 1.1 系統(tǒng)設(shè)計要求</p><p> ?。?)密碼輸入:每按下一個數(shù)字鍵,就輸入一個數(shù)值,并在顯示器上顯示出該數(shù)值,同時將先前輸入的數(shù)據(jù)依次左移一個數(shù)字位置。<
25、/p><p> ?。?)密碼清除:每按下清除鍵可清除前面所有的輸入值,清除成“0000”。</p><p> ?。?)密碼更改:按下更改鍵可將目前的數(shù)碼設(shè)定成新的密碼。</p><p> ?。?)密碼上鎖:按下上鎖鍵可將密碼鎖上鎖。</p><p><b> 2 EDA技術(shù)</b></p><p>
26、; 2.1 EDA的概念</p><p> EDA技術(shù)是在電子CAD技術(shù)基礎(chǔ)上發(fā)展起來的通用軟件系統(tǒng),是指以計算機為工作平臺,融合了應(yīng)用電子技術(shù)、計算機技術(shù)、信息處理及智能化技術(shù)的最新成果,進行電子產(chǎn)品的自動設(shè)計。</p><p> EDA 設(shè)計可分為系統(tǒng)級、電路級和物理實現(xiàn)級。物理級設(shè)計主要指IC版圖設(shè)計,一般由半導(dǎo)體廠家完成;系統(tǒng)級設(shè)計主要面對大型復(fù)雜的電子產(chǎn)品;而一般民用及教學(xué)
27、所涉及基本是電路級設(shè)計。我們常用的EDA軟件多屬于電路級設(shè)計。電路級設(shè)計工作,是在電子工程師接受系統(tǒng)設(shè)計任務(wù)后,首先確定設(shè)計方案,并選擇合適的元器件,然后根據(jù)具體的元器件設(shè)計電路原理圖,接著進行第一次仿真。其中包括數(shù)字電路的邏輯模擬、故障分析、模擬電路的交直流分析、瞬態(tài)分析等。這一次仿真主要是檢驗設(shè)計方案在功能方面的正確性。</p><p> 仿真通過后,根據(jù)原理圖產(chǎn)生的電氣連接網(wǎng)絡(luò)表進行PCB板的自動布局布
28、線,有條件的還可以進行PCB后分析。其中包括熱分析、噪聲及竄擾分析、電磁兼容分析、可靠性分析等,并可將分析后的結(jié)果參數(shù)反饋回電路圖,進行第二次仿真,也稱作后仿真。后仿真主要是檢驗PCB板在實際工作環(huán)境中的可行性。</p><p> 2.2 EDA技術(shù)的歷史與發(fā)展</p><p> EDA技術(shù)發(fā)展歷程大致可分為三個階段。20世紀70年代為計算機輔助設(shè)計(CAD)階段,人們開始用計算機取代
29、手工操作進行IC版圖編輯、PCB布局布線。80年代為計算機輔助工程(CAE)階段。與CAD相比,CAE除了有純粹的圖形繪制功能外,又增加了電路功能分析和結(jié)構(gòu)設(shè)計,并且通過電氣連接網(wǎng)絡(luò)表將兩者結(jié)合在一起,實現(xiàn)了工程設(shè)計。20世紀90年代為電子系統(tǒng)設(shè)計自動化(EDA)階段,同時又出現(xiàn)了計算機輔助工藝(CAPP)、計算機輔助制造(CAM)等。</p><p> 2.3 EDA的應(yīng)用</p><p&
30、gt; 現(xiàn)在EDA技術(shù)應(yīng)用廣泛,包括在機械、電子、通信、航空航天、化工、礦產(chǎn)、生物、醫(yī)學(xué)、軍事等各個領(lǐng)域,都有EDA的應(yīng)用。目前EDA 技術(shù)已在各大公司、科研和教學(xué)部門廣泛使用。</p><p> 在產(chǎn)品設(shè)計與制造方面,EDA 技術(shù)可實現(xiàn)前期的計算機仿真、系統(tǒng)級模擬及測試環(huán)境的仿真、PCB的制作、電路板的焊接、ASIC的設(shè)計等。</p><p> 在教學(xué)方面,我國高校是從九十年代中期
31、開始EDA教育的,現(xiàn)在幾乎所有理工科類高校都開設(shè)了EDA課程。這些課程主要是讓學(xué)生了解EDA的基本概念和原理,使用EDA軟件進行電子電路課程的實驗及從事簡單系統(tǒng)的設(shè)計。</p><p> 2.4 EDA的常用軟件</p><p> EDA工具層出不窮,目前進入我國并具有廣泛影響的EDA軟件有:multiSIM7(原EWB的最新版本)、PSPICE、OrCAD、PCAD、Protel、V
32、iewlogic、Mentor、Graphics、Synopsys、LSIIogic、Cadence、MicroSim等等。這些工具都有較強的功能,一般可用于幾個方面,例如很多軟件都可以進行電路設(shè)計與仿真,同進還可以進行PCB自動布局布線,可輸出多種網(wǎng)表文件與第三方軟件接口。</p><p> 3.系統(tǒng)設(shè)計方案與功能實現(xiàn)</p><p> 根據(jù)系統(tǒng)設(shè)計要求,系統(tǒng)設(shè)計采用自頂向下的設(shè)計方
33、法。頂層設(shè)計采用原理圖設(shè)計方式,系統(tǒng)的整體組裝設(shè)計原理圖如圖3-1所示,它由密碼鎖輸入模塊、密碼鎖控制模塊和密碼鎖顯示譯碼模塊三部分組成。</p><p> 圖3-1 系統(tǒng)整體組裝設(shè)計原理圖</p><p> 3.1密碼鎖輸入模塊</p><p> 密碼鎖輸入模塊由時序產(chǎn)生電路、鍵盤掃描電路、鍵盤譯碼電路和按鍵存儲電路組成。</p><p&
34、gt;<b> ?、贂r序產(chǎn)生電路</b></p><p> 產(chǎn)生電路中使用的三種不同頻率的工作脈沖波形,即系統(tǒng)時鐘脈沖、彈跳消除取樣信號和鍵盤掃描信號。</p><p><b> ?、阪I盤掃描電路</b></p><p> 掃描電路的作用是提供鍵盤掃描信號,掃描信號變化的順序依次為1110-1101-1011-0111
35、-1110……依序地周而復(fù)始。</p><p><b> ?、坻I盤譯碼電路</b></p><p> 上述鍵盤中的按鍵分為數(shù)字按鍵和文字按鍵,每一個按鍵可能負責不同的功能,例如清除鍵、上鎖鍵和解鎖鍵等。數(shù)字按鍵主要是用來輸入數(shù)字的,但是鍵盤所產(chǎn)生的輸出是無法直接拿來用作密碼鎖控制電路的輸入的;另外,不同的按鍵具有不同的功能,所以必須由鍵盤譯碼電路來規(guī)劃每個按鍵的輸出
36、形式,以便執(zhí)行相應(yīng)的動作。</p><p><b> ?、馨存I存儲電路</b></p><p> 因為每次掃描會產(chǎn)生新的按鍵數(shù)據(jù),可能會覆蓋前面的數(shù)據(jù),所以需要一個按鍵存儲電路,將整個掃描完畢后的結(jié)果記錄下來。</p><p> 各按鍵的位置與數(shù)碼關(guān)系如表3-2所示。</p><p> 表3-2 按鍵位置與數(shù)碼關(guān)系
37、</p><p> 3.2密碼鎖控制模塊</p><p> 密碼鎖的控制電路是整個電路的控制中心,主要完成對數(shù)字按鍵輸入和功能按鍵輸入響應(yīng)控制。</p><p> 數(shù)字按鍵輸入的響應(yīng)控制</p><p> ?、?如果按下數(shù)字鍵,第一個數(shù)字會從顯示器的最右端開始顯示,此后每新按下一個數(shù)字時,顯示器上的數(shù)字必須左移一位,以便將新的數(shù)字顯示出
38、來。</p><p> ?、?假如要更改輸入的數(shù)字,可以按倒退按鍵來清除前一個輸入的數(shù)字,或者按清除鍵清除所有輸入的數(shù)字,再重新輸入四位數(shù)。</p><p> Ⅲ.由于這里設(shè)計的是一個四位的電子密碼鎖,所以當輸入的數(shù)字鍵超過四個時,電路不予理會,而且不再顯示第四個以后的數(shù)字。</p><p> ?、诠δ馨存I輸入的響應(yīng)控制</p><p>
39、 Ⅰ.清除鍵:清除所有的輸入數(shù)字,即作歸零動作。</p><p> ?、?上鎖鍵:按下此鍵時可將密碼鎖的門上鎖(上鎖前必須預(yù)先設(shè)定一個四位的數(shù)字密碼)。</p><p> ?、?解除鍵:按下此鍵會檢查輸入的密碼是否正確,若密碼正確無誤則解鎖。</p><p> LED顯示程序如下:</p><p> library ieee;</p
40、><p> use ieee.std_logic_1164.all;</p><p> entity led_disp is</p><p><b> port(</b></p><p> datain:in std_logic_vector(3 downto 0);</p><p> da
41、taout:out std_logic_vector(7 downto 0)</p><p><b> );</b></p><p> end led_disp;</p><p> architecture rtl of led_disp is</p><p><b> begin</b>&
42、lt;/p><p> process(datain)</p><p><b> begin</b></p><p> case datain is</p><p> when "1010"=>dataout<="11000000";--0</p>&l
43、t;p> when "0001"=>dataout<="11111001";--1</p><p> when "0010"=>dataout<="10100100";--2</p><p> when "0011"=>dataout<=&qu
44、ot;10110000";--3</p><p> when "0100"=>dataout<="10011001";--4</p><p> when "0101"=>dataout<="10010010";--5</p><p> when &
45、quot;0110"=>dataout<="10000010";--6</p><p> when "0111"=>dataout<="11111000";--7</p><p> when "1000"=>dataout<="10000000&quo
46、t;;--8</p><p> when "1001"=>dataout<="10010000";--9</p><p> when others=>null;</p><p><b> end case;</b></p><p> end process
47、;</p><p><b> end rtl;</b></p><p><b> 4 系統(tǒng)仿真</b></p><p> 該密碼鎖利用MAX PLUSⅡ工作平臺進行編譯和綜合仿真,將程序下載FLEX10K芯片中,同時在EDA試驗箱上進行硬件驗證。本文提出的電子密碼鎖由于采用VHDL語言設(shè)計,用一片F(xiàn)PGA實現(xiàn),因而體
48、積小,功耗低,稍加修改就可以改變密碼的位數(shù)和輸入密碼的次數(shù),具有較好的應(yīng)用前景。但由于結(jié)構(gòu)還比較簡單,有待進一步完善。</p><p> 密碼鎖輸入模塊的仿真,如圖4-1所示。</p><p> 圖4-1 密碼鎖輸入模塊的仿真圖</p><p> 密碼鎖控制模塊的仿真,如圖4-2所示。</p><p> 圖4-2 密碼鎖控制模塊的仿真
49、圖</p><p> 密碼鎖譯碼模塊的仿真,如圖4-3所示。 圖4-3 密碼鎖譯碼模塊的仿真圖</p><p> 電子密碼鎖整個系統(tǒng)的仿真,如圖4-4所示。</p><p> 圖4-4 電子密碼鎖整個系統(tǒng)的仿真圖</p><p><b> 5 結(jié)束語</b></p><p&
50、gt; 通過兩星期的緊張工作,最后完成了我的設(shè)計任務(wù)——基于VHDL語言的智能密碼鎖設(shè)計。通過本次課程設(shè)計的學(xué)習,我深深的體會到設(shè)計課的重要性和目的性所在。本次設(shè)計課不僅僅培養(yǎng)了我們實際操作能力,也培養(yǎng)了我們靈活運用課本知識,理論聯(lián)系實際,獨立自主的進行設(shè)計的能力。它不僅僅是一個學(xué)習新知識新方法的好機會,同時也是對我所學(xué)知識的一次綜合的檢驗和復(fù)習,使我明白了自己的缺陷所在,從而查漏補缺。希望學(xué)校以后多安排一些類似的實踐環(huán)節(jié),讓同學(xué)們學(xué)
51、以致用。</p><p> 在設(shè)計中要求我要有耐心和毅力,還要細心,稍有不慎,一個小小的錯誤就會導(dǎo)致結(jié)果的不正確,而對錯誤的檢查要求我要有足夠的耐心,通過這次設(shè)計和設(shè)計中遇到的問題,也積累了一定的經(jīng)驗,對以后從事集成電路設(shè)計工作會有一定的幫助。在應(yīng)用VHDL的過程中讓我真正領(lǐng)會到了其并行運行與其他軟件(C語言)順序執(zhí)行的差別及其在電路設(shè)計上的優(yōu)越性。用VHDL硬件描述語言的形式來進行數(shù)字系統(tǒng)的設(shè)計方便靈活,利用
52、EDA軟件進行編譯優(yōu)化仿真極大地減少了電路設(shè)計時間和可能發(fā)生的錯誤,降低了開發(fā)成本,這種設(shè)計方法必將在未來的數(shù)字系統(tǒng)設(shè)計中發(fā)揮越來越重要的作用。</p><p><b> 致謝</b></p><p> 在此次課程設(shè)計中,非常感謝肖曉麗老師對我的指導(dǎo)與大力的幫助。如果沒有她嚴謹細致、一絲不茍地批閱和指正,本文很難在這個短時間內(nèi)完成。從開始進入課題到論文的順利完成,
53、有多少可敬的師長、同學(xué)、朋友給了我無言的幫助,在這里請接受我誠摯的謝意!</p><p><b> 參考文獻</b></p><p> 王鎖平編著.電子設(shè)計自動化(EDA)教程.電子科技大學(xué)出版社. 2000 .3</p><p> 潘松等編著.EDA技術(shù)實用教程.科學(xué)出版社.2002.10</p><p> 潘
54、松等編著. VHDL實用教程.電子科技大學(xué)出版社.2002.6</p><p> 戈素貞等. 采用EDA技術(shù)實現(xiàn)4位十進制數(shù)字密碼鎖.山西電子技術(shù).2002.12</p><p> 劉鈺等.一種VHDL語言設(shè)計的數(shù)字密碼鎖,信心技術(shù)與信息化.2004.4</p><p><b> 附錄</b></p><p>
55、主控制程序參考如下:</p><p> library ieee;</p><p> use ieee.std_logic_1164.all;</p><p> use ieee.std_logic_unsigned.all;</p><p> use ieee.std_logic_arith.all;</p><
56、p> entity coded_lock is</p><p><b> port(</b></p><p> clk :in std_logic;</p><p> ret :in std_logic;</p><p> key_F:in std_logic_vector(1 downto 0);<
57、;/p><p> keyin :in std_logic_vector(9 downto 0);</p><p> disp:out std_logic_vector(7 downto 0);</p><p> ledcs:out std_logic_vector(3 downto 0);</p><p> led2cs:out std_
58、logic;--led片選信號</p><p> sound:buffer std_logic;</p><p> led2:buffer std_logic_vector(1 downto 0)</p><p><b> );</b></p><p> end coded_lock;</p>&l
59、t;p> architecture rtl of coded_lock is</p><p> signal key_temp:std_logic_vector(9 downto 0);--按鍵緩存</p><p> signal N:std_logic_vector(3 downto 0);--按鍵緩存</p><p> signal FF:std_
60、logic;--按鍵標志</p><p> signal ACC:std_logic_vector(15 downto 0);--所有按鍵的寄存器</p><p> signal REG:std_logic_vector(15 downto 0);--比較寄存器</p><p> signal NC:integer range 0 to 4;--移位用的標志位
61、</p><p> signal A,B,C,D:std_logic_vector(3 downto 0);--顯示用的寄存器</p><p> SIGNAL clk_1k:std_logic;--掃描時鐘</p><p> signal data:std_logic_vector(3 downto 0);</p><p> sign
62、al F:std_logic_vector(1 downto 0);</p><p> signal s_cnt:integer range 0 to 4;</p><p> signal clk_10hz:std_logic;</p><p> signal flag:std_logic;</p><p> component le
63、d_disp is</p><p> port(datain:in std_logic_vector(3 downto 0);</p><p> dataout:out std_logic_vector(7 downto 0)</p><p><b> );</b></p><p> end component;
64、</p><p><b> begin</b></p><p> XIAODOU:process(clk) --按鍵消拉動電路</p><p> variable cnt:integer range 0 to 2000000;</p><p><b> be
65、gin</b></p><p> if rising_edge(clk) then</p><p> if cnt<1999999 then cnt:=cnt+1;</p><p> else cnt:=0;key_temp<=keyin;F<=key_F;</p><p><b> end i
66、f;</b></p><p><b> end if;</b></p><p> case key_temp is</p><p> when "0111111111"=>N<="1010";--0</p><p> when "10111
67、11111"=>N<="0001";--1</p><p> when "1101111111"=>N<="0010";--2</p><p> when "1110111111"=>N<="0011";--3</p><
68、p> when "1111011111"=>N<="0100";--4</p><p> when "1111101111"=>N<="0101";--5</p><p> when "1111110111"=>N<="0110&qu
69、ot;;--6</p><p> when "1111111011"=>N<="0111";--7</p><p> when "1111111101"=>N<="1000";--8</p><p> when "1111111110"=
70、>N<="1001";--9</p><p> when others=>N<="1111";</p><p><b> end case;</b></p><p> end process;</p><p> FF<=not(N(3)and
71、N(2)and N(1)and N(0)); --判斷按鍵</p><p> REGISTE:process(FF,ret) --寄存按鍵信號電路</p><p> variable cnt:integer range 0 to 5 ; --std_logic_vector(1 downto 0);</p><p&g
72、t;<b> begin</b></p><p> if ret='0' then --系統(tǒng)復(fù)位電路 </p><p> --ACC<="0000000000000000";</p><p><b> cnt:=0;</b><
73、;/p><p><b> NC<=0;</b></p><p> elsif rising_edge(FF) then cnt:=cnt+1; </p><p> ACC<=ACC(11 downto 0)&N;</p><p> if cnt=5 then cnt:=1; </p&
74、gt;<p><b> end if;</b></p><p><b> end if;</b></p><p><b> NC<=cnt;</b></p><p> end process;</p><p> CLK_1Khz: process(
75、clk) --產(chǎn)生1k的數(shù)碼管掃描信號</p><p> variable cnt:integer range 0 to 20000;</p><p><b> begin</b></p><p> if rising_edge(clk) then cnt:=cnt+1;</p><
76、;p> if cnt<10000 then clk_1k<='1';</p><p> elsif cnt<20000 then clk_1k<='0';</p><p> else cnt:=0;clk_1k<='0';</p><p><b> end if;&
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 電子密碼鎖課程設(shè)計
- 電子密碼鎖課程設(shè)計
- 課程設(shè)計--電子密碼鎖
- 電子密碼鎖課程設(shè)計
- 電子密碼鎖課程設(shè)計
- 電子密碼鎖設(shè)計課程設(shè)計
- 課程設(shè)計----電子密碼鎖設(shè)計
- 電子密碼鎖課程設(shè)計
- 電子密碼鎖設(shè)計課程設(shè)計
- 課程設(shè)計電子密碼鎖設(shè)計
- 課程設(shè)計-電子密碼鎖設(shè)計
- 電子密碼鎖課程設(shè)計報告
- eda課程設(shè)計---電子密碼鎖
- eda課程設(shè)計—電子密碼鎖
- eda電子密碼鎖課程設(shè)計
- 電子密碼鎖課程設(shè)計3
- 電子密碼鎖課程設(shè)計.doc
- 電子密碼鎖——eda課程設(shè)計
- eda電子密碼鎖課程設(shè)計
- 電子密碼鎖課程設(shè)計報告
評論
0/150
提交評論