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

正文內(nèi)容

基于fpga的數(shù)字密碼鎖設(shè)計(jì)(vhdl代碼全,11個(gè)模塊均調(diào)試通過)-免費(fèi)閱讀

2025-07-12 17:45 上一頁面

下一頁面
  

【正文】 139。039。139。139。 ELSE p = 39。 reset =39。 密碼輸入狀態(tài) IF (c44 =39。139。139。 wait_l = 39。 wait_l= 39。 p,reset:OUT std_logic。USE 。BEGIN U1:rs_df PORT MAP(wait_l,s_lg,led_g)。 s_lr:IN std_logic。 信號定義;BEGIN 元件連接聲明; tmp2=r NAND tmp1。g=data_tmp(6)。 END CASE。 WHEN 0011=data_tmp=1001111。BEGIN PROCESS (b1,b2,b3,b4) VARIABLE b: std_logic_vector(3 DOWNTO 0)。 s1=count(1)。) THEN 上升沿觸發(fā); IF (count=10) THEN 當(dāng)計(jì)數(shù)器計(jì)數(shù)滿3時(shí),count重新計(jì)數(shù),full=1; count=00。139。USE 。 輸入數(shù)字與密碼相同時(shí),dep輸出1信號; ELSE dep=39。程序12 比較模塊的VHDL程序LIBRARY IEEE。139。139。139。039。039。139。139。039。139。039。039。139。139。039。139。039。 b1,b2,b3,b4:OUT std_logic。 END IF。d44=b4。d34=b4。d24=b4。d14=b4。e3=d43。e3=d23。 PROCESS(b) BEGIN IF(rd=39。END sram_model。 c5= NOT dip。 isetup:IN std_logic。 a80 =NOT a8。 a00 =NOT a0。 a0,a1,a2,a3,a4,a5,a6,a7,a8,a9:IN std_logic。 U12:key_sync PORT MAP(a60,clk,a61)。 U4:key_sync PORT MAP(c4,clk,c44)。END keysync_model。END rtl。 q,qb:OUT std_logic)。程序6 消抖同步電路的VHDL程序。ENTITY df IS PORT (d,clk:IN std_logic。 U2:clk_div10 PORT MAP(tmp1,tmp2)。ARCHITECTURE clkdiv_model_arch OF clkdiv_model IS COMPONENT clk_div10 PORT (clk:IN std_logic。 U2:clk_div20 PORT MAP(tmp,clk_div)。ARCHITECTURE rtl OF clk_div200 IS COMPONENT clk_div10 PORT (clk:IN std_logic。 END PROCESS。139。USE 。 END IF。BEGIN PROCESS(clk) BEGIN IF ( clk39。USE 。經(jīng)檢查后發(fā)現(xiàn)是控制器中密碼存儲(chǔ)狀態(tài)部分的程序編寫不周到導(dǎo)致的。我在這方面考慮有所欠缺。因此,密碼鎖需要含有一個(gè)輸入數(shù)字密碼的顯示電路,這里采用七段顯示數(shù)碼管來依次顯示輸入的數(shù)字密碼。 過程調(diào)試 PIN腳的設(shè)置、結(jié)果及程序下載圖分別如圖4圖44和圖45所示。如果前面用戶輸入的數(shù)字密碼不正確,則密碼鎖將進(jìn)入到報(bào)警狀態(tài)QE,如圖42所示。圖42顯示的是用戶輸入正確的密碼以及修改數(shù)字密碼時(shí)的時(shí)序仿真圖,從圖中可以看出:當(dāng)給密碼鎖上電后,密碼鎖進(jìn)入到等待狀態(tài)QA。在這種情況下,密碼器會(huì)輸出計(jì)數(shù)器清零信號RESET把計(jì)數(shù)器復(fù)位置零;密碼輸入狀態(tài)QC是控制器模塊的第三個(gè)狀態(tài),這時(shí)密碼器將會(huì)進(jìn)入到數(shù)字密碼輸入的操作狀態(tài)。從時(shí)序圖中可以看出,報(bào)警模塊的設(shè)計(jì)符合設(shè)計(jì)要求。根據(jù)圖22所示的模塊劃分框圖不難看出,綠燈指示LED_G是由控制器模塊提供的置位信號S_LG和按下WAIT_T鍵時(shí)提供的WAIT_L信號通過RS觸發(fā)器來共同控制的;紅燈指示LED_R是由控制器模塊提供的置位信號S_LR和信號WAIT_L共同控制的;蜂鳴裝置ALERT是由置位信號S_LR、信號WAIT_L反相器和單頻信號CLK_DIV1來共同控制的。液晶顯示具有高速顯示、高可靠性、易于擴(kuò)展和升級等特點(diǎn),但是普通液晶顯示屏存在亮度低、對復(fù)雜環(huán)境的適應(yīng)能力差等缺點(diǎn),在低亮度的環(huán)境下還需要加入其它輔助的照明設(shè)備,驅(qū)動(dòng)電路設(shè)計(jì)相對復(fù)雜,因此本設(shè)計(jì)的顯示電路仍使用通用的LED數(shù)碼管。 圖318 比較模塊的頂層原理圖 經(jīng)過Quartus II仿真后,得到時(shí)序仿真圖如圖319。因?yàn)榍凹壪锻侥K的輸出是高電平,因此A0—A9這10個(gè)數(shù)字的輸入信號經(jīng)過消抖同步后應(yīng)該是高電平有效。程序代碼參考附錄一中的程序5。密碼鎖中的使能電路模塊的頂層原理圖如圖310所示,VHDL程序如程序9所示。程序代碼參考附錄一中的程序2。因此必須添加消抖同步電路。 10分頻電路20分頻電路CLKCLK_DIV1tmp3圖32 級聯(lián)構(gòu)成的200分頻電路 通過圖32所示的分頻電路的級聯(lián)結(jié)構(gòu)可以看出,這里首先要進(jìn)行10分頻和20分頻電路的設(shè)計(jì),然后才可以通過級聯(lián)的方法來設(shè)計(jì)200分頻,下面具體以10分頻做下介紹。這里假設(shè)用來驅(qū)動(dòng)蜂鳴器的時(shí)鐘信號為CLK_DIV1,它的頻率為1000Hz;用來提供給消抖同步電路的時(shí)鐘信號CLK_DIV2,它的時(shí)鐘頻率為4—8Hz。具體設(shè)定數(shù)字密碼鎖的主要功能如下:數(shù)字密碼鎖的工作時(shí)鐘由外部晶振來提供,時(shí)鐘頻率為1MHz;密碼采用3位十進(jìn)制數(shù)字;密碼輸入正確后,密碼鎖將啟動(dòng)開鎖裝置;密碼輸入錯(cuò)誤后,密碼鎖將給出報(bào)警信息,它通過紅燈和蜂鳴器來指示;報(bào)警后,內(nèi)部人員可以通過按鍵ISETUP對密碼進(jìn)行重新設(shè)置;保險(xiǎn)柜開啟后,操作人員可以通過SETUP使密碼器回到初始等待狀態(tài)。聲光顯示主要是來判斷密碼輸入的正確與否和當(dāng)前密碼鎖的狀態(tài);密碼存儲(chǔ)器主要是用來存儲(chǔ)密碼和防止電源掉電而導(dǎo)致密碼鎖的數(shù)據(jù)丟失和提高密碼鎖的安全性。其中FPGA為主控部分,將消除同步模塊、計(jì)數(shù)器模塊、控制器模塊都用VHDL語言寫入FPGA中代替了傳統(tǒng)復(fù)雜的電路設(shè)計(jì),也省去了很多繁瑣的調(diào)試步驟,只有這些模塊在Quartus II平臺通過了仿真,就可以實(shí)現(xiàn)傳統(tǒng)電路模塊的功能。下面就各個(gè)模塊的設(shè)計(jì)、仿真調(diào)試和結(jié)果等作概要的介紹。表31各個(gè)模塊的功能模塊功能分頻模塊對已有的時(shí)鐘頻率進(jìn)行分頻獲得我們需要的頻率同步消抖模塊對輸入的數(shù)字密碼A0-ASTART、OPEN、SETUP和ISETUP等按鍵信號進(jìn)行同步消抖使能電路模塊控制輸入按鍵是否有效反相電路模塊用來對輸入的SETUP、ISETUP和START按鍵輸入信號進(jìn)行反相操作密碼存儲(chǔ)模塊對計(jì)數(shù)模塊的計(jì)數(shù)值進(jìn)行寄存編碼模塊將外接鍵盤輸入的信號轉(zhuǎn)換成BCD碼比較模塊對編成模塊的輸出數(shù)據(jù)和密碼存儲(chǔ)模塊的輸出數(shù)據(jù)進(jìn)行比較計(jì)數(shù)選擇模塊根據(jù)動(dòng)態(tài)選擇信號,選擇相應(yīng)的需要顯示的計(jì)數(shù)值數(shù)碼管譯碼模塊將BCD碼譯成數(shù)碼管的顯示數(shù)據(jù)指示電路模塊顯示輸出的狀態(tài)和發(fā)出警報(bào)聲控制器模塊控制整個(gè)電路中各狀態(tài)之間的轉(zhuǎn)換和運(yùn)行 各功能模塊的實(shí)現(xiàn)與調(diào)試密碼鎖中分頻模塊的主要功能是用來對輸入的外部時(shí)鐘進(jìn)行1000分頻和200000分頻,目的是得到1000Hz的時(shí)鐘信號CLK_DIV1和5Hz的時(shí)鐘信號CLK_DIV2。若輸入時(shí)鐘為CLK,N位計(jì)數(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)取得的是一個(gè)脈沖波形序列,其值依次為00-01-10-11周期性變化,其變化頻率為CLK的分頻,也就是32分頻。圖34 10分頻電路的時(shí)序仿真圖對于數(shù)字密碼鎖輸入電路,可供選擇的方案有數(shù)字機(jī)械式鍵盤和觸摸式數(shù)字鍵盤等多種。輸入tmp1clktmp2 tmp3 tmp6 tmp5 輸出圖35 消抖同步電路圖中所用到的D觸發(fā)器的頂層原理圖如圖36所示。程序代碼參考附錄一中的程序3。它的頂層原理圖如圖312所示,VHDL程序如程序10所示。圖314 密碼存儲(chǔ)模塊的頂層原理圖密碼存儲(chǔ)模塊的時(shí)序仿真圖如圖315所示,從圖中可以看出:在0200ns時(shí),寫信號有效,由A0—A9數(shù)字按鍵產(chǎn)生的輸入信號存入了密碼存儲(chǔ)模塊;在200400ns時(shí),讀信號有效,存儲(chǔ)的密碼由e1—e4輸出,進(jìn)入比較模塊與輸入的數(shù)字進(jìn)行比較。圖317 編碼模塊的時(shí)序仿真圖 比較模塊在數(shù)字密碼鎖中,比較模塊的主要功能是對編成模塊的輸出B1—B4這4位數(shù)據(jù)和密碼存儲(chǔ)模塊的輸出E1—E4這4位數(shù)據(jù)進(jìn)行比較,然后將比較的結(jié)果送入到控制器模塊的DEF端口上。圖320 計(jì)數(shù)器選擇模塊的頂層原理圖從計(jì)數(shù)器選擇模塊的時(shí)序仿真圖221中可以看出:,這是因?yàn)榇藭r(shí)s1和s0已經(jīng)計(jì)到了第三個(gè)數(shù)字,所以計(jì)數(shù)器選擇模塊向控制器發(fā)出了full信號。圖322 計(jì)數(shù)器選擇模塊的頂層原理圖從圖323數(shù)碼管顯示譯碼模塊的時(shí)序仿真圖中可以看出,當(dāng)b4b3b2b1=0000時(shí),a、b、c、d、e、f呈高電平,即數(shù)碼管顯示“0”,當(dāng)b4b3b2b1=0001時(shí), b、c呈高電平,即數(shù)碼管顯示“1”……,所以數(shù)碼管顯示譯碼如表324所示。接下來給出密碼器中指示電路模塊的頂層原理圖,如圖327所示。本設(shè)計(jì)中將系統(tǒng)分為7個(gè)狀態(tài),即建立等待狀態(tài)QA、準(zhǔn)備就緒狀態(tài)QB、密碼輸入狀態(tài)QC、啟動(dòng)狀態(tài)QD、報(bào)警狀態(tài)QE、報(bào)警返回狀態(tài)QF、密碼修改狀態(tài)QG,各狀態(tài)之間的關(guān)系如框圖330所示。 電路原理圖見圖41,具體源代碼見附錄一,仿真圖如圖321所示。如果前面用戶輸入的數(shù)字密碼正確,則密碼鎖將進(jìn)入啟動(dòng)狀態(tài)QD,此時(shí)用戶若按下OPEN鍵,則密碼鎖的綠燈亮,密碼鎖開鎖。從以上討論,可以看出前面各模塊設(shè)計(jì)較好的完成了數(shù)字密碼鎖的功能。4 密碼鎖處于報(bào)警狀態(tài)時(shí),START鍵和SETUP按鍵是不起作用的在這種情況下,密碼鎖必須由內(nèi)部人員通過按鍵ISETUP來對密碼器進(jìn)行重新設(shè)置,目的是使其重新回到等待狀態(tài)。但要作為產(chǎn)品的標(biāo)準(zhǔn)卻少了產(chǎn)品分類、規(guī)格和型號,這給生產(chǎn)廠家和用戶帶來諸多不便。當(dāng)驅(qū)動(dòng)問題解決后,下載到FPGA芯片上后發(fā)現(xiàn)指示電路的工作情況與設(shè)計(jì)中完全相反了。焉得諼草,言樹之背,知育之恩,無以回報(bào)。END clk_div10。 )。程序2 20分頻電路的VHDL程序LIBRARY IEEE。 SIGNAL clk_tmp:std_logic。 ELSE count = count +1。ENTITY clk_div200 IS port(clk:IN std_logic。 END COMPONENT clk_div20。 clk_div1:OUT std_logic。 END COMPONENT clk_div200。程序5 D觸發(fā)器的VHDL程序。 END IF。 key_out:OUT std_logic)。 key_out=tmp4 AND tmp5。clk:IN std_logic。BEGIN 元件連接說明; U1:key_sync PORT MAP(c1,clk,c11)。 U9:key_sync PORT MAP(a30,clk,a31)。程序8 使能電路模塊的VHDL程序LIBRARY IEEE。ARCHITECTURE enable_model_arch OF enable_model ISBEGIN PROCESS (open_t,en,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9) BEGIN IF
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1