freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于fpga的數(shù)字密碼鎖設(shè)計(vhdl代碼全,11個模塊均調(diào)試通過)(已修改)

2025-06-30 17:45 本頁面
 

【正文】 基于FPGA實現(xiàn)的設(shè)計方案下面參照上述分立元件實現(xiàn)和單片機(jī)技術(shù)實現(xiàn)方案中的操作過程、實現(xiàn)思路、對應(yīng)的模塊設(shè)置和電源實現(xiàn)等,結(jié)合已有CPLD應(yīng)用實踐經(jīng)驗,借鑒基于單片機(jī)實現(xiàn)技術(shù)中的主控流程和密碼修改流程,并根據(jù)本次畢業(yè)設(shè)計任務(wù)要求確定本次設(shè)計的實現(xiàn)方案如圖25所示。 控FPGA譯碼按鍵顯示聲光顯示密碼存儲器 圖 25 數(shù)字密碼鎖的設(shè)計框圖基于FPGA實現(xiàn)的數(shù)字密碼設(shè)計框圖中主要包括6大部分:按鍵輸入、FPGA器件、聲光顯示、密碼存儲、譯碼電路,顯示電路[3]。其中FPGA為主控部分,將消除同步模塊、計數(shù)器模塊、控制器模塊都用VHDL語言寫入FPGA中代替了傳統(tǒng)復(fù)雜的電路設(shè)計,也省去了很多繁瑣的調(diào)試步驟,只有這些模塊在Quartus II平臺通過了仿真,就可以實現(xiàn)傳統(tǒng)電路模塊的功能。本次設(shè)計的數(shù)字密碼鎖主要是利用軟件的編程來對主控模塊的實現(xiàn)。當(dāng)通過按鍵輸入密碼后,就把輸入的信號送給FPGA,F(xiàn)PGA經(jīng)過里面?zhèn)€模塊的處理后傳給了各輸出電路模塊。聲光顯示主要是來判斷密碼輸入的正確與否和當(dāng)前密碼鎖的狀態(tài);密碼存儲器主要是用來存儲密碼和防止電源掉電而導(dǎo)致密碼鎖的數(shù)據(jù)丟失和提高密碼鎖的安全性。顯示電路主要是用來顯示密碼鎖當(dāng)前的狀態(tài)和輸入的密碼是否正確[4]。本設(shè)計采用Altera公司的Quartus II 。選擇VHDL語言進(jìn)行編程現(xiàn)實各模塊的功能和頂層的設(shè)計。3 功能模塊設(shè)計與實現(xiàn)根據(jù)前面確定的方案, 數(shù)字密碼鎖主要是由控制模塊和外圍模塊組成,以FPGA為控制核心, 配以相應(yīng)硬件電路,完成密碼的設(shè)置、存貯、識別和顯示、報警等功能。下面就各個模塊的設(shè)計、仿真調(diào)試和結(jié)果等作概要的介紹。 數(shù)字密碼鎖的構(gòu)架數(shù)字密碼鎖由主控部分和外圍電路組成,前者主要作用是接收密碼并進(jìn)行密碼的驗證操作;附加的外圍指示電路的主要作用是用來顯示輸入的密碼和根據(jù)密碼驗證的結(jié)果來給出不同的指示燈顯示和報警,而報警裝置則通常采用揚(yáng)聲器。結(jié)合設(shè)計任務(wù)和確定的實現(xiàn)方案,確定的數(shù)字密碼鎖的構(gòu)架圖如圖31所示。具體設(shè)定數(shù)字密碼鎖的主要功能如下:數(shù)字密碼鎖的工作時鐘由外部晶振來提供,時鐘頻率為1MHz;密碼采用3位十進(jìn)制數(shù)字;密碼輸入正確后,密碼鎖將啟動開鎖裝置;密碼輸入錯誤后,密碼鎖將給出報警信息,它通過紅燈和蜂鳴器來指示;報警后,內(nèi)部人員可以通過按鍵ISETUP對密碼進(jìn)行重新設(shè)置;保險柜開啟后,操作人員可以通過SETUP使密碼器回到初始等待狀態(tài)。 數(shù)字密碼鎖VCC A F BE C G D LED_GLED_RALERTDIPSETUPSTARTOPENISETUPA0A1A2A3A4A5A6A7A8A9CLK圖31數(shù)字密碼鎖的構(gòu)架圖 對照圖31,各輸入輸出如表31所示。表31 各輸入輸出信號說明信號說明信號說明i_setup報警復(fù)位open開鎖setup復(fù)位clk時鐘脈沖start啟動密碼輸入A0A9十進(jìn)制密碼輸入dip啟動密碼修改AG七段譯碼器LED_R、LED_G紅、綠指示燈ALERT報警揚(yáng)聲器 功能模塊的劃分 在本次設(shè)計中將系統(tǒng)分成七個模塊來分別設(shè)計仿真。分別為以下十一個模塊:分頻、同步消抖、使能電路、反相電路、密碼存儲、編碼、比較、計數(shù)選擇、數(shù)碼管譯碼、指示電路、控制器等模塊組成。下面就具體如何設(shè)計和具體實現(xiàn)作必要的說明。表31各個模塊的功能模塊功能分頻模塊對已有的時鐘頻率進(jìn)行分頻獲得我們需要的頻率同步消抖模塊對輸入的數(shù)字密碼A0-ASTART、OPEN、SETUP和ISETUP等按鍵信號進(jìn)行同步消抖使能電路模塊控制輸入按鍵是否有效反相電路模塊用來對輸入的SETUP、ISETUP和START按鍵輸入信號進(jìn)行反相操作密碼存儲模塊對計數(shù)模塊的計數(shù)值進(jìn)行寄存編碼模塊將外接鍵盤輸入的信號轉(zhuǎn)換成BCD碼比較模塊對編成模塊的輸出數(shù)據(jù)和密碼存儲模塊的輸出數(shù)據(jù)進(jìn)行比較計數(shù)選擇模塊根據(jù)動態(tài)選擇信號,選擇相應(yīng)的需要顯示的計數(shù)值數(shù)碼管譯碼模塊將BCD碼譯成數(shù)碼管的顯示數(shù)據(jù)指示電路模塊顯示輸出的狀態(tài)和發(fā)出警報聲控制器模塊控制整個電路中各狀態(tài)之間的轉(zhuǎn)換和運(yùn)行 各功能模塊的實現(xiàn)與調(diào)試密碼鎖中分頻模塊的主要功能是用來對輸入的外部時鐘進(jìn)行1000分頻和200000分頻,目的是得到1000Hz的時鐘信號CLK_DIV1和5Hz的時鐘信號CLK_DIV2。在數(shù)字密碼鎖中,它的外部時鐘信號CLK是由外部晶振來提供的,時鐘頻率為1MHz.。在密碼鎖系統(tǒng)中,時鐘信號的作用是用來驅(qū)動蜂鳴器報警裝置和用來提供給消抖同步電路的時鐘信號。這里假設(shè)用來驅(qū)動蜂鳴器的時鐘信號為CLK_DIV1,它的頻率為1000Hz;用來提供給消抖同步電路的時鐘信號CLK_DIV2,它的時鐘頻率為4—8Hz。這里取5Hz。這兩個時鐘信號都是由外部時鐘信號CLK經(jīng)過分頻產(chǎn)生的[5]。通常數(shù)字電路中的分頻操作是采用計數(shù)來進(jìn)行。就是利用一個自由計數(shù)器來產(chǎn)生各種需要的頻率,也就是先建立一個N位計數(shù)器,N的大小根據(jù)電路的需求來決定,N的值越大,電路可以分頻的次數(shù)就越多,這樣就可以獲得更大的頻率變化,以便提供多種不同頻率的時鐘信號[6]。若輸入時鐘為CLK,N位計數(shù)器的輸出為Q[N-1…0],則Q(0)的CLK的2分頻脈沖信號,Q(1)為CLK的4分頻脈沖信號,Q(2)為CLK的8分頻脈沖信號Q(N-1)為CLK的分頻脈沖信號;Q(5 DOWNTO 4)取得的是一個脈沖波形序列,其值依次為00-01-10-11周期性變化,其變化頻率為CLK的分頻,也就是32分頻。利用以上規(guī)律即可得到各種我們需要頻率的信號或信號序列,但是對于分頻數(shù)目較大的分頻電路來說,采用計數(shù)方法容易出現(xiàn)錯誤,因此這時一般采用小數(shù)目分頻電路的級聯(lián)方法來完成較大規(guī)模的分頻電路。對于外部信號CLK的200分頻來說,這里可以采用10分頻電路和20分頻電路來構(gòu)成,1000分頻和200000分頻也是按照這個原理來做的,如圖32所示。 10分頻電路20分頻電路CLKCLK_DIV1tmp3圖32 級聯(lián)構(gòu)成的200分頻電路 通過圖32所示的分頻電路的級聯(lián)結(jié)構(gòu)可以看出,這里首先要進(jìn)行10分頻和20分頻電路的設(shè)計,然后才可以通過級聯(lián)的方法來設(shè)計200分頻,下面具體以10分頻做下介紹。10分頻電路的頂層原理圖如圖33所示。 圖33 10分頻電路的頂層原理圖 經(jīng)過Quartus II仿真后,10分頻電路的時序仿真圖如圖34 所示。從圖中可以看出,clk輸入10個頻率合成一個clk_div信號,符合10分頻功能的要求。程序代碼參考附錄一中的程序1。圖34 10分頻電路的時序仿真圖對于數(shù)字密碼鎖輸入電路,可供選擇的方案有數(shù)字機(jī)械式鍵盤和觸摸式數(shù)字鍵盤等多種。雖然機(jī)械式鍵盤存在一些諸如機(jī)械產(chǎn)生的彈跳消除問題和機(jī)械部分的接觸等問題,但是和觸摸式鍵盤相比,機(jī)械式鍵盤具有低成本、可靠性高、構(gòu)成電路簡單、技術(shù)成熟和應(yīng)用廣泛等特點,因此將其應(yīng)用到通用數(shù)字電子密碼鎖中還是比較適宜的。但是由于按鍵方式產(chǎn)生的數(shù)字密碼A0-ASTART、OPEN、SETUP、ISETUP的產(chǎn)生時刻和持續(xù)時間長短是隨機(jī)不定的,同時存在因開關(guān)簧片反彈而引起的電平抖動現(xiàn)象,對于電子密碼鎖的這種靈敏度較高的電路這種彈跳將很可能會造成誤動作輸入,從而影響到密碼鎖操作的正確性。因此必須添加消抖同步電路。圖35所示的就是一種應(yīng)用得較為廣泛的消抖同步電路。tmp4 amp。amp。D QCP QD QCP Qamp。輸入tmp1clktmp2 tmp3 tmp6 tmp5 輸出圖35 消抖同步電路圖中所用到的D觸發(fā)器的頂層原理圖如圖36所示。圖36 D觸發(fā)器的頂層原理圖D觸發(fā)器的時序仿真圖如圖37所示。從圖中我們可以看出,此程序完全實現(xiàn)了D觸發(fā)器的功能。程序代碼參考附錄一中的程序2。圖37 D觸發(fā)器的時序仿真圖這里需要注意的是,因為采用與非門構(gòu)成的觸發(fā)器使用低電平觸發(fā),因此按鍵輸入的數(shù)字或者指令要設(shè)計為低電平有效。消抖同步模塊需要對輸入的數(shù)字密碼A0-ADIP、START、OPEN、SETUP和ISETUP共15個按鍵信號進(jìn)行消抖同步。同步消抖模塊的頂層原理圖如圖38所示。圖38 同步消抖模塊的頂層原理圖同步捎消抖電路的時序仿真圖如圖39所示,從圖中我們可以看出,輸入信號ccccca90、a80、a70、a60、a50、aaaaa00經(jīng)過同步消抖電路后,達(dá)到了同步消抖的功能。程序代碼參考附錄一中的程序3。 圖39 同步捎消抖電路的時序仿真圖當(dāng)數(shù)字密碼鎖進(jìn)入到密碼輸入狀態(tài)時,控制器模塊輸出的使能信號EN變?yōu)橛行Вǜ唠娖剑?,此時只允許數(shù)字密碼A0-AOPEN信號的輸入[7]。當(dāng)使能信號有效(高電平)時,輸入的信號A0-A9和OPEN進(jìn)行反相操作;否則輸出為高阻狀態(tài)。密碼鎖中的使能電路模塊的頂層原理圖如圖310所示,VHDL程序如程序9所示。圖310 使能電路模塊的頂層原理圖使能電路經(jīng)時序仿真后如圖311所示,從圖中我們可以看出,當(dāng)使能信號EN有效(高電平)時,輸入的信號A0-A9和OPEN_T進(jìn)行反相操作;否則輸出為高阻狀態(tài),從而達(dá)到了使能電路的功能[8]。程序代碼參考附錄一中的程序4。圖311 使能電路的時序仿真圖在數(shù)字密碼鎖的設(shè)計中,反相電路模塊的主要功能是用來對輸入的SETUP、ISETUP、START和DIP的按鍵輸入信號進(jìn)行反相操作,從而滿足消抖同步模塊對輸入信號的電平要求。反相電路模塊描述非常簡單。它的頂層原理圖如圖312所示,VHDL程序如程序10所示。圖312 反相電路模塊的頂層原理圖反相電路模塊的時序仿真圖如圖313所示。從圖中可以看出,輸入的WAIT_T、READY和SETUP的按鍵輸入信號進(jìn)行了反相。程序代碼參考附錄一中的程序5。 圖313 反相電路模塊的時序仿真圖 密碼存儲模塊在數(shù)字密碼鎖中,密碼存儲模塊是它的密碼規(guī)定電路,其功能有兩個:一個是將存儲的密碼輸出到比較模塊中與外部輸入的數(shù)字進(jìn)行比較操作,另一個是存儲用戶修改后的密碼[9]。密碼存儲模塊的地址選擇信號由計數(shù)器模塊電路來進(jìn)行選擇。模為三的計數(shù)器模塊電路控制信號RESET和時鐘信號CNP是由控制器模塊來提供的。下面給出密碼存儲模塊的頂層原理圖如圖314所示和VHDL程序如程序11所示。圖314 密碼存儲模塊的頂層原理圖密碼存儲模塊的時序仿真圖如圖315所示,從圖中可以看出:在0200ns時,寫信號有效,由A0—A9數(shù)字按鍵產(chǎn)生的輸入信號存入了密碼存儲模塊;在200400ns時,讀信號有效,存儲的密碼由e1—e4輸出,進(jìn)入比較模塊與輸入的數(shù)字進(jìn)行比較。程序代碼參考附錄一中的程序6。 圖315 密碼存儲模塊的時序仿真圖 編碼模塊在保險柜密碼器中,由于密碼數(shù)字是由外接鍵盤輸入的信號,因此這里需要把它轉(zhuǎn)換成4位BCD碼送入到比較器中,這時需要采用10線至4線編碼器來完成這樣的轉(zhuǎn)換。因為前級消抖同步模塊的輸出是高電平,因此A0—A9這10個數(shù)字的輸入信號經(jīng)過消抖同步后應(yīng)該是高電平有效。對于編碼器的輸出來說,B4是MSB,B1是LSB。在密碼器中,編碼模塊的頂層原理圖如圖316所示。圖316 編碼模塊的頂層原理圖圖317是編碼模塊的時序仿真圖,從圖中可以看出:當(dāng)輸入0、2三個數(shù)字時,編碼器對其進(jìn)行了編碼,并且每有一個數(shù)字輸入,data_in都會向控制器發(fā)出一個高電平的信號。程序代碼參考附錄一中的程序7。圖317 編碼模塊的時序仿真圖 比較模塊在數(shù)字密碼鎖中,比較模塊的主要功能是對編成模塊的輸出B1—B4這4位數(shù)據(jù)和密碼存儲模塊的輸出E1—E4這4位數(shù)據(jù)進(jìn)行比較,然后將比較的結(jié)果送入到控制器模塊的DEF端口上。比較器的具體工作原理是:當(dāng)比較結(jié)果相等時,DEP的輸出為1;當(dāng)比較結(jié)果不相等時,DEP的輸出為0。下面給出密碼器中比較模塊的頂層原理圖如圖318所示。 圖318 比較模塊的頂層原理圖 經(jīng)過Quartus II仿真后,得到時序仿真圖如圖319。圖中波形表明,當(dāng)e1—e4與b1—b4相等時,dep信號輸出為高電平,否則輸出為低電平。程序代碼參考附錄一中的程序8。圖319 比較模塊的時序仿真圖 計數(shù)器選擇模塊在密碼器中,計數(shù)器選擇模塊的功能是用來給出密碼預(yù)置輸出模塊中的地址選擇信號s0和s1,它的控制信號RESET和時鐘信號CNP是由控制器模塊來提供的;另外還有一個輸出信號FULL,它表示3個密碼數(shù)字已經(jīng)輸入完畢,控制器已經(jīng)可以進(jìn)入到啟動狀態(tài)。下面給出計數(shù)器選擇模塊的頂層原理圖如圖320所示。圖320 計數(shù)器選擇模塊的頂層原理圖從計數(shù)器選擇模塊的時序仿真圖221中可以看出:,這是因為此時s1和s0已經(jīng)計到了第三個數(shù)字,所以計數(shù)器選擇模塊向控制器發(fā)出了full信號。程序代碼參考附錄一中的程序9。圖321 計數(shù)器選擇模塊的時序仿真圖 數(shù)碼管顯示譯碼模塊數(shù)碼管顯示譯碼模塊的功能是用來顯示輸入的密碼數(shù)字,它可采用LED數(shù)碼顯示和液晶屏幕顯示兩種。液晶顯示具有高速顯示、高可靠性、易于擴(kuò)展和升級等特點,但是普通液晶顯示屏存
點擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
公安備案圖鄂ICP備17016276號-1