基于FPGA的電子密碼鎖的設(shè)計(jì)+汪金濤.doc_第1頁(yè)
基于FPGA的電子密碼鎖的設(shè)計(jì)+汪金濤.doc_第2頁(yè)
基于FPGA的電子密碼鎖的設(shè)計(jì)+汪金濤.doc_第3頁(yè)
基于FPGA的電子密碼鎖的設(shè)計(jì)+汪金濤.doc_第4頁(yè)
基于FPGA的電子密碼鎖的設(shè)計(jì)+汪金濤.doc_第5頁(yè)
已閱讀5頁(yè),還剩14頁(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)介

淮南師范學(xué)院電氣信息工程學(xué)院2015屆電子信息工程專業(yè)課程設(shè)計(jì)報(bào)告 成績(jī)課程設(shè)計(jì)報(bào)告題 目: 基于FPGA的數(shù)字密碼鎖設(shè)計(jì) 學(xué)生姓名: 汪金濤 學(xué)生學(xué)號(hào): 1114020232 系 別: 電氣信息工程學(xué)院 專 業(yè): 電子信息工程 屆 別: 2015屆 指導(dǎo)教師: 李 營(yíng) 電氣信息工程學(xué)院制2014年5月第 1 頁(yè) 目 錄1 課程設(shè)計(jì)的任務(wù)與要求11.1 課程設(shè)計(jì)的任務(wù)11.2課程設(shè)計(jì)的要求12 電子密碼鎖簡(jiǎn)介12.1 國(guó)內(nèi)外發(fā)展和現(xiàn)狀12.2 課題研究目的和意義23 設(shè)計(jì)方案的制定23.1設(shè)計(jì)思路23.2總體方案設(shè)計(jì)43.2.1 密碼鎖輸入電路設(shè)計(jì)43.2.2 矩陣式鍵盤工作原理43.2.3 密碼鎖輸入電路主要功能模塊設(shè)計(jì)53.2.4 密碼鎖控制電路設(shè)計(jì)73.2.5 密碼鎖顯示電路設(shè)計(jì)93.2.6 Quartus 軟件引腳配置94 系統(tǒng)時(shí)序仿真結(jié)果105 總結(jié)與體會(huì)115.1 總結(jié)115.2 體會(huì)126 參考文獻(xiàn)12附錄13基于FPGA的數(shù)字密碼鎖設(shè)計(jì)學(xué)生:汪金濤指導(dǎo)教師:李營(yíng)電氣信息工程學(xué)院電子信息工程專業(yè)1 課程設(shè)計(jì)的任務(wù)與要求1.1 課程設(shè)計(jì)的任務(wù)通用的電子密碼鎖主要由三個(gè)部分組成:數(shù)字密碼輸入電路、密碼鎖控制電路和密碼鎖顯示電路。(1)密碼鎖輸入電路包括時(shí)序產(chǎn)生電路、鍵盤掃描電路、鍵盤彈跳消除電路、鍵盤譯碼電路等幾個(gè)小的功能電路。(2)密碼鎖控制電路包括按鍵數(shù)據(jù)的緩沖存儲(chǔ)電路,密碼的清除、變更、存儲(chǔ)、激活電鎖電路(寄存器清除信號(hào)發(fā)生電路),密碼核對(duì)(數(shù)值比較電路),解鎖電路(開/關(guān)門鎖電路)等幾個(gè)小的功能電路。(3)密碼顯示電路主要將顯示數(shù)據(jù)的BCD碼轉(zhuǎn)換成相對(duì)應(yīng)的編碼。如,若選用七段數(shù)碼管顯示電路,主要將待顯示數(shù)據(jù)的BCD碼轉(zhuǎn)換成數(shù)碼器的七段顯示驅(qū)動(dòng)編碼。1.2課程設(shè)計(jì)的要求設(shè)計(jì)一個(gè)具有較高安全性和較低成本的通用電子密碼鎖,具體功能要求如下:(1)數(shù)碼輸入:每按下一個(gè)數(shù)字鍵,就輸入一個(gè)數(shù)值,并在顯示器上的顯示出該數(shù)值,同時(shí)將先前輸入的數(shù)據(jù)依序左移一個(gè)數(shù)字位置。(2)數(shù)碼清除:按下此鍵可清除前面所有的輸入值,清除為“0000”。(3)密碼更改:按下此鍵時(shí)會(huì)將目前的數(shù)字設(shè)定成新的密碼。(4)激活電鎖:按下此鍵可將密碼鎖上鎖。(5)解除電鎖:按下此鍵會(huì)檢查輸入的密碼是否正確,密碼正確即開鎖。2 電子密碼鎖簡(jiǎn)介2.1 國(guó)內(nèi)外發(fā)展和現(xiàn)狀隨著人們生活水平的提高和安全意識(shí)的加強(qiáng),對(duì)安全的要求也就越來(lái)越高。鎖自古以來(lái)就是把守護(hù)門的鐵將軍,人們對(duì)它要求甚高,既要安全可靠的防盜,又要使用方便,這也是制鎖者長(zhǎng)期以來(lái)研制的主題。隨著電子技術(shù)的發(fā)展,各類電子產(chǎn)品應(yīng)運(yùn)而生,電子密碼鎖就是其中之一。據(jù)有關(guān)資料介紹,電子密碼鎖的研究從20世紀(jì)30年代就開始了,在一些特殊場(chǎng)所早就有所應(yīng)用。這種鎖是通過鍵盤輸入一組密碼完成開鎖過程。研究這種鎖的初衷,就是為提高鎖的安全性。由于電子鎖的密鑰量(密碼量)極大,可以與機(jī)械鎖配合使用,并且可以避免因鑰匙被仿制而留下安全隱患。電子鎖只需記住一組密碼,無(wú)需攜帶金屬鑰匙,免除了人們攜帶金屬鑰匙的煩惱,而被越來(lái)越多的人所欣賞。電子鎖的種類繁多,例如數(shù)碼鎖,指紋鎖,磁卡鎖,IC卡鎖,生物鎖等。但較實(shí)用的還是按鍵式電子密碼鎖。目前,在西方發(fā)達(dá)國(guó)家,電子密碼鎖技術(shù)相對(duì)先進(jìn),種類齊全,電子密碼鎖已被廣泛應(yīng)用于智能門禁系統(tǒng)中,通過多種更加安全,更加可靠的技術(shù)實(shí)現(xiàn)大門的管理。在我國(guó)電子鎖整體水平尚處于國(guó)際上70年代左右,電子密碼鎖的成本還很高,市場(chǎng)上仍以按鍵電子鎖為主,按鍵式和卡片鑰匙式電子鎖已引進(jìn)國(guó)際先進(jìn)水平,現(xiàn)國(guó)內(nèi)有幾個(gè)廠生產(chǎn)供應(yīng)市場(chǎng)。但國(guó)內(nèi)自行研制開發(fā)的電子鎖,其市場(chǎng)結(jié)構(gòu)尚未形成,應(yīng)用還不廣泛。希望通過不斷的努力,使電子密碼鎖在我國(guó)也能得到廣泛應(yīng)用。目前使用的電子密碼鎖大部分是基于單片機(jī)技術(shù),以單片機(jī)為主要器件,其編碼器與解碼器的生成為軟件方式。在實(shí)際應(yīng)用中,由于程序容易跑飛,系統(tǒng)的可靠性能較差?;诂F(xiàn)場(chǎng)可編程邏輯門陣列FPGA器件的電子密碼鎖,用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.2 課題研究目的和意義隨著人們生活水平的提高,對(duì)家庭防盜技術(shù)的要求也是越來(lái)越高,傳統(tǒng)的機(jī)械鎖由于其構(gòu)造的簡(jiǎn)單,被撬的事件屢見不鮮,電子鎖由于其保密性高,使用靈活性好,安全系數(shù)高,受到了廣大用戶的歡迎。FPGA即現(xiàn)場(chǎng)可編程門陣列,它是在PAL、GAL、EPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物,是一種超大規(guī)模集成電路,具有對(duì)電路可重配置能力。相對(duì)于基于單片機(jī)技術(shù)的電子密碼鎖,用FPGA器件來(lái)構(gòu)成系統(tǒng),可靠性提高,并且由于FPGA具有的現(xiàn)場(chǎng)可編程功能,使得電子密碼鎖的更改與升級(jí)更為方便簡(jiǎn)單。通過本次設(shè)計(jì)掌握FPGA系統(tǒng)設(shè)計(jì)的方法,熟悉FPGA設(shè)計(jì)的相關(guān)軟件,以及硬件描述語(yǔ)言的使用,了解電子密碼鎖的系統(tǒng)構(gòu)成,利用FPGA實(shí)現(xiàn)電子密碼鎖的設(shè)計(jì)與實(shí)現(xiàn),可以加深自己對(duì)所學(xué)專業(yè)的認(rèn)識(shí),關(guān)聯(lián)知識(shí),增強(qiáng)自己的動(dòng)手能力,積累實(shí)踐經(jīng)驗(yàn),為以后的工作打好基礎(chǔ)。3 設(shè)計(jì)方案的制定3.1設(shè)計(jì)思路作為通用數(shù)字密碼鎖,主要有三部分組成:數(shù)字密碼輸入電路、密碼控制電路和密碼顯示電路。控制器模塊是整個(gè)系統(tǒng)的控制核心,負(fù)責(zé)接收其它模塊傳來(lái)的輸入信號(hào),再根據(jù)系統(tǒng)的功能產(chǎn)生相應(yīng)的控制信號(hào)送到相關(guān)的模塊。消抖同步電路用來(lái)消去開關(guān)電平抖動(dòng)現(xiàn)象并提供同步信號(hào);編碼器接收消抖同步電路傳來(lái)的數(shù)字密碼信號(hào)后編碼輸出給比較器和RAM,并提供一個(gè)數(shù)字輸入信號(hào)。作為數(shù)字密碼鎖的輸入電路,可供選擇的方案有數(shù)字機(jī)械式鍵盤和鍵觸式數(shù)字鍵盤等多種。雖然機(jī)械式鍵盤存在一些諸如機(jī)械的彈跳消除問題和機(jī)械部分的接觸問題,但是和接觸式3x4鍵盤相比,機(jī)械式鍵盤具有低成本、可靠性高、構(gòu)成電路簡(jiǎn)單、技術(shù)成熟和應(yīng)用廣泛等特點(diǎn),因此是比較合適的。根據(jù)以上選定的輸入設(shè)備和顯示器件,并考慮到實(shí)現(xiàn)的具體要求,整個(gè)數(shù)字密碼鎖系統(tǒng)的總體框圖如圖1所示。密碼輸入電路包括時(shí)序產(chǎn)生電路、鍵盤掃描電路、鍵盤彈跳消除電路、鍵盤譯碼電路等幾個(gè)小的功能電路。鍵盤時(shí)序產(chǎn)生電路彈跳消除電路鍵盤譯碼電路寄存器清除信號(hào)發(fā)生電路開/關(guān)鎖電路數(shù)值比較電路按鍵數(shù)值緩沖器BCD至七段譯碼器電路鍵盤掃描電路 圖1 系統(tǒng)方框圖3.2總體方案設(shè)計(jì)3.2.1 密碼鎖輸入電路設(shè)計(jì)圖2是數(shù)字密碼鎖的輸入電路框圖,由鍵盤掃描電路、清抖電路、鍵盤譯碼電路、按鍵數(shù)據(jù)存儲(chǔ),加上外接的一個(gè)3*4矩陣式鍵盤組成。 1234705689#*清抖電路鍵盤掃描鍵盤譯碼按鍵存儲(chǔ)圖2 密碼鎖輸入框圖3.2.2 矩陣式鍵盤工作原理矩陣式鍵盤是一種常見的輸入裝置,如圖3-3所示為一個(gè)3*4矩陣式鍵盤。鍵盤上的每一個(gè)按鍵盤其實(shí)是一個(gè)開關(guān)電路,當(dāng)某鍵被按下時(shí),該按鍵所對(duì)應(yīng)的位置就呈現(xiàn)邏輯0的狀態(tài),圖中鍵盤的掃描為行掃方式,其中的某一位為0即掃描其中的一行,具體掃描信號(hào)對(duì)應(yīng)如表1所示。表1 掃描信號(hào)對(duì)應(yīng)表KEYR3.0KEYC2.0對(duì)應(yīng)的按鍵01110111101211031011011410151106110101171018110911100110101*110#鍵盤掃描信號(hào)KEYR3與第一行相連,KEYR2與第二行相連,依此類推。很顯然,掃描信號(hào)的變化順序?yàn)椋?111、1011、1101、1110,周而復(fù)始。在掃描的過程中,當(dāng)有鍵按下時(shí),對(duì)應(yīng)的鍵位就為邏輯0狀態(tài),從而從KEYC2.0 讀出的鍵值相應(yīng)列為0.具體情況如表1所示:若從KEYC2.0 讀出的值全為1 時(shí),表示沒有鍵被按下,則不進(jìn)行按鍵的處理。如果有鍵被按下,則將KEYC2.0 讀出的送至鍵盤譯碼電路進(jìn)行譯碼。3.2.3 密碼鎖輸入電路主要功能模塊設(shè)計(jì) 時(shí)序產(chǎn)生電路:本時(shí)序產(chǎn)生電路中使用了三種不同的工作脈沖波形:系統(tǒng)時(shí)鐘脈沖、彈跳消除脈沖、鍵盤掃描信號(hào)。本設(shè)計(jì)選用信號(hào)Q建立一個(gè)9位自由計(jì)數(shù)器,對(duì)輸入主時(shí)鐘進(jìn)行降頻處理。 首選信號(hào)Q建立一個(gè)9位自由計(jì)數(shù)器,對(duì)輸入主時(shí)鐘進(jìn)行降頻處理。分頻仿真圖如下圖3所示。圖3 分頻模塊仿真圖使用CLK_A=Q(1)語(yǔ)句,取得一個(gè)脈沖波形,對(duì)主時(shí)鐘進(jìn)行2分頻,其值為0、1、0、1;使用CLK_B=Q(4 DOWNTO 3)語(yǔ)句,取得一脈沖序列,依次為00、01、10、11、00; 鍵盤掃描電路:目標(biāo):提供鍵盤掃描信號(hào),即表1中的KEYR30,變化順序依次為0111、1011、1101、1110,依次重復(fù)出現(xiàn)。 說(shuō)明:在程序中,S信號(hào)是用來(lái)產(chǎn)生掃描信號(hào)的四個(gè)狀態(tài),Q是為了對(duì)輸入主時(shí)鐘進(jìn)行降頻處理。 鍵盤消抖電路因?yàn)榘存I大多是機(jī)械式開關(guān),在開關(guān)切換的瞬間會(huì)在接解點(diǎn)出現(xiàn)來(lái)回彈跳的現(xiàn)象,其現(xiàn)象如圖4所知,雖然只是按了一次鍵,實(shí)際產(chǎn)生的按鍵信號(hào)卻不只跳動(dòng)一次,經(jīng)過取樣信號(hào)的檢查后,將會(huì)造成誤碼判,認(rèn)為是按了兩次鍵。如果調(diào)整取樣頻率,可以發(fā)現(xiàn)抖現(xiàn)象得到了改善。 調(diào)整取樣頻率后的情況如圖4所示。圖4 鍵盤消抖信號(hào)圖 鍵盤譯碼電路從前面所述的鍵盤掃描電路的輸出可以看出,掃描得到的信號(hào)規(guī)律性不強(qiáng),例如數(shù)字鍵主要用來(lái)輸入數(shù)字,但鍵盤掃描輸出無(wú)法拿來(lái)直接使用,必須對(duì)其進(jìn)行譯碼才能使用。如表2所示,只要使用begincase或ifelse語(yǔ)句,便可完成設(shè)計(jì)。鍵盤譯碼電路主要負(fù)責(zé)的工作是:首先判斷是否有鍵按下,若被按下的是數(shù)字按鍵,則解釋成相應(yīng)的BCD碼,若被按下的是功能鍵,則譯成四位的數(shù)字碼,由密碼控制電路做相應(yīng)的工作。表2 鍵盤參數(shù)表KEYR3.0KEYC2.0對(duì)應(yīng)的按鍵譯碼輸出功能011101110001數(shù)碼輸入10120010數(shù)碼輸入11030011數(shù)碼輸入101101140100數(shù)碼輸入10150101數(shù)碼輸入11060110數(shù)碼輸入110101170111數(shù)碼輸入10181000數(shù)碼輸入11091001數(shù)碼輸入111001100100擊活電鎖101*0000數(shù)碼輸入110#0001清除/解鎖電路 按鍵存儲(chǔ)電路因?yàn)槊看伟存I都會(huì)產(chǎn)生新的數(shù)據(jù),可能會(huì)覆蓋前面的數(shù)據(jù),所以需要一個(gè)按鍵存儲(chǔ)電路,將鍵盤掃描譯碼后的結(jié)果記錄下來(lái)。這一功能可以用移位寄存器來(lái)實(shí)現(xiàn)。3.2.4 密碼鎖控制電路設(shè)計(jì)數(shù)字密碼鎖控制電路是整個(gè)電路的控制中心,主要完成如下功能: 數(shù)字按鍵輸入部分如果輸入數(shù)字鍵,第一個(gè)數(shù)字會(huì)從顯示器的最右端開始顯示,此后每新按一個(gè)數(shù)字時(shí),顯示器上的數(shù)字必須往左移動(dòng)一位。若想要更改輸入的數(shù)字,可按退格鍵來(lái)清除前一個(gè)輸入的數(shù)字,或按清除鍵清除輸入的所有數(shù)字,再重新輸入4位數(shù)字。既然設(shè)計(jì)的是四位電子密碼鎖,當(dāng)輸入的數(shù)字鍵超過4位時(shí),電路不應(yīng)理會(huì)。 功能鍵輸入部分退格鍵:只清除前一個(gè)輸入的數(shù)字。清除鍵:清除所有輸入。密碼核對(duì):在密碼更改,開鎖之前必須先核對(duì)密碼。密碼變更:按下此鍵將目前輸入的數(shù)字設(shè)定為新的密碼。激活電鎖:上鎖之前必須先設(shè)定密碼才能上鎖。解除電鎖:檢查輸入的密碼是否正確,正確才開鎖。萬(wàn)用密碼:電子密碼鎖維護(hù)者使用。 六種工作狀態(tài)控制器實(shí)際上是一個(gè)有限狀態(tài)機(jī),它一共有六個(gè)狀態(tài):初始狀態(tài)S0、接收數(shù)碼狀態(tài)S1、準(zhǔn)備開鎖狀態(tài)S2、S3狀態(tài)表示每正確接受一次數(shù)碼,計(jì)數(shù)器C加1、開鎖狀態(tài)S4和錯(cuò)誤報(bào)警狀態(tài)S5。初始狀態(tài)S0:系統(tǒng)開鎖、報(bào)警或上電后進(jìn)入準(zhǔn)備狀態(tài),這時(shí)系統(tǒng)不接收除READY 信號(hào)外的任何輸入信號(hào)。接收數(shù)碼狀態(tài)S1:在該狀態(tài)下, 如果按下“READY” 則保持該狀態(tài)不變;如果按下“OK”和“OPEN”則轉(zhuǎn)到報(bào)警狀態(tài);如果有數(shù)據(jù)輸入,則控制器輸入一個(gè)DATA-IN信號(hào),輸出RD和CNP1信號(hào),從RAM中讀取密碼進(jìn)行比較,同時(shí)使計(jì)數(shù)器加1;檢查計(jì)數(shù)是否計(jì)數(shù)到100 ,若CNTe1有效,表示已經(jīng)接收到4個(gè)正確的密碼,可以轉(zhuǎn)入下一個(gè)狀態(tài),否則返回本狀態(tài),繼續(xù)接收其它密碼。檢查Dep信號(hào)狀態(tài),Dep=1則密碼正確,進(jìn)入確認(rèn)狀態(tài),反之則輸出CNP2信號(hào)進(jìn)入報(bào)警狀態(tài);如果仍然有數(shù)據(jù)輸入,則說(shuō)明輸入密碼錯(cuò)誤,則輸出CNP2信號(hào)進(jìn)入報(bào)警狀態(tài)。準(zhǔn)備開鎖狀態(tài)S2:在確認(rèn)狀態(tài)下按“SET”鍵進(jìn)入該狀態(tài),EN信號(hào)有效。該狀態(tài)首先由控制器發(fā)RESET-CNT信號(hào);檢查是否有數(shù)據(jù)輸入,如果沒有則等待;若有數(shù)據(jù)輸入,控制器則輸出WR和CNP1信號(hào),向RAM發(fā)出信號(hào),并使計(jì)數(shù)器加1,檢查計(jì)數(shù)器是否計(jì)數(shù)到100,若CNTe1有效,表示已經(jīng)接收到4個(gè)正確的密碼,進(jìn)入確認(rèn)狀態(tài),否則返回本狀態(tài),繼續(xù)接收其它密碼。確認(rèn)狀態(tài)S3:輸入密碼正確后進(jìn)入該狀態(tài)。密碼輸入得到確認(rèn)才可以進(jìn)入開鎖狀態(tài),密碼設(shè)置完畢后,只有得到確認(rèn)才可生效,并返回準(zhǔn)備狀態(tài)。開鎖狀態(tài)S4:輸入密碼確認(rèn)后進(jìn)入該狀態(tài),此時(shí)按“OPEN”鍵,控制器便發(fā)出SLT信號(hào)開鎖并返回到準(zhǔn)備狀態(tài)。錯(cuò)誤報(bào)警狀態(tài)S5:每次進(jìn)入該狀態(tài)首先檢查計(jì)數(shù)器2是否計(jì)數(shù)到11。若輸入錯(cuò)誤密碼達(dá)到三次,則CNTe2有效,控制器輸出SLB信號(hào),報(bào)警電路報(bào)警;若輸入錯(cuò)誤次數(shù)不超過三次,則CNTe2無(wú)效,返回到輸入密碼狀態(tài)。3.2.5 密碼鎖顯示電路設(shè)計(jì)本文設(shè)計(jì)的密碼鎖采用7段LED數(shù)碼管來(lái)分別顯示其在不同工作狀態(tài)下的信息,并能對(duì)輸入的口令消隱顯示。以下為顯示模塊部分程序。always (posedge CLK or negedge nCLR)begin:counter if (nCLR)Q =3b000; else if (CNT=1b1)Q =Q+1b1; else Q =Q;end assign M=(Q =3b111);assign A2,A1,A0=Q;assign D=Password;always (A2 or A1 or A0 or D) begin :Muxltiplexer case (A2,A1,A0) 3d0:Mux_out=D0; 3d1:Mux_out=D1; 3d2:Mux_out=D2; 3d3:Mux_out=D3; 3d4:Mux_out=D4; 3d5:Mux_out=D5; 3d6:Mux_out=D6; 3d7:Mux_out=D7; endcase end 程序中cnt為編碼計(jì)數(shù)器,它的每一個(gè)值代表一種狀態(tài),在不同狀態(tài)下encode端口輸出不同的LED選擇編碼。此編碼作為譯碼器74LS138的地址輸入,用于選擇操作哪一位LED數(shù)碼管。3.2.6 Quartus 軟件引腳配置 引腳配置圖如圖5所示。圖5 引腳配置圖4 系統(tǒng)時(shí)序仿真結(jié)果該密碼鎖利用Quartus工作平臺(tái)進(jìn)行編譯和綜合仿真,系統(tǒng)最后仿真結(jié)果如下,由圖7可以很明顯的看到,此數(shù)字密碼鎖能夠很好的完成對(duì)電子鎖上鎖和解鎖的過程,能夠?qū)崿F(xiàn)系統(tǒng)設(shè)計(jì)任務(wù)中的各項(xiàng)要求。說(shuō)明我們對(duì)模塊的設(shè)計(jì)是正確的。(a)正確開鎖過程仿真(b)錯(cuò)誤開鎖過程 圖6 系統(tǒng)仿真波形圖若系統(tǒng)內(nèi)設(shè)置的密碼為01011001。分析波形圖可知,nRESET信號(hào)使系統(tǒng)首先進(jìn)入初始狀態(tài)。BIT開關(guān)用于產(chǎn)生一位數(shù)碼,READ開關(guān)將BIT產(chǎn)生的當(dāng)前數(shù)碼讀入系統(tǒng),并與系統(tǒng)內(nèi)所設(shè)置的密碼的相應(yīng)位進(jìn)行比較,比較的順序是從低位到高位。當(dāng)讀入8位數(shù)碼與開鎖密碼一致時(shí),按下開鎖的TRY信號(hào),系統(tǒng)將產(chǎn)生高電平的開鎖信號(hào)OPEN,如圖6(a)所示。如果開鎖過程中任何一次送入的數(shù)碼與設(shè)置的密碼數(shù)值不一致,例如圖6(b)中輸入的第二位數(shù)碼為1,與設(shè)置的0不符,系統(tǒng)發(fā)出錯(cuò)誤信號(hào)ERROR?;蛘逿RY信號(hào)使用不當(dāng),也會(huì)產(chǎn)生ERROR信號(hào)。為了便于分析開鎖過程中,系統(tǒng)狀態(tài)之間的轉(zhuǎn)換,圖6中給出了中間變量的波形圖。5 總結(jié)與體會(huì)5.1 總結(jié)本設(shè)計(jì)中采用了Altera公司的FPGA芯片進(jìn)行設(shè)計(jì),可以極大地減少其他分立元件或其他芯片的使用,有效地縮小了印制電路板面積,提高了系統(tǒng)的可靠性,大大縮短了系統(tǒng)開發(fā)的周期。由于采用Verilog HDL進(jìn)行設(shè)計(jì),用軟件實(shí)現(xiàn)硬件電路,具有良好的可移植性,可隨時(shí)在線更改邏輯設(shè)計(jì)及有關(guān)參數(shù),充分體現(xiàn)FPGA的優(yōu)越性,具有一定的實(shí)用性。本文設(shè)計(jì)的密碼鎖克服了基于單片機(jī)的密碼鎖的可靠性較差的缺點(diǎn),利用了FPGA 的ISP功能可高效的進(jìn)行功能擴(kuò)展和產(chǎn)品升級(jí),具有使用靈活,性能可靠,安全保密性強(qiáng)等優(yōu)點(diǎn), 將有十分良好的應(yīng)用前景。本設(shè)計(jì)參考和結(jié)合了很多有關(guān)電子密碼鎖問題的論文,經(jīng)過多次修改和整理,可以滿足人們的基本要求,防盜系數(shù)高,安全性能好。但因?yàn)樗接邢?,可能也存在一定的問題。5.2 體會(huì)通過本次課程設(shè)計(jì),我得到了大量的鍛煉并受益匪淺,不但提高了自身對(duì)理論基礎(chǔ)知識(shí)的掌握,同時(shí)還鍛煉了自己的動(dòng)手實(shí)踐能力。讓我更牢固地掌握了有關(guān)的理論知識(shí),并簡(jiǎn)單了解了系統(tǒng)仿真建模的基本步驟,同時(shí)還加深了我對(duì)quartus軟件的理解與應(yīng)用。在做設(shè)計(jì)的過程中,我深刻地體會(huì)到,對(duì)理論知識(shí)的掌握并不以意味著自己就能將理論知識(shí)轉(zhuǎn)化為實(shí)際的系統(tǒng)。但是,理論知識(shí)的認(rèn)識(shí)深刻與否,對(duì)實(shí)踐活動(dòng)有著重要的作用,只有對(duì)理論基礎(chǔ)知識(shí)有深入地了解,才能通過理論來(lái)指導(dǎo)實(shí)踐,如果沒有掌握理論知識(shí),是不可能獲得實(shí)踐上的成功。同時(shí),通過此次課程設(shè)計(jì),充分調(diào)動(dòng)了自身對(duì)知識(shí)的運(yùn)用和對(duì)以前學(xué)過的知識(shí)的靈活調(diào)用。在設(shè)計(jì)過程中遇到過許多困難,但通過查閱相關(guān)資料以及前人的結(jié)果,從而解決了許多問題,同時(shí)也提高了自己分析問題解決問題的能力。最后,課程設(shè)計(jì)中與老師和同學(xué)的交流是很有必要的。畢竟每個(gè)人對(duì)課程設(shè)計(jì)的思路和自己遇到的問題都有不同的理解,所以遇到問題共同交流還是能夠解決各種問題的。6 參考文獻(xiàn)1 潘松,陳龍,黃繼業(yè).EDA技術(shù)與Verilog HDL(第二版)M.北京:清華大學(xué)出版社,2010, 4:44-702 周潤(rùn)景,蘇良碧.基于Quartus 的數(shù)字系統(tǒng)Verilog HDL設(shè)計(jì)實(shí)例詳解 M.北京:電子工業(yè)出版社,2010,5:6-1543 王衛(wèi)兵,劉克剛,朱秋萍.用FPGA的電子密碼鎖M.北京:中國(guó)機(jī)械工業(yè)出版社,2011:26-284 趙益丹,徐曉林,周振峰.電子密碼鎖的系統(tǒng)原理、設(shè)計(jì)程序及流程圖N.嘉興學(xué)院學(xué)報(bào), 2003, 15(S1):103-1055 李連華.基于FPGA的電子密碼鎖設(shè)計(jì)N.中國(guó)科技信息報(bào),2010,5:646 許琦.基于FPGA的電子密碼鎖的設(shè)計(jì)M.北京:電子工業(yè)出版社,2009,10:240 -241 7 康華光,鄒壽彬.電子技術(shù)基礎(chǔ)數(shù)字部分(第五版)M.北京:高等教育出版社,2005,7:58-698 李士雄,丁康源.數(shù)字集成電子技術(shù)教程M.北京:高等教育出版社,2010,7:58-699 王金明,楊吉斌.數(shù)字系統(tǒng)設(shè)計(jì)與Verilog HDLM.北京:電子工業(yè)出版社,2010,10:34-6810 任愛鋒.基于FPGA的嵌入式系統(tǒng)設(shè)計(jì)M.西安:西安電子科技大學(xué)出版社,2010, 7:35-169附錄數(shù)字密碼鎖源程序module Lock_RTL (OPEN,ERROR,nRESET,TRY,READ,BIT,CLK,W,B,Q,M); /* 定義輸入/輸出 */input nRESET,TRY,READ,BIT,CLK;output OPEN,ERROR,B,M;output 3:0W;output 2:0 Q;assign W=0001;reg OPEN,ERROR;wire nRESET,TRY,READ,BIT,CLK; /對(duì)狀態(tài)進(jìn)行編碼parameter S0=6b000001,S1=6b000010,S2=6b000100,S3=6b001000,S4=6b010000,S5=6b100000;parameter Password=8b01011001; /定義系統(tǒng)內(nèi)部信號(hào)變量及其類型reg 5:0 CurrentState,NextState; /控制寄存器reg nCLR,CNT; /CNT=1,計(jì)數(shù)器工作;CNT=0,暫停計(jì)數(shù)wire B,M; /數(shù)據(jù)處理器輸出reg 2:0Q; /計(jì)數(shù)器輸出wire A2,A1,A0; /數(shù)據(jù)選擇器控制信號(hào)wire 7:0D; /數(shù)據(jù)選擇器輸入信號(hào)reg Mux_out; /數(shù)據(jù)選擇器輸出信號(hào)/* 控制單元狀態(tài)轉(zhuǎn)換的描述 */always(posedge CLK or negedge nRESET) begin:ststereg if(nRESET) begin CurrentState =S0; nCLR =1b0;end else begin CurrentState =NextState; nCLR =1b1; end endalways(BIT or READ or TRY or B or M or CurrentState) begin:fsm OPEN=1b0; ERROR=

溫馨提示

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