【正文】
end process。 elsif(anjian=1001) then kr=0111。 elsif(anjian=0111) then kr=0111。 elsif(anjian=0101) then kr=1011。 elsif(anjian=0011) then kr=1101。 elsif(anjian=0001) then kr=1101。a1amp。end shu_ru。use 。 qb=not (z1 and qa)。entity shu_chu is port(z0,z1:in std_logic。END rt1。 END IF。139。 ELSIF(clk39。139。 q: out std_logic_vector(1 downto 0))。USE 。 8 end if。 4 elsif sel=100 then y=0101。 process(sel) begin if sel=000 then y=0001。 y:out std_logic_vector(3 downto 0))。END one。 END IF。139。 ELSIF(clk39。139。 co8:OUT std_logic)。USE 。 end if。architecture one of bi_jiao_qi is begin process(f,y) begin if f=y then dep=39。use 。 end if。 8 when 001=data=1001。 6 when others=null。 end case。 elsif(kr=1101) then case kc is when 100=data=0001。 end if。039。039。END jian_pan。 kr:IN std_logic_vector(3 DOWNTO 0)。USE 。設(shè)計(jì)從開題到定稿,都離不開欒老師的悉心教導(dǎo)。這將對(duì)我今后的工作產(chǎn)生莫大的影響。這是通過“解除鎖定”可關(guān)閉報(bào)警系統(tǒng)。 (2)密碼采用串行輸入,只有密碼位數(shù)正確,且都正確的情況下密碼才有效。目前虹膜識(shí)別技術(shù)還在發(fā)展階段,將來必然是密碼鎖的又一發(fā)展方向。但由于算法過于復(fù)雜目前主要應(yīng)用于軍隊(duì),金融等高保密性行業(yè)。下面就這方面簡述如下:(1) IC卡密碼鎖IC卡(又稱智能卡)具有存儲(chǔ)量打、數(shù)據(jù)保密性好、抗干擾能力強(qiáng)、存儲(chǔ)可靠、讀卡設(shè)備簡單、操作速度快、脫機(jī)工作能力強(qiáng)等優(yōu)點(diǎn)。當(dāng)然還有很多應(yīng)用場(chǎng)合,在這里不在熬述。比如:對(duì)每個(gè)用戶設(shè)置身份識(shí)別碼,根據(jù)不同身份系統(tǒng)將調(diào)用不同密碼。測(cè)試結(jié)果顯示,系統(tǒng)內(nèi)部動(dòng)作是按照設(shè)計(jì)規(guī)定正常進(jìn)行。根據(jù)310流程圖可得如下測(cè)試路徑。Baojing轉(zhuǎn)為高電平,警報(bào)器鳴叫。這時(shí)復(fù)位,系統(tǒng)再次進(jìn)入輸入密碼狀態(tài)C。系統(tǒng)當(dāng)正確收到八位密碼后,比較計(jì)數(shù)器發(fā)來CO8有效信號(hào)(高電平),同時(shí)dep有效,系統(tǒng)轉(zhuǎn)到待啟動(dòng)狀態(tài)D(qd為高點(diǎn)平,同時(shí)qc轉(zhuǎn)為低電平)。從波形圖可以看出。仿真波形不涉及任何具體器件的硬件特性。第五章 設(shè)計(jì)結(jié)果 本章將對(duì)完成的數(shù)字鎖結(jié)果進(jìn)行展示,主要有功能仿真和邏輯測(cè)試。開門信號(hào)OPEN和控制器使能信號(hào)en通過一個(gè)與門后送入控制器,以確定開門動(dòng)作實(shí)在鍵盤輸入有效的情況下進(jìn)行。圖 頂層文件設(shè)計(jì) 。該輸入模塊VHDL源程序見附錄A7。 頂層文件的設(shè)計(jì)與實(shí)現(xiàn) 頂層文件采用圖形化設(shè)計(jì)方式,將前面各模塊調(diào)入連接構(gòu)成。這是輸入第八位密碼錯(cuò)誤,接著開鎖,從波形圖可以看出開門錯(cuò)誤指示燈hd變?yōu)楦唠娖?。end behave。 qd=qd1。 end process。 p=data_in and qc1 and(not iopen)and(not start)。 錯(cuò)誤狀態(tài)F qg1=(co3 and qf1) or ((not isetup)and qg1)。 待鎖狀態(tài)B qc1=(start and qb1)or(qd1 and(not data_in)and start)or(qe1 and start)or((not co3)and start and qf1)or((not iopen)and(not start)and(not data_in)and qc1)or((not iopen)and start and qc1)or((not iopen)and(not start)and data_in and dep and (not co8)and qc1)。event and clk=39。 鍵盤使能信號(hào) qa,qb,qc,qd,qe,qf,qg:out std_logic)。 定義綠色信號(hào)燈 hd:out std_logic。use 。QG RESET_CNP=QB?START+QC?OPEN?START+QD?DATAIN?START+QE? START+QF?CO3?START CNP=QC?DATA_IN控制器是一個(gè)時(shí)序邏輯電路,是根據(jù)控制器詳細(xì)工作流程圖來設(shè)計(jì)。VHDL源程序見附錄A6。圖 密碼預(yù)置電路仿真波形 。信號(hào)通過比較計(jì)數(shù)器獲得。從波形圖可以看出,當(dāng)復(fù)位信號(hào)clr為低電平時(shí),時(shí)鐘脈沖輸入clk在上升沿有效,輸出端q[2..0]進(jìn)行8進(jìn)制計(jì)數(shù),并且當(dāng)計(jì)數(shù)到8個(gè)數(shù)時(shí),進(jìn)位信號(hào)CO8轉(zhuǎn)為高電平,表明密碼輸入完畢,可以開啟密碼鎖。圖 比較器仿真波形 。圖 消抖電路仿真波形 .圖 消抖電路邏輯電路 密碼比較電路模塊 密碼驗(yàn)證就是一個(gè)等值比較電路,將編碼器轉(zhuǎn)化后的8421BCD碼與預(yù)置密碼進(jìn)行比較。這里不在熬述。dout端由于用來記錄輸入數(shù)據(jù)的個(gè)數(shù),因此無論輸入是否有效,只要有輸入dout端就會(huì)產(chǎn)生高電平輸出,以記錄輸入數(shù)據(jù)的個(gè)數(shù)。 。第四章 詳細(xì)設(shè)計(jì)與模塊仿真本章主要解決各功能模塊的VHDL實(shí)現(xiàn)和其功能的仿真測(cè)試。若按下開鎖鍵OPEN,使紅燈HD點(diǎn)亮,并向報(bào)警計(jì)數(shù)器發(fā)出時(shí)鐘信號(hào)。在轉(zhuǎn)移到預(yù)警狀態(tài)E或待啟動(dòng)狀態(tài)D以前,如果收到復(fù)位信號(hào)SATRA,控制器發(fā)出比較計(jì)數(shù)器清零信號(hào)RESET_CNP,使計(jì)數(shù)器清零,則前面收到的密碼無效,重新進(jìn)行輸入密碼操作。當(dāng)按下START時(shí),將轉(zhuǎn)入開鎖狀態(tài),開鎖程序開始執(zhí)行,等待輸入密碼數(shù)字,此時(shí)應(yīng)將計(jì)數(shù)器清零,故在第二工作狀態(tài)中有一條輸出框,輸出比較計(jì)數(shù)器清零信號(hào)RESER_CNP。當(dāng)按下上鎖鍵后,系統(tǒng)將進(jìn)入上鎖狀態(tài),且將開門標(biāo)志燈LD、錯(cuò)誤燈HD熄滅,警報(bào)器聲音切斷,因而需輸入RESET_L復(fù)位信號(hào)。根據(jù)設(shè)計(jì)要求,可知控制器共有6個(gè)狀態(tài),即待鎖狀態(tài)A、上鎖狀態(tài)B、輸入密碼狀態(tài)C、待啟動(dòng)裝袋D、預(yù)警狀態(tài)E和報(bào)警狀態(tài)F??刂破飨蛟撃K提供置數(shù)和復(fù)位信號(hào)(低電平有效),用于驅(qū)動(dòng)兩個(gè)指示燈和門電路工作。同密碼比較計(jì)數(shù)器原理基本一樣。q[i]接收由密碼比較計(jì)數(shù)器發(fā)來的信號(hào)用于判斷比較第幾位密碼。圖 密碼比較計(jì)數(shù)器 密碼預(yù)置電路用于設(shè)置密碼,本系統(tǒng)密碼采用內(nèi)置方式。設(shè)比較器的4個(gè)輸入端為y0~y3,輸出端為f0~f3,當(dāng)比較兩數(shù)正確時(shí)輸出一個(gè)dep有效信號(hào)“1”給控制器,否則輸出為“0”。 當(dāng)信號(hào)輸入電路后,能在key_out輸出脈沖信號(hào)的條件是,必須2個(gè)D觸發(fā)器的輸出端都同為1,從而2輸入與門來輸出高電平。設(shè)key_in是輸入信號(hào),clk是消抖電路本身的工作時(shí)鐘。也就是說,輸入信號(hào)波形有抖動(dòng),但經(jīng)過消抖之后,其輸出也為正規(guī)的矩形波。鍵盤的輸入原理如圖 所示。為減少硬件的開銷,只對(duì)數(shù)字0~9進(jìn)行編碼。 受控電路 受控電路的主要版塊有,鍵盤編碼電路模塊、消抖電路模塊、比較器模塊、密碼預(yù)置木塊、比較計(jì)數(shù)器模塊和報(bào)警計(jì)數(shù)模塊 鍵盤編碼電路模塊 數(shù)字密碼鎖控制系統(tǒng)的輸入信號(hào)包括:數(shù)字密碼鍵盤0~9,復(fù)位鍵START,開鎖鍵OPEN,上鎖鍵SETUP,功能鍵ISETUP。第三章 電路模塊功能設(shè)計(jì)數(shù)字密碼鎖系統(tǒng)電路設(shè)計(jì)采用自頂而下的設(shè)計(jì)方法。因此,密碼鎖系統(tǒng)沒輸入一個(gè)密碼數(shù)字,應(yīng)向控制器送入一個(gè)脈沖DATA_IN,顯然此信號(hào)也應(yīng)同步,即形成寬度只占一個(gè)系統(tǒng)時(shí)鐘的脈沖。報(bào)警計(jì)數(shù)器模塊的作用是,每一次開啟錯(cuò)誤,控制器向報(bào)警計(jì)數(shù)器提供一個(gè)時(shí)鐘信號(hào)HD,使計(jì)數(shù)器加1,當(dāng)計(jì)數(shù)器到3時(shí),說明錯(cuò)誤次數(shù)達(dá)到3次,模3進(jìn)位信號(hào)CO3反饋給控制器,控制器發(fā)出報(bào)警信號(hào)BG。控制器向計(jì)數(shù)器提供一個(gè)清零信號(hào)RESET_CNP和時(shí)鐘信號(hào)CNP,每次通過鍵盤輸入一個(gè)密碼數(shù)字,控制器向計(jì)數(shù)器提供一個(gè)時(shí)鐘脈沖CNP,使計(jì)數(shù)器加1,當(dāng)計(jì)數(shù)器到8時(shí),說明8個(gè)密碼數(shù)字已經(jīng)比較完畢,此時(shí)計(jì)數(shù)器產(chǎn)生進(jìn)位信號(hào)CO8反饋給控制器,控制器進(jìn)入待啟動(dòng)狀態(tài)或預(yù)警狀態(tài)。比較器模塊的作用是將輸入的密碼和內(nèi)置密碼進(jìn)行比較,并將結(jié)果DEP反饋給控制器。 依據(jù)上述對(duì)數(shù)字鎖系統(tǒng)的功能要求,它將系統(tǒng)劃分為控制器和受控電路兩部分,受控電路由消抖電路模塊、編碼器、比較器、密碼預(yù)置、計(jì)數(shù)器、觸發(fā)器等模塊組成。圖 串行開發(fā)原理圖 數(shù)據(jù)通過鍵盤輸入,消抖后編碼。達(dá)到錯(cuò)誤次數(shù)報(bào)警。 開發(fā)方案 開發(fā)方案有串行開發(fā)方案和并行開發(fā)方案下面分別介紹 并行開發(fā)方案 并行開發(fā)方案,密碼采用并行輸入方式。目前,絕大多數(shù)FPGA器件具有ISP功能。這種編程不需要使用專用的編程器,因?yàn)橐褜⒃瓉韺儆诰幊唐鞯木幊屉娐泛蜕龎弘娐芳稍贗SP器件內(nèi)部。 CPLD簡介CPLD (Complex Programmable Logic Device)復(fù)雜可編程邏輯器件[12],是從PAL和GAL器件發(fā)展出來的器件,相對(duì)而言規(guī)模大,結(jié)構(gòu)復(fù)雜,屬于大規(guī)模集成電路范圍。Quartus II編譯器支持的硬件描述語言有VHDL、Verilog和AHDL。 Synthesis)、適配器(Fitter)、裝配器(Assembler)、時(shí)序分析器(Timing Analyzer)、設(shè)計(jì)輔助模塊(Design Assistant)、EDA網(wǎng)表文件生成器(EDA Netlist Writer)、編輯數(shù)據(jù)接口(Compiler Database Interface)等。同樣,Quartus II具有仿真功能,同時(shí)也支持第三方仿真工具,如ModelSim。QuartusII提供了一種與結(jié)構(gòu)無關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件編程。 相關(guān)領(lǐng)域概述本節(jié)將對(duì)電子密碼鎖的開發(fā)環(huán)境Quartus II和最后的實(shí)現(xiàn)環(huán)境CPLD進(jìn)行簡要介紹。4) 報(bào)警功能。III 按下開鎖鍵OPEN,若密碼正確,鎖被打開(用綠燈LD點(diǎn)亮表示);若密碼不正確,鎖不被打開(綠燈LD不亮)不提示錯(cuò)誤(用紅燈HD表示)。2) 系統(tǒng)通電后必須給密碼鎖上鎖,即按上鎖鍵SETUP,表示密碼鎖準(zhǔn)備就緒,可以接受外部輸入的密碼數(shù)字,這時(shí)用來指示密碼鎖工作情況的指示燈和揚(yáng)聲器處于不工作狀態(tài),系統(tǒng)處于上鎖等待密碼輸入狀態(tài)。人們對(duì)安全的重視和科學(xué)技術(shù)的發(fā)展,許多電子智能鎖如,指紋識(shí)別、IC識(shí)別等已經(jīng)出現(xiàn)在國內(nèi)外。機(jī)械密碼鎖結(jié)構(gòu)的復(fù)雜度和密碼位數(shù)成正比成本高且安全性能差。隨著物質(zhì)財(cái)富的積累和科學(xué)技術(shù)的發(fā)展,人們對(duì)鎖的要求越來越高。本次設(shè)計(jì)為開發(fā)一款體積小,功耗低,操作簡易便于修改維護(hù),具有良好應(yīng)用前景的數(shù)字密碼鎖。然后簡述相關(guān)領(lǐng)域的發(fā)展。關(guān)鍵詞: Quartus II,VHDL,密碼