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

正文內(nèi)容

基于fpga的數(shù)字密碼鎖設計(vhdl代碼全,11個模塊均調(diào)試通過)-全文預覽

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

下一頁面
  

【正文】 _model_arch OF sram_model IS SIGNAL d11,d12,d13,d14:std_logic。 wr,rd:IN std_logic。END invert_model_arch。ARCHITECTURE invert_model_arch OF invert_model ISBEGIN c1= NOT setup。 start:IN std_logic。程序9 反相電路模塊的VHDL程序LIBRARY IEEE。 a90 =NOT a9。 a50 =NOT a5。 a10 =NOT a1。ARCHITECTURE enable_model_arch OF enable_model ISBEGIN PROCESS (open_t,en,a0,a1,a2,a3,a4,a5,a6,a7,a8,a9) BEGIN IF (en=39。 en:IN std_logic。程序8 使能電路模塊的VHDL程序LIBRARY IEEE。 U13:key_sync PORT MAP(a70,clk,a71)。 U9:key_sync PORT MAP(a30,clk,a31)。 U5:key_sync PORT MAP(c5,clk,c55)。BEGIN 元件連接說明; U1:key_sync PORT MAP(c1,clk,c11)。ARCHITECTURE keysync_model_arch OF keysync_model IS COMPONENT key_sync PORT (key_in:IN std_logic。clk:IN std_logic。程序7 同步消抖模塊的VHDL程序LIBRARY IEEE。 key_out=tmp4 AND tmp5。 END COMPONENT df。 key_out:OUT std_logic)。LIBRARY IEEE。 END IF。 q,qb:OUT std_logic)。程序5 D觸發(fā)器的VHDL程序。 U3:clk_div10 PORT MAP(tmp2,tmp3)。 END COMPONENT clk_div200。 clk_div:OUT std_logic)。 clk_div1:OUT std_logic。END rtl。 END COMPONENT clk_div20。 clk_div:OUT std_logic)。ENTITY clk_div200 IS port(clk:IN std_logic。 clk_div = clk_tmp。 ELSE count = count +1。) THEN 上升沿觸發(fā); IF (count=1001)THEN 當count記過十個時鐘周期時,clk_tmp反相; count= (OTHERS =39。 SIGNAL clk_tmp:std_logic。ENTITY clk_div20 IS port(clk:IN std_logic。程序2 20分頻電路的VHDL程序LIBRARY IEEE。 END IF。 )。event AND clk =39。END clk_div10。USE 。焉得諼草,言樹之背,知育之恩,無以回報。在重新編寫之后問題得到解決。當驅(qū)動問題解決后,下載到FPGA芯片上后發(fā)現(xiàn)指示電路的工作情況與設計中完全相反了。另外,數(shù)字密碼鎖的電源,采用的簡單不間斷電源是將電池和電網(wǎng)交流電經(jīng)整流得到的直流低電壓分別串聯(lián)隔離二極管后相并自動切換。但要作為產(chǎn)品的標準卻少了產(chǎn)品分類、規(guī)格和型號,這給生產(chǎn)廠家和用戶帶來諸多不便。6 其他數(shù)字密碼0-DIP、START、OPEN、SETUP、ISETUP均為按鍵方式產(chǎn)生,其中數(shù)字密碼0-DIP、START、OPEN和SETUP可以采用外接的鍵盤來進行輸入需要注意的是,內(nèi)部按鍵ISETUP不由外接鍵盤提供。4 密碼鎖處于報警狀態(tài)時,START鍵和SETUP按鍵是不起作用的在這種情況下,密碼鎖必須由內(nèi)部人員通過按鍵ISETUP來對密碼器進行重新設置,目的是使其重新回到等待狀態(tài)。圖43 PIN腳的設置圖44 設置結(jié)果圖45 程序下載圖在DE2上硬件調(diào)試結(jié)果圖如圖46和圖47所示:圖46 成功的結(jié)果圖圖47 不成功的結(jié)果圖硬件調(diào)試結(jié)果說明:1 給密碼鎖上電后按下SETUP鍵,密碼鎖進入等待狀態(tài)當用戶需要開門時,按下START鍵,表示密碼鎖準備就緒,可以接收外部輸入的密碼數(shù)字;這時用來指示密碼鎖工作情況的指示燈和揚聲器都處于不工作狀態(tài)。從以上討論,可以看出前面各模塊設計較好的完成了數(shù)字密碼鎖的功能。圖 42 數(shù)字密碼輸入錯誤時的時序仿真圖當用戶在輸入密碼過程中發(fā)現(xiàn)密碼輸入有誤,則可以通過START鍵進行重新輸入,此時控制器向計數(shù)器發(fā)出RESET清零信號,密碼鎖重新進入到QC密碼輸入狀態(tài)。如果前面用戶輸入的數(shù)字密碼正確,則密碼鎖將進入啟動狀態(tài)QD,此時用戶若按下OPEN鍵,則密碼鎖的綠燈亮,密碼鎖開鎖。若用戶按下SETUP按鍵,則c11 產(chǎn)生一個高電平信號,WAIT_L置1,密碼鎖進入到準備狀態(tài)QB。 電路原理圖見圖41,具體源代碼見附錄一,仿真圖如圖321所示。當處于這種狀態(tài)時,控制器模塊的輸出EN信號將變?yōu)橛行?,它意味著此時允許數(shù)字密碼A0—A9和OPEN的按鍵輸入;啟動狀態(tài)QD是控制器模塊的第四個狀態(tài),這時控制器將判斷按鍵輸入的具體信號:如果判斷出按鍵輸入是OPEN信號,那么將發(fā)出S_LG信號;如果出是數(shù)字按鍵輸入,那么控制器模塊將進入到報警狀態(tài);報警狀態(tài)QE,當控制器模塊處于這個狀態(tài)時,如果按下START鍵,那么控制器模塊將發(fā)出復位信號RESET,并使控制器返回到密碼輸入狀態(tài);如果按下OPEN鍵,那么控制器模塊將輸出置位信號S_LR,并返回到報警返回狀態(tài);報警返回狀態(tài)QF,當控制器模塊處于這個狀態(tài)時,控制器將判斷輸入的具體信號:如果按下I—SETUP,那么控制器模塊將返回到建立等待狀態(tài)。本設計中將系統(tǒng)分為7個狀態(tài),即建立等待狀態(tài)QA、準備就緒狀態(tài)QB、密碼輸入狀態(tài)QC、啟動狀態(tài)QD、報警狀態(tài)QE、報警返回狀態(tài)QF、密碼修改狀態(tài)QG,各狀態(tài)之間的關(guān)系如框圖330所示。程序代碼參考附錄一中的程序12。接下來給出密碼器中指示電路模塊的頂層原理圖,如圖327所示。指示電路模塊中的主要元件是RS觸發(fā)器,控制器提供的置位和復位信號都應該是低電平有效。圖322 計數(shù)器選擇模塊的頂層原理圖從圖323數(shù)碼管顯示譯碼模塊的時序仿真圖中可以看出,當b4b3b2b1=0000時,a、b、c、d、e、f呈高電平,即數(shù)碼管顯示“0”,當b4b3b2b1=0001時, b、c呈高電平,即數(shù)碼管顯示“1”……,所以數(shù)碼管顯示譯碼如表324所示。它是由七段可發(fā)光的二極管組成的。圖320 計數(shù)器選擇模塊的頂層原理圖從計數(shù)器選擇模塊的時序仿真圖221中可以看出:,這是因為此時s1和s0已經(jīng)計到了第三個數(shù)字,所以計數(shù)器選擇模塊向控制器發(fā)出了full信號。圖中波形表明,當e1—e4與b1—b4相等時,dep信號輸出為高電平,否則輸出為低電平。圖317 編碼模塊的時序仿真圖 比較模塊在數(shù)字密碼鎖中,比較模塊的主要功能是對編成模塊的輸出B1—B4這4位數(shù)據(jù)和密碼存儲模塊的輸出E1—E4這4位數(shù)據(jù)進行比較,然后將比較的結(jié)果送入到控制器模塊的DEF端口上。對于編碼器的輸出來說,B4是MSB,B1是LSB。圖314 密碼存儲模塊的頂層原理圖密碼存儲模塊的時序仿真圖如圖315所示,從圖中可以看出:在0200ns時,寫信號有效,由A0—A9數(shù)字按鍵產(chǎn)生的輸入信號存入了密碼存儲模塊;在200400ns時,讀信號有效,存儲的密碼由e1—e4輸出,進入比較模塊與輸入的數(shù)字進行比較。 圖313 反相電路模塊的時序仿真圖 密碼存儲模塊在數(shù)字密碼鎖中,密碼存儲模塊是它的密碼規(guī)定電路,其功能有兩個:一個是將存儲的密碼輸出到比較模塊中與外部輸入的數(shù)字進行比較操作,另一個是存儲用戶修改后的密碼[9]。它的頂層原理圖如圖312所示,VHDL程序如程序10所示。圖310 使能電路模塊的頂層原理圖使能電路經(jīng)時序仿真后如圖311所示,從圖中我們可以看出,當使能信號EN有效(高電平)時,輸入的信號A0-A9和OPEN_T進行反相操作;否則輸出為高阻狀態(tài),從而達到了使能電路的功能[8]。程序代碼參考附錄一中的程序3。圖37 D觸發(fā)器的時序仿真圖這里需要注意的是,因為采用與非門構(gòu)成的觸發(fā)器使用低電平觸發(fā),因此按鍵輸入的數(shù)字或者指令要設計為低電平有效。輸入tmp1clktmp2 tmp3 tmp6 tmp5 輸出圖35 消抖同步電路圖中所用到的D觸發(fā)器的頂層原理圖如圖36所示。圖35所示的就是一種應用得較為廣泛的消抖同步電路。圖34 10分頻電路的時序仿真圖對于數(shù)字密碼鎖輸入電路,可供選擇的方案有數(shù)字機械式鍵盤和觸摸式數(shù)字鍵盤等多種。10分頻電路的頂層原理圖如圖33所示。若輸入時鐘為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分頻。這里取5Hz。表31各個模塊的功能模塊功能分頻模塊對已有的時鐘頻率進行分頻獲得我們需要的頻率同步消抖模塊對輸入的數(shù)字密碼A0-ASTART、OPEN、SETUP和ISETUP等按鍵信號進行同步消抖使能電路模塊控制輸入按鍵是否有效反相電路模塊用來對輸入的SETUP、ISETUP和START按鍵輸入信號進行反相操作密碼存儲模塊對計數(shù)模塊的計數(shù)值進行寄存編碼模塊將外接鍵盤輸入的信號轉(zhuǎn)換成BCD碼比較模塊對編成模塊的輸出數(shù)據(jù)和密碼存儲模塊的輸出數(shù)據(jù)進行比較計數(shù)選擇模塊根據(jù)動態(tài)選擇信號,選擇相應的需要顯示的計數(shù)值數(shù)碼管譯碼模塊將BCD碼譯成數(shù)碼管的顯示數(shù)據(jù)指示電路模塊顯示輸出的狀態(tài)和發(fā)出警報聲控制器模塊控制整個電路中各狀態(tài)之間的轉(zhuǎn)換和運行 各功能模塊的實現(xiàn)與調(diào)試密碼鎖中分頻模塊的主要功能是用來對輸入的外部時鐘進行1000分頻和200000分頻,目的是得到1000Hz的時鐘信號CLK_DIV1和5Hz的時鐘信號CLK_DIV2。 數(shù)字密碼鎖VCC A F BE C G D LED_GLED_RALERTDIPSETUPSTARTOPENISETUPA0A1A2A3A4A5A6A7A8A9CLK圖31數(shù)字密碼鎖的構(gòu)架圖 對照圖31,各輸入輸出如表31所示。下面就各個模塊的設計、仿真調(diào)試和結(jié)果等作概要的介紹。顯示電路主要是用來顯示密碼鎖當前的狀態(tài)和輸入的密碼是否正確[4]。其中FPGA為主控部分,將消除同步模塊、計數(shù)器模塊、控制器模塊都用VHDL語言寫入FPGA中代替了傳統(tǒng)復雜的電路設計,也省去了很多繁瑣的調(diào)試步驟,只有這些模塊在Quartus II平臺通過了仿真,就可以實現(xiàn)傳統(tǒng)電路模塊的功能。 控FPGA譯碼按鍵顯示聲光顯示密碼存儲器 圖 25 數(shù)字密碼鎖的設計框圖基于FPGA實現(xiàn)的數(shù)字密碼設計框圖中主要包括6大部分:按鍵輸入、FPGA器件、聲光顯示、密碼存儲、譯碼電路,顯示電路[3]。聲光顯示主要是來判斷密碼輸入的正確與否和當前密碼鎖的狀態(tài);密碼存儲器主要是用來存儲密碼和防止電源掉電而導致密碼鎖的數(shù)據(jù)丟失和提高密碼鎖的安全性。3 功能模塊設計與實現(xiàn)根據(jù)前面確定的方案, 數(shù)字密碼鎖主要是由控制模塊和外圍模塊組成,以FPGA為控制核心, 配以相應硬件電路,完成密碼的設置、存貯、識別和顯示、報警等功能。具體設定數(shù)字密碼鎖的主要功能如下:數(shù)字密碼鎖的工作時鐘由外部晶振來提供,時鐘頻率為1MHz;密碼采用3位十進制數(shù)字;密碼輸入正確后,密碼鎖將啟動開鎖裝置;密碼輸入錯誤后,密碼鎖將給出報警信息,它通過紅燈和蜂鳴器來指示;報警后,內(nèi)部人員可以通過按鍵ISETUP對密碼進行重新設置;保險柜開啟后,操作人員可以通過SETUP使密碼器回到初始等待狀態(tài)。下面就具體如何設計和具體實現(xiàn)作必要的說明。這里假設用來驅(qū)動蜂鳴器的時鐘信號為CLK_DIV1
點擊復制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1