eda課程設(shè)計(jì)—電子密碼鎖_第1頁(yè)
已閱讀1頁(yè),還剩18頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、<p><b>  目錄</b></p><p><b>  摘要2</b></p><p><b>  1緒論3</b></p><p>  1.1電子密碼鎖簡(jiǎn)介3</p><p>  1.2電子密碼鎖的國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展趨勢(shì)3</p>&l

2、t;p>  1.3 EDA技術(shù)及VHDL語(yǔ)言4</p><p>  2電子密碼鎖總體設(shè)計(jì)6</p><p>  2.1總體設(shè)計(jì)方案6</p><p>  2.2設(shè)計(jì)思路簡(jiǎn)述7</p><p>  2.3整體組裝設(shè)計(jì)原理圖8</p><p>  3單元模塊程序設(shè)計(jì)9</p><p&g

3、t;  3.1 電子密碼鎖輸入模塊9</p><p>  3.1.1輸入模塊程序9</p><p>  3.1.2輸入模塊單元12</p><p>  3.1.3輸入模塊仿真12</p><p>  3.2電子密碼鎖系統(tǒng)控制模塊12</p><p>  3.2.1 控制模塊程序13</p>

4、<p>  3.2.2 控制模塊單元15</p><p>  3.2.3 控制模塊仿真圖15</p><p>  3.3電子密碼鎖系統(tǒng)顯示模塊16</p><p>  3.3.1 顯示模塊程序16</p><p>  3.3.2 顯示模塊單元17</p><p>  3.3.3 顯示模塊仿真17&

5、lt;/p><p><b>  4小結(jié)18</b></p><p><b>  參考文獻(xiàn)19</b></p><p><b>  電子密碼鎖設(shè)計(jì)</b></p><p><b>  摘要</b></p><p>  隨著人們生活水平

6、的提高,如何實(shí)現(xiàn)家庭防盜這一問題逐漸變的尤為突出,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造簡(jiǎn)單,故安全性能不容樂觀,同時(shí)電子技術(shù)的高速發(fā)展使得具有防盜報(bào)警等功能的電子密碼鎖代替密碼量少、安全性差的機(jī)械式密碼鎖已是必然趨勢(shì)。電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機(jī)械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。目前設(shè)計(jì)密碼鎖的方法有很多,而用VHDL可以更加快速、靈活地設(shè)計(jì)出符合各種要求的密碼鎖,優(yōu)于其他設(shè)計(jì)方法。</p>

7、<p>  關(guān)鍵字:家庭防盜 安全 電子密碼鎖 VHDL </p><p><b>  1緒論</b></p><p>  1.1電子密碼鎖簡(jiǎn)介</p><p>  電子密碼鎖是一種通過密碼輸入來控制電路或是芯片工作,從而控制機(jī)械開關(guān)的閉合,完成開鎖、閉鎖任務(wù)的電子產(chǎn)品。它的種類很多,有簡(jiǎn)易的電路產(chǎn)品,也有基于芯片的性價(jià)比較高的產(chǎn)品。

8、現(xiàn)在應(yīng)用較廣的電子密碼鎖是以芯片為核心,通過編程來實(shí)現(xiàn)的。其性能和安全性已大大超過了機(jī)械鎖。其特點(diǎn)如下:保密性好,編碼量多,遠(yuǎn)遠(yuǎn)大于彈子鎖,隨機(jī)開鎖成功率幾乎為零;密碼可變,用戶可以隨時(shí)更改密碼,防止密碼被盜,同時(shí)也可以避免因 人員的更替而使鎖的密級(jí)下降;誤碼輸入保護(hù),當(dāng)輸入密碼多次錯(cuò)誤時(shí),報(bào)警系統(tǒng)自動(dòng)啟動(dòng);無活動(dòng)零件,不會(huì)磨損,壽命長(zhǎng);使用靈活性好,不像機(jī)械鎖必須佩帶鑰匙才能開鎖;電子密碼鎖操作簡(jiǎn)單易行,一學(xué)即會(huì)。</p>

9、<p>  1.2電子密碼鎖的國(guó)內(nèi)外研究現(xiàn)狀和發(fā)展趨勢(shì)</p><p>  隨著生活水平的提高和安全意識(shí)的加強(qiáng),人們對(duì)安全的要求也就越來越高。鎖自古以來就是把守護(hù)門的鐵將軍,人們對(duì)它要求甚高,既要安全可靠的防盜,又要使用方便,這也是制鎖者長(zhǎng)期以來研制的主題。隨著電子技術(shù)的發(fā)展,各類電子產(chǎn)品應(yīng)運(yùn)而生,電子密碼鎖就是其中之一。據(jù)有關(guān)資料介紹,電子密碼鎖的研究從20世紀(jì)30年代就開始了,在一些特殊場(chǎng)所早就

10、有所應(yīng)用。這種鎖是通過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,就是為提高鎖的安全性。由于電子鎖的密鑰量(密碼量)極大,可以與機(jī)械鎖配合使用,并且可以避免因鑰匙被仿制而留下安全隱患。電子鎖只需記住一組密碼,無需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來越多的人所欣賞。電子鎖的種類繁多,例如數(shù)碼鎖,指紋鎖,磁卡鎖,IC卡鎖,生物鎖等。但較實(shí)用的還是按鍵式電子密碼鎖。20世紀(jì)80年代后,隨著電子鎖專用集成電路的出現(xiàn),電子鎖的

11、體積縮小,可靠性提高,成本較高,是適合使用在安全性要求較高的場(chǎng)合,且需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對(duì)它的研究一直沒有明顯進(jìn)展。目前,在西方發(fā)達(dá)國(guó)家,電子密碼鎖技術(shù)相對(duì)先進(jìn),種類齊全,電子密碼鎖已被廣泛應(yīng)用于智</p><p>  1.3 EDA技術(shù)及VHDL語(yǔ)言</p><p>  在電子設(shè)計(jì)技術(shù)領(lǐng)域,可編程邏輯器件(如PLD,GAL)的應(yīng)用,已有了很好的普及。這

12、些器件為數(shù)字系統(tǒng)的設(shè)計(jì)帶來極大的靈活性。由于這類器件可以通過軟件編程而對(duì)其硬件的結(jié)構(gòu)和工作方式進(jìn)行重構(gòu),使得硬件的設(shè)計(jì)可以如同軟件設(shè)計(jì)那樣方便快捷。這一切極大地改變了傳統(tǒng)的數(shù)字系統(tǒng)設(shè)計(jì)方法、設(shè)計(jì)過程、乃至設(shè)計(jì)觀念。縱觀可編程邏輯器件的發(fā)展史,它在結(jié)構(gòu)原理、集成規(guī)模、下載方式、邏輯設(shè)計(jì)手段等方面的每一次進(jìn)步都為現(xiàn)代電子設(shè)計(jì)技術(shù)的革命與發(fā)展提供了不可或缺的強(qiáng)大動(dòng)力。隨著可編程邏輯器件集成規(guī)模不斷擴(kuò)大,自身功能的不斷完善和計(jì)算機(jī)輔助設(shè)計(jì)技術(shù)的

13、提高,在現(xiàn)代電子系統(tǒng)設(shè)計(jì)領(lǐng)域中的EDA便應(yīng)運(yùn)而生了。傳統(tǒng)的數(shù)字電路設(shè)計(jì)模式,如利用卡諾圖的邏輯化簡(jiǎn)手段以及難懂的布爾方程表達(dá)方式和相應(yīng)的TTL或4000系列小規(guī)模集成芯片的堆砌技術(shù)正在迅速地退出歷史舞臺(tái)。電子設(shè)計(jì)自動(dòng)化(EDA)是一種實(shí)現(xiàn)電子系統(tǒng)或電子產(chǎn)品自動(dòng)化設(shè)計(jì)的技術(shù),它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),吸收了計(jì)算機(jī)科學(xué)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計(jì)算機(jī)作為工作平臺(tái),是20世紀(jì)90年代初從CAD(計(jì)算機(jī)輔助設(shè)計(jì))、CAM

14、(計(jì)算機(jī)輔助制造)、CAT(計(jì)算機(jī)輔助</p><p>  2電子密碼鎖總體設(shè)計(jì)</p><p><b>  2.1總體設(shè)計(jì)方案</b></p><p>  如圖2.1 電子密碼鎖總體組成框圖</p><p>  該電子密碼鎖可以分成三部分來設(shè)計(jì),數(shù)字密碼輸入部分、密碼鎖控制電路和密碼鎖顯示電路。作為密碼鎖的輸入部分,可

15、供選擇的方案有數(shù)字機(jī)械式鍵盤和觸摸式數(shù)字鍵盤等多種??紤]種種因素,建議本設(shè)計(jì)采用通用數(shù)字機(jī)械鍵盤。根據(jù)以上選定的輸入設(shè)備和顯示器件,并考慮到實(shí)現(xiàn)各項(xiàng)數(shù)字密碼鎖功能的具體要求,整個(gè)電子密碼鎖系統(tǒng)的總體組成框圖如圖2.1所示。</p><p>  密碼鎖輸入電路包括時(shí)序產(chǎn)生電路、鍵盤掃描電路、鍵盤去抖動(dòng)電路、鍵盤譯碼電路等幾個(gè)小的功能電路。密碼鎖控制電路包括按鍵數(shù)據(jù)的緩沖存儲(chǔ)電路,密碼的清除、變更、存儲(chǔ)、激活電鎖電路

16、(寄存器清除信號(hào)發(fā)生電路),密碼核對(duì)(數(shù)值比較電路),解鎖電路(開/關(guān)門鎖電路)等幾個(gè)小的功能電路。</p><p>  七段數(shù)碼管顯示電路主要將待顯示數(shù)據(jù)的BCD碼轉(zhuǎn)換成數(shù)碼器的七段顯示驅(qū)動(dòng)編碼。根據(jù)以上選定的輸入設(shè)備和顯示器件,并考慮到實(shí)現(xiàn)各項(xiàng)數(shù)字密碼鎖功。密碼輸入一般采用機(jī)械式和接觸式兩種鍵盤。機(jī)械式3x4鍵盤雖然易產(chǎn)生抖動(dòng)、磨損等問題,但具有電路結(jié)構(gòu)簡(jiǎn)單、成本低、可靠性高、技術(shù)成熟、應(yīng)用廣泛等優(yōu)點(diǎn),在密碼

17、鎖的設(shè)計(jì)過程中經(jīng)常被采用。圖2.2是一個(gè)3×4矩陣式鍵盤的面板配置圖,其中數(shù)字0~9作為密碼數(shù)字輸入按鍵,*作為“上鎖”功能按鍵,#作為“解鎖/清除”功能按鍵。如圖2.2所示:</p><p>  圖2.2 機(jī)械式鍵盤密碼密碼電路</p><p><b>  2.2設(shè)計(jì)思路簡(jiǎn)述</b></p><p>  (1)密碼鎖輸入電路ENTE

18、R.VHD中對(duì)各種分頻信號(hào)/信號(hào)序列的設(shè)計(jì)有獨(dú)到之處。該設(shè)計(jì)中,利用一個(gè)自由計(jì)數(shù)器來產(chǎn)生各種需要的頻率,也就是先建立一個(gè)N位計(jì)數(shù)器,N的大小根據(jù)電路的需求決定。N的值越大,電路可以除頻的次數(shù)就越多,這樣就可以獲得更大的頻率變化,以便提供多種不同頻率的時(shí)鐘信號(hào)。若輸入時(shí)鐘為CLK,N位計(jì)數(shù)器的輸出為Q[N-1,0],則Q(0)為CLK的2分頻脈沖信號(hào),Q(1)為CLK的4分頻脈沖信號(hào),Q(2)為CLK的8分頻脈沖信號(hào),……Q(N-1)為C

19、LK的2N分頻脈沖信號(hào);Q(5 DOWNTO 4)取得的是一個(gè)脈沖波形序列,其值是依00-01-10-11-00-01周期性變化的,其變化頻率為CLK的25分頻,也就是32分頻。我們利用以上規(guī)律即可得到各種我們所需要頻率的信號(hào)或信號(hào)序列;</p><p> ?。?)鍵盤輸入去抖電路的設(shè)計(jì)程序DEBOUCING.VHD在實(shí)際系統(tǒng)的開發(fā)中有較好的參考價(jià)值。</p><p>  (3)密碼鎖控制

20、電路CONTROL.VHD中對(duì)于數(shù)據(jù)的更新及移位方法比較好。程序中使用語(yǔ)句“ACC<=ACC(11 DOWNTO 0)&DATA_N”非常簡(jiǎn)潔地同時(shí)實(shí)現(xiàn)了ACC中低4位用DATA_N進(jìn)行更新,而高12位用ACC中原來的低12位左移而來的處理。 (4)在密碼鎖輸入電路等模塊的程序的設(shè)計(jì)和仿真中,為了便于觀察一些中間結(jié)果,在程序中增加了一些觀測(cè)輸出點(diǎn)。這一設(shè)計(jì)技巧,對(duì)于較大的程序或多進(jìn)程程序的設(shè)計(jì)非常重要。同時(shí)在仿真時(shí)

21、,為了便于觀測(cè)全局結(jié)果,降低了分頻常數(shù)。同理,在進(jìn)行程序仿真時(shí),對(duì)于程序中數(shù)目較大的分頻/計(jì)數(shù)/計(jì)時(shí)常數(shù)的修改是非常必要的。</p><p>  2.3整體組裝設(shè)計(jì)原理圖</p><p>  系統(tǒng)的整體組裝設(shè)計(jì)有密碼輸入模塊、密碼控制模塊、密碼顯示模塊三部分組成,故如圖2.3所示:</p><p>  圖2.3 系統(tǒng)整體組裝設(shè)計(jì)原理圖</p><

22、p><b>  3單元模塊程序設(shè)計(jì)</b></p><p>  本章節(jié)介紹的是單獨(dú)模塊的程序、原理圖、仿真以及功能說明,共有三個(gè)模塊,分別是電子密碼鎖輸入模塊、電子密碼鎖控制模塊以及顯示模塊。</p><p>  3.1電子密碼鎖輸入模塊</p><p><b> ?。?)時(shí)序產(chǎn)生電路</b></p>

23、<p>  本時(shí)序產(chǎn)生電路中使用了三種不同頻率的工作脈沖波形:系統(tǒng)時(shí)鐘脈沖(它是系統(tǒng)內(nèi)部所有時(shí)鐘脈沖的源頭,且其頻率最高)、彈跳消除取樣信號(hào)、鍵盤掃描信號(hào)。</p><p><b> ?。?)鍵盤掃描電路</b></p><p>  掃描電路的作用是用來提供鍵盤掃描信號(hào)(表3-1中的KY3~KY0)的,掃描信號(hào)變化的順序依次為1110-1101-1011-0

24、111-1110......依序地周而復(fù)始。 </p><p><b> ?。?)彈跳消除電路</b></p><p>  由于本設(shè)計(jì)中采用的矩陣式鍵盤是機(jī)械開關(guān)結(jié)構(gòu),因此在開關(guān)切換的瞬間會(huì)在接觸點(diǎn)出現(xiàn)信號(hào)來回彈跳的現(xiàn)象,對(duì)于電子密碼鎖這種靈敏度較高的電路這種彈跳將很可能會(huì)造成誤動(dòng)作輸入,從而影響到密碼鎖操作的正確性。</p><p>  表3

25、-1 按鍵位置的數(shù)碼關(guān)系</p><p>  3.1.1輸入模塊程序</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_ARITH.ALL;</p><p>  USE IEEE.ST

26、D_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY ENTER IS</p><p>  PORT(CLK_1K: IN STD_LOGIC;</p><p>  KEY_IN: IN STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p>  DATA_N: OUT STD_LOGIC_VECT

27、OR(3 DOWNTO 0);</p><p>  DATA_F: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  FLAG_N: OUT STD_LOGIC;</p><p>  FLAG_F: OUT STD_LOGIC;</p><p>  CQD: OUT STD_LOGIC;</p

28、><p>  KSEL: OUT STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  CSR: OUT STD_LOGIC_VECTOR(1 DOWNTO 0));</p><p>  END ENTITY ENTER;</p><p>  ARCHITECTURE ART OF ENTER IS</p

29、><p>  SIGNAL C_QD: STD_LOGIC;</p><p>  SIGNAL C_SR: STD_LOGIC_VECTOR(1 DOWNTO 0);</p><p>  SIGNAL N,F: STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL FN,FF: STD_LOGIC;<

30、;/p><p>  SIGNAL SEL: STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  SIGNAL Q: STD_LOGIC_VECTOR(5 DOWNTO 0);</p><p>  SIGNAL C: STD_LOGIC_VECTOR(2 DOWNTO 0);</p><p><b&g

31、t;  BEGIN</b></p><p>  DATA_N <= N;</p><p>  DATA_F <= F;</p><p>  FLAG_N <= FN;</p><p>  FLAG_F <= FF;</p><p>  CQD <= C_QD;</p>

32、;<p>  CSR <= C_SR;</p><p>  KSEL <= SEL;</p><p>  C(0)<=KEY_IN(0) ;</p><p>  C(1) <= KEY_IN(1);</p><p>  C(2) <= KEY_IN(2);</p><p> 

33、 COUNTER:BLOCK IS</p><p><b>  BEGIN</b></p><p>  PROCESS(CLK_1K) IS</p><p><b>  BEGIN</b></p><p>  IF(CLK_1K'EVENT AND CLK_1K ='1')T

34、HEN</p><p><b>  Q <= Q+1;</b></p><p><b>  END IF;</b></p><p>  C_QD <= Q(3);</p><p>  C_SR <= Q(5 DOWNTO 4);</p><p>  END

35、PROCESS;</p><p>  SEL <="1110" WHEN C_SR= 0 ELSE</p><p>  "1101" WHEN C_SR= 1 ELSE</p><p>  "1011" WHEN C_SR= 2 ELSE</p><p>  "011

36、1" WHEN C_SR= 3 ELSE</p><p><b>  "1111";</b></p><p>  END BLOCK COUNTER;</p><p>  KEY_DECODER : BLOCK</p><p>  SIGNAL Z : STD_LOGIC_VECTOR(4

37、DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(C_QD)</p><p><b>  BEGIN</b></p><p>  Z<=C_SR&C;</p><p>  IF(C_QD'EVENT

38、 AND C_QD ='1')THEN</p><p><b>  CASE Z IS</b></p><p>  WHEN "11101"=> N <= "0000";</p><p>  WHEN "00011"=> N <= "0

39、001";</p><p>  WHEN "00101"=> N <= "0010";</p><p>  WHEN "00110"=> N <= "0011";</p><p>  WHEN "01011"=> N <=

40、 "0100";</p><p>  WHEN "01101"=> N <= "0101";</p><p>  WHEN "01110"=> N <= "0110";</p><p>  WHEN "10011"=>

41、 N <="0111";</p><p>  WHEN "10101"=> N <= "1000";</p><p>  WHEN "10110" => N <= "1001";</p><p>  WHEN OTHERS => N

42、 <= "1111";</p><p><b>  END CASE;</b></p><p><b>  END IF;</b></p><p>  IF C_QD'EVENT AND C_QD = '1' THEN</p><p><b&g

43、t;  CASE Z IS</b></p><p>  WHEN "11011" => F <= "0100";</p><p>  WHEN "11110" => F <= "0001";</p><p>  WHEN OTHERS => F

44、<= "1000";</p><p><b>  END CASE;</b></p><p><b>  END IF;</b></p><p>  END PROCESS;</p><p>  FN <= NOT ( N(3) AND N(2) AND N(1) A

45、ND N(0));</p><p>  FF <= F(2) OR F(0);</p><p>  END BLOCK KEY_DECODER;</p><p>  END ARCHITECTURE ART;</p><p>  3.1.2輸入模塊單元</p><p>  有上面的程序通過quartus II,我

46、們可以得到下面這個(gè)封裝元件。</p><p>  圖3.1電子密碼鎖鍵盤輸入</p><p>  3.1.3輸入模塊仿真</p><p>  圖3.2 密碼鎖輸入模塊仿真圖</p><p>  3.2電子密碼鎖系統(tǒng)控制模塊</p><p>  密碼鎖的控制電路是整個(gè)電路的控制中心,主要完成對(duì)數(shù)字按鍵輸入和功能按鍵輸入

47、的響應(yīng)控制。數(shù)字按鍵輸入的響應(yīng)控制:</p><p>  (1) 如果按下數(shù)字鍵,第一個(gè)數(shù)字會(huì)從顯示器的最右端開始顯示,此后每新按一個(gè)數(shù)字時(shí),顯示器上的數(shù)字必須左移一格,以便將新的數(shù)字顯示出來。</p><p>  (2) 假如要更改輸入的數(shù)字,可以按倒退按鍵來清除前一個(gè)輸入的數(shù)字,或者按清除鍵清除所有輸入的數(shù)字,再重新輸入四位數(shù)。</p><p>  (3) 由于

48、這里設(shè)計(jì)的是一個(gè)四位的電子密碼鎖,所以當(dāng)輸入的數(shù)字鍵超過四個(gè)時(shí),電路不予理會(huì),而且不再顯示第四個(gè)以后的數(shù)字。</p><p>  3.2.1 控制模塊程序</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_AR

49、ITH.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;</p><p>  ENTITY CONTROL IS</p><p>  PORT( DATA_N: IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  DATA_F: IN STD_LOGIC_VECT

50、OR(3 DOWNTO 0);</p><p>  FLAG_N: IN STD_LOGIC;</p><p>  FLAG_F: IN STD_LOGIC;</p><p>  MIMAIN: BUFFER STD_LOGIC;</p><p>  SETIN: BUFFER STD_LOGIC;</p><p>

51、  OLD: BUFFER STD_LOGIC;</p><p>  CQD: IN STD_LOGIC;</p><p>  ENLOCK: OUT STD_LOGIC;</p><p>  DATA_BCD: OUT STD_LOGIC_VECTOR(15 DOWNTO 0));</p><p>  END ENTITY C

52、ONTROL;</p><p>  ARCHITECTURE ART OF CONTROL IS</p><p>  SIGNAL ACC,REG:STD_LOGIC_VECTOR(15 DOWNTO 0);</p><p><b>  BEGIN</b></p><p>  PROCESS(CQD,FLAG_F) IS

53、</p><p><b>  BEGIN</b></p><p><b>  IF CQD'</b></p><p>  EVENT AND CQD='0'THEN</p><p>  IF FLAG_F='1'THEN</p><p>

54、;  IF(DATA_F="0100")THEN</p><p>  ACC<="1111111111111111";</p><p>  MIMAIN<='0';SETIN<='0';OLD<='0';</p><p>  ELSIF(DATA_F=&q

55、uot;0001")THEN</p><p>  IF(MIMAIN='0'AND SETIN='0')THEN</p><p>  CASE ACC(7 DOWNTO 0) IS</p><p>  WHEN"00010001"=>ENLOCK<='1';</p>

56、<p>  WHEN"10011001"=>MIMAIN<='1';</p><p>  ACC<="1111111111111111";</p><p>  WHEN"01010101"=>SETIN<='1';</p><p>

57、  ACC<="1111111111111111";</p><p><b>  OLD<='1';</b></p><p>  WHEN OTHERS => NULL;</p><p><b>  END CASE;</b></p><p>

58、  ELSIF(MIMAIN='1')THEN</p><p>  IF ACC=REG THEN</p><p>  ENLOCK<='0';</p><p>  MIMAIN<='0';</p><p><b>  ELSE</b></p>&

59、lt;p>  MIMAIN<='0';</p><p><b>  END IF;</b></p><p>  ELSIF(SETIN='1')THEN</p><p>  IF(OLD='1')THEN</p><p>  IF(ACC=REG)THEN<

60、;/p><p><b>  OLD<='0';</b></p><p><b>  ELSE</b></p><p>  SETIN<='0';</p><p><b>  OLD<='0';</b></p&g

61、t;<p><b>  END IF;</b></p><p><b>  ELSE</b></p><p>  IF (ACC<"1001100110011001")THEN</p><p><b>  REG<=ACC;</b></p>

62、<p>  SETIN<='0';</p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;</b></p><p><b>  END IF;&

63、lt;/b></p><p>  ELSIF FLAG_N='1'THEN</p><p>  ACC<=ACC(11 DOWNTO 0)&DATA_N;</p><p><b>  END IF;</b></p><p><b>  END IF;</b><

64、;/p><p>  END PROCESS;</p><p>  DATA_BCD<= ACC;</p><p>  END ARCHITECTURE ART;</p><p>  3.2.2控制模塊單元</p><p>  有上面的程序通過quartus II,我們可以得到下面這個(gè)封裝元件。</p>

65、<p>  圖3.3 電子密碼鎖控制元件</p><p>  3.2.3控制模塊仿真圖</p><p>  圖4.4 密碼鎖控制模塊仿真圖</p><p>  3.3電子密碼鎖系統(tǒng)顯示模塊</p><p>  密碼顯示電路主要將顯示數(shù)據(jù)的BCD碼轉(zhuǎn)換成相對(duì)應(yīng)的編碼。如,若選用七段數(shù)碼管顯示電路,主要將待顯示數(shù)據(jù)的BCD碼轉(zhuǎn)換成數(shù)碼器

66、的七段顯示驅(qū)動(dòng)編碼。密碼鎖顯示電路的設(shè)計(jì)比較簡(jiǎn)單,這里直接采用四個(gè)4-7譯碼器來實(shí)現(xiàn)。</p><p>  3.3.1 顯示模塊程序</p><p>  LIBRARY IEEE;</p><p>  USE IEEE.STD_LOGIC_1164.ALL;</p><p>  USE IEEE.STD_LOGIC_UNSIGNED.ALL;

67、</p><p>  ENTITY DISPLAY IS</p><p>  PORT(DATA_BCD:IN STD_LOGIC_VECTOR(3 DOWNTO 0);</p><p>  DOUT7:OUT STD_LOGIC_VECTOR(6 DOWNTO 0));</p><p>  END DISPLAY;</p>&

68、lt;p>  ARCHITECTURE ART OF DISPLAY IS</p><p><b>  BEGIN</b></p><p>  PROCESS(DATA_BCD)</p><p><b>  BEGIN</b></p><p>  CASE DATA_BCD IS</p&

69、gt;<p>  WHEN"0000"=>DOUT7<="0111111";</p><p>  WHEN"0001"=>DOUT7<="0000110";</p><p>  WHEN"0010"=>DOUT7<="1011011

70、";</p><p>  WHEN"0011"=>DOUT7<="1001111";</p><p>  WHEN"0100"=>DOUT7<="1100110";</p><p>  WHEN"0101"=>DOUT7<

71、="1101101";</p><p>  WHEN"0110"=>DOUT7<="1111101";</p><p>  WHEN"0111"=>DOUT7<="0000111";</p><p>  WHEN"1000"

72、=>DOUT7<="1111111";</p><p>  WHEN"1001"=>DOUT7<="1101111";</p><p>  WHEN OTHERS=>DOUT7<="0000000";</p><p><b>  END CA

73、SE;</b></p><p>  END PROCESS;</p><p>  END ARCHITECTURE ART;</p><p>  3.3.2顯示模塊單元</p><p>  圖3.5 電子密碼鎖顯示模塊元件</p><p>  3.3.3顯示模塊仿真</p><p>

74、  圖3.6 密碼鎖顯示模塊仿真圖</p><p><b>  4小結(jié)</b></p><p>  經(jīng)過這次EDA課程設(shè)計(jì)的一個(gè)星期,不僅溫習(xí)和鞏固了課堂上所學(xué)過的基礎(chǔ)知識(shí),而且學(xué)到了很多書本上都沒有提及的內(nèi)容,進(jìn)一步加深了對(duì)EDA技術(shù)的了解。在課設(shè)過程中,調(diào)試頂層文件程序時(shí)遇到了不少問題,比如,各元件之間的連接和信號(hào)的定義,但是最后在細(xì)心的檢查下,還是成功排除了錯(cuò)誤

75、和警告;在波形仿真時(shí),想要的結(jié)果不能在波形上得到正確的顯示,在經(jīng)過十幾次的調(diào)試后,才發(fā)現(xiàn)是因?yàn)檩斎氲臅r(shí)鐘信號(hào)對(duì)于器件的延遲時(shí)間來說太短了。時(shí)鐘周期設(shè)置在15秒左右比較合適,Endtime的值需要設(shè)置的長(zhǎng)一點(diǎn)10us左右,這樣就可以觀察到完整的仿真結(jié)果。</p><p>  其次,在連接各個(gè)模塊的時(shí)候一定要注意各個(gè)輸入、輸出引腳的線寬,因?yàn)槊總€(gè)線寬是不一樣的,只有讓各個(gè)線寬互相匹配,才能得出最終的正確的結(jié)果。否則,

76、出現(xiàn)任何一點(diǎn)小的誤差就會(huì)導(dǎo)致整個(gè)文件系統(tǒng)的編譯出現(xiàn)錯(cuò)誤提示,在器件的選擇上也有一定的技巧,只有選擇了適合當(dāng)前電路所的器件,編譯才能成功。</p><p>  通過這次EDA課程設(shè)計(jì)使我懂得了理論與實(shí)際相結(jié)合是很重要的,只有把所學(xué)的理論知識(shí)與實(shí)踐相結(jié)合起來,才能提高自己的實(shí)際動(dòng)手能力和獨(dú)立思考的能力。</p><p><b>  參考文獻(xiàn)</b></p>

77、<p>  [1] 譚會(huì)生,張昌凡. EDA 技術(shù)及應(yīng)用(第二版)西安:西安電子科技大學(xué)出版社,2001</p><p>  [2] 徐光軍,徐光輝. CPLD/FPGA 的開發(fā)與應(yīng)用. 北京:電子工業(yè)出版社,2002</p><p>  [3] 李國(guó)麗,朱維勇. EDA 與數(shù)字系統(tǒng)設(shè)計(jì). 北京:機(jī)械工業(yè)出版社,2004</p><p>  編(1997)

溫馨提示

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

評(píng)論

0/150

提交評(píng)論