本科畢業(yè)設(shè)計(jì)基于FPGA的電子密碼鎖的設(shè)計(jì)_第1頁(yè)
本科畢業(yè)設(shè)計(jì)基于FPGA的電子密碼鎖的設(shè)計(jì)_第2頁(yè)
本科畢業(yè)設(shè)計(jì)基于FPGA的電子密碼鎖的設(shè)計(jì)_第3頁(yè)
本科畢業(yè)設(shè)計(jì)基于FPGA的電子密碼鎖的設(shè)計(jì)_第4頁(yè)
本科畢業(yè)設(shè)計(jì)基于FPGA的電子密碼鎖的設(shè)計(jì)_第5頁(yè)
已閱讀5頁(yè),還剩37頁(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、本科畢業(yè)設(shè)計(jì)基于fpga的電子密碼鎖的設(shè)計(jì)摘 要隨著現(xiàn)代電子技術(shù)的迅猛發(fā)展,相信電子密碼鎖將會(huì)逐漸取代普通的機(jī)械密碼鎖。主要是由于電子密碼鎖擁有幾個(gè)普通機(jī)械密碼鎖不可能替代的優(yōu)點(diǎn):保密系能好、安全度高、即防盜性能強(qiáng),不需要使用鑰匙、即記住密碼就可開鎖等等。本文主要闡述了一種基于現(xiàn)場(chǎng)可編程門陣列fpga器件的電子密碼鎖的設(shè)計(jì)方法。用fpga器件構(gòu)造系統(tǒng),所有算法完全由硬件電路來(lái)實(shí)現(xiàn),使得系統(tǒng)的工作可靠性大為提高。而且由于fpga具有現(xiàn)場(chǎng)可編程功能,當(dāng)設(shè)計(jì)需要更改時(shí),只需更改fpga中的控制和接口電路,利用eda工具將更新后的設(shè)計(jì)下載到fpga中即可,無(wú)需更改外部電路的設(shè)計(jì),大大提高了設(shè)計(jì)的效率。

2、因此,采用fpga開發(fā)的數(shù)字系統(tǒng),不僅具有很高的工作可靠性,而且升級(jí)也極其方便。此設(shè)計(jì)采用eda技術(shù),利用max+plus工作平臺(tái)和vhdl硬件描述語(yǔ)言,設(shè)計(jì)了一種電子密碼鎖,并通過(guò)本學(xué)院的實(shí)驗(yàn)箱fpga芯片實(shí)現(xiàn)。關(guān)鍵詞:電子密碼鎖 fpga vhdl硬件描述語(yǔ)言 eda max+plusthe design of electronic locks based on fpgawu yaoxiao(college of engineering, south china agricultural university, guangzhou 510642, china)abstract:with t

3、he rapid development of modern electronic technology, electronic locks will gradually replace the ordinary mechanical locks. confidential department has the advantages of several ordinary mechanical locks can not substitute electronic locks, such as high security, anti-theft performance, and does no

4、t require the use of a key, remember password can unlock. this article focuses on the design method which is based on field programmable gate array (fpga) devices, electronic locks. fpga device constructed system, all of the algorithms completely realized by a hardware circuit so that the operationa

5、l reliability of the system can be greatly improved. and with field-programmable function, when it need to change the methods of the design, just change the fpga control and interface circuit with using eda tools updated design that is downloaded to the fpga without the need to change the external c

6、ircuit design, greatly improving the efficiency of the design. therefore, the use of digital systems developed by the fpga, not only has a very high operating reliability, but also extremely easy to upgrade. the design of the system uses the eda technology, max+plussoftware and vhdl hardware descrip

7、tion language, designed an electronic lock, and implemented by the institute of experimental box fpga chip.keywords: electronic locks fpga vhdl hardware description language eda max + plus ii目 錄1 前言11.1 eda技術(shù)及其發(fā)展11.2 電子密碼鎖的國(guó)內(nèi)外發(fā)展?fàn)顩r11.3 電子密碼鎖的重要性22 max+plus軟件環(huán)境概述32.1 max+plus設(shè)計(jì)流程32.2 max+plus支持的硬件描述語(yǔ)言

8、52.3 max+plus工作過(guò)程53 硬件環(huán)境fpga的工作原理及其結(jié)構(gòu)63.1 fpga的基本結(jié)構(gòu)63.2 fpga的設(shè)計(jì)流程74 基于fpga電子密碼鎖系統(tǒng)的基本描述94.1 電子密碼鎖的系統(tǒng)的方案比較與選擇94.2 基于fpga的電子密碼鎖的設(shè)計(jì)的思路104.3 本系統(tǒng)設(shè)計(jì)的目的和意義105 基于fpga電子密碼鎖系統(tǒng)的仿真與分析115.1 底層文件仿真與分析115.1.1 掃描時(shí)鐘產(chǎn)生模塊115.1.2 按鍵去抖模塊125.1.3 鍵盤掃描模塊125.1.4 4*4鍵盤編碼及其按鍵功能的設(shè)置模塊135.1.5 數(shù)碼管顯示模塊155.1.6 比較判斷和功能描述模塊165.2 頂層文件仿

9、真與分析176 結(jié)論18參 考 文 獻(xiàn)20附 錄21致 謝38華南農(nóng)業(yè)大學(xué)本科生畢業(yè)設(shè)計(jì)成績(jī)?cè)u(píng)定表1 前言1.1 eda技術(shù)及其發(fā)展在計(jì)算機(jī)技術(shù)的推動(dòng)下,20世紀(jì)末,電子技術(shù)獲得了飛速的發(fā)展,現(xiàn)代電子產(chǎn)品幾乎滲透于社會(huì)的各個(gè)領(lǐng)域,有力地推動(dòng)了社會(huì)生產(chǎn)力的發(fā)展和社會(huì)信息化程度的提高,同時(shí)又促使現(xiàn)代電子產(chǎn)品性能的進(jìn)一步提高,產(chǎn)品更新?lián)Q代的節(jié)奏也越來(lái)越快(潘松,等,2005)。電子技術(shù)發(fā)展的基本根基是微電子技術(shù)的發(fā)展及進(jìn)步,它表現(xiàn)在大規(guī)模的集成電路的加工技術(shù),即是指半導(dǎo)體工藝技術(shù)的發(fā)展上?,F(xiàn)在的集成電路的集成度越來(lái)越高,并且其設(shè)計(jì)成本也越來(lái)越低,加上其功能和結(jié)構(gòu)也已經(jīng)能夠?qū)崿F(xiàn)單片電子系統(tǒng)的要求,因此

10、,現(xiàn)代對(duì)其的應(yīng)用越來(lái)越廣泛,它已成為電子產(chǎn)品的一個(gè)不可缺少的核心部分。而eda(electronic design automation)技術(shù)作為現(xiàn)代電子技術(shù)設(shè)計(jì)的核心,它依賴功能強(qiáng)大的計(jì)算機(jī),在eda設(shè)計(jì)工具軟件平臺(tái)上,對(duì)已硬件描述語(yǔ)言為系統(tǒng)邏輯描述表示方式完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯化簡(jiǎn)、邏輯分割、邏輯綜合、結(jié)構(gòu)布線以及邏輯優(yōu)化和仿真測(cè)試等多項(xiàng)的功能,直至實(shí)現(xiàn)既定性能的電子綜合電路的系統(tǒng)功能。eda設(shè)計(jì)工作的設(shè)計(jì)者的設(shè)計(jì)工作幾乎僅限于利用軟件的方式,這樣為設(shè)計(jì)工作帶來(lái)了許多便利和資源節(jié)省。eda技術(shù)在硬件實(shí)現(xiàn)方面融合了大規(guī)模集成電路制造技術(shù)、ic(integrated circuit)版

11、圖設(shè)計(jì)技術(shù)、asic(application specific integrated circuit)測(cè)試和封裝技術(shù)、fpga(field programmable gate array)和cpld(complex programmable logic device)編程下載技術(shù)、自動(dòng)測(cè)試技術(shù)等;在計(jì)算機(jī)輔助工程方面結(jié)合了計(jì)算機(jī)輔助設(shè)計(jì)、計(jì)算機(jī)輔助制造、計(jì)算機(jī)輔助測(cè)試、計(jì)算機(jī)輔助工程技術(shù)以及眾多計(jì)算機(jī)語(yǔ)言設(shè)計(jì)的概念;而在現(xiàn)代電子學(xué)方面則容納了更多的內(nèi)容,如電子線路設(shè)計(jì)理論、數(shù)字信號(hào)系統(tǒng)處理技術(shù)、嵌入式系統(tǒng)和計(jì)算機(jī)設(shè)計(jì)技術(shù)、數(shù)字系統(tǒng)建模和優(yōu)化設(shè)計(jì)及微波技術(shù)等。所以,eda技術(shù)為現(xiàn)代電子理論和設(shè)計(jì)

12、表達(dá)與實(shí)現(xiàn)提供了更多的可能性(潘松,等,2005)。在現(xiàn)代技術(shù)的所有領(lǐng)域中,許多一飛速發(fā)展的科學(xué)技術(shù),多屬于計(jì)算機(jī)輔助設(shè)計(jì),而不是自動(dòng)化設(shè)計(jì)。顯然,最早進(jìn)入真正的設(shè)計(jì)自動(dòng)化的技術(shù)領(lǐng)域非電子技術(shù)莫屬,這就是為什么電子技術(shù)始終處于所有科學(xué)技術(shù)發(fā)展的前列的原因之一。這也是為什么本系統(tǒng)的設(shè)計(jì)采用基于fpga的eda設(shè)計(jì)的電子密碼鎖。1.2 電子密碼鎖的國(guó)內(nèi)外發(fā)展?fàn)顩r在當(dāng)今這個(gè)智能化快速發(fā)展的科技技術(shù)時(shí)代,人們對(duì)安全性的要求也越來(lái)越高。從古至今,人們對(duì)各種各類的鎖研究從未中斷過(guò),它被視為守護(hù)安全的重要盾牌。安全性高、方便使用的鎖是人們的追求。隨著電子技術(shù)的發(fā)展,各類電子產(chǎn)品應(yīng)運(yùn)而生,電子密碼鎖就是其中之

13、一。據(jù)有關(guān)資料介紹,電子密碼鎖的研究從20世紀(jì)30年代就開始了,在一些特殊場(chǎng)所早就有所應(yīng)用。這種鎖是通過(guò)鍵盤輸入一組密碼完成開鎖過(guò)程。研究這種鎖的初衷,就是為提高鎖的安全性。由于電子鎖的密鑰量,即密碼量極大,可以與機(jī)械鎖配合使用,并且可以避免因鑰匙被仿制而留下安全隱患。電子鎖只需記住一組密碼,無(wú)需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來(lái)越多的人所欣賞。電子鎖的種類繁多,例如數(shù)碼鎖,指紋鎖,磁卡鎖,ic卡鎖,生物鎖等。但較實(shí)用的還是按鍵式電子密碼鎖。20世紀(jì)80年代后,隨著電子鎖專用集成電路的出現(xiàn),電子鎖的體積逐漸縮小,可靠性日益提高,成本也較高,是適合使用在安全性要求較高的場(chǎng)合,且

14、需要有電源提供能量,使用還局限在一定范圍,難以普及,所以對(duì)它的研究一直沒(méi)有明顯進(jìn)展(趙雅興,2003)。當(dāng)今智能電子密碼鎖發(fā)展已經(jīng)到了非常高的境界,在這幾年得到空前發(fā)展,無(wú)論功能性,穩(wěn)定性都比較全面,在保密方面已做到人眼識(shí)別,指紋識(shí)別,人聲識(shí)別基本上電影上有的現(xiàn)實(shí)也有。其在國(guó)內(nèi)發(fā)展也較快,不管自己開發(fā)或是引進(jìn)都有,在重要地方應(yīng)用也較多,由于價(jià)錢比普通彈子鎖較貴,早幾年應(yīng)用較少,現(xiàn)在越來(lái)越普及到平?;磥?lái)的發(fā)展也會(huì)越來(lái)越被大眾采用,由于它的功能、安全是彈子鎖無(wú)法相比的。發(fā)展前境是非常大的。而在國(guó)外發(fā)達(dá)國(guó)家,其發(fā)展比較早,應(yīng)用也比較廣泛,電子密碼鎖技術(shù)相對(duì)先進(jìn),種類齊全,電子密碼鎖已被廣泛應(yīng)用于

15、智能門禁系統(tǒng)中,通過(guò)多種更加安全,更加可靠的技術(shù)實(shí)現(xiàn)大門的管理。例如,fpga會(huì)被用于軍人和另外的敏感應(yīng)用程序中,攻擊這些設(shè)備的一個(gè)對(duì)手的威脅是曾經(jīng)存在的危險(xiǎn)。當(dāng)有能力被重新設(shè)置對(duì)開發(fā)有用的信息時(shí),它的硬件設(shè)計(jì)的風(fēng)險(xiǎn)正在被克隆。所以,對(duì)于研究免受這種攻擊而用作為多態(tài)的電路的加密鑰匙或者控制其特定的鑰匙在fpga上保護(hù)必要的信息的技術(shù)設(shè)備是十分重要的(mcgee.miles e,2011)。以上這個(gè)應(yīng)用相對(duì)來(lái)說(shuō)也是具有一個(gè)保密性的系統(tǒng),而且相對(duì)本系統(tǒng)比較難,但是存在著一定的聯(lián)系。總之,為保證信息安全,以后的電子密碼鎖必須使其具有機(jī)密性、完整性、可獲取性、真實(shí)性和持久性。電子密碼鎖在未來(lái)肯定會(huì)得到

16、迅猛的發(fā)展和更加廣泛的應(yīng)用,因?yàn)閷?duì)于重視維護(hù)各方面信息安全的時(shí)代,它是必不可少的。相信以后在政治、經(jīng)濟(jì)、軍事和文化服務(wù)這幾方面中,電子密碼鎖得以更好的發(fā)展和應(yīng)用。1.3 電子密碼鎖的重要性電子密碼鎖,我們從其名可以很明顯地知道,它對(duì)信息的安全防護(hù)起著重要的作用。在這個(gè)科技技術(shù)快速發(fā)展的時(shí)代,人們的知識(shí)水平也越來(lái)越高,而且犯罪分子的犯罪手段和犯罪方法也越來(lái)越高超。在電子密碼鎖使用并不廣泛的時(shí)代,有段時(shí)期犯罪分子的犯罪工具中一種稱為萬(wàn)能鑰匙出現(xiàn)了,它的特點(diǎn)是可以輕易地將普通居民住所的非電子密碼鎖大門“打開”,造成這些居民的財(cái)產(chǎn)甚至是人身安全巨大的損失。而電子密碼鎖就可以大大地避免這種情況的發(fā)生。電

17、子密碼鎖門禁系統(tǒng)是只有主人才知道密碼,只允許主人打開。要是盜賊試圖打開,撬門的方式是幾乎不可行的,因?yàn)闀?huì)有報(bào)警;而且完善的電子密碼鎖一般會(huì)限制輸入次數(shù),要是輸入密碼多次錯(cuò)誤,也會(huì)發(fā)出報(bào)警信號(hào)。雖然本系統(tǒng)沒(méi)設(shè)計(jì)報(bào)警這一模塊,但是安全性要是比較高的,而且成本也較低。因此,電子密碼鎖在我們生活中、軍事中、政治中、文化服務(wù)中都起著保護(hù)信息安全或財(cái)產(chǎn)安全的重要性(趙雅興,2003)。2 max+plus軟件環(huán)境概述max+plus是altera提供的fpga/cpld(complex programmable logic device)開發(fā)集成環(huán)境,altera是世界最大可編程邏輯器件供應(yīng)商之一。max

18、+plus的界面友好,使用便捷,并且還被譽(yù)為業(yè)界最易用易學(xué)的eda軟件。在max+plus上可完成fpga/cpld設(shè)計(jì)的整個(gè)流程,它提供了一種與結(jié)構(gòu)無(wú)關(guān)的設(shè)計(jì)環(huán)境,使設(shè)計(jì)者能方便地進(jìn)行設(shè)計(jì)輸入、快速處理和器件的編程。2.1 max+plus設(shè)計(jì)流程如圖1所示,其上方是max+plus編譯設(shè)計(jì)主控界面,它顯示了max+plus自動(dòng)設(shè)計(jì)的各主要處理環(huán)節(jié)和設(shè)計(jì)流程。包括設(shè)計(jì)輸入編輯、編譯網(wǎng)表提取、數(shù)據(jù)庫(kù)建立、邏輯綜合、邏輯分割、適配、延時(shí)網(wǎng)表提取、編程文件匯編(裝配)以及編程下載,一共9個(gè)步驟。圖中下方的流程框圖是與上面max+plus設(shè)計(jì)流程相對(duì)照的標(biāo)準(zhǔn)的eda開發(fā)流程。首先,設(shè)計(jì)者以圖形或者h(yuǎn)

19、dl(hardware description language)編輯器的方式將所需要的設(shè)計(jì)在max+plus的編輯界面輸入,編輯完畢后,點(diǎn)擊該軟件環(huán)境的編譯和建立按鈕,則輸入的設(shè)計(jì)會(huì)進(jìn)入到綜合或編譯這一步驟中,即先經(jīng)編譯網(wǎng)表提取,在進(jìn)行數(shù)據(jù)庫(kù)的建立,最后對(duì)設(shè)計(jì)進(jìn)行邏輯綜合;在這三個(gè)步驟順利通過(guò)以后,設(shè)計(jì)便會(huì)進(jìn)入到適配器件中的調(diào)試。即對(duì)設(shè)計(jì)內(nèi)容先進(jìn)行邏輯分割,再通過(guò)適配器選擇適應(yīng)其的適配配件,最后提取延時(shí)網(wǎng)表,當(dāng)設(shè)計(jì)都通過(guò)以上所述的步驟后,便可對(duì)其進(jìn)行仿真,仿真無(wú)錯(cuò)誤便進(jìn)入到編程文件匯編中,將仿真下載到編程器中。完成對(duì)設(shè)計(jì)的仿真和調(diào)試。通過(guò)這一系列步驟,基本可以確定設(shè)計(jì)者的設(shè)計(jì)是否符合邏輯、是

20、否正確。雖然這個(gè)設(shè)計(jì)軟件環(huán)境并不是十全十美,可以發(fā)現(xiàn)所有情況下的錯(cuò)誤信息,但是基本可以幫助設(shè)計(jì)者意識(shí)到自己的設(shè)計(jì)缺陷和錯(cuò)誤,并會(huì)給出相關(guān)提示,有助于設(shè)計(jì)者快速查找出錯(cuò)誤之處,甚至編程無(wú)錯(cuò)誤,通過(guò)仿真測(cè)試可以看出原本的設(shè)計(jì)的結(jié)果是否滿足預(yù)期的設(shè)計(jì),為設(shè)計(jì)者的設(shè)計(jì)提供更加完善的判斷,更為修改設(shè)計(jì)方案提供了更多的方便(陳楚,等,2009)。compilernetlistextractordatabasebuilderlogicsynthesizerpartitionerfittertimingsnfextractor編程器assembler圖形或hdl編輯器仿真綜合或編譯設(shè)計(jì)輸入適配器件下載編譯網(wǎng)表

21、提取數(shù)據(jù)庫(kù)的建立邏輯綜合邏輯分割適配延時(shí)網(wǎng)表提取編程文件匯編圖1 max+plus編譯設(shè)計(jì)主控界面2.2 max+plus支持的硬件描述語(yǔ)言max+plus編譯器支持的硬件描述語(yǔ)言有vhdl(very high speed integrated circuit hdl)(支持87及97標(biāo)準(zhǔn))、verilog hdl及ahdl(altera hdl)。前兩種為ieee標(biāo)準(zhǔn)支持的硬件描述語(yǔ)言,最后一種ahdl是aatera公司自己設(shè)計(jì)、制定的硬件描述語(yǔ)言,是一種以結(jié)構(gòu)描述方式為主的硬件描述語(yǔ)言。本系統(tǒng)設(shè)計(jì)用的硬件描述語(yǔ)言是vhdl。vhdl作為一個(gè)規(guī)范語(yǔ)言和建模語(yǔ)言,隨著vhdl的標(biāo)準(zhǔn)化,出現(xiàn)了一

22、些支持該語(yǔ)言的行為仿真器。由于創(chuàng)建vhdl的最初目標(biāo)是用于標(biāo)準(zhǔn)文檔的建立和電路功能模擬,其基本想法是在高層次上描述系統(tǒng)和元件的行為。但到了20世紀(jì)90年代初,人們發(fā)現(xiàn)vhdl不僅可以作為系統(tǒng)模擬的建模工具,而且可以作為電路系統(tǒng)的設(shè)計(jì)工具,可以利用軟件工具將vhdl源碼自動(dòng)轉(zhuǎn)化為文本方式表達(dá)的基本邏輯元件的連圖,即網(wǎng)表文件。這種方法顯然對(duì)于電路自動(dòng)設(shè)計(jì)是一個(gè)極大的推進(jìn)。很快,電子設(shè)計(jì)領(lǐng)域出現(xiàn)了第一個(gè)軟件設(shè)計(jì)工具,即vhdl邏輯綜合器,它把標(biāo)準(zhǔn)vhdl的部分語(yǔ)句描述轉(zhuǎn)化為具體電路實(shí)現(xiàn)的網(wǎng)表文件。vhdl具有與具體硬件電路和與設(shè)計(jì)平臺(tái)無(wú)關(guān)的特性,并且具有良好的電路行為描述和系統(tǒng)描述能力。與veril

23、og相比,vhdl有下列優(yōu)勢(shì):第一,語(yǔ)法比verilog嚴(yán)謹(jǐn),通過(guò)eda工具自動(dòng)語(yǔ)法檢查,易排除許多設(shè)計(jì)中的疏忽。第二,有很好的行為級(jí)描述能力和一定的系統(tǒng)級(jí)描述能力,而verilog建模時(shí),行為與系統(tǒng)級(jí)抽象及相關(guān)描述能力不及vhdl(陳楚,等,2009)。2.3 max+plus工作過(guò)程max+plus允許來(lái)自第三方的edif(electronic design interchange format)文件輸入,這可以與其他eda工具進(jìn)行接口。max+plus支持層次化設(shè)計(jì),可以在一個(gè)新的編輯輸入環(huán)境中對(duì)使用不同輸入設(shè)計(jì)方式完成的工程模塊(元件)進(jìn)行調(diào)用,從而解決了原理圖與hdl混合輸入設(shè)計(jì)的問(wèn)

24、題。在設(shè)計(jì)輸入之后,max+plus的編譯器將給出設(shè)計(jì)輸入的錯(cuò)誤報(bào)告,將錯(cuò)誤顯示出來(lái)。max+plus擁有性能良好的設(shè)計(jì)錯(cuò)誤定位器,用于確定文本或圖形設(shè)計(jì)中的錯(cuò)誤。在進(jìn)入編譯網(wǎng)表功能塊后,max+plus將從適配文件中提取snf(simulation netlist format)時(shí)序仿真文件simulation netlist(仿真網(wǎng)表文件)。snf文件詳細(xì)記錄了當(dāng)前適配的延時(shí)和邏輯功能信息,可用于對(duì)設(shè)計(jì)進(jìn)行時(shí)序仿真。在仿真前,需要利用波形編輯器編輯一個(gè)波形激勵(lì)文件。編譯和仿真經(jīng)檢測(cè)無(wú)誤后,便可以將下載信息通過(guò)max+plus提供的編程器下載到目標(biāo)器件中(陳楚,等,2009)。3 硬件環(huán)境f

25、pga的工作原理及其結(jié)構(gòu)3.1 fpga的基本結(jié)構(gòu)現(xiàn)場(chǎng)可編輯門陣列fpga同cpld一樣都是可編程邏輯器件,現(xiàn)場(chǎng)可編輯邏輯門陣列是在pal(programmable array logic)、gal(generic array logic)等邏輯器件的基礎(chǔ)之上發(fā)展起來(lái)的。同以往的pal、gal等相比,fpga的規(guī)模更大,它可以替代幾十甚至幾千塊通用的ic芯片。這樣的fpga實(shí)際上就是一個(gè)子系統(tǒng)部件,這種芯片受到全世界范圍內(nèi)電子工程設(shè)計(jì)人員的廣泛關(guān)注和普遍歡迎(袁文波,等,2007)。它是作為專用集成電路(asic)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門

26、電路數(shù)有限的缺點(diǎn)。fpga一般由一個(gè)二維的邏輯塊陣列、輸入/輸出塊和連接邏輯塊的互連資源這三大部分組成。通常pld(programmable logic device)器件可分為兩種結(jié)構(gòu):一種是基于乘積項(xiàng)的pld結(jié)構(gòu),另一種是基于查找表的結(jié)構(gòu),采用這種結(jié)構(gòu)的pld也可稱之為fpga。本質(zhì)上,查找表(look up table)就是一個(gè)ram(random access memory)。目前fpga中使用4輸入的lut,所以每一個(gè)lut可以看成是一個(gè)有4位地址線的16*1的ram。當(dāng)用戶通過(guò)原理圖或hdl語(yǔ)言描述了一個(gè)邏輯電路后,pld/fpga開發(fā)軟件會(huì)自動(dòng)計(jì)算邏輯電路的所有可能的結(jié)果,并把結(jié)

27、果事先寫入ram,這樣每輸入一個(gè)信號(hào)進(jìn)行邏輯運(yùn)算就等于輸入一個(gè)地址進(jìn)行查找表,找出地址對(duì)應(yīng)的內(nèi)容,然后輸出即可。一般來(lái)說(shuō),fpga芯片主要由三部分組成,分別是輸入輸出單元、邏輯陣列塊。對(duì)于fpga,用戶可配置的輸入、輸出和緩沖端口為芯片外部引腳和內(nèi)部邏輯提供了一個(gè)界面,每個(gè)輸入、輸出端口控制一個(gè)外部引腳,并可定義為輸入、輸出或雙向三種功能。當(dāng)其定義為輸入時(shí),輸入信號(hào)經(jīng)pad進(jìn)入輸入緩沖器,并根據(jù)配置可以直接輸入,亦可以通過(guò)邊沿觸發(fā)器或電平敏感鎖存器輸入。當(dāng)其定義為輸出時(shí),輸出信號(hào)可以通過(guò)配置選擇是否反相,是直接傳輸?shù)絧ad,還是通過(guò)邊沿觸發(fā)器寄存后傳輸??梢赃x擇用輸出使能信號(hào)使輸出緩沖器是否為

28、高阻狀態(tài),以實(shí)現(xiàn)三態(tài)輸出或雙向i/o傳輸。其內(nèi)部連線由一些具有可編程開關(guān)點(diǎn)或開關(guān)矩陣的金屬線段組成,結(jié)構(gòu)對(duì)稱、規(guī)范,適合于建立自動(dòng)有效的布局布線算法。布線通道的數(shù)目由陣列規(guī)模決定。內(nèi)部連接線聯(lián)通fpga內(nèi)部的所有單元,而連線的長(zhǎng)度和工藝決定著信號(hào)再連接線上的驅(qū)動(dòng)能力和傳輸速度。在實(shí)際開發(fā)中,設(shè)計(jì)者不需要直接選擇連接線,布局布線器可自動(dòng)地根據(jù)輸入邏輯網(wǎng)表(這由綜合生成)的拓?fù)浣Y(jié)構(gòu)和約束條件選擇連接線來(lái)連通各個(gè)邏輯單元,所以,從本質(zhì)上來(lái)說(shuō),布線資源的使用方法和設(shè)計(jì)的結(jié)果有密切和直接的關(guān)系。3.2 fpga的設(shè)計(jì)流程fpga設(shè)計(jì)大體分為設(shè)計(jì)輸入、綜合、功能仿真、實(shí)現(xiàn)、時(shí)序仿真、配置下載等六個(gè)步驟(潘

29、松,等,2005;袁文波,等,2007;趙雅興,2003)。設(shè)計(jì)輸入包括使用硬件描述語(yǔ)言、狀態(tài)圖與原理圖輸入三種方式。設(shè)計(jì)綜合就是針對(duì)給定的電路實(shí)現(xiàn)功能和實(shí)現(xiàn)此電路的約束條件,如速度、功耗、成本及電路類型等,通過(guò)計(jì)算機(jī)進(jìn)行優(yōu)化處理,獲得一個(gè)能滿足上述要求的電路設(shè)計(jì)方案。也就是說(shuō)被綜合的文件時(shí)hdl文件或相應(yīng)的文件等,綜合的依據(jù)是邏輯設(shè)計(jì)的描述和各種約束條件,綜合的結(jié)果則是一個(gè)硬件電路的實(shí)現(xiàn)方案,該方案必須同時(shí)滿足預(yù)期的功能和約束條件。對(duì)綜合來(lái)說(shuō),滿足要求的方案可能有多個(gè),綜合工具將產(chǎn)生一個(gè)最優(yōu)的或著接近最優(yōu)的結(jié)果。因此,綜合的過(guò)程也就是設(shè)計(jì)目標(biāo)的優(yōu)化過(guò)程,最后獲得的結(jié)構(gòu)與綜合工具的工作性能有關(guān)

30、。從廣義講,設(shè)計(jì)驗(yàn)證包括功能與時(shí)序仿真和電路驗(yàn)證。仿真是指使用設(shè)計(jì)軟件包對(duì)已實(shí)現(xiàn)的設(shè)計(jì)進(jìn)行完整的測(cè)試,模擬物理環(huán)境下的工作情況。功能仿真是指僅對(duì)邏輯功能進(jìn)行測(cè)試模擬,以了解其實(shí)現(xiàn)的功能是否滿足原設(shè)計(jì)的要求,仿真過(guò)程中沒(méi)加入時(shí)序信息,不涉及具體器件的硬件特性,如延時(shí)特性;而在布局布線后,提取有關(guān)的器件延時(shí)、連線延時(shí)等時(shí)序參數(shù),并在此基礎(chǔ)上進(jìn)行的仿真稱為后仿真,它是接近真實(shí)器件運(yùn)行的仿真。設(shè)計(jì)實(shí)現(xiàn)是利用實(shí)現(xiàn)工具把邏輯映射到目標(biāo)器件結(jié)構(gòu)的資源中,決定邏輯的最佳布局,選擇邏輯與輸入輸出功能連接的布線通道進(jìn)行連線,并產(chǎn)生相應(yīng)的文件。其通常分為轉(zhuǎn)換、映射、布局與布線、時(shí)序提取和配置共5個(gè)步驟。在設(shè)計(jì)實(shí)現(xiàn)的

31、過(guò)程中,在映射后需要對(duì)一個(gè)設(shè)計(jì)的實(shí)際功能的延時(shí)和估計(jì)的布線延時(shí)進(jìn)行時(shí)序分析;而在布局布線后,也要對(duì)實(shí)際布局布線的功能塊的延時(shí)和實(shí)際布線延時(shí)進(jìn)行靜態(tài)時(shí)序分析。從某種程度講,靜態(tài)時(shí)序分析可以說(shuō)是整個(gè)fpga設(shè)計(jì)中最重要的步驟,它允許設(shè)計(jì)者詳盡地分析所有關(guān)鍵路徑并得出一個(gè)有次序的報(bào)告,而且報(bào)告中含有其他調(diào)試信息。靜態(tài)時(shí)序分析器可以用來(lái)檢查設(shè)計(jì)的邏輯和時(shí)序,以便計(jì)算各通路性能,識(shí)別可靠的蹤跡,檢測(cè)建立和保持時(shí)間的配合。時(shí)序分析不要求用戶產(chǎn)生輸入激勵(lì)或測(cè)試矢量。而下載是在功能仿真與時(shí)序仿真正確的前提下,將綜合后形成的位流下載到具體的fpga芯片中,也叫芯片配置。fpga設(shè)計(jì)也有兩種配置形式:直接由計(jì)算機(jī)

32、經(jīng)過(guò)專用下載電纜進(jìn)行配置;由外圍配置芯片進(jìn)行上電時(shí)自動(dòng)配置。將位流文件下載到fpga器件內(nèi)部后進(jìn)行實(shí)際器件的物理測(cè)試即為電路驗(yàn)證,當(dāng)?shù)玫秸_的驗(yàn)證結(jié)果后就證明了設(shè)計(jì)的正確性。電路驗(yàn)證對(duì)fpga投片生產(chǎn)具有較大的意義。以下對(duì)上述某些部分進(jìn)行詳細(xì)分析,其中,在系統(tǒng)設(shè)計(jì)之前,首先要進(jìn)行的是方案論證、系統(tǒng)設(shè)計(jì)和fpga芯片選擇等準(zhǔn)備工作。系統(tǒng)工程師根據(jù)任務(wù)要求,如系統(tǒng)的指標(biāo)和復(fù)雜度,對(duì)工作速度和芯片本身的各種資源、成本等方面進(jìn)行權(quán)衡,選擇合理的設(shè)計(jì)方案和合適的器件類型。一般都采用自頂向下的設(shè)計(jì)方法,把系統(tǒng)分成若干個(gè)基本單元,然后再把每個(gè)基本單元?jiǎng)澐譃橄乱粚哟蔚幕締卧?,一直這樣做下去,直到可以直接使用

33、eda元件庫(kù)為止。還有rtl級(jí)(registertransferlevel,寄存器傳輸級(jí))指不關(guān)注寄存器和組合邏輯的細(xì)節(jié)(如使用了多少個(gè)邏輯門、邏輯門的連接拓?fù)浣Y(jié)構(gòu)等),通過(guò)描述數(shù)據(jù)在寄存器之間的流動(dòng)和如何處理、控制這些數(shù)據(jù)流動(dòng)的模型的hdl設(shè)計(jì)方法。rtl級(jí)比門級(jí)更抽象,同時(shí)也更簡(jiǎn)單和高效。rtl級(jí)的最大特點(diǎn)是可以直接用綜合工具將其綜合成為門級(jí)網(wǎng)表,其中rtl級(jí)設(shè)計(jì)直接決定著系統(tǒng)的功能和效率。rtl級(jí)仿真也稱為功能(行為)仿真,或是綜合前仿真,是在編譯之前對(duì)用戶所設(shè)計(jì)的電路進(jìn)行邏輯功能驗(yàn)證,此時(shí)的仿真沒(méi)有延遲信息,僅對(duì)初步的功能進(jìn)行檢測(cè)。仿真前,要先利用波形編輯器和hdl等建立波形文件和測(cè)試

34、向量即將所關(guān)心的輸入信號(hào)組合成序列,仿真結(jié)果將會(huì)生成報(bào)告文件和輸出信號(hào)波形,從中便可以觀察各個(gè)節(jié)點(diǎn)信號(hào)的變化。如果發(fā)現(xiàn)錯(cuò)誤,則返回設(shè)計(jì)修改邏輯設(shè)計(jì)。雖然功能仿真不是fpga開發(fā)過(guò)程中的必需步驟,但卻是系統(tǒng)設(shè)計(jì)中最關(guān)鍵的一步。門級(jí)仿真也稱為綜合后仿真,綜合后仿真檢查綜合結(jié)果是否和原設(shè)計(jì)一致。在仿真時(shí),把綜合生成的標(biāo)準(zhǔn)延時(shí)文件反標(biāo)注到綜合仿真模型中去,可估計(jì)門延時(shí)帶來(lái)的影響。但這一步驟不能估計(jì)線延時(shí),因此和布線后的實(shí)際情況還有一定的差距,并不十分準(zhǔn)確。目前的綜合工具較為成熟,對(duì)于一般的設(shè)計(jì)可以省略這一步,但如果在布局布線后發(fā)現(xiàn)電路結(jié)構(gòu)和設(shè)計(jì)意圖不符,則需要回溯到綜合后仿真來(lái)確認(rèn)問(wèn)題之所在。在功能仿

35、真中介紹的軟件工具一般都支持綜合后仿真。實(shí)現(xiàn)是將綜合生成的邏輯網(wǎng)表配置到具體的fpga芯片上,將工程的邏輯和時(shí)序與器件的可用資源匹配。布局布線是其中最重要的過(guò)程,布局將邏輯網(wǎng)表中的硬件原語(yǔ)和底層單元合理地配置到芯片內(nèi)部的固有硬件結(jié)構(gòu)上,并且往往需要在速度最優(yōu)和面積最優(yōu)之間作出選擇。布線根據(jù)布局的拓?fù)浣Y(jié)構(gòu),利用芯片內(nèi)部的各種連線資源,合理正確地連接各個(gè)元件。也可以簡(jiǎn)單地將布局布線理解為對(duì)fpga內(nèi)部查找表和寄存器資源的合理配置,布局可以被理解挑選可實(shí)現(xiàn)設(shè)計(jì)網(wǎng)表的最優(yōu)的資源組合,而布線就是將這些查找表和寄存器資源以最優(yōu)方式連接起來(lái)。目前,fpga的結(jié)構(gòu)非常復(fù)雜,特別是在有時(shí)序約束條件時(shí),需要利用時(shí)

36、序驅(qū)動(dòng)的引擎進(jìn)行布局布線。布線結(jié)束后,軟件工具會(huì)自動(dòng)生成報(bào)告,提供有關(guān)設(shè)計(jì)中各部分資源的使用情況。由于只有fpga芯片生產(chǎn)商對(duì)芯片結(jié)構(gòu)最為了解,所以布局布線必須選擇芯片開發(fā)商提供的工具。時(shí)序仿真是指將布局布線的延時(shí)信息反標(biāo)注到設(shè)計(jì)網(wǎng)表中來(lái)檢測(cè)有無(wú)時(shí)序違規(guī)(即不滿足時(shí)序約束條件或器件固有的時(shí)序規(guī)則,如建立時(shí)間、保持時(shí)間等)現(xiàn)象。時(shí)序仿真包含的延遲信息最全,也最精確,能較好地反映芯片的實(shí)際工作情況。由于不同芯片的內(nèi)部延時(shí)不一樣,不同的布局布線方案也給延時(shí)帶來(lái)不同的影響。因此在布局布線后,通過(guò)對(duì)系統(tǒng)和各個(gè)模塊進(jìn)行時(shí)序仿真,分析其時(shí)序關(guān)系,估計(jì)系統(tǒng)性能,以及檢查和消除競(jìng)爭(zhēng)冒險(xiǎn)是非常有必要的(潘松,等,

37、2005;袁文波,等,2007;趙雅興,2003)。4 基于fpga電子密碼鎖系統(tǒng)的基本描述4.1 電子密碼鎖的系統(tǒng)的方案比較與選擇方案一:采用數(shù)字電路控制。用以74ls112雙jk觸發(fā)器構(gòu)成的數(shù)字邏輯電路作為密碼鎖的核心控制將密碼保存在jk觸發(fā)器中與輸入密碼通過(guò)比較器比較,判斷結(jié)果是否相符合。采用數(shù)字電路設(shè)計(jì)的方案好處就是設(shè)計(jì)簡(jiǎn)單,但控制的準(zhǔn)確性和靈活性差,故不采用。 方案二:采用單片機(jī)作為控制核心。選用單片機(jī)作為系統(tǒng)的核心部件實(shí)現(xiàn)控制與處理的功能。單片機(jī)具有資源豐富、速度快、編程容易等優(yōu)點(diǎn)。利用單片機(jī)內(nèi)部的隨機(jī)存儲(chǔ)器ram和只讀存儲(chǔ)器rom(read only memory)及其引腳資源,

38、外接液晶顯示lcd(liquid crystal display)鍵盤輸入等實(shí)現(xiàn)數(shù)據(jù)的處理傳輸和顯示功能。方案三:采用現(xiàn)場(chǎng)可編程邏輯門陣列fpga器件作為控制核心。選用現(xiàn)場(chǎng)可編程邏輯門陣列fpga器件實(shí)現(xiàn)控制和處理功能。利用fpga器件實(shí)現(xiàn)對(duì)密碼輸入電路、密碼鎖控制電路、密碼顯示電路的控制。用fpga器件構(gòu)造系統(tǒng),所有算法完全由硬件電路來(lái)實(shí)現(xiàn),使得系統(tǒng)的工作可靠性大為提高。綜上所述,可知數(shù)字電路設(shè)計(jì)控制的準(zhǔn)確性和靈活性差;以單片機(jī)為主要器件,其編碼器與解碼器的生成為軟件方式。在實(shí)際應(yīng)用中,由于程序容易跑飛,系統(tǒng)的可靠性能較差(李連華,2006)。而基于現(xiàn)場(chǎng)可編程邏輯門陣列fpga器件的電子密碼

39、鎖,由于fpga具有現(xiàn)場(chǎng)可編程功能,通常它都有著上萬(wàn)次的重寫次數(shù),也就是說(shuō)現(xiàn)在的硬件設(shè)計(jì)和軟件設(shè)計(jì)一樣靈活、方便。當(dāng)設(shè)計(jì)需要更改時(shí),只需更改fpga中的控制和接口電路,利用eda工具將更新后的設(shè)計(jì)下載到fpga中即可,無(wú)需更改外部電路的設(shè)計(jì),大大提高了設(shè)計(jì)的效率。故本系統(tǒng)設(shè)計(jì)采用方案三。4.2 基于fpga的電子密碼鎖的設(shè)計(jì)的思路由對(duì)基于fpga的電子密碼鎖各位研究者的基本設(shè)計(jì)的分析(侯靜,2012;李連華,2006;王衛(wèi)兵,等,2005;王心水,2011;許琦,2006),并且結(jié)合自身對(duì)該系統(tǒng)的認(rèn)識(shí)和社會(huì)的需要,本人總結(jié)出了以下的設(shè)計(jì)思路:(1)對(duì)時(shí)鐘進(jìn)行分頻,為掃描按鍵和掃描數(shù)碼管配置合適

40、的掃描時(shí)鐘。(2)利用4*4按鍵,為密碼輸入和功能控制端口。(3)為按鍵進(jìn)行消除抖動(dòng)的動(dòng)作。(4)對(duì)按鍵進(jìn)行編碼。(5)控制led(light emitting diode)顯示,對(duì)按鍵編碼進(jìn)行字型譯碼,讓密碼在led上顯示一下便將其隱藏。(6)密碼輸入三次還不正確就報(bào)警并鎖定,在三次之內(nèi)輸入正確便開鎖。 以下是本系統(tǒng)的設(shè)計(jì)思路圖:clk掃描控制信號(hào)分頻鍵盤掃描、數(shù)碼管掃描時(shí)鐘6個(gè)led4*4鍵盤消除抖動(dòng)按鍵編碼譯碼功能控制頂層文件開鎖輸出上鎖輸出報(bào)警輸出功能信號(hào)輸出圖2 基于fpga的電子密碼鎖系統(tǒng)的設(shè)計(jì)思路圖4.3 本系統(tǒng)設(shè)計(jì)的目的和意義 由于本系統(tǒng)是基于fpga器件的硬件系統(tǒng)。它在抵御攻

41、擊、密碼的安全存儲(chǔ)、運(yùn)算速度等方面可以提供比單純的軟件加密系統(tǒng)更優(yōu)質(zhì)的服務(wù)。其可通過(guò)系統(tǒng)硬件資源安全,便捷地對(duì)上層應(yīng)用提供包括密碼運(yùn)算、密鑰存儲(chǔ)、隨機(jī)數(shù)生成在內(nèi)的諸多安全服務(wù)。fpga都有著上萬(wàn)次的重寫次數(shù),也就是說(shuō)現(xiàn)在的硬件設(shè)計(jì)和軟件設(shè)計(jì)一樣靈活、方便。而且fpga具有現(xiàn)場(chǎng)可編程的功能,它是在pal、gal、epld等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,是一種超大規(guī)模集成電路,具有對(duì)電路可重配置能力。即當(dāng)設(shè)計(jì)需要更改時(shí),只需修改fpga中的控制和接口電路,利用eda工具將更新后的設(shè)計(jì)下載到fpga中即可,無(wú)需更改外部電路的設(shè)計(jì),大大提高了設(shè)計(jì)的效率,而且又為我們的需求提供便捷。通過(guò)本次系統(tǒng),

42、我可以重新再次接觸到eda這門知識(shí),加深了我對(duì)fpga的理解和認(rèn)識(shí),更加深了我對(duì)fpga開發(fā)軟件的使用,即對(duì)max+plus軟件環(huán)境也更加熟悉,不再像以前那樣一知半解。而且,更加清楚了電子密碼鎖的架構(gòu)及其對(duì)我們生活的重大意義,積累實(shí)踐經(jīng)驗(yàn),為以后的學(xué)習(xí)或工作奠定了一定的基礎(chǔ)。5 基于fpga電子密碼鎖系統(tǒng)的仿真與分析5.1 底層文件仿真與分析5.1.1 掃描時(shí)鐘產(chǎn)生模塊 如下所示,圖3是掃描時(shí)鐘的電路仿真圖;圖4是其仿真波形圖,從中可看到clk是輸入口,klclk_scan是掃描時(shí)鐘,為數(shù)碼管和led的掃描提供合適的掃描時(shí)鐘,它是對(duì)clk的100分頻。 圖3 掃描時(shí)鐘的仿真電路圖圖4 掃描時(shí)鐘

43、的仿真波形每一次clk脈沖上升沿count累積一次,當(dāng)count時(shí)累積到一百次的時(shí)候,klclk_scan相應(yīng)從0跳躍為1或者從1躍變?yōu)?,然后count清零,繼續(xù)下一輪的計(jì)數(shù)。5.1.2 按鍵去抖模塊如圖5為鍵盤按鍵彈跳導(dǎo)致按鍵輸出產(chǎn)生錯(cuò)誤的波形圖,所以為了使按鍵信息正確地輸出,即消除因?yàn)榘存I抖動(dòng)而引起輸出不必要的錯(cuò)誤和保證鍵入信息通過(guò)傳輸不出錯(cuò),按鍵去抖電路是必須的。圖6,圖7分別是按鍵去抖模塊的邏輯電路圖和波形圖。圖5 鍵盤按鍵彈跳導(dǎo)致產(chǎn)生的錯(cuò)誤波形圖圖6 鍵盤按鍵去抖模塊邏輯電路圖 圖7 鍵盤按鍵去抖的波形圖如圖7,keyin為按鍵輸入信號(hào),clk為時(shí)鐘輸入信號(hào),在每一次脈沖上升沿,k

44、eyl就對(duì)鍵入的低電平進(jìn)行計(jì)數(shù),知道按鍵信號(hào)輸入為高電平,即按鍵按鈕已被松開;同理keyh是對(duì)按鍵信號(hào)輸入的高電平進(jìn)行計(jì)數(shù),直至有按鍵按下,此時(shí)其被清零。5.1.3 鍵盤掃描模塊如圖8所示為鍵盤掃描模塊的仿真電路圖;圖9為其波形仿真圖,由圖可知該模塊主要完成對(duì)鍵盤按鍵的掃描,以確定究竟是哪個(gè)按鍵被按下。鍵盤掃描模塊也可謂為本系統(tǒng)的重要組成部分之一,它是后面判斷和功能描述模塊的判斷依據(jù),其掌控著密碼輸入的控制以及對(duì)應(yīng)的輸出。首先,逐一設(shè)定鍵盤列的值,之后再逐行掃描,通過(guò)判斷行信號(hào)的低電平和列信號(hào)的低電平的交點(diǎn)來(lái)確定究竟是哪個(gè)按鍵被按下。圖8 鍵盤掃描模塊的仿真電路圖圖9 鍵盤掃描模塊的仿真波形如

45、圖9,keyclk_scan為鍵盤掃描信號(hào),keyout在此為按鍵去抖后的按鍵輸入信號(hào),keyr4 、keyr3、 keyr2、 keyr1為按鍵行信號(hào),即用來(lái)輸入哪一行有按鍵被按下的信息,而keycol為按鍵列掃描信號(hào),與行信號(hào)結(jié)合起來(lái)判斷出究竟是哪個(gè)按鍵被按下。keynum是用來(lái)組建按鍵按鍵行信息和按鍵列信息的輸出按鍵信號(hào),即可直接觀察輸出信號(hào)keynum來(lái)判斷哪個(gè)按鍵被按下。5.1.4 4*4鍵盤編碼及其按鍵功能的設(shè)置模塊如圖10所示為4*4鍵盤編碼及其按鍵功能的設(shè)置模塊的仿真電路圖;圖11、圖12和圖13為其波形仿真圖,其中圖11是數(shù)字鍵按下時(shí)的波形仿真圖,圖12是功能鍵按下時(shí)的波形仿

46、真圖,圖13是其他未定義鍵按下時(shí)的波形圖。4*4鍵盤編碼及其按鍵功能的設(shè)置模塊也是本系統(tǒng)中不可缺少的重要部分。因?yàn)橥ㄟ^(guò)對(duì)鍵盤編碼,才會(huì)知道其代表的密碼數(shù)值,這樣才會(huì)給予這個(gè)系統(tǒng)的密碼一個(gè)編號(hào)并且用于實(shí)際的安全系統(tǒng)中。編碼固然重要,但是其按鍵功能設(shè)置也是不可忽視的,功能按鍵的加入會(huì)使密碼鎖的系統(tǒng)的功能更加完善。圖10 4*4鍵盤編碼及其按鍵功能的設(shè)置模塊的仿真電路圖 圖11 4*4鍵盤編碼及其按鍵功能的設(shè)置模塊數(shù)字鍵按下時(shí)的仿真波形如圖11,keyclk_scan為鍵盤掃描信號(hào),fun_sign是功能鍵按下判斷的標(biāo)志,fun_sure是代表功能鍵確定是否被按下的標(biāo)志,fun_clear是功能鍵是

47、否清除此刻所輸入的密碼的標(biāo)志,fun_change則代表是否重新設(shè)置密碼的標(biāo)志。由上圖可知,當(dāng)鍵盤輸入信號(hào)的按鍵信息keynum為數(shù)字鍵輸入時(shí),keyvalue直接將鍵值顯示出來(lái),同時(shí)fun_sign、fun_sure、fun_clear、fun_change的輸出信號(hào)都為高電平,代表無(wú)功能鍵輸入。圖12 4*4鍵盤編碼及其按鍵功能的設(shè)置模塊功能鍵按下時(shí)的仿真波形如圖12,當(dāng)鍵盤輸入信號(hào)的按鍵信息keynum為功能鍵輸入時(shí),keyvalue直接將鍵值顯示出來(lái),并且fun_clear和fun_sign的值變?yōu)?,代表有功能鍵輸入,并且該功能鍵實(shí)現(xiàn)的功能是清除現(xiàn)有輸入密碼的功能,而fun_sure

48、、fun_change的輸出信號(hào)都為高電平,代表無(wú)這兩個(gè)功能鍵輸入。圖13 4*4鍵盤編碼及其按鍵功能的設(shè)置模塊無(wú)定義鍵按下時(shí)的仿真波形 如圖13,當(dāng)鍵盤輸入信號(hào)的按鍵信息keynum為其他鍵輸入時(shí),keyvalue直接顯示出e,其實(shí)是代表著輸入鍵錯(cuò)誤(error),即沒(méi)有實(shí)現(xiàn)任何輸入,同時(shí)fun_sign、fun_sure、fun_clear、fun_change的輸出信號(hào)都為高電平,代表無(wú)功能鍵輸入。5.1.5 數(shù)碼管顯示模塊此模塊中,主要完成對(duì)按鍵進(jìn)行譯碼,并將其對(duì)應(yīng)的編碼輸出到數(shù)碼管進(jìn)行顯示,圖14和圖15還有圖16分別為該模塊的電路仿真圖和仿真波形圖。 圖14 數(shù)碼管顯示模塊的仿真電

49、路圖 圖15 數(shù)碼管顯示模塊的仿真波形圖(無(wú)功能鍵輸入)如圖15,當(dāng)鍵盤輸入按鍵值keyvalue為5時(shí),無(wú)功能鍵輸入,keyall是將輸入的六位密碼保存,count是用來(lái)計(jì)數(shù),來(lái)通過(guò)對(duì)按鍵信息確定輸入的密碼的個(gè)數(shù),最多只能輸入六位密碼,通過(guò)對(duì)輸入密碼的個(gè)數(shù)的計(jì)數(shù)來(lái)實(shí)現(xiàn)對(duì)片選信號(hào)的控制,即實(shí)現(xiàn)對(duì)ls138的控制,將第一位密碼安排在六位中的最高片選位置出口,其他依次排序下去;led先對(duì)輸入的密碼明確顯示,但通過(guò)計(jì)時(shí)信號(hào)realtime的時(shí)間控制,將在一段時(shí)間后led會(huì)顯示為“”,將所輸入的密碼隱藏起來(lái),進(jìn)行保密。 圖16 數(shù)碼管顯示模塊的仿真波形圖(有功能鍵輸入)如圖16,當(dāng)鍵盤有功能鍵按下時(shí),

50、即可通過(guò)keyvalue的值來(lái)判斷是否為功能鍵,這是功能鍵標(biāo)志會(huì)變?yōu)榈碗娖?。這是電路不工作,即led不進(jìn)行任何顯示輸出。5.1.6 比較判斷和功能描述模塊此模塊主要是實(shí)現(xiàn)對(duì)輸入密碼的核對(duì),即判斷輸入密碼的正確與否,通過(guò)這一模塊,實(shí)現(xiàn)對(duì)密碼鎖的控制上鎖、開鎖等。這一模塊是所有模塊中最為重要的模塊,它是密碼安全性的核心功能模塊,主要通過(guò)這一模塊的描述才能將系統(tǒng)的主要功能給表示出來(lái)??傊容^判斷和功能描述模塊是所有模塊中最需要設(shè)計(jì)完整和設(shè)計(jì)完善的一個(gè)模塊,少了它,應(yīng)有的功能就難以得以實(shí)現(xiàn)。圖17和圖18分別為其電路仿真圖和仿真波形圖。比較判斷和功能描述模塊是本系統(tǒng)中的核心模塊,安全性和可靠性的高低

51、與否都是依賴于這個(gè)模塊的功能設(shè)計(jì)。首先,對(duì)通過(guò)編碼處理后的鍵盤按鍵的鍵值進(jìn)行處理,在無(wú)功能鍵按下的情況下,依次將按鍵輸入的密碼信息存儲(chǔ)于code1、code2、code3、code4、code5、code6中,這6個(gè)信號(hào)是用來(lái)暫存此刻輸入的密碼。此刻會(huì)將這些暫存密碼的信號(hào)進(jìn)行處理,依次和初始密碼的相應(yīng)的位數(shù)逐個(gè)判斷,比較其是否一致,以便達(dá)到對(duì)密碼正確與否的判斷。再通過(guò)判斷出來(lái)的結(jié)果來(lái)執(zhí)行下一步動(dòng)作,即是處理上鎖信號(hào)、開鎖信號(hào)等信號(hào)的輸出。 圖17 比較判斷和功能描述模塊的仿真電路圖 圖18 比較判斷和功能描述模塊的仿真電路圖如圖18,設(shè)按鍵輸入的六個(gè)密碼為666666,而初始密碼是123456

52、,故鎖沒(méi)開,state的值為6,即是進(jìn)入警報(bào)處理過(guò)程,控制openlock輸出低電平,鎖住鎖,即lock信號(hào)會(huì)一直輸出為高電平,code1至code6依次存儲(chǔ)輸入密碼的第一位至第六位,用它們作為判斷輸入密碼的對(duì)錯(cuò)來(lái)實(shí)現(xiàn)對(duì)密碼鎖的控制。5.2 頂層文件仿真與分析本系統(tǒng)中頂層文件的作用是對(duì)以上六個(gè)底層文件的調(diào)用,以實(shí)現(xiàn)電子密碼鎖的功能。圖19為其仿真電路圖。頂層文件的設(shè)計(jì)是依靠于每一個(gè)底層文件的,eda設(shè)計(jì)一般都是基于有底向上的設(shè)計(jì)方法,即先要構(gòu)想出子模塊每個(gè)模塊的功能和設(shè)計(jì),才去設(shè)計(jì)能夠?qū)⑦@些子模塊的功能能夠被一個(gè)頂層模塊較好的調(diào)用,通過(guò)對(duì)各個(gè)模塊的調(diào)用去實(shí)現(xiàn)各個(gè)部分具備的功能,并且,在這一調(diào)用

53、的基礎(chǔ)上,將各個(gè)底層模塊進(jìn)行邏輯地結(jié)合,以實(shí)現(xiàn)一個(gè)具有完整功能的設(shè)計(jì)方案和滿足設(shè)計(jì)者的設(shè)計(jì)意圖,從個(gè)體到整體的結(jié)合以實(shí)現(xiàn)特有的功能。只有通過(guò)頂層文件的統(tǒng)一,所有的其它模塊才能互相結(jié)合,共同工作,共同實(shí)現(xiàn)一個(gè)有實(shí)際意義的整體,成功完成一個(gè)具有特定功能的系統(tǒng)。圖19 頂層模塊的仿真電路圖由圖19可知,頂層電路模塊將底層的各個(gè)文件模塊的輸入口和輸出口抽象地結(jié)合成為一個(gè)簡(jiǎn)單的電路,即省略了底層文件其中的一些聯(lián)系,將其邏輯聯(lián)系過(guò)程給簡(jiǎn)化掉,直接形成一個(gè)輸入輸出電路。clk是全局工作所需要的時(shí)鐘,keyin為鍵盤去抖模塊的鍵盤鍵入口,從其看不到輸出keyout是因?yàn)閗eyout并不是一直都作為輸出端,其在

54、某個(gè)底層文件中卻作為輸入端,故頂層文件便把其作為一個(gè)緩沖口,沒(méi)有將其給標(biāo)志出來(lái)。而keyr1、keyr2、keyr3、keyr4這四個(gè)輸入端代表的是鍵盤行輸入的端口,可知,控制電路的輸入主要是時(shí)鐘和對(duì)鍵盤按鍵是否按鍵的敏感度。而整個(gè)電路的被控模塊主要是完成對(duì)數(shù)碼管的片選端的選擇(ls138)、密碼輸出在數(shù)碼管的顯示和隱藏(led)、密碼鎖是否開鎖(openlock)或上鎖(lock)以及是否重置密碼(fun_change)等等,即可實(shí)現(xiàn)了一個(gè)電子密碼鎖的功能電路。6 結(jié)論通過(guò)以上的研究背景的敘述以及對(duì)本系統(tǒng)設(shè)計(jì)的基本要求的設(shè)定,制定了與其相應(yīng)的設(shè)計(jì)方案,并且由這個(gè)設(shè)計(jì)方案編寫出相應(yīng)的代碼和對(duì)其

55、進(jìn)行各模塊的仿真和調(diào)試,終于成功地將這個(gè)電子密碼鎖的基本功能得以實(shí)現(xiàn)。從以上本系統(tǒng)的各個(gè)模塊的仿真圖可知,每一個(gè)模塊都完成了自己的功能任務(wù),即仿真成功。在軟件環(huán)境中運(yùn)行成功,保證了密碼鎖的安全可靠性,為現(xiàn)代的安全系統(tǒng)的保護(hù)也起到一定的作用。并且在對(duì)本系統(tǒng)設(shè)計(jì)的過(guò)程中,雖然在某些方面還是會(huì)欠缺些什么,即我知道了自己對(duì)vhdl語(yǔ)言的編程與應(yīng)用還是不能可以完美地運(yùn)用,在eda技術(shù)方面還有很大的認(rèn)識(shí)空間和提升空間。不過(guò)通過(guò)此次設(shè)計(jì),加強(qiáng)了我對(duì)vhdl語(yǔ)言的理解和編程設(shè)計(jì)的方式,并且對(duì)max+plus軟件的運(yùn)用和認(rèn)識(shí)也有了進(jìn)一步的提高。綜上所述,本系統(tǒng)已經(jīng)達(dá)到了本次設(shè)計(jì)的基本要求和基本功能,在系統(tǒng)安全性

56、能方面也具有一定的可靠性。本人從對(duì)系統(tǒng)的設(shè)計(jì)和實(shí)現(xiàn)過(guò)程中也受益匪淺,eda技術(shù)在現(xiàn)代電子信息發(fā)展迅猛的時(shí)代會(huì)演者重要的角色,我們有必要去加強(qiáng)自己對(duì)這方面的認(rèn)識(shí)、理解和運(yùn)用。參 考 文 獻(xiàn)陳楚,孫道宗.可編程邏輯器件實(shí)驗(yàn)指導(dǎo)書m.廣州:華南農(nóng)業(yè)大學(xué)工程學(xué)院實(shí)驗(yàn)室出版社,2009.11:1-3.侯靜.一種基于fpga狀態(tài)機(jī)的智能電子密碼鎖的設(shè)計(jì)j.計(jì)算機(jī)光盤軟件與應(yīng)用,2012,(14):175176.李連華.基于fpga的電子密碼鎖設(shè)計(jì)j.中國(guó)科技信息,2006,(1):63.潘松,黃繼業(yè).eda技術(shù)實(shí)用教程m.第四版.北京:科學(xué)出版社,2005:1-48. 王衛(wèi)兵,劉克剛,朱秋萍.用fpga的電子密碼鎖j.電子技術(shù),2005,(01):26-28.王心水.基于fpga的多功能密碼鎖的設(shè)計(jì)eb/ol.山東:曲阜師范大學(xué),2011.05

溫馨提示

  • 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ù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 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)論