版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、 中國地質(zhì)大學(xué)長城學(xué)院 本 科 畢 業(yè) 設(shè) 計 題 目:基于FPGA的車載電子系統(tǒng)設(shè)計 系 別學(xué)生姓名專 業(yè)學(xué) 號指導(dǎo)教師指導(dǎo)教師職 稱2015年 05 月 20 日基于FPGA的車載電子系統(tǒng)設(shè)計摘 要隨著科技的不斷發(fā)展,F(xiàn)PGA技術(shù)帶來了汽車電子測試技術(shù)的創(chuàng)新,憑借開發(fā)基于FPGA硬件的單個系統(tǒng)可以解決不同的汽車設(shè)計和測試應(yīng)用,而無需多個定制的測試設(shè)備。而在FPGA的車載電子系統(tǒng)中,車載電子密碼鎖成本更低、風(fēng)險更小、靈活性更高,而且在設(shè)計后期更易變更,甚至可對己經(jīng)投入應(yīng)用的產(chǎn)品進行升級,因此將成為未來汽車電子設(shè)計中的理想配置。本設(shè)計在論文中,闡述了電子密碼鎖的發(fā)展與作用,國內(nèi)外發(fā)展現(xiàn)狀,同時
2、也對電子密碼鎖系統(tǒng)進行了分析。本文通過VHDL語言設(shè)計了車載電子密碼鎖系統(tǒng),實現(xiàn)了它的數(shù)碼輸入功能,數(shù)碼清除功能,密碼更改功能,激活電鎖功能,解除電鎖功能,數(shù)字位退格功能。并在Quartus II9.0軟件和ModelSim-Altera 6.4a聯(lián)合使用下實現(xiàn)了系統(tǒng)的編譯仿真與調(diào)試。關(guān)鍵字:FPGA; 電子密碼鎖; 車載電子系統(tǒng); QuartusAbstractWith the continuous development of science and technology, FPGA technology has brought the innovation of automobile e
3、lectronic test technology, with the development of a single system based on FPGA hardware can solve different vehicle design and test application, and test equipment required multiple custom. In vehicle electronic system FPGA, vehicle electronic password lock with lower cost, lower risk, higher flex
4、ibility, and late in the design of more difficult to change, even to upgrade has been put into application products, thus will become the ideal configuration of automotive electronics design in the future.The design in this paper, describes the development status of the electronic password lock func
5、tion, and the development of domestic and foreign. At the same time, also has carried on the analysis to the electronic password lock system, this paper designed a vehicle electronic password lock system through the VHDL language, it introduces digital input function, digital clear function, change
6、the password lock function, activation function, releaselock 5, digit backspace function. And in the compilation and simulation system implemented in the combined use of Quartus II9.0 software and ModelSim-Altera 6.4a.Keywords: FPGA; electronic password lock; vehicle electronic system; Quartus II目 錄
7、1 緒論11.1 本課題研究的國內(nèi)外現(xiàn)狀及其發(fā)展11.2 本課題研究的目的和意義21.3 主要設(shè)計任務(wù)22關(guān)鍵技術(shù)簡介32.1FPGA硬件設(shè)計描述32.1.1 FPGA的設(shè)計流程32.1.2 VHDL語言的基本結(jié)構(gòu)42.1.3 自上而下(TOP DOWN)的設(shè)計方法52.2 設(shè)計語言、仿真平臺與開發(fā)系統(tǒng)52.3 用Quartus進行系統(tǒng)開發(fā)的設(shè)計流程63 系統(tǒng)總體設(shè)計63.1 電子密碼鎖設(shè)計的原理63.2方案的提出73.3 系統(tǒng)設(shè)計要求83.4 系統(tǒng)設(shè)計描述83.5 各功能模塊描述94 系統(tǒng)詳細設(shè)計114.1 輸入模塊114.1.1 時序產(chǎn)生電路114.1.2按鍵消抖電路114.1.3鍵盤掃描
8、電路134.1.4 鍵盤譯碼電路和鍵盤輸入模塊的實現(xiàn)144.2電子密碼鎖控制模塊154.2.1控制模塊的描述154.2.2控制模塊的實現(xiàn)164.3電子密碼鎖顯示模塊174.3.1數(shù)碼管顯示原理174.3.2譯碼顯示的實現(xiàn)185系統(tǒng)仿真195.1系統(tǒng)各模塊的仿真195.1.1去抖模塊的仿真195.1.2密碼鎖輸入電路的仿真195.1.3密碼鎖控制電路的仿真205.1.4數(shù)碼管譯碼器仿真215.2 系統(tǒng)仿真與分析216結(jié)論23參考文獻24致 謝25附錄1 電路圖27附錄2 源程序281 緒論隨著大規(guī)模和超大規(guī)??删幊唐骷贔PGA技術(shù)支持下的廣泛應(yīng)用,使現(xiàn)代化設(shè)計計算已進入一個全新的階段,從設(shè)計思
9、想、設(shè)計工具一直到實現(xiàn)方式都發(fā)生了諸多變化。在FPGA技術(shù)中,以當(dāng)代電子技術(shù)為特點的邏輯設(shè)計仿真測試是最受人關(guān)注的技術(shù)。為了能準確測試和仿真,這種技術(shù)只需要通過電腦就能對所設(shè)計的電子系統(tǒng)從許許多多方面上進行;實際軟件的設(shè)計完成之后,就能完成對系統(tǒng)上的加載程序的掃描檢查??茖W(xué)技術(shù)的發(fā)展,使電子密碼鎖種類越來越多,更新?lián)Q代的更是越來越快。電子密碼鎖要由以下兩個部分電子鎖體、電子密匙組成,一把鎖里能存放許多密碼,我們在使用過程中可隨便修改它。下面就是現(xiàn)在主流電子密碼鎖。遙控式電子防盜鎖目前常見的遙控式電子防盜鎖主要有光遙控和無線電遙控兩類。鍵盤式電子密碼鎖從目前的技術(shù)水平和市場認可程度看,使用最為廣
10、泛的是鍵盤式電子密碼鎖,該產(chǎn)品主要應(yīng)用于保險箱、保險柜和金庫,還有一部分應(yīng)用于保管箱和運鈔車??ㄊ诫娮臃辣I鎖使用各種“卡”作為鑰匙的電子防盜鎖是當(dāng)前最為活躍的產(chǎn)品,無論卡的種類如何多種多樣,按照輸入卡的操作方式,都可分為接觸式卡和非接觸式卡兩大類。生物特征防盜鎖人的某些與生俱來的個性特征(如手、眼睛、聲音的特征)幾乎不可重復(fù),作為“鑰匙”就是唯一的(除非被逼迫或傷害),因此,利用生物特征做密碼的電子防盜鎖,也特別適合金融業(yè)注重“驗明正身”的行業(yè)特點。我的基于FPGA的電子密碼鎖設(shè)計電路有顯示功能,可以顯示數(shù)字也可以不用顯示。當(dāng)你要更改密碼時,由于有特殊功能的FPGA,他的許多地方都要改,用Qu
11、artus II9.0軟件把更新后的設(shè)計下載到軟件中,設(shè)計效率馬上提高了。而且同單片機的電子密碼鎖相比用FPGA的設(shè)計結(jié)構(gòu)簡單、系統(tǒng)保密性和可靠性更高。可以廣泛的應(yīng)用在公共場所如食堂、倉庫、飯店等。 可以根據(jù)設(shè)計師的愿望更改設(shè)計的FPGA在我們的領(lǐng)域中是一門新技術(shù)。設(shè)計師只用對系統(tǒng)的功能進行相應(yīng)描述,鍵盤式電子密碼鎖從目前的技術(shù)水平和市場認可程度看,使用最為廣泛的是鍵盤式電子密碼鎖,該產(chǎn)品主要應(yīng)用于保險箱、保險柜和金庫,還有一部分應(yīng)用于保管箱和運鈔車。卡式電子防盜鎖使用各種“卡”作為鑰匙的電子防盜鎖是當(dāng)前最為活躍的產(chǎn)品,就能在FPGA工具的協(xié)助下完成系統(tǒng)設(shè)計,為電子產(chǎn)品的設(shè)計和研發(fā)縮短了實踐,
12、降低了其成本,提高了系統(tǒng)的穩(wěn)定性。1.1 本課題研究的國內(nèi)外現(xiàn)狀及其發(fā)展大眾對安全的要求隨著安全意識的增加和生活質(zhì)量的提高而高。如何研制出安全方便又有可靠的防盜功能的鎖是設(shè)計師的不變理想。電子技術(shù)快速的發(fā)展,帶來各種各樣的電子產(chǎn)品,電子密碼鎖就是是其中的產(chǎn)物。資料顯示出來,上世紀30年的電子密碼鎖,已經(jīng)在一些特別的地方有了用處。更具數(shù)學(xué)的概率理論電子鎖的密碼可以有許多種組合,而采用機械鎖輸入密碼的設(shè)計,還可避免鑰匙被偷偷復(fù)印的可性。越來越受到人們的重視。我們看的電影中經(jīng)常出現(xiàn)許多類型的電子鎖,如數(shù)字鎖,指紋鎖,磁卡鎖,IC卡鎖和其他生物功能的鎖。但按鍵的電子密碼鎖還是更加經(jīng)濟的選擇,可以大規(guī)模
13、的推廣使用。高科技的集成電路的發(fā)展,使電子鎖在八零年代后的個頭越來越小,可靠性和成本也變高,在安全性要求較高的情況下使用,和供電需求,使用的是局限在一定范圍內(nèi),很難普及,所以對它的研究沒有重大進展。發(fā)達國家如今技術(shù)相對先進,有品種豐富的電子密碼鎖,已廣泛的在各種大型公共應(yīng)用。在中國,電子鎖的整體水平仍在70年,電子密碼鎖的成本也很高,市場仍對電子鎖的鑰匙,鑰匙和鑰匙卡型電子鎖已引進了國際先進水平,目前市場的幾個工廠的生產(chǎn)與供應(yīng)。但我們自主研制的電子鎖,還沒有市場,使用率也不廣。值得一提的是世界許多先進的技術(shù)國內(nèi)很多企業(yè)已經(jīng)引進了,因此在我國發(fā)展前景也必將樂觀。希望通過不斷的努力,中國的電子密碼
14、鎖可廣泛用。可是目前使用的電子密碼鎖大部分還是用的單片機,在實際應(yīng)用中,因為容易出問題,不咋滴可靠啊。車載電子系統(tǒng)之中電子密碼鎖是一個重要的組成部分,而電子密碼鎖以前都是硬件電路設(shè)計或者單片機來實現(xiàn)的,隨著時代的發(fā)展,這些設(shè)計的缺點越來越突出,F(xiàn)PGA作為當(dāng)代科技的產(chǎn)物越來越應(yīng)用到各行各業(yè)中,電子密碼鎖也要趕這個潮流,我的論文就這么來的。1.2 本課題研究的目的和意義在現(xiàn)代的車載電子系統(tǒng)中,為了更能智能化的控制電子密碼鎖,讓我能更方便的使用,讓它有更好的穩(wěn)定性和使用性,針對單片機的設(shè)計的缺點,我采用FPGA技術(shù),通過Quartus這個高大上的軟件實現(xiàn),設(shè)計了一個電子密碼鎖,并通過上面那個高大上
15、軟件來實現(xiàn)。使用V HDL這種普遍的硬件編程語言對系統(tǒng)用自上而下的方法進行了描述,并在FPGA芯片Quartus上實現(xiàn)。我的設(shè)計充分利用了FPGA的可編程的資源特點,可很好的對該系統(tǒng)進行更新和保護。因此,使用FPGA 開發(fā)的數(shù)字系統(tǒng),不但有很高的工作穩(wěn)定的可靠性,其升級與改進也特別的方便,應(yīng)用前景十分良好。1.3 主要設(shè)計任務(wù)通過對FPGA技術(shù)的學(xué)習(xí)和了解,設(shè)計基于的車載電子系統(tǒng)的電子密碼鎖程序。要求有數(shù)碼輸入功能,數(shù)碼清除功能,密碼更改功能,激活電鎖功能,解除電鎖功能,數(shù)字位退格功能。并在Quartus II9.0軟件和ModelSim-Altera 6.4a的聯(lián)合使用下實現(xiàn)了系統(tǒng)的編譯仿真
16、與調(diào)試。2關(guān)鍵技術(shù)簡介2.1FPGA硬件設(shè)計描述2.1.1 FPGA的設(shè)計流程FPGA設(shè)計過程包括系統(tǒng)設(shè)計與實現(xiàn)的設(shè)計,本系統(tǒng)的設(shè)計實施階段的工作完成后,他將作為系統(tǒng)輸入,系統(tǒng)輸入時一個比較厲害的型號被輸入進來了,這個型號十分的高大上很是穩(wěn)定,時間序列分析,對器件編程和系統(tǒng)驗證的設(shè)計就是,如果模擬錯了或走錯了一步,要找出問題并更改才行。但是如果系統(tǒng)模擬成功了,那就可以實現(xiàn)各種各樣你想要的功能了,一般來說,RTL意思是用來描述是示意或VHDL改變設(shè)計代碼的最有用的方法了。為了實現(xiàn)最的終設(shè)計有時要反復(fù)修改,經(jīng)過多次的修改才行。在理論上,VSLI(Ultra Scale Large Integrat
17、ion,超大規(guī)模的集成電路)的設(shè)計描述層次可以為6個方面,即系統(tǒng)方面的(系統(tǒng)的功能、參數(shù))、算法方面的(描述系統(tǒng)的功能行為)、RLT級、門方面的(邏輯門)、電路方面的(晶管體)、版圖方面的(物體工藝)。每一方面的又可分3個側(cè)面來進行描述:行為舉止方面的描述、結(jié)構(gòu)方面的描述和物質(zhì)方面的描述。但是在實際的情況中往往都把算法級行為方面的的描述或者RLT級行為方面的的描述全部稱為行為方面的級別的描寫,下圖2.1為FPGA的設(shè)計流程。圖2.1 系統(tǒng)設(shè)計流程在理論上FPGA設(shè)計起來特別的簡單明了,不用關(guān)心別的那些沒用的,只要考慮方面的描述和方面的名系統(tǒng)級,算法級的行為,RLT級,門級4級可以描述。在FPG
18、A系統(tǒng)設(shè)計實際上指的是系統(tǒng)級和算法級,和“RLT”主要指的是方面的的RLT描述的行為。在門的網(wǎng)表描述,通過綜合工具產(chǎn)生。FPGA的設(shè)計流程和相關(guān)的概念說明如下:庫:指原器件廠家提供的技術(shù)支持和Quartus II9.0軟件提供的圖書館。有各種各樣的基本功來實現(xiàn)各種用戶的要求也是十分的滿意。需要指出的是,我的系統(tǒng)設(shè)計起來十分的復(fù)雜,RTL級實現(xiàn)起來很難實現(xiàn),必須經(jīng)過長期的細心地觀察和刻苦的長期努力,Quartus II9.0軟件給我提供了很大的幫助,這不愧是一款當(dāng)今社會主流的硬件編程軟件,編譯和仿真都很有效的實現(xiàn)了。當(dāng)然庫作為一個重要的組成部分也是十分有用的,費了我好大的幫助,還好最后實現(xiàn)了仿真
19、,我也是很激動的,太不容易了。測試激勵:指的是測試的系統(tǒng)程序是否產(chǎn)生的信號的反應(yīng),產(chǎn)生的反應(yīng)就叫做測試激勵??梢杂^察FPGA是不是正確的。所有的仿真可用于測試看不看的刺激。約束:是指綜合方面的邏輯上的和布局布線時候上的約束。這對編程的時候要求很好,也很重要,是十分重要的一個步驟。確實需要很好的約束一下,要不然調(diào)試的結(jié)果很容易出錯。2.1.2 VHDL語言的基本結(jié)構(gòu)VHDL(Very high speed integrated circuit Hardware Description Language)硬件描述語言從高于邏輯級的抽象層次上描述硬件的功能、信號連接關(guān)系及定時關(guān)系。VHDL的設(shè)計流程
20、如2.2圖。圖2.2 VHDL的設(shè)計流程通常一個完整的VHDL語言程序包含實在體(Entity)、結(jié)構(gòu)體(Architecture)、配置(Configuration)、包集合(Package)和庫(Library)這五個部分。1、實在體 實在體描述部分是對設(shè)備外觀圖片的描述,這是從外部裝置的外觀看,包括設(shè)備的端點的口,還可以定義參數(shù),以及參數(shù)在模塊外面的重點,主要用于系統(tǒng)的外部接口的設(shè)計描述。2、結(jié)構(gòu)體結(jié)構(gòu)體是設(shè)備內(nèi)部圖像上的描述,是個一次設(shè)計的單位。相應(yīng)的實體上的單位,編制并納入數(shù)據(jù)圖書館設(shè)計初步設(shè)計后,它只能被納入圖書館的設(shè)計。結(jié)構(gòu)描述了一種設(shè)計方法構(gòu)和行為,一個輸入和輸出的設(shè)法設(shè)計的關(guān)
21、系。表示設(shè)備的不同設(shè)計可以有多種結(jié)構(gòu),方案。一個從抽象到具體的設(shè)計的過程中,結(jié)構(gòu)的描述分為行為方面的描述,寄存裝置上傳輸?shù)拿枋龊蜆?gòu)造的描述這三個層次。3、庫庫是一個實在體,編譯器結(jié)構(gòu),數(shù)據(jù)采集和配置??傄f在前面的設(shè)計單位使用庫。有一次,在設(shè)計單元庫的數(shù)據(jù)是可見的,因此共享設(shè)計成果已編譯。VHDL語言庫大約可以分成IEE庫,標準庫,ACSI庫,廠家提供的用戶定義的庫和庫工作。4、包館合 這個名詞我都沒聽過,查過百度后我恍然大悟,它就相當(dāng)于大大的圖書館,可以在里面存放許多資料信息,用的時候再去里面找就行。5、配置配置語從庫作為一個實體,選擇一個特定的結(jié)構(gòu),是在圖書館的一個地方是一個編譯個體,并有
22、相應(yīng)的配置名稱。通過配置手段,可以選擇各種不同的結(jié)構(gòu),性能測試設(shè)計任務(wù)使用仿真工具對的各種配置。此外,配置方法和法規(guī)的特點可以在多層的描述。2.1.3 自上而下(TOP DOWN)的設(shè)計方法自上而下的設(shè)計方法就是一種新的現(xiàn)代的電子系統(tǒng)的設(shè)計的慣用套路了,從而從整體設(shè)計上來要求,自上而下逐漸實現(xiàn)設(shè)計算數(shù)模型的設(shè)計仿真與調(diào)試,以及數(shù)據(jù)流級的仿真設(shè)計,系統(tǒng)設(shè)計選型,最后完成系統(tǒng)硬件的整體設(shè)計。半導(dǎo)體制造廠的制造過程中產(chǎn)生的基于FPGA的網(wǎng)絡(luò)芯片,是基于FPGA芯片的配置比特流文件的網(wǎng)表生成。經(jīng)過我長期的實驗和觀察我發(fā)現(xiàn)了許多的問題都出現(xiàn)在Quartus II9.0軟件編譯的時候,但是人家軟件都給我提
23、示出來了。這是用VHDL語言設(shè)計硬件系統(tǒng)最突出的優(yōu)勢。2.2 設(shè)計語言、仿真平臺與開發(fā)系統(tǒng)(1)硬件描述語言我用的VHDL這種很普遍的硬件設(shè)計語言設(shè)計電子密碼鎖,可以支持各種各樣的設(shè)計方法,獨立的硬件描述和具體的技術(shù)和硬件構(gòu)造,可以方便地調(diào)整大小和結(jié)構(gòu)設(shè)計,標準規(guī)范,易于共享和復(fù)用,易于移植的ACSI。這可是硬件編程語言界的最好用的方法之一了,太厲害了。(2)Quartus軟件開發(fā)工具軟件實現(xiàn)仿真的工具我用的是美國公司推出的Quartus II9.0軟件,它就是生產(chǎn)大名鼎鼎的驍龍?zhí)幚砥鞯墓?,能用VHDL,Verilog HDL硬件描述語言入,還使用ModelSim-Altera 6.4a工具
24、進行編輯編譯和仿真,可以滿足我的設(shè)計的所有需要,是一款十分主流的軟件,對它我很滿意放心。(3)EDA實驗開發(fā)系統(tǒng)在實驗設(shè)計中我使用VHDL語言來編寫,這是一種通用的硬件編程語言,各路大神都用它。它的特點是可以實現(xiàn)從寫程序到實現(xiàn)它的運行調(diào)試的一條龍服務(wù),真是編程工作中人們的福音啊。2.3 用Quartus進行系統(tǒng)開發(fā)的設(shè)計流程以下為使用Quartus來實現(xiàn)電子密碼鎖設(shè)計的流程(1)編寫VHDL的程序(使用VHDL File);(2)編譯VHDL的程序(使用Compiler);(3)仿真驗證VHDL的程序(使用 Waveform,Simulator);(4)進行芯片時間順序上的解讀(使用Timin
25、g Analyzer);(5)安排芯片引腳的位置(使用Floorplan Editor);(6)下載程序至要用的芯片(使用Programmer)。3 系統(tǒng)總體設(shè)計3.1 電子密碼鎖設(shè)計的原理1、編碼總量的確定電子密碼鎖的隨機開鎖成功概率的定義為: P = 1 / NT (3.1)其中p是隨機開鎖成功的概率,NT代碼總。顯然鎖安全性高,NT應(yīng)該盡可能大,所以P趨于零,但更大的進步,相應(yīng)的電路太復(fù)雜了,更多的內(nèi)存和麻煩的密碼。所以NT應(yīng)該合理的上限和下限。NTL的下限值的選擇應(yīng)使隨機解鎖操作時間成功的密碼。如果每次解鎖時間T,隨機試驗為新臺幣,將在1 / 2分成N段1 / n段預(yù)計解鎖成功。在這段
26、時間P = 1 / 2解鎖成功期望的隨機測試時間: TR = NT T2N (3.2)這是假設(shè)的設(shè)計沒有考慮輸入錯誤的保護,在無保護的情況下密碼鎖,開鎖時間隨機測試任何運營商是十,那么: NTL=(2nTEN t)x (3.3)其中x是最小安全系數(shù)。即: TEN=(NTLt/2n)/x (3.4)顯然如果NT = NTL,然后TR TEN,分段隨機試驗是不容易成功。因此,數(shù)字密碼鎖設(shè)置總的編碼是系統(tǒng)安全的主要技術(shù)指標,保密。一般來說,當(dāng)NT選中,N NT的原則的上限是更安全的,但總體設(shè)計n =(10 1000)NLT更合理。2、編碼制式的選擇編碼制式應(yīng)該根據(jù)NT的大小選取,可分為以下三種:(1
27、)密碼的各位都可以重碼:NT1=ai;(2)密碼的非相鄰位可以重碼:NT2=a(a-1)i;(3)密碼的任何一位都不能重碼:NT3=a(a-1)(a-i+1)。其中a為基數(shù),i為位數(shù),a和i的選取應(yīng)該滿足NTNTL , a=2,3,4,10,12,14,16。現(xiàn)在以最常用的a=10,i=6為例,可以計算出NT2=0159NT 1,NT 3=0.15N T1,所以編碼制式是否考慮重碼對NT有很大的影響。 此外,同一襯底的不同風(fēng)格會影響NT代碼量,和基片的選擇會影響電路的硬件設(shè)計。 采用十進制編碼設(shè)計的密碼鎖,密碼允許您留個心眼,重新寫密碼,簡化了電路設(shè)計,對穿來穿去的計數(shù)方式的密碼鎖的密碼輸入。
28、3、錯誤密碼輸入的保護措施前面介紹過了,自身的安全是電子密碼鎖的設(shè)計考慮的重點,因為代碼和密碼捕獲都是是隨機的,如果P = 1捕獲的接近0,必須采取保護措施的輸入錯誤。簡單地說,就是要設(shè)個防盜號心眼,人家一般都是輸錯三回密碼就死機了,這點設(shè)計的相當(dāng)有必要,防止有人瞎碰密碼當(dāng)然只要關(guān)機重啟之后就能恢復(fù)正常狀態(tài)了,咱不是什么人才也就跟著人家改了。3.2方案的提出方案一:采用數(shù)字電路控制。雖這個設(shè)計雖說是設(shè)計簡單,但它是純電路實現(xiàn),不帶編程語言,不符合畢業(yè)設(shè)計的要求,也不好用。方案二:通過單片機實現(xiàn),前面說過的。單片機雖然設(shè)計方便點而且端口也挺多,但是單片機設(shè)計的缺點就是太不穩(wěn)定了。通過以上比較雖然
29、方案二比方案一強點,但是它不符合時代的潮流,不能滿足本科設(shè)計的要求,在運行時程序有時會產(chǎn)生各種錯誤,因此基于我現(xiàn)在所學(xué)新知識的理解應(yīng)用,我想出了第三種方案。方案三:利用FPGA設(shè)計的車載電子密碼鎖,它的設(shè)計成本特別低,設(shè)計方便還有很實惠的開發(fā)板,還可以仿真出結(jié)果,實現(xiàn)起來相對容易,更利于系統(tǒng)的改進和提高,穩(wěn)定性更好,更好用。通過以上比較描述我決定使用用基于FPGA的電子密碼鎖設(shè)計這個靠譜的方案。3.3 系統(tǒng)設(shè)計要求設(shè)計一個好用又實惠的車載電子密碼鎖,具體要求能夠輸入密碼,當(dāng)然還要能顯示密碼,還得能改密碼,要不然不就難了,還得有輸入的按鈕啊,確定的按鈕啊,還要能把鎖鎖上,防止被壞人盜走咱的密碼,
30、這點是很有必要的。要求如下:(1)數(shù)碼輸入:每按下一個數(shù)字鍵,就輸入一個數(shù)值,并在顯示器上面顯示出該數(shù)值,同時將之前輸入的數(shù)據(jù)按序左移一個數(shù)字位置。(2)數(shù)碼清除:按下此鍵可清除前面輸入的所有的值,清除為“0000”。(3)密碼更改:按下此鍵時可將目前輸入的數(shù)字設(shè)定成新的密碼。(4)激活電鎖:按下此鍵時可將密碼鎖上鎖。(5)解除電鎖:按下此鍵時會檢查輸入的密碼正確與否,密碼正確即開鎖。(6)數(shù)字位退格:按下此鍵時可清除最低的數(shù)字,并使各位向右移動。3.4 系統(tǒng)設(shè)計描述我設(shè)計的密碼鎖是一個使用簡單的電子密碼鎖,它以開發(fā)板為主體,采用4*4的鍵盤,前10個鍵是數(shù)字鍵,8個數(shù)碼管來顯示輸入的密碼,后
31、面的按鍵實現(xiàn)電子密碼鎖的各個功能,總體外觀如圖3.1所示。圖3.1 電子密碼外觀圖上圖3.1為在實驗開發(fā)板上實現(xiàn)的我的密碼鎖,使用開發(fā)板有十六個按鈕,分別對應(yīng)數(shù)字0到9和各個功能鍵,LED顯示為開發(fā)板上數(shù)碼管顯示。3.5 各功能模塊描述電子密碼鎖主要由三個部分組成:數(shù)字密碼輸入電路、密碼鎖控制電路、密碼鎖顯示電路。也就是說,設(shè)計分為三個大的功能模塊。圖3.2為數(shù)字電子密碼鎖系統(tǒng)總體框圖。圖3.2 數(shù)字電子密碼功能模塊圖(1) 我設(shè)計的密碼鎖輸入電路包括包括許多的小功能的模塊,模塊的功能太高端了,說了也不懂,還是不說了吧。模塊的功能:一般模塊的功能我就不在介紹了為值得一提的是了加強按鍵按的準確性
32、我決定加了去抖模塊。作為一個大學(xué)本科的畢業(yè)論文,我當(dāng)然不打算做什么高大上的東西,就在在Quartus II9.0軟件和ModelSim-Altera 6.4a上湊合著演示一把得了,這兩個軟件便宜又好用,當(dāng)然也學(xué)了好長時間,用當(dāng)然不會用,能湊合著畢業(yè)就行。(2) 我的密碼鎖控制電路也有好多的部分組成,同上原因我也不打算說了,大家自己去百度看看吧。 模塊功能:這個功能顯而易見,改密碼以及對密碼的各種保護。(3)顯示這塊比較好理解就是將數(shù)字的代碼,什么二進制十六進制的轉(zhuǎn)換成一般人能看懂的文字,就叫顯示,很關(guān)鍵的一步。通過上面所描述的系統(tǒng)結(jié)構(gòu)可知,一般正常點的的車載電子系統(tǒng)都要有輸入和控制和顯示三個部
33、分組成,這點我相信大家都能理解。從圖3.2顯示:我的系統(tǒng)運行的相當(dāng)完美,該有的功能都有了,輸錯三回密碼就死機了,這點設(shè)計的相當(dāng)有必要,防止有人瞎碰密碼當(dāng)然只要關(guān)機重啟之后就能恢復(fù)正常狀態(tài)了。系統(tǒng)沒輸入密碼之前,LED燈是滅著的,當(dāng)密碼輸入并且正確時,LED燈便亮了。4 系統(tǒng)詳細設(shè)計4.1 輸入模塊4.1.1 時序產(chǎn)生電路本時序產(chǎn)生電路中分別使用了幾種不同種類工作的跳動波形:系統(tǒng)時鐘跳動它是系統(tǒng)內(nèi)部的所有時鐘跳動的源頭,且有最高的頻率、彈跳消除取樣信號以及鍵盤掃描信號。當(dāng)一個系統(tǒng)中需使用多種操作頻率的脈沖波形時,最方便的方法之一就是利用一計算器來產(chǎn)生各種需要的東西。也就是先建立一個N位計數(shù)器,N
34、的大小根據(jù)電路的需求決定,N的值越大,電路可以變動的次數(shù)就越多,這樣就可以獲得更大的種類的變化,以便提供多種不同的信號。若輸入時鐘為CLK,N位計數(shù)器的輸出為QN-1.0,則Q(0)為CLK的2分頻脈沖信號,Q(1)為CLK的4分頻脈沖信號,Q(2)為CLK的8分頻脈沖信號Q(N-1)為CLK的2N分頻脈沖信號;Q(5 DOWNTO 4)取得的是一個脈沖波形序列,其值依000110110001周期性變化,其變化頻率為CLK的32分頻。我們利用以上規(guī)律即可得到各種我們所需要的各種想要的結(jié)果。CLK_1K:時鐘信號SIGNAL K_SRCLK: STD_LOGIC ; -鍵盤輸入采樣時鐘SIGNA
35、L K_POS: STD_LOGIC_VECTOR(1 DOWNTO 0); -按鍵位置信號SIGNAL KSCAN:STD_LOGIC_VECTOR(3 DOWNTO 0); -鍵盤掃描信號KEY IN:STD_LOGIC_VECTOR(2 DOWNTO 0);-按鍵輸入信號KSRCLK:STD_LOGIC;-鍵盤輸入采樣時鐘4.1.2按鍵消抖電路鍵盤的設(shè)計采用的是物理開關(guān)結(jié)構(gòu),所以信號可能會不太穩(wěn)定而產(chǎn)生反彈的可能,反應(yīng)激烈的反彈可能導(dǎo)致輸入密碼時輸錯了,由此可見按鍵消除抖動電路的重要性。原因是反彈現(xiàn)象,雖然每只按一次按鈕,然后放手,但關(guān)鍵信號真的產(chǎn)生但不打一次,采樣后信號的檢測,會造成錯
36、誤的判斷,認為鍵盤按了兩次。抽樣結(jié)果如下圖4.1和4.2所示。圖4.1 彈跳現(xiàn)象產(chǎn)生錯誤的抽樣結(jié)果 如果調(diào)整系統(tǒng)抽樣頻率,彈跳現(xiàn)象就可以獲得改善。圖4.2 調(diào)整系統(tǒng)抽樣頻率后得到的抽樣結(jié)果所以我們必須增加消除跳動來的電路,避免誤了動作上信的號。特別是,消除跳起來的信號用于來把脈的信號頻率的把脈的信號電路必須比其他電路使用次數(shù)要多一點;通常的掃描次數(shù)的電路頻率設(shè)置在100kHz,并將消除吊起來的約200kHz的電的作業(yè)的頻率,作業(yè)的頻率是平時的2倍,或者更高。debounce: block is begin u1:debouncing port map (d_in=key_in(0),d_out
37、=c(0), clk=c_debounce); u2:debouncing port map (d_in=key_in(1),d_out=c(1), clk=c_debounce); u3:debouncing port map (d_in=key_in(2),d_out=c(2), clk=c_debounce);end block debounce;按鍵消抖部分是由兩個小的模塊集成為一個去抖電路的,所以在此分開介紹此兩個模塊。Dcfq模塊:dcfq 模塊的主要程序if clrn=0 and prn=1 then q=0; elsif clrn=1 and prn=0 then q=1; e
38、lsif clkevent and clk=1 then qclk,clrn=inv_d,prn=vcc,d=vcc,q=q0); u2:dcfq port map (clk=clk,clrn=q0,prn=vcc,d=vcc,q=q0); process(clk) begin if clkevent and clk=1 then d0=not q1; d1=d0; end if;end process; dd0=d0;dd1=d1;qq1=q1; qq0=q0; d_out=not (d1 and not d0); d_out1=not q1;end architecture art;這段程
39、序的作用就是通過對信號的分段來處理,從而將按鍵產(chǎn)生的不規(guī)率的信號轉(zhuǎn)換為有規(guī)律的使用的信號,達到消除抖動的目的。4.1.3鍵盤掃描電路 掃描電路顧名思義就是來掃描輸入的東西的看看有沒有哪些不對的或者重復(fù)的。2在這個房間里,掃描一排按鈕;當(dāng)掃描信號為1011,ky1掃描的一排按鈕;當(dāng)掃描信號是0111,通過掃描ky0關(guān)鍵行。在每個掃描檢查是否有按鍵按下一排按鈕,按下這個按鈕就行是不能忽視的,相反,如果按鍵立即通過行動的關(guān)鍵代碼,并將結(jié)果使用在一個注冊碼里面。-掃描信號發(fā)生器 counter: block is begin process (clk_1k) is begin if (clk_1kev
40、ent and clk_1k=1) then q=q+1; end if ; k_srclk=q(7); k_pos=q(9 downto 8); end process ; scan =1110 when k_pos=0 else 1101 when k_pos=1 else 1011 when k_pos=2 else 0111 when k_pos=3 else 1111; end block counter;鍵盤掃描電路的作用是用來提供鍵盤掃描信號,掃描信號變化的順序為1110- -1101-1011-0111-1110周而復(fù)始。掃描信號0111代表掃描的為*、0、#這一排按鍵, 當(dāng)*
41、這個按鍵被按下時, 由CSR1.0讀出的值為11,按鍵位置的數(shù)碼關(guān)系如表4.1所列。表4.1 按鍵位置的數(shù)碼關(guān)系掃描信號CSR1.0000000010101101010111111鍵盤輸出信號SEL3.0001101010110001101010110001101010110001101010110按鍵號123456789*0#4.1.4 鍵盤譯碼電路和鍵盤輸入模塊的實現(xiàn)密碼的輸入要由鍵盤來控制,因此該模塊十分重要的,要是沒做好,輸入密碼時就可能出錯,得到的東西不是你想要的,這是萬萬不能有的,一定要別家的小心,能不能成功就要靠這個模塊了。鍵盤譯碼電路主要將所對應(yīng)的鍵盤值設(shè)定成所要用的功能鍵,其
42、主要程序如下: znnnnnnnnnnnfffDOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7DOUT7= ;4.3.2譯碼顯示的實現(xiàn)生成電路圖4.13:圖4.13譯碼顯示電路模塊外部信號端口:data_bcd:密碼信號輸入端口,提供密碼信號輸入。dout7:密碼鎖狀態(tài)信號顯示燈,提供狀態(tài)顯示信號。5系統(tǒng)仿真之前的科技不發(fā)達,人們設(shè)計都是靠畫畫圖紙來實現(xiàn)功能的,那會的設(shè)計雖說可靠可是設(shè)計麻煩,而且像我們這樣的大學(xué)生其實就是為了畢業(yè)才整這玩意,根本沒想做實物設(shè)計,仿真軟件的出現(xiàn)真是一大福利啊。隨著電子技術(shù)和計算機的飛速發(fā)展,一種新的硬件電路的設(shè)
43、計方法,描述語言是硬件的崛起。電子設(shè)計自動化技術(shù)是目前主流的技術(shù),能讓設(shè)計師完成電路的設(shè)計,分析和模擬,還能在電腦上測試,印刷電路板都能自動設(shè)計,是硬件設(shè)計師們的福音啊。利用該技術(shù)進行設(shè)計,可以既有軟件設(shè)計方法還有硬件設(shè)計,相當(dāng)?shù)娜?,而且這軟件還可以仿真,指出錯誤,還能加載到開發(fā)板上,很是智能,方便又好用。因此,這當(dāng)然是未來的行業(yè)主流啊,前途無限啊。本節(jié)主要是闡述設(shè)計在Quartus II9.0軟件和ModelSim-Altera 6.4a聯(lián)合實現(xiàn)編譯與仿真。在Quartus II9.0在輸入源程序后,我們需要建立一個工程,在工程中我們要把設(shè)計文件加入工程中;然后選擇ModelSim-Alt
44、era 6.4a 進行聯(lián)合仿真。5.1系統(tǒng)各模塊的仿真5.1.1防抖電路的仿真圖5.1為鍵盤輸入防抖電路的仿真結(jié)果圖,由圖上可以看出,原來的彈跳現(xiàn)象經(jīng)過防抖電路處理后已經(jīng)清除了。圖5.1 鍵盤輸入防抖電路的仿真結(jié)果圖 由圖5.1中可以看出,鍵盤掃描出的信號彈跳現(xiàn)象可以得到改善。5.1.2密碼鎖輸入電路的仿真密碼輸入電路如圖5.2: 圖5.2 密碼輸入電路圖5.3為密碼鎖輸入電路的仿真結(jié)果圖,圖中的輸出信號kscan,是為便于仿真時觀察中間結(jié)果而增加的觀測點的輸出。 圖5.3 密碼鎖輸入電路仿真結(jié)果圖輸入信號KEY_IN2.0依序依011101110011101的順序周期性循環(huán),對鍵盤進行掃描。
45、如有按鍵發(fā)生,鍵盤掃描輸出信號CLK_SCAN做出反應(yīng)。5.1.3密碼鎖控制電路的仿真密碼鎖控制電路如圖5.4:圖5.4密碼鎖控制電路圖5.5 密碼鎖控制電路仿真結(jié)果圖5.1.4數(shù)碼管譯碼器仿真密碼鎖顯示電路如圖5.6:圖5.6 密碼鎖顯示電路 A為4位輸入,為BCD碼格式,通過譯碼電路,輸出7位譯碼,在LED數(shù)碼管上顯示相應(yīng)的數(shù)字信息。仿真圖如5.7:圖5.7 密碼鎖顯示電路仿真結(jié)果圖5.2系統(tǒng)仿真與分析圖5.8 密碼鎖系統(tǒng)整體電路仿真結(jié)果圖如圖5.8所示,系統(tǒng)開始運行時,LED數(shù)碼管顯示為“11”,表示2個LED燈都不亮,及密碼鎖當(dāng)前為上鎖狀態(tài),當(dāng)按鍵輸入密碼并按下確認鍵后,LED數(shù)碼管顯示為“10”,表示1個LED燈亮,代表電子密碼鎖輸入成功,密碼鎖解鎖,密碼鎖整體仿真結(jié)束。6結(jié) 論本系統(tǒng)是基于FPGA來完成的,通過 Quartus II 9.0開發(fā)系統(tǒng)和ModelSim-Alter
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年飾品商鋪租賃與品牌合作與市場拓展合同3篇
- 2025版互聯(lián)網(wǎng)數(shù)據(jù)中心相關(guān)方環(huán)境管理協(xié)議3篇
- 二零二五版鋼筋焊接工藝用工合同模板范文2篇
- 二零二五版模具維修改型與產(chǎn)業(yè)融合合同4篇
- 2025年道路工程質(zhì)量檢測與驗收合同3篇
- 2025年度個人股份代持及轉(zhuǎn)讓法律文件3篇
- 2025年度采礦權(quán)出讓合同范本:礦產(chǎn)資源勘查開發(fā)技術(shù)規(guī)范3篇
- 2025年度冰箱智能互聯(lián)技術(shù)合作協(xié)議3篇
- 二零二五年度新能源用地抵押借款合同3篇
- 二零二五版定制家具銷售與售后服務(wù)協(xié)議7篇
- 2024年社區(qū)警務(wù)規(guī)范考試題庫
- 2024年食用牛脂項目可行性研究報告
- 消防安全隱患等級
- 溫室氣體(二氧化碳和甲烷)走航監(jiān)測技術(shù)規(guī)范
- 部編版一年級語文下冊第一單元大單元教學(xué)設(shè)計
- 《保單檢視專題》課件
- 北京地鐵13號線
- 2023山東春季高考數(shù)學(xué)真題(含答案)
- 職業(yè)衛(wèi)生法律法規(guī)和標準培訓(xùn)課件
- 高二下學(xué)期英語閱讀提升練習(xí)(二)
- 民事訴訟證據(jù)清單模板
評論
0/150
提交評論