【正文】
設(shè)計(jì)要求。 ( 4) 待啟動(dòng)狀態(tài) D 在待啟動(dòng)狀態(tài),這時(shí)控制器將判斷按鍵 輸入的是密碼數(shù)字信號(hào)還是開鎖 信號(hào),若是開鎖信號(hào) OPEN,則發(fā)出綠燈信號(hào) LD,使綠燈點(diǎn)亮,啟動(dòng)開門續(xù)電器;若是數(shù)字密碼信號(hào),則進(jìn)入預(yù)警狀態(tài)。在圖 310 待鎖狀態(tài)的流程中,當(dāng) SETUP=1 時(shí)進(jìn)入第二狀態(tài), START=0 時(shí)維持原狀態(tài);當(dāng) SETUP=1 時(shí)輸出RESET_L 復(fù)位信號(hào)。 RESET_L 為脈沖信號(hào),門狀態(tài)是一個(gè)連續(xù)狀態(tài),所以采用非門信號(hào)作為輸出。那么就需要一個(gè)模 3 計(jì)數(shù)器。 貴州大學(xué)本科畢業(yè)論文(設(shè)計(jì)) 第 12 頁 圖 密碼比較 計(jì)數(shù)器 密碼預(yù)置 電路模塊 密碼預(yù)置電路用于設(shè)置密碼, 本系統(tǒng)密碼采用內(nèi)置方式。 貴州大學(xué)本科畢業(yè)論文(設(shè)計(jì)) 第 11 頁 圖 消抖電路 密碼比較 電路模塊 密碼驗(yàn)證用于將編碼器轉(zhuǎn)化后的 8421BCD 碼與預(yù)置密碼進(jìn)行比較。為了去除這些抖動(dòng)干擾脈沖,可采用如圖 所示電路來實(shí)現(xiàn)這個(gè)目標(biāo)。當(dāng)沒有按鍵時(shí),行線和列線是斷開的。 本章對(duì)個(gè)模塊進(jìn)行功能設(shè)計(jì),即各模塊的功能描述。 控制器模塊在密碼系統(tǒng)每收到一個(gè)輸入的密碼數(shù)字時(shí),應(yīng)向比較計(jì)數(shù)器發(fā)出一個(gè)時(shí)鐘信號(hào) CNP。 由于密碼是串行輸入,依次分別于一個(gè)預(yù)置碼進(jìn)行比較,因?yàn)?8 個(gè)十進(jìn)制預(yù)置碼是提前預(yù)置好的,所以還需要一個(gè)計(jì)數(shù)器來選擇目前要比較第幾個(gè)數(shù)據(jù)。否則視為錯(cuò)誤開啟,達(dá)到錯(cuò)誤次數(shù)報(bào)警。在控制器的控制下與預(yù)存密碼進(jìn)行比較正確則開啟密碼鎖。 目前,絕大多數(shù) FPGA 器件具有 ISP 功能。 CPLD 簡介 CPLD (Complex Programmable Logic Device)復(fù)雜可編程邏輯器件 [12],是從 PAL 和GAL 器件發(fā)展出來的器件,相對(duì)而言規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。 Synthesis)、適配器( Fitter)、裝配器( Assembler)、時(shí)序分析器( Timing Analyzer)、設(shè)計(jì)輔助模塊( Design Assistant)、 EDA 網(wǎng)表文件生成器( EDA Netlist Writer)、編輯數(shù)據(jù)接口( Compiler Database Interface)等。 QuartusII 提供了一種與結(jié)構(gòu)無關(guān)的設(shè) 計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。 4) 報(bào)警功能。 2) 系統(tǒng)通電后必須給密碼鎖上鎖,即按上鎖鍵 SETUP,表示密碼鎖準(zhǔn)備就緒,可以接受外部輸入的密碼數(shù)字,這時(shí)用來指示密碼鎖工作情況的指示燈和揚(yáng)聲器處于不工作狀態(tài),系統(tǒng)處于上鎖等待密碼輸入狀態(tài)。機(jī)械密碼鎖結(jié)構(gòu)的復(fù)雜度和密碼位數(shù)成正比成本高且安全性能差。 本次設(shè)計(jì)為開發(fā)一款體積小,功耗低,操作簡易便于修改維護(hù),具有良好 應(yīng)用前景的 數(shù)字 密碼鎖。 關(guān)鍵詞 : Quartus II, VHDL,密碼鎖,電路仿真 貴州大學(xué)本科畢業(yè)論文(設(shè)計(jì)) 第 V 頁 Design and simulation of digital coded lock based on VHDL Abstract With the accumulation of social material wealth, the prevention of thieves has bee a social problem. Lock is always the first choice when people deal with thieves. It requires lock not only to be against with theft, but also practical and convenient. Under the circumstance of current technology, numbers padlock is being a trend among locks. This design makes use of EDA technology to design a burglar digital bination lock to prevent from thieves. This design will use VHDL (Hardware Description Language) under the circumstance of Quartus II to expound its working principle and provide circuit diagram and simulation waveform. This coded lock has the characteristic of small size, low consumption, high security and the function of error accumulation alarm etc. This kind of lock is practical because it can be used in residence, proof box and other places where have the need of prevent from thieves. The lock use matrix keyboard to input. It’s has enough s because its password constitutes of 8 decimal numbers and it would be wrong if the number is more than 8 or less than 8. It’s humanization because there will be alarm if there are 3 times errors when input the password. The alarm can only be cut by public security or where beyond thieves touch, which will make thieves more afeard. Keywords:Quartus II,VHDL,coded lock,circuit simulation 貴州大學(xué)本科畢業(yè)論文(設(shè)計(jì)) 第 1 頁 第一章 引言 隨著社會(huì)物質(zhì)財(cái)富的日益增長 ,安全防盜已成為社會(huì)問題。該密碼鎖具有體積小、功耗低、保密性強(qiáng)、錯(cuò)誤累積報(bào)警等功能。畢業(yè)論文(設(shè)計(jì))中凡引用他人已經(jīng)發(fā)表或未發(fā)表的成果、數(shù)據(jù)、觀點(diǎn)等,均已明確注明出處。在當(dāng)下技術(shù)環(huán)境下數(shù)字鎖成為一種趨勢。并且當(dāng)錯(cuò)誤開鎖次數(shù)達(dá)到 3次報(bào)警器將鳴叫,形成一個(gè)連鎖防盜系統(tǒng)。 設(shè)計(jì)目的 硬件描述 VHDL 語言 , 描述能力強(qiáng) 、 覆蓋面廣 、 抽象能力強(qiáng) , 采用 VHDL 建立硬件模型 可以 從繁瑣的元件設(shè)計(jì)轉(zhuǎn)向功能設(shè)計(jì) 。密碼鎖代替機(jī)械鎖成為一種趨勢。但是這些產(chǎn)品的特點(diǎn)需要一個(gè)特別的指紋或有效卡 ,成本相對(duì)較高不益于普及使用。 IV 使用者按錯(cuò)號(hào)碼,可在按開鎖鍵 OPEN 以前按復(fù)位鍵 START 消除輸入,重新輸入密碼。 Quartus II 簡介 本設(shè)計(jì)是基于 Quartus II 的, 在此 對(duì)它作一些介紹。此外, Quartus II 與 MATLAB 和 DSP Builder 結(jié)合,可以進(jìn)行基于 FPGA 的DSP 系統(tǒng)開發(fā)和數(shù)字通信模塊的開發(fā)。 Quartus II 支持層次化設(shè)計(jì),可以在一個(gè)新的編輯輸入環(huán)境中對(duì)使用不同輸入設(shè)計(jì)方式完成的模塊(元件)進(jìn)行調(diào)用,從而解決了原理圖與 HDL 混合輸入設(shè)計(jì)的問題。ISP 技術(shù)使得調(diào)試過程不需要反復(fù)撥插 芯片,從而不會(huì)產(chǎn)生引腳彎曲變形現(xiàn)象,提高了可靠性,而且可以隨時(shí)對(duì)焊接在電路板上的 ISP 器件的邏輯功能進(jìn)行修改,從而加快了數(shù)字系統(tǒng)的調(diào)試過程。密碼輸入完畢后再一次性比較。原理圖如圖 所示。 貴州大學(xué)本科畢業(yè)論文(設(shè)計(jì)) 第 7 頁 圖 數(shù)字密碼鎖 系統(tǒng)電路整體框圖 編碼器模塊的作用 是將鍵盤輸入的信號(hào)編成 BCD 碼,并且每鍵入一個(gè)數(shù)碼,應(yīng)向控制器送一個(gè)脈沖 DATA_IN 表示有數(shù)據(jù)輸入。消抖同步模塊的作用是保證系統(tǒng)能捕捉到輸入脈沖,并保證沒按一次鍵只形成一個(gè)寬度等于系統(tǒng)時(shí)鐘周期的脈沖??刂破鞣謩e向觸發(fā)器提供一個(gè)置位信號(hào) S_LD、 S_HD,按下上鎖鍵時(shí)向觸發(fā)器提供一個(gè)復(fù)位 信號(hào) RESET_L,用來控制綠燈 LD、紅燈 HD 工作。 圖 鍵盤按鍵布局 根據(jù) 4*4 矩陣式鍵盤特點(diǎn),采用行列式編碼方式 。因此每個(gè)輸入端就各需要一個(gè)消抖電路。信號(hào)的輸出口是 key_out。計(jì)數(shù)器是一種累積脈沖的邏輯部件, clr 為復(fù)位信號(hào),高電平有效。設(shè)計(jì)如圖 所示。 貴州大學(xué)本科畢業(yè)論文(設(shè)計(jì)) 第 13 頁 圖 報(bào)警計(jì)數(shù)器 觸發(fā)器電路模塊 觸發(fā)器是一個(gè)門輸出電路,用 LD 表示密碼鎖打開, HD 表示開啟過程出錯(cuò)。 貴州大學(xué)本科畢業(yè)論文(設(shè)計(jì)) 第 14 頁 矩形框:工作狀態(tài) 菱形框:分支條件 平行四邊形框:條件輸出 開門鍵( OPEN) 上鎖( SETUP) 解除鎖定( ISETUP) 上鎖( STATR) 圖 控制器工作狀態(tài)流程圖 ( 1) 待鎖狀態(tài) A 待鎖狀態(tài)是指密碼鎖系統(tǒng)處于打開、報(bào)警后的狀態(tài)。該狀態(tài)每收到一個(gè)信號(hào)應(yīng)線判斷是密碼數(shù)據(jù)信號(hào)DATA_IN 還是開鎖信號(hào) OPEN。當(dāng)計(jì)數(shù)器 CO3 有效為高電平時(shí)進(jìn)入報(bào)警狀態(tài)。當(dāng) en=0 是,輸出為 0;當(dāng) en為高電平時(shí),可以進(jìn)行編碼。由波形圖可以看出,在一個(gè)上升沿檢測到有按鍵時(shí)則不管這一時(shí)鐘周期內(nèi)有多少次抖動(dòng),只輸出一個(gè)時(shí)鐘周期寬度的脈沖信號(hào)。 VHDL 源程序 見附錄 A3。 密碼預(yù)置電路模塊仿真波形如圖 所示。 圖 報(bào)警計(jì)數(shù)器仿真波形 報(bào)警計(jì)數(shù)器電路模塊邏輯電路圖如圖 所示。 圖 415 說明如下: 1: SETUP 2: SETUP 3: SATRA 4: START 5: OPEN?START ?DATA_IN 6: OPEN? START 7: OPEN? START ? DATA_IN ? DEP?CO8 8: OPEN? START ? DATA_IN ? DEP? CO8 9: OPEN? START ? DATA_IN ? DEP 10: OPEN 11: DATA_IN ?START ?OPEN 12: DATA_IN ?START ?OPEN 13: DATA_IN ?START 14: DATA_IN 15: START ?OPEN 16: START 貴州大學(xué)本科畢業(yè)論文(設(shè)計(jì)) 第 23 頁 17: START ?OPEN 18:CO3 ?START 19: CO3 ?START 20: CO3 21: ISETUP 22: ISETUP 圖 控制器 MDS圖 采用一對(duì)一的方式,用 7 個(gè)觸發(fā)器 QA、 QB、 QC、 QD、 QE、 QF、 QG表示 7 個(gè)狀態(tài),則 7個(gè)觸發(fā)器的激勵(lì)方程分別為 QA = SETUP ?QA +OPEN? DATA_IN ? STARA ? QD +QA ? QB ? QC ?QD ? QE ?QF ? QG QB = SETUP? QA +START ? QB + ISETUP? QG QC = START ?QB +QD ?DATA_IN ?START +QE ? START +CO3 ? START ?QF +OPEN?START ?DATA_IN ?QC +OPEN? START ?QC + OPEN? START ?DATA_IN ?DEP ?CO8 ?QC 貴州大學(xué)本科畢業(yè)論文(設(shè)計(jì)) 第 24 頁 QD = OPEN?START ?DATA_IN ?DEP ?CO8 ?QC + DATA_IN ? START ?OPEN? QD QE = OPEN?START ?DATA_IN ?DEP? QC +DATA_IN ?QD +START ? OPEN?QE QF = START ? OPEN?QE + OPEN?QC +CO3 ?START ?QF QG = CO3 ?QF +ISETUP ?QG 各有關(guān)輸出為 EN = QC +QD +QE+ QF RESET_L = SETUP