電子密碼鎖的設(shè)計(jì)與分析_第1頁(yè)
電子密碼鎖的設(shè)計(jì)與分析_第2頁(yè)
電子密碼鎖的設(shè)計(jì)與分析_第3頁(yè)
電子密碼鎖的設(shè)計(jì)與分析_第4頁(yè)
電子密碼鎖的設(shè)計(jì)與分析_第5頁(yè)
已閱讀5頁(yè),還剩68頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 第第4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.1 系統(tǒng)設(shè)計(jì)要求系統(tǒng)設(shè)計(jì)要求4.2 系統(tǒng)設(shè)計(jì)方案系統(tǒng)設(shè)計(jì)方案 4.3 主要主要VHDL源程序源程序 4.4 系統(tǒng)仿真系統(tǒng)仿真/硬件驗(yàn)證硬件驗(yàn)證 4.5 設(shè)計(jì)技巧分析設(shè)計(jì)技巧分析4.6 系統(tǒng)擴(kuò)展思路系統(tǒng)擴(kuò)展思路 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.1 系統(tǒng)設(shè)計(jì)要求系統(tǒng)設(shè)計(jì)要求 設(shè)計(jì)一個(gè)具有較高安全性和較低成本的通用電子密碼鎖,其具體功能要求如下: (1) 數(shù)碼輸入:每按下一個(gè)數(shù)字鍵,就輸入一個(gè)數(shù)值,并在顯示器上的最右方顯示出該數(shù)值,同時(shí)將先前輸

2、入的數(shù)據(jù)依序左移一個(gè)數(shù)字位置。 (2) 數(shù)碼清除:按下此鍵可清除前面所有的輸入值,清除成為“0000”。 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 (3) 密碼更改:按下此鍵時(shí)會(huì)將目前的數(shù)字設(shè)定成新的密碼。 (4) 激活電鎖:按下此鍵可將密碼鎖上鎖。 (5) 解除電鎖:按下此鍵會(huì)檢查輸入的密碼是否正確,密碼正確即開鎖。第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.2 系統(tǒng)設(shè)計(jì)方案系統(tǒng)設(shè)計(jì)方案 作為通用電子密碼鎖,主要由三個(gè)部分組成:數(shù)字密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。 作為電子密碼鎖的輸入電路,可供選擇的方案有數(shù)字機(jī)械式鍵盤和觸摸式數(shù)字鍵盤

3、等多種。 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 根據(jù)以上選定的輸入設(shè)備和顯示器件,并考慮到實(shí)現(xiàn)各項(xiàng)數(shù)字密碼鎖功能的具體要求,整個(gè)電子密碼鎖系統(tǒng)的總體組成框圖如圖4.1所示。 (1) 密碼鎖輸入電路包括時(shí)序產(chǎn)生電路、鍵盤掃描電路、鍵盤彈跳消除電路、鍵盤譯碼電路等幾個(gè)小的功能電路。第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 (2) 密碼鎖控制電路包括按鍵數(shù)據(jù)的緩沖存儲(chǔ)電路,密碼的清除、變更、存儲(chǔ)、激活電鎖電路(寄存器清除信號(hào)發(fā)生電路),密碼核對(duì)(數(shù)值比較電路),解鎖電路(開/關(guān)門鎖電路)等幾個(gè)小的功能電路。 (3) 七段數(shù)碼管顯示電路主要將待顯示數(shù)據(jù)的BC

4、D碼轉(zhuǎn)換成數(shù)碼器的七段顯示驅(qū)動(dòng)編碼。第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 圖4.1 數(shù)字電子密碼鎖系統(tǒng)總體框圖鍵盤掃描電路密碼鎖輸入電路七段數(shù)碼管顯示電路密碼鎖控制電路按鍵輸入掃描信號(hào)鍵盤彈跳消除電路鍵盤譯碼電路時(shí)序產(chǎn)生電路寄存器清除信號(hào)發(fā)生電路開/關(guān)門鎖電路數(shù)值比較電路數(shù)值比較電路按鍵數(shù)據(jù)緩存器BCD至七段譯碼電路第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.2.1 密碼鎖輸入電路的設(shè)計(jì) 圖4.2是電子密碼鎖的輸入電路框圖,由鍵盤掃描電路、彈跳消除電路、鍵盤譯碼電路、按鍵數(shù)據(jù)緩存器,加上外接的一個(gè)34矩陣式鍵盤組成。 第第4 4章章 電子密碼鎖的設(shè)

5、計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 圖4.2 密碼鎖的輸入電路框圖 彈跳消除電 路鍵盤譯碼電 路按鍵數(shù)據(jù)緩存器123456789*0#鍵盤掃描電路工作時(shí)鐘脈沖信號(hào)鍵盤輸入按鍵數(shù)據(jù)鍵盤掃描信號(hào)第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 1矩陣式鍵盤的工作原理 矩陣式鍵盤是一種常見的輸入裝置,在日常的生活中,矩陣式鍵盤在計(jì)算機(jī)、電話、手機(jī)、微波爐等各式電子產(chǎn)品上已經(jīng)被廣泛應(yīng)用。圖4.3是一個(gè)34矩陣式鍵盤的面板配置圖,其中數(shù)字09作為密碼數(shù)字輸入按鍵,*作為“上鎖”功能按鍵,#作為“解鎖/清除”功能按鍵。第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 圖4.3 34矩陣

6、式鍵盤的面板配置 123456789*0#鍵盤掃描信號(hào)KY3(00) 1110KY2(01) 1101KY1(10) 1011KY0(11) 0111KX2KX1KX0經(jīng)提升電阻至VCC第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 表4.1 按鍵位置與數(shù)碼關(guān)系第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 2密碼鎖輸入電路各主要功能模塊的設(shè)計(jì) 1) 時(shí)序產(chǎn)生電路 本時(shí)序產(chǎn)生電路中使用了三種不同頻率的工作脈沖波形:系統(tǒng)時(shí)鐘脈沖(它是系統(tǒng)內(nèi)部所有時(shí)鐘脈沖的源頭,且其頻率最高)、彈跳消除取樣信號(hào)、鍵盤掃描信號(hào)。 2) 鍵盤掃描電路 掃描電路的作用是用來(lái)提供鍵盤掃描信號(hào)(

7、表4.1中的KY3KY0)的,掃描信號(hào)變化的順序依次為11101101101101111110.依序地周而復(fù)始。 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 3) 彈跳消除電路 由于本設(shè)計(jì)中采用的矩陣式鍵盤是機(jī)械開關(guān)結(jié)構(gòu),因此在開關(guān)切換的瞬間會(huì)在接觸點(diǎn)出現(xiàn)信號(hào)來(lái)回彈跳的現(xiàn)象,對(duì)于電子密碼鎖這種靈敏度較高的電路這種彈跳將很可能會(huì)造成誤動(dòng)作輸入,從而影響到密碼鎖操作的正確性。 從圖4.4中可以觀察出彈跳現(xiàn)象產(chǎn)生的原因,雖然只是按下按鍵一次然后放掉,然而實(shí)際產(chǎn)生的按鍵信號(hào)卻不止跳動(dòng)一次,經(jīng)過(guò)取樣信號(hào)的檢查后,將會(huì)造成誤判斷,以為鍵盤按了兩次。如果調(diào)整抽樣頻率(如圖4.5所示),可以

8、發(fā)現(xiàn)彈跳現(xiàn)象獲得了改善。 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 圖4.4 彈跳現(xiàn)象產(chǎn)生錯(cuò)誤的抽樣結(jié)果 抽樣結(jié)果抽樣信號(hào)按鍵信號(hào)第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 圖4.5 調(diào)整抽樣頻率后得到的抽樣結(jié)果 抽樣結(jié)果抽樣信號(hào)按鍵信號(hào)第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 彈跳消除電路的實(shí)現(xiàn)原理如圖4.6所示,先將鍵盤的輸入信號(hào)D_IN做為電路的輸入信號(hào),CLK是電路的時(shí)鐘脈沖信號(hào),也就是取樣信號(hào),D_IN經(jīng)過(guò)兩級(jí)D觸發(fā)器延時(shí)后再使用RS觸發(fā)器處理。第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 圖4.6 彈跳消除電

9、路的內(nèi)部實(shí)現(xiàn)原理圖 PRNCLRNDQPRNCLRNDQDFFVCC13D_INCLKD0DFF1011D18NOTNOT97AND26AND2D_OUTSRQQ第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 此處RS觸發(fā)器的前端連接和非門的處理原則是: (1) 因?yàn)橐话闳说陌存I速度至多是10次/秒,亦即一次按鍵時(shí)間是100 ms,所以按下的時(shí)間可估算為50 ms。以取樣信號(hào)CLK的周期為8 ms計(jì),則可以取樣到6次。 (2) 對(duì)于不穩(wěn)定的噪聲,在4 ms以下則至多抽樣一次。 (3) 在觸發(fā)器之前,接上AND-NOT之后,SR的組態(tài)如表4.2所示。 第第4 4章章 電子密碼鎖的設(shè)

10、計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 表4.2 RS觸發(fā)器真值表第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4) 鍵盤譯碼電路 上述鍵盤中的按鍵可分為數(shù)字按鍵和文字按鍵,每一個(gè)按鍵可能負(fù)責(zé)不同的功能,例如清除數(shù)碼、退位、激活電鎖、開鎖等,詳細(xì)功能參見表4.3。 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 表4.3 鍵盤參數(shù)表第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 5) 按鍵存儲(chǔ)電路 因?yàn)槊看螔呙钑?huì)產(chǎn)生新的按鍵數(shù)據(jù),可能會(huì)覆蓋前面的數(shù)據(jù),所以需要一個(gè)按鍵存儲(chǔ)電路,將整個(gè)鍵盤掃描完畢后的結(jié)果記錄下來(lái)。按鍵存儲(chǔ)電路可以使用移位寄存器構(gòu)成。第第4 4

11、章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.2.2 密碼鎖控制電路的設(shè)計(jì) 密碼鎖的控制電路是整個(gè)電路的控制中心,主要完成對(duì)數(shù)字按鍵輸入和功能按鍵輸入的響應(yīng)控制。 1數(shù)字按鍵輸入的響應(yīng)控制 (1) 如果按下數(shù)字鍵,第一個(gè)數(shù)字會(huì)從顯示器的最右端開始顯示,此后每新按一個(gè)數(shù)字時(shí),顯示器上的數(shù)字必須左移一格,以便將新的數(shù)字顯示出來(lái)。第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 (2) 假如要更改輸入的數(shù)字,可以按倒退按鍵來(lái)清除前一個(gè)輸入的數(shù)字,或者按清除鍵清除所有輸入的數(shù)字,再重新輸入四位數(shù)。 (3) 由于這里設(shè)計(jì)的是一個(gè)四位的電子密碼鎖,所以當(dāng)輸入的數(shù)字鍵超過(guò)四個(gè)時(shí),電路不

12、予理會(huì),而且不再顯示第四個(gè)以后的數(shù)字。第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 2功能按鍵輸入的響應(yīng)控制 (1) 清除鍵:清除所有的輸入數(shù)字,即做歸零動(dòng)作。 (2) 激活電鎖鍵:按下此鍵時(shí)可將密碼鎖的門上鎖。(上鎖前必須預(yù)先設(shè)定一個(gè)四位的數(shù)字密碼。) (3) 解除電鎖鍵:按下此鍵會(huì)檢查輸入的密碼是否正確,若密碼正確無(wú)誤則開門。 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 圖4.7 電子密碼鎖的三種模式及關(guān)系 上鎖工作模式清除原先儲(chǔ)存于組件中的密碼輸入舊密碼后變更密碼將新密碼回存于存儲(chǔ)組件中密碼鎖激活上鎖 開鎖工作模式檢查輸入的密碼是否有效核對(duì)輸入密碼是否有

13、效都正確后解除電鎖 輸入文字模式開始輸入4位數(shù)字,在輸入數(shù)字時(shí)可能使用到清除鍵第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.2.3 密碼鎖顯示電路的設(shè)計(jì) 密碼鎖顯示電路的設(shè)計(jì)比較簡(jiǎn)單,這里直接采用四個(gè)4-7譯碼器來(lái)實(shí)現(xiàn)。 4.2.4 密碼鎖的整體組裝設(shè)計(jì) 將前面各個(gè)設(shè)計(jì)好的功能模塊進(jìn)行整合,可得到一個(gè)完整的電子密碼鎖系統(tǒng)的整體組裝設(shè)計(jì)原理圖,如圖4.8所示。第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 圖4.8 密碼鎖的整體組裝設(shè)計(jì)原理圖第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.3 主要主要VHDL源程序源程序 4.3.1 鍵盤輸入去

14、抖電路的VHDL源程序-DCFQ.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; ENTITY DCFQ IS PORT(CLK, CLRN, PRN, D: IN STD_LOGIC; Q: OUT STD_LOGIC); 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 END ENTITY DCFQ ; ARCHITECTURE ART OF DCFQ IS BEGIN PROCESS (CLK, CLRN, PRN) BEGINIF CLRN=0 AND PRN=1 THEN Q=0; ELSIF CLRN=1 AND PRN=0

15、 THEN Q=1; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 ELSIF CLKEVENT AND CLK=1 THEN Q =D; END IF ; END PROCESS ; END ARCHITECTURE ART; -DEBOUNCING.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; LIBRARY ALTERA; USE ALTERA.MAXPLUS2.ALL; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 ENTITY DEBOUNCING IS PORT(D_IN, CLK: IN STD_LOG

16、IC; DD1, DD0, QQ1, QQ0 : OUT STD_LOGIC; D_OUT, D_OUT1: OUT STD_LOGIC ); END ENTITY DEBOUNCING ; ARCHITECTURE ART OF DEBOUNCING IS COMPONENT DCFQ IS PORT(CLK, CLRN, PRN, D: IN STD_LOGIC; Q: OUT STD_LOGIC); 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 END COMPONENT DCFQ; SIGNAL VCC, INV_D : STD_LOGIC ; SIGNAL Q0, Q

17、1 : STD_LOGIC ; SIGNAL D1, D0 : STD_LOGIC ; BEGIN VCC = 1 ; INV_D CLK, CLRN = INV_D, PRN = VCC, D =VCC , Q = Q0); U2: DCFQ PORT MAP (CLK = CLK, CLRN = Q0, PRN = VCC, D =VCC , Q = Q1); PROCESS (CLK) BEGINIF CLKEVENT AND CLK=1 THEN D0 = NOT Q1; D1 = D0; END IF ; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 END PROC

18、ESS ; DD0 = D0; DD1 = D1; QQ1 = Q1; QQ0 = Q0; D_OUT = NOT (D1 AND NOT D0); D_OUT1 = NOT Q1 ; END ARCHITECTURE ART; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.3.2 密碼鎖輸入電路的VHDL源程序-KEYBOARD.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL ; USE IEEE.STD_LOGIC_UNSIGNED.ALL ; ENTITY KEYBO

19、ARD IS第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 PORT (CLK_1K: IN STD_LOGIC ; -系統(tǒng)原始時(shí)鐘脈沖(1 kHz) KEY_IN: IN STD_LOGIC_VECTOR (2 DOWNTO 0); -按鍵輸入 CLK_SCAN: OUT STD_LOGIC_VECTOR (3 DOWNTO 0) ; -( 仿真時(shí)用)鍵盤掃描序列 DATA_N: OUT STD_LOGIC_VECTOR(3 DOWNTO 0) ; -數(shù)字輸出第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 DATA_F: OUT STD_LOGIC_VECTOR(

20、3 DOWNTO 0) ; -功能輸出 FLAG_N: OUT STD_LOGIC ; -數(shù)字輸出標(biāo)志 FLAG_F: OUT STD_LOGIC ; -功能輸出標(biāo)志 CLK_CTR: OUT STD_LOGIC; -控制電路工作時(shí)鐘信號(hào) CLK_DEBOUNCE: OUT STD_LOGIC -(仿真時(shí)用)去抖電路工作時(shí)鐘信號(hào) ); 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 END ENTITY KEYBOARD ; ARCHITECTURE ART OF KEYBOARD IS COMPONENT DEBOUNCING ISPORT(D_IN: IN STD_LOGIC

21、 ; CLK: IN STD_LOGIC ; D_OUT: OUT STD_LOGIC ) ; END COMPONENT DEBOUNCING; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 SIGNAL CLK: STD_LOGIC ; -電路工作時(shí)鐘脈沖 SIGNAL C_KEYBOARD: STD_LOGIC_VECTOR(1 DOWNTO 0); -鍵掃信號(hào)“00-01-10-11”寄存器 SIGNAL C_DEBOUNCE: STD_LOGIC ; -去抖時(shí)鐘信號(hào) SIGNAL C: STD_LOGIC_VECTOR(2 DOWNTO 0) ; -鍵盤輸入去抖后的寄

22、存器第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 SIGNAL N , F: STD_LOGIC_VECTOR(3 DOWNTO 0) ; -數(shù)字、功能按鍵譯碼值的寄存器 SIGNAL FN , FF: STD_LOGIC ; -數(shù)字、功能按鍵標(biāo)志值數(shù)字、功能按鍵 SIGNAL SEL: STD_LOGIC_VECTOR (3 DOWNTO 0) ; BEGIN第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 - 內(nèi)部連接DATA_N = N ; DATA_F = F ; FLAG_N = FN ; FLAG_F = FF ; CLK_CTR = CLK ; -掃描

23、信號(hào)發(fā)生器 COUNTER : BLOCK ISSIGNAL Q: STD_LOGIC_VECTOR(5 DOWNTO 0); 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 SIGNAL SEL: STD_LOGIC_VECTOR (3 DOWNTO 0); -1110-1101-1011-0111 BEGINPROCESS (CLK_1K) IS BEGIN IF CLK_1KEVENT AND CLK_1K =1 THEN Q = Q+1; END IF; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 C_DEBOUNCE = Q(2) ; -去抖時(shí)鐘信號(hào),

24、 大約125 Hz C_KEYBOARD = Q(6 DOWNTO 5) ; - 產(chǎn)生鍵掃信號(hào)*“00-01-10-11”, 大約16 Hz-C_DEBOUNCE = Q(1) ; -仿真時(shí)用 -C_KEYBOARD = Q(5 DOWNTO 4) ; -仿真時(shí)用 CLK = Q(0) ; END PROCESS; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 CLK_DEBOUNCE=C_DEBOUNCE; SEL = 1110 WHEN C_KEYBOARD=0 ELSE1101 WHEN C_KEYBOARD=1 ELSE1011 WHEN C_KEYBOARD=2 EL

25、SE0111 WHEN C_KEYBOARD=3 ELSE1111; CLK_SCAN KEY_IN(0) , D_OUT = C(0), CLK = C_DEBOUNCE); U2: DEBOUNCING PORT MAP (D_IN = KEY_IN(1) , D_OUT = C(1), CLK = C_DEBOUNCE); U3: DEBOUNCING PORT MAP (D_IN = KEY_IN(2) , D_OUT = C(2), CLK = C_DEBOUNCE ); 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 END BLOCK DEBOUNUING ; -鍵

26、盤譯碼 KEY_DECODER : BLOCK SIGNAL Z : STD_LOGIC_VECTOR(4 DOWNTO 0) ; -按鍵位置BEGINPROCESS(CLK) BEGIN Z N N N N N N N N N N N F F F = 1000 ; END CASE ; END IF ; END PROCESS ; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 FN = NOT ( N(3) AND N(2) AND N(1) AND N(0) ) ; FF = F(2) OR F(0) ; END BLOCK KEY_DECODER ; END ARCHIT

27、ECTURE ART; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.3.3 密碼鎖控制電路的VHDL源程序-CTRL.VHDLIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL; USE IEEE.STD_LOGIC_ARITH.ALL; USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY CTRL IS第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 PORT (DATA_N: IN STD_LOGIC_VECTOR(3 DOWNTO 0); DATA_F: IN STD_LOGIC_VECTOR(3

28、 DOWNTO 0); FLAG_N: IN STD_LOGIC; FLAG_F: IN STD_LOGIC; CLK: IN STD_LOGIC; ENLOCK: OUT STD_LOGIC; -1: LOCK, 0: UNLOCK DATA_BCD: OUT STD_LOGIC_VECTOR (15 DOWNTO 0); END ENTITY CTRL ; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 ARCHITECTURE ART OF CTRL IS SIGNAL ACC, REG: STD_LOGIC_VECTOR (15 DOWNTO 0); -ACC用于暫存鍵盤

29、輸入的信息,REG用于存儲(chǔ)輸入的密碼 SIGNAL NC: STD_LOGIC_VECTOR (2 DOWNTO 0); SIGNAL RR2, CLR, BB, QA, QB: STD_LOGIC; SIGNAL R1, R0: STD_LOGIC; BEGIN -寄存器清零信號(hào)的產(chǎn)生進(jìn)程第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 PROCESS(CLK) BEGIN IF CLKEVENT AND CLK=1 THEN R1=R0; R0=FLAG_F; END IF; RR2=R1 AND NOT R0; CLR=RR2; END PROCESS; 第第4 4章章 電子

30、密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 -按鍵輸入數(shù)據(jù)的存儲(chǔ)、清零進(jìn)程 KEYIN_PROCESS : BLOCK IS SIGNAL RST, D0, D1: STD_LOGIC ; BEGIN RST = RR2; PROCESS(FLAG_N, RST) IS BEGINIF RST = 1 THEN ACC = 0000000000000000 ; -CLEAR INPUT NC = 000 ; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 ELSE IF FLAG_NEVENT AND FLAG_N = 1 THEN IF NC 4 THEN ACC = ACC(1

31、1 DOWNTO 0) & DATA_N ; NC = NC + 1 ; END IF; END IF ; END IF ; END PROCESS ; END BLOCK KEYIN_PROCESS ; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 -上鎖/開鎖控制進(jìn)程 LOCK_PROCESS : BLOCK IS BEGINPROCESS(CLK, DATA_F) IS BEGIN IF (CLKEVENT AND CLK = 1) THENIF NC = 4 THEN IF DATA_F(2) = 1 THEN -上鎖控制信號(hào)有效 REG = ACC ; -密碼存儲(chǔ)第第

32、4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 QA = 1 ; QB = 0; ELSIF DATA_F(0) = 1 THEN-開鎖控制信號(hào)有效IF REG = ACC THEN -密碼核對(duì) QA= 0; QB = 1 ; END IF ; ELSIF ACC = 1000100010001000 THEN -設(shè)置“8888”為萬(wàn)用密碼QA = 0 ; QB= 1; END IF ; END IF; END IF ; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 END PROCESS ; END BLOCK LOCK_PROCESS ; -輸出上鎖/開鎖控制信號(hào)

33、 ENLOCK = QA AND NOT QB ; -輸出顯示信息 DATA_BCD= ACC ; END ARCHITECTURE ART; 第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.3.4 其他電路的VHDL源程序 對(duì)于密碼鎖顯示電路及電子密碼鎖整體組裝的VHDL源程序,請(qǐng)讀者根據(jù)圖4.8 密碼鎖的整體組裝設(shè)計(jì)原理圖自行完成。第第4 4章章 電子密碼鎖的設(shè)計(jì)與分析電子密碼鎖的設(shè)計(jì)與分析 4.4 系統(tǒng)仿真系統(tǒng)仿真/硬件驗(yàn)證硬件驗(yàn)證 4.4.1 系統(tǒng)的有關(guān)仿真 1. 鍵盤輸入去抖電路的仿真 圖4.9為鍵盤輸入去抖電路的仿真結(jié)果圖,圖中的輸出信號(hào)QQ0,QQ1,D_OUT1,DD0,DD1是為便于仿真時(shí)觀察中間結(jié)果而增加的觀測(cè)點(diǎn)的

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝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ù)網(wǎng)僅提供信息存儲(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)論