基于FPGA的電子密碼鎖的設(shè)計(jì)論文(帶仿真_第1頁(yè)
基于FPGA的電子密碼鎖的設(shè)計(jì)論文(帶仿真_第2頁(yè)
基于FPGA的電子密碼鎖的設(shè)計(jì)論文(帶仿真_第3頁(yè)
基于FPGA的電子密碼鎖的設(shè)計(jì)論文(帶仿真_第4頁(yè)
基于FPGA的電子密碼鎖的設(shè)計(jì)論文(帶仿真_第5頁(yè)
已閱讀5頁(yè),還剩33頁(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、摘要摘要 基于FPGA設(shè)計(jì)的電子密碼鎖是一個(gè)小型的數(shù)字系統(tǒng),與普通機(jī)械鎖相比, 具 有許多獨(dú)特的優(yōu)點(diǎn): 保密性好, 防盜性強(qiáng), 可以不用鑰匙, 記住密碼即可開鎖等。 目前使用的電子密碼鎖大部分是基于單片機(jī)技術(shù), 以單片機(jī)為主要器件, 其編碼器 與解碼器的生成為軟件方式。在實(shí)際應(yīng)用中, 由于程序容易跑飛, 系統(tǒng)的可靠性能 較差。本文介紹一種基于現(xiàn)場(chǎng)可編程門陣列FPGA 器件的電子密碼鎖的設(shè)計(jì)方法 采用VHDL語(yǔ)言對(duì)系統(tǒng)進(jìn)行描述,并在FLEX10K10LC84-4上實(shí)現(xiàn)。 系統(tǒng)所實(shí)現(xiàn)的功能:用戶給電子密碼鎖設(shè)定一個(gè)密碼,當(dāng)使用本機(jī)鍵盤開鎖 時(shí),該密碼與用戶設(shè)定的密碼比較,如果密碼正確,則開鎖;如果

2、密碼不正確, 則允許用戶重新輸入密碼,最多可輸入三次,若三次都不正確,則揚(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)鍵詞:關(guān)鍵詞:現(xiàn)場(chǎng)可編程門陣列, 硬件描述語(yǔ)言, 電子密碼鎖, 揚(yáng)聲器 Abstract FPGA-based design of the electronic code lock is a small digital system, electronic password lock compa

3、red 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 code lock on most of SCM technology to SCM as the main devices, encoders and decoders of Health and the sof

4、tware 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 lock design, VHDL language used to describe the system and achieve FLEX10K10LC84-4. Implementation of the

5、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 if the password is not correct, allows Users to enter a password, can enter up to three times, three times if

6、 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 achieve the expected goal. Of course, some of the details of the system in the design of the need to constantly

7、 refined and improved, in particular the expansion of the system have a good design and practical value. Key words: FPGA , VHDL, electronic password lock , speaker 目目錄錄 摘要 .I ABSTRACT .II 目錄 .III 1 緒言.1 1.1 課題背景.1 1.2 課題研究的目的和意義.1 1.3 國(guó)內(nèi)外概況.2 1.4 課題的主要研究工作.3 2FPGA 的相關(guān)介紹.4 2.1 可編程邏輯器件.4 2.2FPGA 的簡(jiǎn)介.4

8、 2.3FPGA 的應(yīng)用特點(diǎn).5 2.4FPGA 的應(yīng)用前景.6 3 基于 FPGA 設(shè)計(jì)的硬件描述語(yǔ)言 VHDL .8 3.1VHDL 語(yǔ)言簡(jiǎn)介.8 3.2VHDL 語(yǔ)言的特點(diǎn) .8 3.3VHDL 語(yǔ)言的優(yōu)點(diǎn).8 3.4 VHDL 語(yǔ)言的基本結(jié)構(gòu).9 3.5VHDL 語(yǔ)言的應(yīng)用.10 4 系統(tǒng)設(shè)計(jì)方案的研究.11 4.1 系統(tǒng)功能需求分析.11 4.2 系統(tǒng)實(shí)現(xiàn)方案的論證比較.11 4.3 系統(tǒng)方案的總體設(shè)計(jì).11 4.3.1 系統(tǒng)原理框圖.11 4.3.2 總體設(shè)計(jì)原理.12 5 系統(tǒng)硬件設(shè)計(jì).13 5.1 系統(tǒng)的硬件模塊實(shí)現(xiàn).13 5.2 基于 FPGA 的設(shè)計(jì).13 5.2.1 主控

9、芯片 EPF10K10LC84-4 的介紹.13 5.2.2FPGA 邏輯功能結(jié)構(gòu)及開發(fā).14 5.3 鍵盤控制電路結(jié)構(gòu)與原理.14 5.4LED 顯示器結(jié)構(gòu)與原理.15 5.5 報(bào)警電路.17 6 系統(tǒng)的軟件設(shè)計(jì).18 6.1 系統(tǒng)主控制流程框圖.18 6.2 鍵盤掃描程序框圖.19 6.3 獲取鍵值程序框圖.20 6.4 解碼、報(bào)警模塊.21 7 系統(tǒng)的原理實(shí)現(xiàn).22 7.1 系統(tǒng)的層次化設(shè)計(jì).22 7.2 頂層圖形設(shè)計(jì).22 7.3 系統(tǒng)仿真演示結(jié)果.23 總結(jié)與展望 .24 致謝 .25 參考文獻(xiàn) .26 附錄 .28 1 緒言緒言 系統(tǒng)以利用可編程器件實(shí)現(xiàn)電子密碼鎖的設(shè)計(jì)為研究背景、

10、現(xiàn)狀以及發(fā)展方向, 明確指出了電子密碼鎖面臨的問題和所解決的方法。 1.1 課題背景課題背景 基于FPGA的電子密碼鎖是新型現(xiàn)代化安全管理系統(tǒng),它集微機(jī)自動(dòng)識(shí)別技術(shù) 和現(xiàn)代安全管理措施為一體,它涉及電子,機(jī)械,計(jì)算機(jī)技術(shù),通訊技術(shù),生物 技術(shù)等諸多新技術(shù)。它是解決重要部門出入口實(shí)現(xiàn)安全防范管理的有效措施,適 用各種場(chǎng)合,如銀行、賓館、機(jī)房、軍械庫(kù)、機(jī)要室、辦公間、智能化小區(qū)、工 廠、家庭等。 在數(shù)字技術(shù)網(wǎng)絡(luò)技術(shù)飛速發(fā)展的今天,電子密碼鎖技術(shù)得到了迅猛的發(fā)展。它 早已超越了單純的門道及鑰匙管理,逐漸發(fā)展成為一套完整的出入管理系統(tǒng)1。它 在工作環(huán)境安全、人事考勤管理等行政管理工作中發(fā)揮著巨大的作用

11、。在該系統(tǒng) 的基礎(chǔ)上增加相應(yīng)的輔助設(shè)備可以進(jìn)行電梯控制、車輛進(jìn)出控制,物業(yè)消防監(jiān)控、 餐飲收費(fèi)、私家車庫(kù)管理等,真正實(shí)現(xiàn)區(qū)域內(nèi)一卡智能管理。 目前使用的電子密碼鎖大部分是基于單片機(jī)技術(shù), 以單片機(jī)為主要器件, 其編 碼器與解碼器的生成為軟件方式。在實(shí)際應(yīng)用中, 由于程序容易跑飛, 系統(tǒng)的可靠 性能較差2?;?FPGA 的電子密碼鎖已經(jīng)是現(xiàn)代生活中經(jīng)常用到的工具之一,用 于各類保險(xiǎn)柜、房門、防盜門等等。用電子密碼鎖代替?zhèn)鹘y(tǒng)的機(jī)械式密碼鎖,克 服了機(jī)械式密碼鎖密碼量少、安全性能差的缺點(diǎn)。由于采用的是可編程邏輯器件 FPGA,使得系統(tǒng)有相當(dāng)大的靈活性,隨時(shí)可以進(jìn)行硬件升級(jí)、擴(kuò)展,而且系統(tǒng)設(shè) 計(jì)完善

12、以后還可以將主控的 FPGA 固化成一片 ASIC,那么這塊 ASIC 就可以作為 專用的數(shù)字密碼鎖芯片。而且由于硬件可升級(jí),還可隨時(shí)增加密碼位數(shù)或增加新 的功能,使得密碼鎖有更高的安全性、可靠性和方便性3。 1.2 課題研究的目的和意義課題研究的目的和意義 電子雜志、報(bào)刊經(jīng)??怯忻艽a開關(guān)、密碼鎖這樣的電路,大多數(shù)是使用常 用的數(shù)字電路,如 CD4017,然后通過(guò)不同的連接方式實(shí)現(xiàn)密碼控制功能。這種電 路的特點(diǎn)就是密碼修改只能通過(guò)改變電路的連接來(lái)實(shí)現(xiàn),密碼很容易被破解,電 路復(fù)雜,故障率高。本制作是針對(duì)這些電路而設(shè)計(jì)的,將以往的以單片機(jī)實(shí)現(xiàn)設(shè) 計(jì)改為可編程器件 FPGA 利用 VHDL 編程

13、實(shí)現(xiàn)電子密碼鎖的設(shè)計(jì)。這種設(shè)計(jì)移動(dòng) 方便?;?FPGA 的電子密碼鎖具有保密強(qiáng)、靈活性高、適用范圍廣等特點(diǎn),它 在鍵盤上輸入,與打電話差不多,因而易于掌握,其突出優(yōu)點(diǎn)是“密碼”是記在 被授權(quán)人腦子里的數(shù)字和字符,既準(zhǔn)確又可靠,不會(huì)丟失(除了忘記) ,難以被竊 (除非自己泄露) 。但是密碼不能太簡(jiǎn)單,太簡(jiǎn)單了就容易被他人在鍵盤上試探出 來(lái),或者可能被旁觀者窺測(cè)出來(lái),造成保密性不足。當(dāng)然,密碼又不能太復(fù)雜, 太復(fù)雜了可能自己都糊涂了,或者輸入密碼操作成功率低,造成使用不便。因此, 為了發(fā)揚(yáng)優(yōu)點(diǎn)、克服弱點(diǎn),本設(shè)計(jì)采用“任意設(shè)定數(shù)字密碼”技術(shù)使得被授權(quán)人 可以根據(jù)自己的需要或喜好設(shè)定密碼,常用常新,

14、在輸入密碼的過(guò)程中,當(dāng)用戶 鍵入錯(cuò)誤密碼時(shí),系統(tǒng)就會(huì)報(bào)警,由揚(yáng)聲器發(fā)出 5 秒報(bào)警聲,當(dāng)連續(xù)三次出現(xiàn)密 碼錯(cuò)誤時(shí),則系統(tǒng)會(huì)長(zhǎng)時(shí)間報(bào)警不止,這時(shí)必須按復(fù)位方可停止。 本設(shè)計(jì)的 FPGA 電子密碼鎖的特點(diǎn)是:體積小、功耗低、價(jià)格便宜、安全可 靠,維護(hù)和升級(jí)都十分方便,具有較好的應(yīng)用前景。它與傳統(tǒng)鎖具的不同之處在于: 它與可編程邏輯器件實(shí)現(xiàn)系統(tǒng)的設(shè)計(jì),應(yīng)用簡(jiǎn)潔清晰的 VHDL 語(yǔ)言實(shí)現(xiàn)設(shè)計(jì)編程 思想,能夠?qū)崿F(xiàn)適時(shí)、智能控制管理功能,特別是在系統(tǒng)的擴(kuò)展上有很好的優(yōu)勢(shì)。 1.3 國(guó)內(nèi)外概況國(guó)內(nèi)外概況 隨著我國(guó)對(duì)外開放的不斷深入,高檔建筑發(fā)展很快,高檔密碼鎖具市場(chǎng)的前 景樂觀。我國(guó)密碼鎖具行業(yè)對(duì)密碼鎖具高

15、新技術(shù)的投入正逐年增大,高檔密碼鎖 的市場(chǎng)需求也逐年增加4。在安防工程中,鎖具產(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)用;射頻卡式電子密碼鎖是非接觸式電子密碼鎖,成本也不 太高,體積跟 IC 卡密碼鎖相當(dāng),卡片使用感應(yīng)電源,重量很輕,技

16、術(shù)成熟,受到 了廣泛的歡迎,但是與 IC 卡電子密碼鎖相比,成本偏高;指紋識(shí)別電子密碼鎖和 瞳孔識(shí)別電子密碼鎖可靠性很高,安全性是目前應(yīng)用系統(tǒng)中最高的,但是成本高 昂,還沒進(jìn)入大眾化使用階段5。 在國(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í)別密碼鎖,序列混亂的鍵盤密碼鎖等各 種技術(shù)的系統(tǒng),它們?cè)诎踩?,方便性,易管理性等方面都各有特長(zhǎng),新型的電 子密碼鎖系統(tǒng)的應(yīng)用也越來(lái)越廣6。 1.4 課題的

17、主要研究工作課題的主要研究工作 課題主要解決系統(tǒng)硬件和軟件兩方面的問題。硬件方面要解決 FPGA 可編程 器件與其外圍電路的接口設(shè)計(jì)的問題;軟件方面主要問題是利用 VHDL 語(yǔ)言完成 基于 FPGA 的電子密碼鎖的編程問題。除此之外,程序還要完成基本的密碼開鎖 功能,并通過(guò)揚(yáng)聲器長(zhǎng)時(shí)間鳴叫報(bào)警。本設(shè)計(jì)是由 FPGA 可編程邏輯器件編程實(shí) 現(xiàn)的控制電路,具體有按鍵指示、輸入錯(cuò)誤提示、密碼有效指示、控制開鎖、控 制報(bào)警等功能。它具有安全可靠、連接方便、簡(jiǎn)單易用、結(jié)構(gòu)緊湊、系統(tǒng)可擴(kuò)展 性好等特點(diǎn)。 2 FPGA 的相關(guān)介紹的相關(guān)介紹 2.1 可編程邏輯器件可編程邏輯器件 在數(shù)字電子系統(tǒng)領(lǐng)域,存在三種

18、基本的器件類型:存儲(chǔ)器、微處理器和邏輯 器件。存儲(chǔ)器用來(lái)存儲(chǔ)隨機(jī)信息,如數(shù)據(jù)表或數(shù)據(jù)庫(kù)的內(nèi)容。微處理器執(zhí)行軟件 指令來(lái)完成范圍廣泛的任務(wù),如運(yùn)行字處理程序或視頻游戲。邏輯器件提供特定 的功能,包括器件與器件間的接口、數(shù)據(jù)通信、信號(hào)處理、數(shù)據(jù)顯示、定時(shí)和控 制操作、以及系統(tǒng)運(yùn)行所需要的所有其它功能7。 邏輯器件可分為兩大類,即固定邏輯器件和可編程邏輯器件。正如其命名一 樣,固定邏輯器件中的電路是永久性的,它們完成一種或一組功能,一旦制造完 成,就無(wú)法改變。另一方面,可編程邏輯器件(PLD)是能夠?yàn)榭蛻籼峁┓秶鷱V泛 的多種邏輯容量、特性、速度和電壓參數(shù)的標(biāo)準(zhǔn)成品部件 而且此類器件可 在任何時(shí)間改變

19、,從而完成許多種不同的功能8。 對(duì)于固定邏輯器件,根據(jù)器件復(fù)雜性不同,從設(shè)計(jì)、原型到最終生產(chǎn)所需要 的時(shí)間可從數(shù)月至一年多不等。而且,如果器件工作不合適,或者如果應(yīng)用要求 發(fā)生了變化,那么就必須開發(fā)全新的設(shè)計(jì)。設(shè)計(jì)和驗(yàn)證固定邏輯的前期工作需要 大量的NRE成本。NRE代表在固定邏輯器件最終從芯片制造廠制造出來(lái)以前客戶 需要投入的所有成本,這些成本包括工程資源、昂貴的軟件設(shè)計(jì)工具、用來(lái)制造 芯片不同金屬層的昂貴光刻掩膜組以及初始原型器件的生產(chǎn)成本。這些NRE成本 可能從數(shù)十萬(wàn)美元至數(shù)百萬(wàn)美元。 對(duì)于可編程邏輯器件,設(shè)計(jì)人員可利用價(jià)格低廉的軟件工具快速開發(fā)、仿真 和測(cè)試其設(shè)計(jì)。然后,可快速將設(shè)計(jì)編

20、程到器件中,并立即在實(shí)際運(yùn)行的電路中 對(duì)設(shè)計(jì)進(jìn)行測(cè)試。原型中使用的PLD器件與正式生產(chǎn)最終設(shè)備(如網(wǎng)絡(luò)路由器、 DSL調(diào)制解調(diào)器、DVD播放器、或汽車導(dǎo)航系統(tǒng))時(shí)所使用的PLD完全相同。這 樣就沒有了NRE成本,最終的設(shè)計(jì)也比采用定制固定邏輯器件時(shí)完成得更快。 采用PLD的另一個(gè)關(guān)鍵優(yōu)點(diǎn)是在設(shè)計(jì)階段中客戶可根據(jù)需要修改電路,直到對(duì) 設(shè)計(jì)工作感到滿意為止。這是因?yàn)镻LD基于可重寫的存儲(chǔ)器技術(shù)要改變?cè)O(shè)計(jì), 只需要簡(jiǎn)單地對(duì)器件進(jìn)行重新編程。一旦設(shè)計(jì)完成,客戶可立即投入生產(chǎn),只需 要利用最終軟件設(shè)計(jì)文件簡(jiǎn)單地編程所需要數(shù)量的PLD就可以了。 2.2 FPGA 的簡(jiǎn)介的簡(jiǎn)介 FPGA 是英文 Field

21、 Programmable Gate Array 的縮寫,即現(xiàn)場(chǎng)可編程門陣列, 它是在 PAL、GAL、EPLD 等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物9。它是作為專 用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不 足,又克服了原有可編程器件門電路數(shù)有限的缺點(diǎn)。 FPGA 采用了邏輯單元陣列 LCA(Logic Cell Array)這樣一個(gè)新概念,內(nèi)部 包括可配置邏輯模塊 CLB(Configurable Logic Block) 、輸出輸入模塊 IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。FPGA 的基本 特點(diǎn)主要

22、有: 1)采用 FPGA 設(shè)計(jì) ASIC 電路,用戶不需要投片生產(chǎn),就能得到合用的芯片。 2)FPGA 可做其它全定制或半定制 ASIC 電路的中試樣片。 3)FPGA 內(nèi)部有豐富的觸發(fā)器和 IO 引腳。 4)FPGA 是 ASIC 電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。 5)FPGA 采用高速 CHMOS 工藝,功耗低,可以與 CMOS、TTL 電平兼容。 可以說(shuō),F(xiàn)PGA 芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 目前 FPGA 的品種很多,有 XILINX 的 XC 系列、TI 公司的 TPC 系列、ALTERA 公司的 FIEX 系列等。 FPGA 是由存

23、放在片內(nèi) RAM 中的程序來(lái)設(shè)置其工作狀態(tài)的,因此,工作時(shí)需要 對(duì)片內(nèi)的 RAM 進(jìn)行編程。用戶可以根據(jù)不同的配置模式,采用不同的編程方式。 加電時(shí),F(xiàn)PGA 芯片將 EPROM 中數(shù)據(jù)讀入片內(nèi)編程 RAM 中,配置完成后,F(xiàn)PGA 進(jìn)入工作狀態(tài)。掉電后,F(xiàn)PGA 恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失,因此,F(xiàn)PGA 能夠 反復(fù)使用。FPGA 的編程無(wú)須專用的 FPGA 編程器,只須用通用的 EPROM、PROM 編程 器即可。當(dāng)需要修改 FPGA 功能時(shí),只需換一片 EPROM 即可。這樣,同一片 FPGA, 不同的編程數(shù)據(jù),可以產(chǎn)生不同的電路功能。因此,F(xiàn)PGA 的使用非常靈活。 FPGA 有多種

24、配置模式:并行主模式為一片 FPGA 加一片 EPROM 的方式;主從 模式可以支持一片 PROM 編程多片 FPGA;串行模式可以采用串行 PROM 編程 FPGA; 外設(shè)模式可以將 FPGA 作為微處理器的外設(shè),由微處理器對(duì)其編程10。 2.3 FPGA 的應(yīng)用特點(diǎn)的應(yīng)用特點(diǎn) 隨著電子技術(shù)的飛速發(fā)展, 基于FPGA的設(shè)計(jì)向高集成度高速度和低價(jià)位方向 不斷邁進(jìn) 其應(yīng)用領(lǐng)域不斷擴(kuò)大這主要是由于FPGA以下技術(shù)特點(diǎn)的不斷發(fā)展11。 (1)集成度越來(lái)越高 如Lattice的ispLSI或AMD的MACH芯片等效邏輯門已達(dá)10 萬(wàn)門以上 Altera 的 10K 系列也在25 萬(wàn)門以上具有1 萬(wàn)個(gè)以

25、上的寄存器 40 kbit 嵌人式存儲(chǔ)器 使得 集成復(fù)雜信號(hào)處理算法成為可能 Raphael系列已達(dá)到100 萬(wàn)門以上集中了 FLEX10KFLEX6000 MAX7000的所有優(yōu)點(diǎn)可進(jìn)行單片設(shè)計(jì)Xilinx推出了上百萬(wàn)門的 FPGA,它們可實(shí)現(xiàn)幾乎任何形式的數(shù)字電路或數(shù)字系統(tǒng)的設(shè)計(jì) FPGA在系統(tǒng)中直接 應(yīng)用率正直逼ASIC的開發(fā)2.2 在系統(tǒng)編程(ISP)/在線路重配置(ICR)技術(shù)。 FPGA 越來(lái)越多地采用了先進(jìn)的 JTAG ISP和ICR 技術(shù)。這種先進(jìn)的編程方 式已成為當(dāng)今世界上各類可編程器件發(fā)展的趨勢(shì)在 5V 工作電平下可隨時(shí)對(duì)正在 工作的系統(tǒng)上的 CPLD/FPGA 進(jìn)行全部或

26、部分地在系統(tǒng)編程 并可進(jìn)行芯片內(nèi)部資 源的重新分配同時(shí)進(jìn)行所謂菊花鏈?zhǔn)蕉嘈酒芯幊?其編程次數(shù)多達(dá)1萬(wàn)次 如 Lattice 的ispLSI AMD的MACH以及Xilinx的XC9000系列 對(duì)于SRAM結(jié)構(gòu)的FPGA 其下載編程次數(shù)幾乎沒有限制 如Altera的FLEX10K系列 這種編程方式可輕易地實(shí) 現(xiàn)紅外編程 超聲編程或無(wú)線編程 或通過(guò)電話線遠(yuǎn)程在線編程 這些功能在工控 智能儀器表 通訊和軍事上有特殊用途。 (2) 嵌入式存貯技術(shù) 在 CPLD/FPGA 內(nèi)部嵌人一定數(shù)量的存貯器 存貯器類型有雙口SRAM ROM FIFO 可用于存貯信號(hào)處理的系數(shù) 中間結(jié)果等 這對(duì)設(shè)計(jì)電子系統(tǒng)的智

27、能化功能提 供了技術(shù)支持 (3)時(shí)鐘鎖定和倍頻技術(shù) Altera 的 10K 系列采用了時(shí)鐘鎖定和倍頻技術(shù)解決了時(shí)鐘脈沖延遲和偏斜問 題并使PLD 內(nèi)部時(shí)鐘更高 單個(gè)16 bit 乘法器速度可達(dá)100 MHz 以上 這正是大帶 寬高速實(shí)時(shí)信號(hào)的需要 CPLD/FPGA的時(shí)鐘延遲可達(dá)納秒級(jí) 結(jié)合其并行工作方式 在超高速應(yīng)用領(lǐng)域和實(shí)時(shí)測(cè)控方面有非常廣闊的應(yīng)用前景。 (4)電子設(shè)計(jì)自動(dòng)化 EDA 工具 EDA工具使得用戶對(duì)設(shè)計(jì)的輸入綜合仿真非常方便 Altera的Max+PlusII給用戶 提供了豐富的宏庫(kù)和LPM(參數(shù)模塊庫(kù)Library of Parameterized Modules)EDA

28、環(huán)境 由 Unix/Windows 共存開發(fā)環(huán)境轉(zhuǎn)換 事實(shí)上 通過(guò)符合國(guó)際標(biāo)準(zhǔn)的硬件描述語(yǔ)言 如 VHDL 或VERILOG HDL 來(lái)進(jìn)行電子系統(tǒng)設(shè)計(jì)和產(chǎn)品開發(fā)由于開發(fā)工具的通 用性 設(shè)計(jì)語(yǔ)言的標(biāo)準(zhǔn)化以及設(shè)計(jì)過(guò)程幾乎與所用的 CPLD/FPGA 器件的硬件結(jié)構(gòu) 沒有關(guān)系 所以設(shè)計(jì)成功的各類邏輯功能塊軟件有很好的兼容性和可移植性它幾乎 可用于任何型號(hào)的CPLD/FPGA中 從而使得片上系統(tǒng)的產(chǎn)品設(shè)計(jì)效率大幅度提高, 使其用更為廣泛和方便。 (5)開發(fā)周期短 由于FPGAN 內(nèi)部資源豐厚及功能強(qiáng)大以及相應(yīng)的EDA軟件功能完善和強(qiáng)大仿 真能力便捷而實(shí)時(shí)開發(fā)過(guò)程形象而直觀兼之硬件因素涉及甚少,一些E

29、DA專家指 出未來(lái)的大系統(tǒng)FPGA設(shè)計(jì)僅是各類再應(yīng)用邏輯與 IP 核 CORE 的拼裝 TI 公司 認(rèn)為 一個(gè)ASIC 80 功能可用IP 核等現(xiàn)成邏輯合成 因此可在很短的時(shí)間內(nèi)完成十 分復(fù)雜的系統(tǒng)設(shè)計(jì)。 2.4 FPGA 的應(yīng)用前景的應(yīng)用前景 在數(shù)字化的道路上,電子設(shè)計(jì)技術(shù)經(jīng)歷了并將繼續(xù)經(jīng)歷許多重大的變革,從應(yīng) 用小規(guī)模集成電路 SSI 芯片構(gòu)成電路系統(tǒng),到廣泛應(yīng)用微控制器或單片機(jī) MCU 在電子系統(tǒng)設(shè)計(jì)上發(fā)生了具有里程碑意義的飛躍 這一飛躍不但克服了 SSI 數(shù)字 系統(tǒng)許多缺陷和設(shè)計(jì)困難 同時(shí)也為電子技術(shù)的應(yīng)用開闊了更廣泛的前景 ,隨著 社會(huì)經(jīng)濟(jì)的發(fā)展和技術(shù)進(jìn)步及電子技術(shù)的迅猛發(fā)展 ,電子

30、設(shè)計(jì)技術(shù)面臨另一次更 大意義的,即 FPGA 復(fù)雜可編程邏輯器件 FieldProgrammable Gate Array-FPGA/現(xiàn) 場(chǎng)可編程門陣列 Complex Programmable logic Device-CPLD 在 EDA 電子設(shè)計(jì)自動(dòng) 化 基礎(chǔ)上的廣泛應(yīng)用. 從本質(zhì)上說(shuō), 新的電子系統(tǒng)運(yùn)轉(zhuǎn)的物理機(jī)制又歸回到原來(lái) 的純數(shù)字電路結(jié)構(gòu),但在更高層次上容納了過(guò)去數(shù)字技術(shù)的優(yōu)秀部分,揚(yáng)棄了 MCU 系統(tǒng)的應(yīng)用模式,卻包括了 MCU 的內(nèi)部資源,使電子設(shè)計(jì)的技術(shù)操作和系統(tǒng)構(gòu)成 的整體發(fā)生質(zhì)的飛躍,是一種更高層次的循環(huán) ,如果說(shuō) MCU 在邏輯的實(shí)現(xiàn)上是 無(wú)限的話,那么 CPLD/FP

31、GA 不但包括了 MCU 這一特點(diǎn) 且可觸及硅片電路線 度的物理極限 并兼有串并行工作方式 高速 高可靠性以及寬口徑實(shí)用性等多方面 的特點(diǎn),不僅如此,隨著 EDA 技術(shù)的發(fā)展和 FPGA 在深亞微米領(lǐng)域的進(jìn)軍。它們 與 MCU MPU DSP A/D D/A RAM 和 ROM 等獨(dú)立器件間的物理與功能界限已日趨 模糊 特別是軟/硬 IP 芯核 Intelligence Property 產(chǎn)業(yè)的迅猛發(fā)展 嵌人式通用及標(biāo) 準(zhǔn) FPGA 器件很快就會(huì)出現(xiàn)片上系統(tǒng) SOC 也已近在咫尺 CPLD/FPGA 以其不可 替代的地位及伴隨而來(lái)的極具知識(shí)經(jīng)濟(jì)特征的 IP 芯核產(chǎn)業(yè)的崛起 正越來(lái)越受到 電子技

32、術(shù)工程師的密切關(guān)注 EDA 打破了軟硬件之間最后的屏障 使軟硬件工程師 們有了真正的共同語(yǔ)言 使目前一切仍處于計(jì)算機(jī)輔助性設(shè)計(jì) CAD 和規(guī)劃的電子 設(shè)計(jì)活動(dòng)產(chǎn)生了實(shí)在的設(shè)計(jì)實(shí)體 電子設(shè)計(jì)專家指出 基于 EDA 的 CPLD/FPGA 的 應(yīng)用和技術(shù)推廣是我國(guó)未來(lái)電子設(shè)計(jì)技術(shù)發(fā)展的主流 而基于 EDA 的 IP 芯核產(chǎn) 業(yè)的推動(dòng)應(yīng)是我國(guó)在新世紀(jì)知識(shí)經(jīng)濟(jì)發(fā)展的重要切入點(diǎn)之一12。 無(wú)論怎樣的問題和障礙,F(xiàn)PGA 的應(yīng)用熱潮正逐步形成隨著 FPGA 集成水平 的進(jìn)一步提高芯核產(chǎn)業(yè)的進(jìn)一步擴(kuò)大,可以相信用不了多久大部分的電子設(shè)計(jì)領(lǐng) 域 MCU 、MPU、 DSP 或 AD/A 和 RAM 等必將以各

33、種軟硬核的形式 FPGA 實(shí) 現(xiàn)真正的單片系統(tǒng)。 3 基于基于 FPGA 設(shè)計(jì)的硬件描述語(yǔ)言設(shè)計(jì)的硬件描述語(yǔ)言 VHDL 3.1 VHDL 語(yǔ)言簡(jiǎn)介語(yǔ)言簡(jiǎn)介 目前數(shù)字系統(tǒng)的設(shè)計(jì)可以直接面向用戶需求 ,根據(jù)系統(tǒng)的行為和功能要求 ,自 上而下地逐層完成相應(yīng)的描述、綜合、優(yōu)化、仿真與驗(yàn)證 ,直到生成器件 ,實(shí)現(xiàn)電 子設(shè)計(jì)自動(dòng)化。其中電子設(shè)計(jì)自動(dòng)化 EDA (即 Electronic Design Automation)的關(guān)鍵 技術(shù)之一就是可以用硬件描述語(yǔ)言(HDL)來(lái)描述硬件電路。VHDL(VHSIC Hardware Description Language)是用來(lái)描述從抽象到具體級(jí)別硬件的工業(yè)標(biāo)

34、準(zhǔn)語(yǔ)言 ,它 是由美國(guó)國(guó)防部在 20 世紀(jì) 80 年代開發(fā)的 HDL ,現(xiàn)在已成為 IEEE 承認(rèn)的標(biāo)準(zhǔn) 硬件描述語(yǔ)言。VHDL 支持硬件的設(shè)計(jì)、驗(yàn)證、綜合和測(cè)試 ,以及硬件設(shè)計(jì)數(shù)據(jù) 的交換、維護(hù)、修改和硬件的實(shí)現(xiàn) ,具有描述能力強(qiáng)、生命周期長(zhǎng)、支持大規(guī)模設(shè) 計(jì)的分解和已有設(shè)計(jì)的再利用等優(yōu)點(diǎn)13。 VHDL 主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為和功能 ,其程序結(jié)構(gòu)特點(diǎn)是將一 個(gè)電路模塊或一個(gè)系統(tǒng)分成端口和內(nèi)部功能算法實(shí)現(xiàn)兩部分。對(duì)于一個(gè)電路模塊 或者數(shù)字系統(tǒng)而言 ,定義了外部端口后 ,一旦內(nèi)部功能算法完成后 ,其他系統(tǒng)可以 直接依據(jù)外部端口調(diào)用該電路模塊或數(shù)字系統(tǒng) ,而不必知道其內(nèi)部結(jié)構(gòu)和算法。

35、VHDL 的特點(diǎn)使得電子系統(tǒng)新的設(shè)計(jì)方法“自頂向下”設(shè)計(jì)方法更加容易實(shí) 現(xiàn)14。可以先對(duì)整個(gè)系統(tǒng)進(jìn)行方案設(shè)計(jì) ,按功能劃分成若干單元模塊 ,然后對(duì)每個(gè) 單元模塊進(jìn)一步細(xì)分 ,直到簡(jiǎn)單實(shí)現(xiàn)的單元電路。 3.2 VHDL 語(yǔ)言的特點(diǎn)語(yǔ)言的特點(diǎn) VHDL 語(yǔ)言主要用于描述數(shù)字系統(tǒng)的結(jié)構(gòu)、行為、功能和接口,其具有以下特點(diǎn): (1)作為 HDL 的第一個(gè)國(guó)際標(biāo)準(zhǔn),VHDL 具有很強(qiáng)的可移植性; (2)具有豐富的模擬仿真語(yǔ)句和庫(kù)函數(shù); (3)VHDL 有良好的可讀性,接近高級(jí)語(yǔ)言,容易理解; (4)系統(tǒng)設(shè)計(jì)與硬件結(jié)構(gòu)無(wú)關(guān); (5)支持模塊化設(shè)計(jì); (6)用 VHDL 完成的一個(gè)確定設(shè)計(jì),可以利用 EDA

36、工具自動(dòng)地把 VHDL 描述轉(zhuǎn)變 成門電路級(jí)網(wǎng)表文件。 3.3 VHDL 語(yǔ)言的優(yōu)點(diǎn)語(yǔ)言的優(yōu)點(diǎn) 與其他硬件描述語(yǔ)言相比,VHDL 語(yǔ)言有如下優(yōu)越之處15: (1)VHDL 語(yǔ)言支持自上而下(TopDown)和基于庫(kù)(LibraryBase)的 設(shè)計(jì)方法,還支持同步電路、異步電路、FPGA 以及其他隨機(jī)電路的設(shè)計(jì); (2)VHDL 語(yǔ)言具有多層次描述系統(tǒng)硬件功能的能力,可以從系統(tǒng)的數(shù)學(xué) 模型直到門級(jí)電路,其高層次的行為描述可以與低層次的 RTL 描述和結(jié)構(gòu)描述混 合使用,還可以自定義數(shù)據(jù)類型,給編程人員帶來(lái)較大的自由和方便; (3)VHDL 對(duì)設(shè)計(jì)的描述具有相對(duì)獨(dú)立性,設(shè)計(jì)者可以不懂硬件的結(jié)構(gòu),

37、也 不必關(guān)心最終設(shè)計(jì)實(shí)現(xiàn)的目標(biāo)器件是什么; (4)VHDL 具有電路仿真與驗(yàn)證功能,可以保證設(shè)計(jì)的正確性,用戶甚至不 必編寫如何測(cè)試相量便可以進(jìn)行源代碼級(jí)的調(diào)試,而且設(shè)計(jì)者可以非常方便地比 較各種方案之間的可行性及其優(yōu)劣,不需做任何實(shí)際的電路實(shí)驗(yàn); (5)VHDL 語(yǔ)言可以與工藝無(wú)關(guān)編程; (6)VHDL 語(yǔ)言標(biāo)準(zhǔn)、規(guī)范,易于共享和復(fù)用。 3.4 VHDL 語(yǔ)言的基本結(jié)構(gòu)語(yǔ)言的基本結(jié)構(gòu) VHDL 有五大元素組成,即實(shí)體、結(jié)構(gòu)體、配置、程序包和庫(kù)16。具體說(shuō)明如下: (1)實(shí)體(ENTITY) 程序是設(shè)計(jì)的基本模塊和初級(jí)單元,在分層設(shè)計(jì)中,頂層有頂層實(shí)體,含在頂層 實(shí)體中的較低層的描述為底層實(shí)體

38、.配置把頂層實(shí)體和底層實(shí)體連接起來(lái).實(shí)體說(shuō) 明語(yǔ)句僅對(duì)本實(shí)體與外部電路接口進(jìn)行描述. (2)結(jié)構(gòu)體(ARCHITECTURE) 結(jié)構(gòu)體也叫構(gòu)造體,描述了實(shí)體的結(jié)構(gòu)、行為、元件及內(nèi)部連接關(guān)系,也就 是說(shuō)它定義了設(shè)計(jì)實(shí)體的功能,規(guī)定了設(shè)計(jì)實(shí)體的數(shù)據(jù)流程,制定了實(shí)體內(nèi)部元 件的連接關(guān)系。 (3)配置(CONFIGURATION) 配制用于將元件實(shí)例與實(shí)體-結(jié)構(gòu)成對(duì)綁定,決定了哪個(gè)結(jié)構(gòu)體于實(shí)體關(guān)聯(lián)。 (4)程序包(PACKAGE) 程序包是經(jīng)常使用的數(shù)據(jù)類型和子程序的集合,可以認(rèn)為是 VHDL 的工具箱, 主要對(duì)程序包中的常量、數(shù)據(jù)類型和子程序進(jìn)行格式描述,類似于 C 語(yǔ)言中的頭 文件。 (5)庫(kù)(L

39、IBRARY) 庫(kù)具體對(duì)程序包聲明的數(shù)據(jù)類型和子程序進(jìn)行功能說(shuō)明。 3.5 VHDL 語(yǔ)言的應(yīng)用語(yǔ)言的應(yīng)用 硬件描述語(yǔ)言已成為當(dāng)今以及未來(lái)電子設(shè)計(jì)自動(dòng)化(EDA)解決方案的核心,特 別是對(duì)于深亞微米復(fù)雜數(shù)字系統(tǒng)的設(shè)計(jì),硬件描述語(yǔ)言具有獨(dú)特的作用。VHDL 在數(shù)字電子電路的設(shè)計(jì)中具有硬件描述能力強(qiáng)、設(shè)計(jì)方法靈活等優(yōu)點(diǎn)17。 利用硬件描述語(yǔ)言 VHDL,數(shù)字電路系統(tǒng)可從系統(tǒng)行為級(jí)、寄存器傳輸級(jí)和 門級(jí)三個(gè)不同層次進(jìn)行設(shè)計(jì),即上層到下層(從抽象到具體)逐層描述自己的設(shè) 計(jì)思想,用一系列分層次的模塊來(lái)表示極其復(fù)雜的數(shù)字系統(tǒng)。然后,利用電子設(shè) 計(jì)自動(dòng)化(EDA)工具,逐層進(jìn)行仿真驗(yàn)證,再把其中需要變?yōu)閷?shí)

40、際電路的模塊 組合,經(jīng)過(guò)自動(dòng)綜合工具轉(zhuǎn)換到門級(jí)電路網(wǎng)表。接著,再用專用集成電路(ASIC) 或現(xiàn)場(chǎng)可編程門陣列(FPGA)自動(dòng)布局布線工具,把網(wǎng)表轉(zhuǎn)換為要實(shí)現(xiàn)的具體電路 布線結(jié)構(gòu)。目前,這種高層次設(shè)計(jì)(highleveldesign)的方法已被廣泛采用。據(jù)統(tǒng)計(jì), 目前在美國(guó)硅谷約有 90%以上的 ASIC 和 FPGA 采用硬件描述語(yǔ)言進(jìn)行設(shè)計(jì)。 VHDL 的應(yīng)用已成為當(dāng)今以及未來(lái) EDA 解決方案的核心,而且是復(fù)雜數(shù)字系統(tǒng)設(shè) 計(jì)的核心18。 4 系統(tǒng)設(shè)計(jì)方案的研究系統(tǒng)設(shè)計(jì)方案的研究 4.1 系統(tǒng)功能需求分析系統(tǒng)功能需求分析 本系統(tǒng)主要集中在以 FPGA 以核心外圍擴(kuò)展設(shè)計(jì),整個(gè)電路主要電子鎖

41、具的組 成框圖是以可編程邏輯器件(FPGA)為核心,配以相應(yīng)硬件電路,完成密碼的設(shè) 置、存貯、識(shí)別和顯示、驅(qū)動(dòng)電磁執(zhí)行器并檢測(cè)其驅(qū)動(dòng)電流值,報(bào)警等功能。 FPGA 接收鍵入的代碼,并與存貯在閃存中的密碼進(jìn)行比較,如果密碼正確,則驅(qū) 動(dòng)電磁執(zhí)行器開鎖;如果密碼不正確,則允許操作人員重新輸入密碼,最多可輸 入三次;如果三次都不正確,則通過(guò) FPGA 產(chǎn)生報(bào)警,F(xiàn)PGA 將每次開鎖操作和此時(shí) 電磁執(zhí)行器的驅(qū)動(dòng)電流值作為狀態(tài)信息發(fā)送給監(jiān)控器,同時(shí)將接收來(lái)自接口的報(bào) 警信息也發(fā)送給監(jiān)控器。 4.2 系統(tǒng)實(shí)現(xiàn)方案的論證比較系統(tǒng)實(shí)現(xiàn)方案的論證比較 方案一方案一 :采樣臺(tái)灣凌陽(yáng)科技有限公司推出的以凌陽(yáng)自主研發(fā)

42、的 SPCE061A 芯 片為主控芯片,用一條下載線連接到計(jì)算機(jī)就可以實(shí)現(xiàn)在線仿真、在線調(diào)試、在 線下載,低廉的價(jià)格保證了系統(tǒng)可靠開發(fā);此外,61 板具有 SOC 概念、DSP 功能 和語(yǔ)音特色,為電子密碼鎖的語(yǔ)音報(bào)警提供了方便,但是基于單片機(jī)設(shè)計(jì)的密碼 鎖外圍電路比較復(fù)雜,系統(tǒng)可靠性差,密碼的數(shù)量少,尤其是系統(tǒng)的程序不夠穩(wěn) 定,功率較大,需要專門的電源供電,所以不采用這個(gè)方案。 方案二方案二:設(shè)計(jì)一種基于 FPGA 的電子密碼鎖的設(shè)計(jì),用 FPGA 設(shè)計(jì)的系統(tǒng)已經(jīng) 是現(xiàn)代生活中經(jīng)常用到的工具之一,通過(guò)鍵盤輸入密碼,用 FPGA 作為主控芯片, 用數(shù)碼管顯示輸入的數(shù)字,如果出現(xiàn)錯(cuò)誤便通過(guò)報(bào)警電

43、路發(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 就可以作為專用的數(shù)字密碼鎖芯片。 方案的論證比較方案的論證比較 在實(shí)際應(yīng)用中, 由于程序容易跑飛, 系統(tǒng)的可靠性能較差,而基于 FPGA 設(shè)計(jì) 的電子密碼鎖克服了基于單片機(jī)設(shè)計(jì)密碼鎖的缺點(diǎn)?;谏鲜霰容^以上兩種方案, 根據(jù)系統(tǒng)設(shè)計(jì)要求,采用方案二。 4.3 系統(tǒng)方案的總體設(shè)計(jì)系統(tǒng)方案的總體設(shè)計(jì) 4.3.1 系統(tǒng)

44、原理框圖系統(tǒng)原理框圖 本系統(tǒng)由主控芯片(FPGA) 、鍵盤、顯示電路、報(bào)警電路和開/關(guān)門電路組成, 而主控芯片又可分為按鍵處理部分、控制部分和譯碼顯示部分。系統(tǒng)原理框圖如 圖 4.1 所示: 4.3.2 總體設(shè)計(jì)原理總體設(shè)計(jì)原理 實(shí)現(xiàn)系統(tǒng)大量邏輯電路的集成,在設(shè)計(jì)中使用了現(xiàn)場(chǎng)可編程邏輯門陣列器件 (FPGA)。FPGA 主要實(shí)現(xiàn)以下邏輯功能:鍵盤處理、數(shù)碼顯示、設(shè)置密碼、解 碼開門以及報(bào)警等控制功能。 本系統(tǒng)有 13 個(gè)按鍵,包括 09 共 10 個(gè)數(shù)字鍵和 1 個(gè)確認(rèn)鍵,1 個(gè)警報(bào)復(fù)位鍵, 1 個(gè)清 0 鍵。輸入正確密碼后,按確認(rèn)鍵即可開門,在門開的狀態(tài)下,第一次輸入 新密碼后再確認(rèn)密碼可設(shè)

45、置密碼,輸入的密碼在八位數(shù)碼管上顯示,最后輸入的 數(shù)字顯示在最右邊,每輸入一位數(shù)字,密碼在數(shù)碼管上的顯示左移一位。高位的 零不用輸入,因此密碼可以為 18 位。初始密碼為 0,即上電后,按確認(rèn)鍵即可 開門。門開后可通過(guò)鎖門按鈕關(guān)門,門關(guān)上后要再次輸入密碼才能開門。在輸入 密碼的過(guò)程中,當(dāng)用戶鍵入錯(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ù)位鍵 方可停止。 FPGA 主控部分 譯碼顯示按鍵處理鍵盤 顯示 開/關(guān)門電路報(bào)警電路 圖 4.1 系統(tǒng)框 圖 5 系統(tǒng)硬件設(shè)計(jì)系統(tǒng)硬件設(shè)計(jì) 5.1 系統(tǒng)的硬件模塊實(shí)現(xiàn)系統(tǒng)的硬件模塊實(shí)現(xiàn) 整

46、個(gè)電子密碼鎖系統(tǒng)可劃分為鍵盤掃描、獲取鍵值、數(shù)碼顯示、設(shè)置密碼和 解碼開門等五個(gè)子模塊。通過(guò) FPGA 的處理,從而實(shí)現(xiàn)基于 FPGA 的電子密碼鎖 的設(shè)計(jì),系統(tǒng)實(shí)現(xiàn)框圖如圖 5.1 所示。 5.2 基于基于 FPGA 的設(shè)計(jì)的設(shè)計(jì) 5.2.1 主控芯片主控芯片 EPF10K10LC84-4 的介紹的介紹 FPGA 器件選擇 Altera 公司 FLEX10K10 系列的 EPF10K10LC84-4 芯片。 FLEX10K 器件是工業(yè)界第一個(gè)嵌入式的 PLD(可編程邏輯器件),由于其具有高密度、 低成本、低功率等特點(diǎn),成為當(dāng)今 Altera PLD 中應(yīng)用廣泛的器件系列19。FLEX10K

47、器件主要由 EAB(嵌入式陣列塊)、LAB(邏輯陣列塊)、快速通道線和 I/O 單元 4 部 分組成。設(shè)計(jì)輸入(圖形或 VHDL(甚高速集成電路硬件描述語(yǔ)言)等)經(jīng)過(guò)編譯后產(chǎn) 生的數(shù)據(jù)格式(網(wǎng)表),大多配置到 LAB 中。在很多時(shí)候,為了提高設(shè)計(jì)效率、減少 LAB 的占用等,希望將設(shè)計(jì)配置到 EAB 中。要將設(shè)計(jì)配置到 EAB 中是一個(gè)較為復(fù) 雜的過(guò)程,在這個(gè)過(guò)程中必須遵守一定的規(guī)則,同時(shí),又要對(duì)設(shè)計(jì)的狀態(tài)、輸入、輸出 20。 該芯片集成有 1 萬(wàn)個(gè)等效邏輯門,含有 572 個(gè)邏輯單元(LEs)、72 個(gè)邏輯陣 列塊(LABs)、3 個(gè)嵌入式陣列塊(EAB s),并具有 720 個(gè)片內(nèi)寄存器,

48、可以在 不占用內(nèi)部資源的條件下實(shí)現(xiàn) 6144 bit 的片內(nèi)存儲(chǔ)器;內(nèi)部模塊間采用高速、延時(shí) 可預(yù)測(cè)的快速通道連接;邏輯單元間具有高速、高扇出的級(jí)聯(lián)鏈和快速進(jìn)位鏈; 片內(nèi)還有三態(tài)網(wǎng)絡(luò)和 6 個(gè)全局時(shí)鐘、4 個(gè)全局清零信號(hào)以及豐富的 I/O 資源;每個(gè) I/O 引腳可以選擇為三態(tài)控制或集電極開路輸出,可以通過(guò)編程控制每個(gè) I/O 引腳 的速度以及 I/O 寄存器的使用21。 5.2.2 FPGA 邏輯功能結(jié)構(gòu)及開發(fā)邏輯功能結(jié)構(gòu)及開發(fā) FPGA 芯片 FLEX10K 在工作期間,將配置數(shù)據(jù)保存在 SRAM 中,而 SRAM 數(shù)據(jù)是易丟失的。SRAM 單元必須在器件加電后裝入配置數(shù)據(jù),且配置完成后,

49、 它的存儲(chǔ)器和 I/O 引腳必須被初化。初始化后,器件進(jìn)入用戶模式,開始系統(tǒng)運(yùn)行。 對(duì)于 FLEX10K 系列器件,Altera 公司提供了 4 種配置方案:EPC1(或 EPC1441) EPPOM 方式配置法、被動(dòng)串行法、被動(dòng)并行同步法、被動(dòng)并行異步法。對(duì)器件進(jìn) 行配置時(shí),我們先用被動(dòng)串行法(passive serial)。這種方式是通過(guò)下載電纜對(duì)器 件進(jìn)行配置的,適合于調(diào)試階段。當(dāng)整個(gè)系統(tǒng)設(shè)計(jì)完成后,利用 EPPOM 方式對(duì)器 件進(jìn)行配置。這樣固化在 EPROM 中的數(shù)據(jù)將在系統(tǒng)上電時(shí)對(duì) FPGA 芯片配置, 其中 EPROM 芯片選用 EPC144122。 FPGA 使用的開發(fā)軟件為

50、MAX+PLUS II。該軟件是 ALTERA 公司開發(fā)的一 個(gè)集設(shè)計(jì)輸入、編譯、仿真和編程為一體的超級(jí)集成環(huán)境;提供了自動(dòng)邏輯綜合 工具,可以在多個(gè)邏輯層次上對(duì)高級(jí)設(shè)計(jì)描述進(jìn)行綜合、優(yōu)化,大大縮短了編譯 時(shí)間,加速了 FPGA 設(shè)計(jì)開發(fā)進(jìn)程23。MAX+PLUS II 支持各種 HDL 輸入選項(xiàng), 包括 VHDL、Verilog HDL 和 ALTERA 的硬件描述語(yǔ)言 AHDL;提供豐富的庫(kù)單 元供設(shè)計(jì)者調(diào)用,其中包括 74 個(gè)系列的全部器件和多種特殊的邏輯宏單元 (macrofunction),以及新型的參數(shù)化的巨單元(magafunction)。FPGA 設(shè)計(jì)經(jīng) 過(guò) 4 個(gè)基本階段:設(shè)

51、計(jì)輸入、設(shè)計(jì)編譯、設(shè)計(jì)驗(yàn)證和器件編程。首先,根據(jù)系統(tǒng) 的邏輯功能生成頂層結(jié)構(gòu)圖。然后,分成幾個(gè)小模塊進(jìn)行下一級(jí)設(shè)計(jì)。由此由上 而下分析其邏輯功能,從底層進(jìn)行設(shè)計(jì)編譯,每一級(jí)都進(jìn)行波形驗(yàn)證。當(dāng)最后頂 層模塊的邏輯功能在波形仿真中滿足系統(tǒng)時(shí)序要求時(shí),才可進(jìn)行器件編程24。 5.3 鍵盤控制電路結(jié)構(gòu)與原理鍵盤控制電路結(jié)構(gòu)與原理 按鍵方式分為獨(dú)立式和行列式兩種,本設(shè)計(jì)采用行列式按鍵結(jié)構(gòu),是 44 鍵 盤,本設(shè)計(jì)中只用了其中的 11 個(gè)按鍵。行列式按鍵是指直接用 I/O 口線通過(guò)動(dòng)態(tài) 掃描構(gòu)成的按鍵電路。每個(gè)按鍵通過(guò)動(dòng)態(tài)掃描需要八根 I/O 口線,每根 I/O 口線上 的按鍵工作狀態(tài)不會(huì)影響其他 I/O

52、 口線的工作狀態(tài)。它的電路配置靈活,軟件結(jié)構(gòu) 簡(jiǎn)單,占用的 I/O 資源少。 首先固定輸出 4 行為高電平(接到電源),然后輸出 4 列為低電平,在讀入輸出 的 4 行的值,通常高電平會(huì)被低電平拉低,如果讀入的 4 行均為高電平,那么肯 定沒有按鍵按下,否則,如果讀入的 4 行有一位為低電平,那么對(duì)應(yīng)的該行肯定 有一個(gè)按鍵按下,這樣便可以獲取到按鍵的行值。同理,獲取列值也是如此,先 輸出 4 列為高電平,然后在輸出 4 行為低電平,再讀入列值,如果其中有哪一位 為低電平,那么肯定對(duì)應(yīng)的那一列有按鍵按下。 獲取到行值和列值以后,組合成一個(gè) 8 位的數(shù)據(jù),根據(jù)實(shí)現(xiàn)不同的編碼在對(duì) 每個(gè)按鍵進(jìn)行匹配,

53、找到鍵值后在 7 段碼管顯示。 按鍵控制電路如圖 5.2 所示: 圖 5.2 44 鍵盤結(jié)構(gòu)原理圖 5.4 LED 顯示器結(jié)構(gòu)與原理顯示器結(jié)構(gòu)與原理 LED 顯示塊是由發(fā)光二極管顯示字段的顯示器件。在單片機(jī)應(yīng)用系統(tǒng)中通常 使用的是 7 段 LED。這種顯示塊共有共陰極與共陽(yáng)極兩種,本設(shè)計(jì)將采用共陽(yáng)極。 共陽(yáng)極 LED 顯示塊的發(fā)光二極管與陽(yáng)極并接25。 數(shù)碼管顯示塊中共有 8 個(gè)發(fā)光二極管,其中 7 個(gè)發(fā)光二極管構(gòu)成七筆字形 “8” ,1 個(gè)發(fā)光二極管構(gòu)成小數(shù)點(diǎn)。7 段顯示塊與 FPGA 接口非常容易。只要將一 個(gè) 8 位并行輸出與顯示塊的發(fā)光二極管引腳相連即可。8 位并行輸出口輸出不同的 字

54、節(jié)數(shù)據(jù)即可獲得不同的數(shù)字或字符,如表 5.1 所示。通常將控制發(fā)光二極管的 8 位字節(jié)數(shù)據(jù)稱為段選碼。共陽(yáng)極與共陰極的段選碼互為補(bǔ)數(shù)。 表 5.1 LED 顯示塊功能表 顯示字 符 共陰極段選 碼 共陽(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 6

55、EH 91H 9 6FH 90H A 77H 88H 5.5 報(bào)警電路報(bào)警電路 圖 5.3 報(bào)警電路 6 系統(tǒng)的軟件設(shè)計(jì)系統(tǒng)的軟件設(shè)計(jì) 6.1 系統(tǒng)主控制流程框圖系統(tǒng)主控制流程框圖 當(dāng)用戶輸入密碼后,按確認(rèn)鍵即可開門,在門開的狀態(tài)下,輸入新密碼,再 按確認(rèn)鍵可設(shè)置密碼,輸入的密碼在八位數(shù)碼管上顯示,最后輸入的數(shù)字顯示在 最右邊,每輸入一位數(shù)字,密碼在數(shù)碼管上的顯示左移一位。高位的零不用輸入, 因此密碼可以為 18 位。初始密碼為 0,即上電后,按確認(rèn)鍵即可開門。 本系統(tǒng) 控制流程如圖 6.1 所示: 否 否 否 否 否 是 是 是 是 是 開始 鍵盤輸入 是數(shù)字鍵? 門已開? 輸入一位密碼 開

56、門 存入新密碼,清顯 示 密碼正確? 不正確次數(shù) 達(dá)到三? 不正確次數(shù)加一 報(bào)警 有鎖門信號(hào)? 清顯示,關(guān)門 圖 6.1 系統(tǒng)控制圖 程 6.2 鍵盤掃描程序框圖鍵盤掃描程序框圖 開始 時(shí)鐘上升沿觸發(fā)? 列為高電平? 逐列掃描 圖 6.2 鍵盤掃描程序框圖 6.3 獲取鍵值程序框圖獲取鍵值程序框圖 開始 時(shí)鐘上升沿? 按鍵按下? 判斷行 和列 輸出 左移 清 0? 右移清零 圖 6.3 鍵值程序框圖 6.4 解碼、報(bào)警模塊解碼、報(bào)警模塊 開始 門已開? 輸入密碼后確認(rèn) 密碼正確? 開門,不響警報(bào) 計(jì)數(shù)器+1,仍關(guān) 門 不正確次 數(shù) 大于 3? 復(fù)位? 計(jì)數(shù)器清 0,警報(bào)停 止 報(bào)警 圖 6.4

57、 解碼報(bào)警模塊 7 7 系統(tǒng)的原理系統(tǒng)的原理實(shí)現(xiàn)實(shí)現(xiàn) 7.7.1 系統(tǒng)的層次化設(shè)計(jì)系統(tǒng)的層次化設(shè)計(jì) 基于 FPGA 的數(shù)字系統(tǒng)的層次化設(shè)計(jì),一般都要經(jīng)過(guò) 4 個(gè)階段: 設(shè)計(jì)輸入、 編譯、仿真驗(yàn)證、下載器件。本設(shè)計(jì)采用的是自下而上的設(shè)計(jì)方法 , 逐層完成相 應(yīng)的描述、編譯、仿真與驗(yàn)證 , 即先建立一些低層次的設(shè)計(jì) , 再將它們組合在一 起 , 最后形成一個(gè)單一的頂層設(shè)計(jì)文件。一般的 VHDL 綜合工具都有多種輸入方 式 ,主要有: 各種文本輸入、原理圖輸入和波形輸入。對(duì)于不同層次的模塊, 應(yīng)采 用不同的輸入方式進(jìn)行描述。由于 VHDL 擅長(zhǎng)描述模塊的邏輯功能 , 而原理圖 擅長(zhǎng)描述硬件連接關(guān)系,

58、所以在底層設(shè)計(jì)中,對(duì)底層所有模塊使用 VHDL 語(yǔ)言進(jìn) 行描述,在頂層設(shè)計(jì)中,使用原理圖輸入方法。當(dāng)各個(gè)模塊分別編譯成功后 ,則創(chuàng) 建一個(gè)個(gè)元件符號(hào)。再用圖形編輯器將各元件模塊組裝起來(lái) ,這就是本設(shè)計(jì)中最頂 層的圖形設(shè)計(jì)文件。 7.2 頂層圖形設(shè)計(jì)頂層圖形設(shè)計(jì) 本設(shè)計(jì)在 Quartus環(huán)境下的頂層圖形設(shè)計(jì)文件如圖 7.1 所示。 圖 7.1 頂層圖形 原理圖輸入完成后還要選定器件,鎖定引腳,然后就可以進(jìn)行綜合了。如果 綜合沒有錯(cuò)誤的話就可以對(duì)芯片進(jìn)行配置了,配置完成后 FPGA 芯片就成了一片 密碼鎖芯片。再與其它的電路相連就構(gòu)成一個(gè)完整的數(shù)字密碼鎖。 7.3 系統(tǒng)仿真演示結(jié)果系統(tǒng)仿真演示結(jié)果

59、 圖 7.2 系統(tǒng)仿真演示結(jié)果 總結(jié)與展望總結(jié)與展望 本系統(tǒng)的整個(gè)設(shè)計(jì)期間,在指導(dǎo)老師的教育下和同學(xué)的幫助下,經(jīng)過(guò)自己的 努力,我接觸到了很多不同的問題,也遇到了很多困難,努力運(yùn)用不同的方案去 解決問題,獲得了一些有價(jià)值的心得體會(huì): 在基于 FPGA 的系統(tǒng)設(shè)計(jì)中,不同電路系統(tǒng)的設(shè)計(jì)往往采用自頂向下的設(shè)計(jì) 方法,亦即將一個(gè)大的系統(tǒng)分解成單元電路。這樣做的好處是可以先調(diào)試各個(gè)單元 電路,在每個(gè)單元電路設(shè)計(jì)完成后 ,采用專門的仿真工具進(jìn)行功能仿真,確定每個(gè) 單元電路都沒有問題后再連接頂層圖形文件,這樣整個(gè)系統(tǒng)的調(diào)試就輕松得多, 可節(jié)省不少設(shè)計(jì)時(shí)間。 由于考慮到體積、成本等因素,本裝置在性能上功能上

60、還存在不足,還有待于 進(jìn)一步提高: (1)增加語(yǔ)音播報(bào)功能,可以提高裝置的靈敏度,同時(shí)方便用戶的操作。 (2)可在裝置中增加一個(gè)語(yǔ)音芯片,將蜂鳴報(bào)警改為語(yǔ)音說(shuō)明指示,可以根據(jù) 輸入的密碼數(shù)字播報(bào),同時(shí)可以擴(kuò)展鎖的安全防盜報(bào)警功能。 本系統(tǒng)的特色與創(chuàng)新點(diǎn): (1)從測(cè)試結(jié)果分析可知,本裝置采用較低成本的器件設(shè)計(jì)制作,且誤差較小, 完全滿足用戶的基本要求。 (2)本裝置結(jié)構(gòu)簡(jiǎn)單、體積小、性能穩(wěn)定,操作容易、使用方便,可以安裝在 不同的門上,具有一定推廣應(yīng)用價(jià)值。 (3)本系統(tǒng)結(jié)合了現(xiàn)在最有發(fā)展前景的 FPGA 設(shè)計(jì)的電子密碼鎖系統(tǒng),安全 可靠,科技含量高,易于擴(kuò)展。 本課題軟件和硬件相結(jié)合,有相當(dāng)

溫馨提示

  • 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)論