四位十進制頻率計_第1頁
四位十進制頻率計_第2頁
四位十進制頻率計_第3頁
四位十進制頻率計_第4頁
四位十進制頻率計_第5頁
已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、一、 設計任務與要求1. 設計4位十六進制頻率計,學習較復雜的數(shù)字系統(tǒng)設計方法;2. 深入學習數(shù)字系統(tǒng)設計的方法與步驟;3. 用元件例化語句寫出頻率計的頂層文件;4. 用VHDL硬件描述語言進行模塊電路的設計;5. 設計硬件要求:PC機,操作系統(tǒng)為Windows2000/XP,本課程所用系統(tǒng)均為max+plus II 5.1設計平臺,GW48系列SOPC/EDA實驗開發(fā)系統(tǒng)。二、總體框圖2.1工作原理以及方案原理工作說明:根據頻率的定義和頻率測量的基本原理,測定信號的頻率必須有一個脈寬為1秒的對輸入信號脈沖計數(shù)允許的信號;1秒計數(shù)結束后,計數(shù)值鎖入鎖存器的鎖存信號和為下一測頻計數(shù)周期作準備的計

2、數(shù)器清0信號。這3個信號可以由一個測頻控制信號發(fā)生器產生,即圖(a)中的TESTCTL,它的設計要求是,TESTCTL的計數(shù)使能信號CNT_EN能產生一個1秒脈寬的周期信號,并對頻率計的每一計數(shù)器CNT4B的ENA使能端進行同步控制。當CNT_EN高電平時,允許計數(shù);低電平時停止計數(shù),并保持其所計的脈沖數(shù)。在停止計數(shù)期間,首先需要產生一個鎖存信號LOAD,在該信號上升沿時,將計數(shù)器在前1秒鐘的計數(shù)值鎖存進各鎖存器REG4B中,并由外部的7段譯碼器譯出,顯示計數(shù)值。設置鎖存器的好處是,顯示的數(shù)據穩(wěn)定,不會由于周期性的清零信號而不斷閃爍。鎖存信號之后,必須有一清零信號RST_CNT對計數(shù)器進行清零

3、,為下1秒鐘的計數(shù)操作作準備。其工作時序波形如圖(a)。圖(a) 頻率計測頻控制器TESTCTL測控時序圖2.2選擇的設計方案:1. 根據頻率計的工作原理,將電路劃分成控制器、計數(shù)器、鎖存器和LED顯示幾個模塊, 控制器產生1秒脈寬的計數(shù)允許信號、鎖存信號和計數(shù)器清零信號計數(shù)器對輸入信號的脈沖數(shù)進行累計鎖存器鎖存測得的頻率值LED顯示將頻率值顯示在數(shù)碼管上2. 根據圖(a)、(b)及(1)(2)描述的4位十進制頻率計的工作原理,利用max+ plusII 5.1對以上三者的程序進行文本編輯輸入和仿真測試并根據圖(b),寫出頻率計的頂層文件,并給出其測頻時序波形,及其分析。3. 頻率計設計硬件驗

4、證。編譯、綜合和適配頻率計頂層設計文件,并編程下載進入目標器件中。本實驗目標器件是EP1K30TC144-3,實驗電路選擇模式0,4個數(shù)碼管(數(shù)碼4-1:PIO31-PIO16)顯示測頻輸出;待測頻率輸入FIN由clock0輸入,頻率可選4Hz、256HZ . . .或更高;1HZ測頻控制信號F1HZ可由clock2輸入(用電路帽選選1Hz)。2.3、總體框圖三、 選擇器件1. 裝有Quartus II軟件的微型計算機。計算機的硬件盡可能高,至少可以實現(xiàn)Quartus II軟件的使用。2. 硬件實現(xiàn)的芯片為PFGA/CPLD,芯片管腳的數(shù)量要保證足夠設計的程序所要使用的數(shù)量,并且使其所有管腳都

5、有可分配的管腳,可以實現(xiàn)Quartus II上綜合、適配的程序下載后可以順利實現(xiàn)。四、 功能模塊(1)、十六進制計數(shù)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY CNT4B IS PORT (CLK : IN STD_LOGIC; RST : IN STD_LOGIC; ENA : IN STD_LOGIC; OUTY : OUT STD_LOGIC_VECTOR(3 DOWNTO 0); COUT : OUT STD_LOGIC ); END CNT4B;ARCHITECTURE

6、 behav OF CNT4B IS SIGNAL CQI : STD_LOGIC_VECTOR(3 DOWNTO 0);BEGINP_REG: PROCESS(CLK, RST, ENA) BEGIN IF RST = '1' THEN CQI <= "0000" ELSIF CLK'EVENT AND CLK = '1' THEN IF ENA = '1' THEN CQI <= CQI + 1; END IF; END IF; OUTY <= CQI ; END PROCESS P_REG ;

7、-進位輸出 COUT<=CQI(0) AND CQI(1) AND CQI(2) AND CQI(3);END behav;仿真圖(2)掃描儀模塊-seltimelibrary ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;use ieee.std_logic_arith.all;entity seltime is port(clk1,reset:in std_logic;D1,D2,D3,D4:in std_logic_vector(3 downto 0);daout:out std_logic_vec

8、tor(3 downto 0);sel:out std_logic_vector(2 downto 0);end seltime;architecture fun of seltime is signal count:std_logic_vector(2 downto 0);beginsel<=count;process(clk1,reset)beginif(reset='0')thencount<="000"elsif(clk1 'event and clk1='1')thenif(count>="011

9、")thencount<="000"else count<=count+1;end if;end if;case count is when"000"=>daout<=D1;when"001"=>daout<=D2;when"010"=>daout<=D3;when"011"=>daout<=D4;when others=>NULL;end case;end process;end fun;仿真圖(3)、四位鎖存libr

10、ary ieee; use ieee.std_logic_1164.all;entity reg4b is port ( load : in std_logic; din : in std_logic_vector(3 downto 0); dout : out std_logic_vector(3 downto 0) );end reg4b;architecture behav of reg4b isbegin process(load, din)begin if load'event and load = '1' then dout <= din; end i

11、f; end process;end behav;仿真圖(4)、測頻控制器library ieee; -use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity testctl is port ( clkk : in std_logic; cnt_en,rst_cnt,load : out std_logic); end testctl;architecture behav of testctl is signal div2clk : std_logic;begin process( clkk ) begin if c

12、lkk'event and clkk = '1' then div2clk <= not div2clk; end if; end process; process (clkk, div2clk) begin if clkk='0' and div2clk='0' then rst_cnt <= '1' else rst_cnt <= '0' end if; end process; load <= not div2clk ; cnt_en <= div2clk;end beh

13、av;仿真圖(5)、七段數(shù)碼顯示-deled 模塊library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity deled isport(num:in std_logic_vector(3 downto 0);led:out std_logic_vector(6 downto 0);end deled;architecture fun of deled isbeginled<="1111110"when num="0000"else "011

14、0000"when num="0001"else "1101101"when num="0010"else "1111001"when num="0011"else "0110011"when num="0100"else "1011011"when num="0101"else "1011111"when num="0110"else "1110000&q

15、uot;when num="0111"else "1111111"when num="1000"else "1111011"when num="1001"else "1110111"when num="1010"else "0011111"when num="1011"else "1001110"when num="1100"else "0111101"wh

16、en num="1101"else "1001111"when num="1110"else "1000111"when num="1111"end fun;仿真圖(6)、3_8譯碼器模塊-decode3-8library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity decode3_8 isport(sel:in std_logic_vector(2 downto 0);q:out std_log

17、ic_vector(7 downto 0); end decode3_8;architecture a of decode3_8 isbeginq<="11111110"when sel=0 else "11111101"when sel=1 else "11111011"when sel=2 else "11110111"when sel=3 else -"11101111"when sel=4 else - "11011111"when sel=5 else &qu

18、ot;11111111"end a;仿真圖(7)、分頻器模塊-div_clk1library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity div_clk1 isport(clk_in:in std_logic;div_out:out std_logic;div_clk2:out std_logic);end div_clk1;architecture a of div_clk1 issignal fre_n:integer range 0 to 100000;signal clk_tmp:std_logic;signal

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論