版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、精選優(yōu)質(zhì)文檔-傾情為你奉上評(píng)語(yǔ)學(xué)號(hào) 成績(jī) 現(xiàn)代數(shù)字系統(tǒng)設(shè)計(jì)課程論文 題目 基于FPGA的密碼鎖設(shè)計(jì) 作 者 嘿嘿 班 級(jí) 0803BF 院 別 信息與通信工程 專(zhuān) 業(yè) 電子信息工程 完成時(shí)間 2011年5月8日 基于FPGA的密碼鎖設(shè)計(jì) 【摘要】基于FPGA設(shè)計(jì)的電子密碼鎖是一個(gè)小型的數(shù)字系統(tǒng),與普通機(jī)械鎖相比, 具有許多獨(dú)特的優(yōu)點(diǎn): 保密性好, 防盜性強(qiáng), 可以不用鑰匙, 記住密碼即可開(kāi)鎖等。目前使用的電子密碼鎖大部分是基于單片機(jī)技術(shù), 以單片機(jī)為主要器件, 其編碼器與解碼器的生成為軟件方式。在實(shí)際應(yīng)用中, 由于程序容易跑飛, 系統(tǒng)的可靠性能較差。本文介紹一種基于現(xiàn)場(chǎng)可編程門(mén)陣列FPGA 器
2、件的電子密碼鎖的設(shè)計(jì)方法采用Verilog HDL語(yǔ)言對(duì)系統(tǒng)進(jìn)行描述,并在EP1K10TC100-3上實(shí)現(xiàn)。系統(tǒng)所實(shí)現(xiàn)的功能:用戶(hù)給電子密碼鎖設(shè)定一個(gè)密碼,當(dāng)使用本機(jī)鍵盤(pán)開(kāi)鎖時(shí),該密碼與用戶(hù)設(shè)定的密碼比較,如果密碼正確,則開(kāi)鎖;如果密碼不正確,則允許用戶(hù)重新輸入密碼,最多可輸入三次,若三次都不正確,則揚(yáng)聲器報(bào)警,直到按復(fù)位鍵才允許再次輸入代碼。通過(guò)仿真調(diào)試,利用可編程器件FPGA的電子密碼鎖的設(shè)計(jì)基本達(dá)到了預(yù)期目的。當(dāng)然,該系統(tǒng)在一些細(xì)節(jié)的設(shè)計(jì)上還需要不斷的完善和改進(jìn),特別是對(duì)系統(tǒng)的擴(kuò)展有很好的實(shí)用和設(shè)計(jì)的價(jià)值。【關(guān)鍵詞】:現(xiàn)場(chǎng)可編程門(mén)陣列, 硬件描述語(yǔ)言, 電子密碼鎖, 揚(yáng)聲器【Abstra
3、ct】FPGA-based design of the electronic code lock is a small digital system, electronic password lock compared with ordinary mechanical locks, with many unique advantages: good privacy, security and strong, can not key to remember passwords to unlock, and so on. At present the use of the electronic c
4、ode lock on most of SCM technology to SCM as the main devices, encoders and decoders of Health and the software approach. In practice, since the process easy run to fly, the reliability of the system can be poor. Based on this paper, a field programmable gate arrays FPGA devices electronic password
5、lock design, Verilog HDL language used to describe the system and achieve EP1K10TC100-3.Implementation of the system features: users of electronic password lock to set a password, when using the keyboard unlock the machine, the user password and set the password, if the correct password, then unlock
6、 if the password is not correct, allows Users to enter a password, can enter up to three times, three times if not correct, the speaker alarm, until the reset button only allowed to re-enter the code.The simulation tests using programmable devices FPGA electronic password lock the basic design to ac
7、hieve the expected goal. Of course, some of the details of the system in the design of the need to constantly refined and improved, in particular the expansion of the system have a good design and practical value. 【Key words】: FPGA , Verilog HDL, electronic password lock , speaker1、 概述1.1 電子密碼鎖的現(xiàn)狀隨著
8、我國(guó)對(duì)外開(kāi)放的不斷深入,高檔建筑發(fā)展很快,高檔密碼鎖具市場(chǎng)的前景樂(lè)觀。我國(guó)密碼鎖具行業(yè)對(duì)密碼鎖具高新技術(shù)的投入正逐年增大,高檔密碼鎖的市場(chǎng)需求也逐年增加。在安防工程中,鎖具產(chǎn)品是關(guān)系到整個(gè)系統(tǒng)安全性的重要設(shè)備,所以鎖具產(chǎn)品的優(yōu)劣也關(guān)系了整個(gè)安防工程的質(zhì)量和驗(yàn)收。目前,市場(chǎng)上比較先進(jìn)的智能電子密碼鎖分別有:IC卡電子密碼鎖、射頻卡式電子密碼鎖、紅外遙控電子密碼鎖、指紋識(shí)別電子密碼鎖和瞳孔識(shí)別電子密碼鎖等。IC卡電子密碼鎖成本低,體積小,卡片本身無(wú)須電源等優(yōu)點(diǎn)占領(lǐng)了一定的市場(chǎng)份額,但是由于有機(jī)械接觸,會(huì)產(chǎn)生接觸磨損,而且使用不太方便,在一定程度上限制了它的應(yīng)用;射頻卡式電子密碼鎖是非接觸式電子密碼
9、鎖,成本也不太高,體積跟IC卡密碼鎖相當(dāng),卡片使用感應(yīng)電源,重量很輕,技術(shù)成熟,受到了廣泛的歡迎,但是與IC卡電子密碼鎖相比,成本偏高;指紋識(shí)別電子密碼鎖和瞳孔識(shí)別電子密碼鎖可靠性很高,安全性是目前應(yīng)用系統(tǒng)中最高的,但是成本高昂,還沒(méi)進(jìn)入大眾化使用階段。在國(guó)外,美國(guó)、日本、德國(guó)的電子密碼鎖保密性較好,并結(jié)合感應(yīng)卡技術(shù),生物識(shí)別技術(shù),使電子密碼鎖系統(tǒng)得到了飛躍式的發(fā)展。這幾個(gè)國(guó)家的密碼鎖識(shí)別的密碼更復(fù)雜,并且綜合性比較好,已經(jīng)進(jìn)入了成熟期,出現(xiàn)了感應(yīng)卡式密碼鎖,指紋式密碼鎖,虹膜密碼鎖,面部識(shí)別密碼鎖,序列混亂的鍵盤(pán)密碼鎖等各種技術(shù)的系統(tǒng),它們?cè)诎踩?,方便性,易管理性等方面都各有特長(zhǎng),新型的電
10、子密碼鎖系統(tǒng)的應(yīng)用也越來(lái)越廣?;贔PGA的電子密碼鎖是新型現(xiàn)代化安全管理系統(tǒng),它集微機(jī)自動(dòng)識(shí)別技術(shù)和現(xiàn)代安全管理措施為一體,它涉及電子,機(jī)械,計(jì)算機(jī)技術(shù),通訊技術(shù),生物技術(shù)等諸多新技術(shù)。它是解決重要部門(mén)出入口實(shí)現(xiàn)安全防范管理的有效措施,適用各種場(chǎng)合,如銀行、賓館、機(jī)房、軍械庫(kù)、機(jī)要室、辦公間、智能化小區(qū)、工廠、家庭等。在數(shù)字技術(shù)網(wǎng)絡(luò)技術(shù)飛速發(fā)展的今天,電子密碼鎖技術(shù)得到了迅猛的發(fā)展。它早已超越了單純的門(mén)道及鑰匙管理,逐漸發(fā)展成為一套完整的出入管理系統(tǒng)。它在工作環(huán)境安全、人事考勤管理等行政管理工作中發(fā)揮著巨大的作用。在該系統(tǒng)的基礎(chǔ)上增加相應(yīng)的輔助設(shè)備可以進(jìn)行電梯控制、車(chē)輛進(jìn)出控制,物業(yè)消防監(jiān)控
11、、餐飲收費(fèi)、私家車(chē)庫(kù)管理等,真正實(shí)現(xiàn)區(qū)域內(nèi)一卡智能管理。 目前使用的電子密碼鎖大部分是基于單片機(jī)技術(shù), 以單片機(jī)為主要器件, 其編碼器與解碼器的生成為軟件方式。在實(shí)際應(yīng)用中, 由于程序容易跑飛, 系統(tǒng)的可靠性能較差?;贔PGA的電子密碼鎖已經(jīng)是現(xiàn)代生活中經(jīng)常用到的工具之一,用于各類(lèi)保險(xiǎn)柜、房門(mén)、防盜門(mén)等等。用電子密碼鎖代替?zhèn)鹘y(tǒng)的機(jī)械式密碼鎖,克服了機(jī)械式密碼鎖密碼量少、安全性能差的缺點(diǎn)。由于采用的是可編程邏輯器件FPGA,使得系統(tǒng)有相當(dāng)大的靈活性,隨時(shí)可以進(jìn)行硬件升級(jí)、擴(kuò)展,而且系統(tǒng)設(shè)計(jì)完善以后還可以將主控的FPGA固化成一片ASIC,那么這塊ASIC就可以作為專(zhuān)用的數(shù)字密碼鎖芯片。而且由于
12、硬件可升級(jí),還可隨時(shí)增加密碼位數(shù)或增加新的功能,使得密碼鎖有更高的安全性、可靠性和方便性。1.2 論文主要完成的工作課題主要解決系統(tǒng)硬件和軟件兩方面的問(wèn)題。硬件方面要解決FPGA可編程器件與其外圍電路的接口設(shè)計(jì)的問(wèn)題;軟件方面主要問(wèn)題是利用Verilog HDL語(yǔ)言完成基于FPGA的電子密碼鎖的編程問(wèn)題。除此之外,程序還要完成基本的密碼開(kāi)鎖功能,并通過(guò)揚(yáng)聲器長(zhǎng)時(shí)間鳴叫報(bào)警。本設(shè)計(jì)是由FPGA可編程邏輯器件編程實(shí)現(xiàn)的控制電路,具體有按鍵指示、輸入錯(cuò)誤提示、密碼有效指示、控制開(kāi)鎖、控制報(bào)警等功能。它具有安全可靠、連接方便、簡(jiǎn)單易用、結(jié)構(gòu)緊湊、系統(tǒng)可擴(kuò)展性好等特點(diǎn)。2、 系統(tǒng)硬件設(shè)計(jì)2.1 系統(tǒng)設(shè)計(jì)
13、方案2.1.1 系統(tǒng)功能需求分析本系統(tǒng)主要集中在以FPGA以核心外圍擴(kuò)展設(shè)計(jì),整個(gè)電路主要電子鎖具的組成框圖是以可編程邏輯器件(FPGA)為核心,配以相應(yīng)硬件電路,完成密碼的設(shè)置、存貯、識(shí)別和顯示、驅(qū)動(dòng)電磁執(zhí)行器并檢測(cè)其驅(qū)動(dòng)電流值,報(bào)警等功能。 FPGA接收鍵入的代碼,并與存貯在閃存中的密碼進(jìn)行比較,如果密碼正確,則驅(qū)動(dòng)電磁執(zhí)行器開(kāi)鎖;如果密碼不正確,則允許操作人員重新輸入密碼,最多可輸入三次;如果三次都不正確,則通過(guò)FPGA產(chǎn)生報(bào)警,F(xiàn)PGA將每次開(kāi)鎖操作和此時(shí)電磁執(zhí)行器的驅(qū)動(dòng)電流值作為狀態(tài)信息發(fā)送給監(jiān)控器,同時(shí)將接收來(lái)自接口的報(bào)警信息也發(fā)送給監(jiān)控器。2.1.2 系統(tǒng)實(shí)現(xiàn)方案的論證比較方案一
14、 :采樣臺(tái)灣凌陽(yáng)科技有限公司推出的以凌陽(yáng)自主研發(fā)的SPCE061A芯片為主控芯片,用一條下載線(xiàn)連接到計(jì)算機(jī)就可以實(shí)現(xiàn)在線(xiàn)仿真、在線(xiàn)調(diào)試、在線(xiàn)下載,低廉的價(jià)格保證了系統(tǒng)可靠開(kāi)發(fā);此外,61板具有SOC概念、DSP功能和語(yǔ)音特色,為電子密碼鎖的語(yǔ)音報(bào)警提供了方便,但是基于單片機(jī)設(shè)計(jì)的密碼鎖外圍電路比較復(fù)雜,系統(tǒng)可靠性差,密碼的數(shù)量少,尤其是系統(tǒng)的程序不夠穩(wěn)定,功率較大,需要專(zhuān)門(mén)的電源供電,所以不采用這個(gè)方案。 方案二:設(shè)計(jì)一種基于FPGA的電子密碼鎖的設(shè)計(jì),用FPGA設(shè)計(jì)的系統(tǒng)已經(jīng)是現(xiàn)代生活中經(jīng)常用到的工具之一,通過(guò)鍵盤(pán)輸入密碼,用FPGA作為主控芯片,用數(shù)碼管顯示輸入的數(shù)字,如果出現(xiàn)錯(cuò)誤便通過(guò)報(bào)
15、警電路發(fā)出報(bào)警,主控芯片又可分為按鍵處理部分、控制部分和譯碼顯示部分用電子密碼鎖代替?zhèn)鹘y(tǒng)的機(jī)械式密碼鎖。由于采用的是可編程邏輯器件FPGA,使得系統(tǒng)有相當(dāng)大的靈活性,隨時(shí)可以進(jìn)行硬件升級(jí)、擴(kuò)展。而且系統(tǒng)設(shè)計(jì)完善以后還可以將主控的FPGA固化成一片ASIC,那么這塊ASIC就可以作為專(zhuān)用的數(shù)字密碼鎖芯片。方案的論證比較 在實(shí)際應(yīng)用中, 由于程序容易跑飛, 系統(tǒng)的可靠性能較差,而基于FPGA設(shè)計(jì)的電子密碼鎖克服了基于單片機(jī)設(shè)計(jì)密碼鎖的缺點(diǎn)?;谏鲜霰容^以上兩種方案,根據(jù)系統(tǒng)設(shè)計(jì)要求,采用方案二。2.1.3 系統(tǒng)方案的總體設(shè)計(jì)系統(tǒng)原理框圖本系統(tǒng)由主控芯片(FPGA)、鍵盤(pán)、顯示電路、報(bào)警電路和開(kāi)/關(guān)
16、門(mén)電路組成,而主控芯片又可分為按鍵處理部分、控制部分和譯碼顯示部分。系統(tǒng)原理框圖如圖2.1.3所示:圖2.1.3 系統(tǒng)總體框架總體設(shè)計(jì)原理實(shí)現(xiàn)系統(tǒng)大量邏輯電路的集成,在設(shè)計(jì)中使用了現(xiàn)場(chǎng)可編程邏輯門(mén)陣列器件(FPGA)。FPGA主要實(shí)現(xiàn)以下邏輯功能:鍵盤(pán)處理、數(shù)碼顯示、設(shè)置密碼、解碼開(kāi)門(mén)以及報(bào)警等控制功能。本系統(tǒng)有13個(gè)按鍵,包括09共10個(gè)數(shù)字鍵和1個(gè)確認(rèn)鍵,1個(gè)警報(bào)復(fù)位鍵,1個(gè)清0鍵。輸入正確密碼后,按確認(rèn)鍵即可開(kāi)門(mén),在門(mén)開(kāi)的狀態(tài)下,第一次輸入新密碼后再確認(rèn)密碼可設(shè)置密碼,輸入的密碼在八位數(shù)碼管上顯示,最后輸入的數(shù)字顯示在最右邊,每輸入一位數(shù)字,密碼在數(shù)碼管上的顯示左移一位。高位的零不用輸入
17、,因此密碼可以為18位。初始密碼為0,即上電后,按確認(rèn)鍵即可開(kāi)門(mén)。門(mén)開(kāi)后可通過(guò)鎖門(mén)按鈕關(guān)門(mén),門(mén)關(guān)上后要再次輸入密碼才能開(kāi)門(mén)。在輸入密碼的過(guò)程中,當(dāng)用戶(hù)鍵入錯(cuò)誤密碼時(shí),系統(tǒng)就會(huì)報(bào)警,由揚(yáng)聲器發(fā)出報(bào)警聲,當(dāng)連續(xù)三次出現(xiàn)密碼錯(cuò)誤時(shí),則系統(tǒng)會(huì)長(zhǎng)時(shí)間報(bào)警不止,這時(shí)必須按警報(bào)復(fù)位鍵方可停止。2.2 主控模塊2.2.1 主控芯片EP1K10TC100-3的介紹主控芯片采用ACEX1K 系列的EP1K10TC100-3。ACEX 系列是當(dāng)今Altera CPLD 中應(yīng) 用前景最好的器件系列之一1,2,該系列的FPGA 由邏輯陣列塊LAB(Logic array block)、 嵌入式陣列塊EAB(embedd
18、ed array block)、快速互聯(lián)以及IO 單元構(gòu)成,每個(gè)邏輯陣列塊 包含8 個(gè)邏輯單元LE(logic element)和一個(gè)局部互聯(lián)。每個(gè)邏輯單元?jiǎng)t由一個(gè)4 輸入查找 表(LUT)、一個(gè)可編程觸發(fā)器、快速進(jìn)位鏈、級(jí)連鏈組成,多個(gè)LAB 和多個(gè)EAB 則可通過(guò)快速通道互相連接3。EAB 是ACEX 系列器件在結(jié)構(gòu)設(shè)計(jì)上的一個(gè)重要部件,他是輸入 端口和輸出端口都帶有觸發(fā)器的一種靈活的RAM 塊,其主要功能是實(shí)現(xiàn)一些規(guī)模不太大的 FIFO、ROM、RAM 和雙端口RAM 等。2.3 鍵盤(pán)模塊按鍵方式分為獨(dú)立式和行列式兩種,本設(shè)計(jì)采用行列式按鍵結(jié)構(gòu),是4×4鍵盤(pán),本設(shè)計(jì)中只用了其中
19、的11個(gè)按鍵。行列式按鍵是指直接用I/O口線(xiàn)通過(guò)動(dòng)態(tài)掃描構(gòu)成的按鍵電路。每個(gè)按鍵通過(guò)動(dòng)態(tài)掃描需要八根I/O口線(xiàn),每根I/O口線(xiàn)上的按鍵工作狀態(tài)不會(huì)影響其他I/O口線(xiàn)的工作狀態(tài)。它的電路配置靈活,軟件結(jié)構(gòu)簡(jiǎn)單,占用的I/O資源少。首先固定輸出4行為高電平(接到電源),然后輸出4列為低電平,在讀入輸出的4行的值,通常高電平會(huì)被低電平拉低,如果讀入的4行均為高電平,那么肯定沒(méi)有按鍵按下,否則,如果讀入的4行有一位為低電平,那么對(duì)應(yīng)的該行肯定有一個(gè)按鍵按下,這樣便可以獲取到按鍵的行值。同理,獲取列值也是如此,先輸出4列為高電平,然后在輸出4行為低電平,再讀入列值,如果其中有哪一位為低電平,那么肯定對(duì)應(yīng)
20、的那一列有按鍵按下。 獲取到行值和列值以后,組合成一個(gè)8位的數(shù)據(jù),根據(jù)實(shí)現(xiàn)不同的編碼在對(duì)每個(gè)按鍵進(jìn)行匹配,找到鍵值后在7段碼管顯示。按鍵控制電路如圖2.3所示:圖2.3 4*4矩陣鍵盤(pán)2.4 顯示模塊LED顯示塊是由發(fā)光二極管顯示字段的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中通常使用的是7段LED,本設(shè)計(jì)將采用共陽(yáng)極。共陽(yáng)極LED顯示塊的發(fā)光二極管與陽(yáng)極并接。數(shù)碼管顯示塊中共有8個(gè)發(fā)光二極管,其中7個(gè)發(fā)光二極管構(gòu)成七筆字形“8”,1個(gè)發(fā)光二極管構(gòu)成小數(shù)點(diǎn)。7段顯示塊與FPGA接口非常容易。只要將一個(gè)8位并行輸出與顯示塊的發(fā)光二極管引腳相連即可。8位并行輸出口輸出不同的字節(jié)數(shù)據(jù)即可獲得不同的數(shù)字或字符,如表
21、5.1所示。通常將控制發(fā)光二極管的8位字節(jié)數(shù)據(jù)稱(chēng)為段選碼。共陽(yáng)極與共陰極的段選碼互為補(bǔ)數(shù)。顯示字符共陰極段選碼共陽(yáng)極段選碼顯示字符共陰極段選碼共陽(yáng)極段選碼 0 3FH C0H C 39H C6H 1 06H F9H D 5EH A1H 2 5BH A4H E 79H 86H 3 4FH B0H B 7CH 83H 4 66H 99H F 71H 8EH 5 6DH 92H P 73H 8CH 6 7DH 82H U 3EH C1H 7 07H F8H L 31H CEH 8 7FH 80H Y 6EH 91H 9 6FH 90H A 77H 88H表2.4 LED顯示塊功能表2.5 報(bào)警模塊驅(qū)
22、動(dòng)端為高電平則報(bào)警電路啟動(dòng)。三、系統(tǒng)軟件設(shè)計(jì)3.1系統(tǒng)主控制流程框圖 當(dāng)用戶(hù)輸入密碼后,按確認(rèn)鍵即可開(kāi)門(mén),在門(mén)開(kāi)的狀態(tài)下,輸入新密碼,再按確認(rèn)鍵可設(shè)置密碼,輸入的密碼在八位數(shù)碼管上顯示,最后輸入的數(shù)字顯示在最右邊,每輸入一位數(shù)字,密碼在數(shù)碼管上的顯示左移一位。高位的零不用輸入,因此密碼可以為18位。初始密碼為0,即上電后,按確認(rèn)鍵即可開(kāi)門(mén)。 本系統(tǒng)控制流程如圖3.1所示圖3.1 系統(tǒng)控制圖否否否否否是是是是是否報(bào)警開(kāi)門(mén)存入新密碼,清除顯示輸入一位密碼清除顯示,關(guān)門(mén)開(kāi)始次數(shù)加一密碼不正確累計(jì)三次密碼正確門(mén)已開(kāi)數(shù)字鍵鍵盤(pán)掃描有鎖門(mén)信號(hào) 3.2 鍵盤(pán)掃描程序框圖開(kāi)始時(shí)鐘上升沿觸發(fā)?列為高電平?逐列掃
23、描圖3.2 鍵盤(pán)掃描程序框圖開(kāi)始3.3 獲取鍵值程序框圖 時(shí)鐘上升鍵盤(pán)掃描確認(rèn)鍵數(shù)字鍵數(shù)碼管整體左移一位,并在空出的最低位顯示掃描結(jié)果密碼判斷圖3.3 鍵值程序框圖3.4 解碼、報(bào)警模塊開(kāi)始門(mén)已開(kāi)?輸入密碼后確認(rèn)密碼正確?開(kāi)門(mén),不響警報(bào)計(jì)數(shù)器+1,仍關(guān)門(mén)不正確次數(shù)大于3?復(fù)位位?計(jì)數(shù)器清0,警報(bào)停止報(bào)警 圖3.4 解碼報(bào)警模塊3.5 系統(tǒng)軟件設(shè)計(jì)總RTL級(jí)圖4、 系統(tǒng)測(cè)試與總結(jié)4.1 仿真波形圖因?yàn)楣δ軐?shí)現(xiàn)需要鍵盤(pán)輸入,在波形仿真中無(wú)法體現(xiàn)。4.2 本次課題設(shè)計(jì)體會(huì)本次課題設(shè)計(jì)完成的是基于FPGA的密碼鎖設(shè)計(jì),通過(guò)一個(gè)多星期的不斷努力、克服各種困難,最終實(shí)現(xiàn)了任務(wù)目標(biāo)。本次設(shè)計(jì)解決的主要問(wèn)題是
24、是利用verilog HDL語(yǔ)言完成基于FPGA的電子密碼鎖的編程問(wèn)題。設(shè)計(jì)是理論知識(shí)與實(shí)踐的完美結(jié)合,對(duì)于現(xiàn)代大學(xué)生的實(shí)踐能力是個(gè)很好的培養(yǎng)。短短的一個(gè)星期的時(shí)間的設(shè)計(jì)雖然短暫,但是它給我的收獲確實(shí)難忘,不僅僅在智能儀器方面有了很大的進(jìn)步,而且在FPGA、Quartus軟件等方面也學(xué)到了不少在上課學(xué)不到的知識(shí)。這段時(shí)間我查閱到很多關(guān)于課程設(shè)計(jì)的書(shū)籍,對(duì)我?guī)椭埠艽?。我覺(jué)得自己以前的盲目,現(xiàn)在明白了很多。也對(duì)我們專(zhuān)業(yè)動(dòng)手實(shí)踐的興趣提高了很多。有了這些經(jīng)歷對(duì)于我日后工作一定會(huì)有很大幫助。相信這次設(shè)計(jì)中學(xué)到的種種東西一定會(huì)存在我的腦海里,令我終身受益。在課程設(shè)計(jì)的過(guò)程中也可以看到我的不足,如原理知
25、識(shí)掌握不實(shí),曾經(jīng)學(xué)過(guò)的知識(shí)如今卻不會(huì)應(yīng)用,軟件的應(yīng)用也不熟練,希望日后提供給我們更多的鍛煉機(jī)會(huì)來(lái)培養(yǎng)我們的實(shí)踐能力。參考文獻(xiàn)1 高移南.遙控變號(hào)電子鎖J.電子世界,1994,07:152 許琦.基于FPGA 的電子密碼鎖設(shè)計(jì)J . 中國(guó)科技信息, 2007 (1) : 240-2413 劉韜,樓興華.FPGA數(shù)字電子系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)實(shí)例導(dǎo)航M.人民郵電出版社,2005.4 王金明.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDL附 錄1.主控程序module keyword( key , clk ,lock , alarm , door , word0 , word1 , word2 , word3 , w
26、ord4 , word5 , word6 , word7);/主控程序output3:0 word0,word1,word2,word3,word4,word5,word6,word7;output door;/開(kāi)/關(guān)門(mén)信號(hào),1為開(kāi),0為關(guān)output reg alarm;/密碼輸入錯(cuò)誤3次后的報(bào)警信號(hào)input3:0 key;/鍵盤(pán)輸入后檢測(cè)到的一個(gè)鍵值input clk,lock;/lock門(mén)為鎖閉狀態(tài)時(shí)的標(biāo)志位reg3:0 w0,w1,w2,w3,w4,w5,w6,w7,k0,k1,k2,k3,k4,k5,k6,k7;/w代表的是電子密碼鎖的密碼,k代表的是按鍵輸入的數(shù)值reg1:0 i
27、;reg m;/m為door的標(biāo)志位always (posedge clk)beginif(lock = 1)begin m <= 0;k0 <= 0;k1 <= 0;k2 <= 0;k3 <= 0;k4 <= 0;k5 <= 0;k6 <= 0;k7 <= 0;/門(mén)未開(kāi)時(shí)清屏end else if(key = 10)/確認(rèn)鍵按下時(shí)begin if(m = 0)/門(mén)未開(kāi)begin if(k0 != w0 | k1 != w1 | k2 != w2 | k3 != w3 | k4 != w4 | k5 != w5 | k6 != w6 | k
28、7 != w7)/判斷密碼是否正確begin if(i<3)begin i <= i+1;k0 <= 0;k1 <= 0;k2 <= 0;k3 <= 0;k4 <= 0;k5 <= 0;k6 <= 0;k7 <= 0;/密碼錯(cuò)誤后清屏end else alarm <= 1;/報(bào)警打開(kāi)end elsebegin m <= 1;/密碼正確,門(mén)打開(kāi) alarm <= 0;/報(bào)警關(guān)閉endend elsebegin w0 <= k0;w1 <= k1;w2 <= k2;w3 <= k3;w4 <
29、= k4;w5 <= k5;w6 <= k6;w7 <= k7; /門(mén)為開(kāi)時(shí)設(shè)置密碼k0 <= 0;k1 <= 0;k2 <= 0;k3 <= 0;k4 <= 0;k5 <= 0;k6 <= 0;k7 <= 0;/清屏endendelse if(key < 10) /數(shù)字鍵按下時(shí)begink7 <= k6;k6 <= k5;k5 <= k4;k4 <= k3;k3 <= k2;k2 <= k1;k1 <= k0;k0 <= key;/新鍵值顯示在最右端,其余數(shù)值左移一位end
30、end assign door = m;assign word0 = k0;assign word1 = k1;assign word2 = k2;assign word3 = k3;assign word4 = k4;assign word5 = k5;assign word6 = k6;assign word7 = k7;endmodule 2.解碼顯示程序module decode( t0 , t1 , t2 , t3 , t4 , t5 , t6 , t7 , clk , code , led );/數(shù)碼顯示模塊output reg7:0 code,led;/code為數(shù)碼管顯示的數(shù)值
31、,led為數(shù)碼管位選信號(hào),input3:0 t0,t1,t2,t3,t4,t5,t6,t7; input clk;reg2:0 n;reg3:0 m;always (posedge clk)beginif(n < 8) n <= n+1; else n <= 0;endalways (n)begincase(n) 0:begin m <= t7;led <= 8'b;end 1:begin m <= t6;led <= 8'b;end 2:begin m <= t5;led <= 8'b;end 3:begin m
32、<= t4;led <= 8'b;end 4:begin m <= t3;led <= 8'b;end 5:begin m <= t2;led <= 8'b;end 6:begin m <= t1;led <= 8'b;end 7:begin m <= t0;led <= 8'b;end endcaseend always (m)begin case(m) 0:code <= 8'b; 1:code <= 8'b; 2:code <= 8'b; 3:co
33、de <= 8'b; 4:code <= 8'b; 5:code <= 8'b; 6:code <= 8'b; 7:code <= 8'b; 8:code <= 8'b; 9:code <= 8'b; 10:code <= 8'b;/確認(rèn)值 11:code <= 8'b;/復(fù)位值endcaseend Endmodule3.鍵盤(pán)掃描獲取鍵值程序module keyscan( clk , reset , row , col , key_value );output reg3
34、:0 key_value;output reg3:0 col;input clk,reset; input 3:0 row;reg 5:0 count;/delay_20msreg 2:0 state; /狀態(tài)標(biāo)志reg key_flag; /按鍵標(biāo)志位reg clk_500khz; /500KHZ時(shí)鐘信號(hào)reg 3:0 col_reg; /寄存掃描列值reg 3:0 row_reg; /寄存掃描行值always (posedge clk or negedge reset)beginif(!reset)begin clk_500khz <= 0; count <= 0; endel
35、sebeginif(count >= 50) begin clk_500khz <= clk_500khz;count <= 0;endelse count <= count+1; endendalways (posedge clk_500khz or negedge reset)beginif(!reset) begin col <= 4'b0000;state <= 0;endelse begin case (state)0:begin col3:0 <= 4'b0000;key_flag <= 1'b0;if(row3:0 != 4'b1111) begin state <= 1;col3:0 <= 4'b1110;end /有鍵按下,掃描第一列 else state <= 0; end 1: begin if(row3:0 != 4'b1111)state <= 5; /判斷是否是第一列 else begin state <= 2;col3:0 <= 4'b1101;end /掃描第二列 end 2: be
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 二零二五年新型城鎮(zhèn)化項(xiàng)目宣傳策劃與廣告制作合同3篇
- 二零二五年度數(shù)字經(jīng)濟(jì)產(chǎn)業(yè)園運(yùn)營(yíng)管理合同3篇
- 二零二五年酒店客房服務(wù)質(zhì)量監(jiān)督單位合同范本3篇
- 二零二五年度電梯設(shè)備采購(gòu)與安裝一體化服務(wù)合同3篇
- 二零二五年路燈照明產(chǎn)品研發(fā)、生產(chǎn)、銷(xiāo)售及售后服務(wù)合同5篇
- 二零二五年高端房地產(chǎn)抵押租賃合同模板3篇
- 二零二五版體育產(chǎn)業(yè)貸款合同與信用額度授信協(xié)議3篇
- 二零二五版昆明公租房電子合同租賃合同解除與終止流程3篇
- 二零二五年度簡(jiǎn)單終止勞動(dòng)合同協(xié)議規(guī)范勞動(dòng)合同解除2篇
- 2025年彩鋼建筑一體化解決方案承包合同3篇
- NGS二代測(cè)序培訓(xùn)
- 《材料合成與制備技術(shù)》課程教學(xué)大綱(材料化學(xué)專(zhuān)業(yè))
- 小紅書(shū)食用農(nóng)產(chǎn)品承諾書(shū)示例
- 釘釘OA辦公系統(tǒng)操作流程培訓(xùn)
- 新生兒科年度護(hù)理質(zhì)控總結(jié)
- GB/T 15934-2024電器附件電線(xiàn)組件和互連電線(xiàn)組件
- 《工貿(mào)企業(yè)有限空間作業(yè)安全規(guī)定》知識(shí)培訓(xùn)
- 高層次人才座談會(huì)發(fā)言稿
- 垃圾清運(yùn)公司管理制度(人員、車(chē)輛、質(zhì)量監(jiān)督、會(huì)計(jì)管理制度)
- 《建筑工程設(shè)計(jì)文件編制深度規(guī)定》(2022年版)
- 營(yíng)銷(xiāo)人員薪酬考核方案
評(píng)論
0/150
提交評(píng)論