版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、目 錄前 言11. 總體設(shè)計方案21.1 總體設(shè)計方案22. 單元模塊設(shè)計22.1 十進制計數(shù)器設(shè)計22.1.1 十進制計數(shù)器原件cnt10設(shè)計22.1.2 位十進制計數(shù)器的頂層設(shè)計42.2 閘門控制模塊EDA設(shè)計52.2.1 定時信號模塊Timer52.2.2 控制信號發(fā)生器模塊T_con72.3 譯碼顯示模塊82.3.1 顯示寄存器設(shè)計82.3.2 譯碼掃描顯示電路92.3.3 譯碼顯示模塊的頂層電路設(shè)計123. 軟件測試133.1 測試的環(huán)境133.2 調(diào)試和器件編程144. 設(shè)計總結(jié)155. 參考文獻16前 言在電子技術(shù)高度發(fā)展的今天,各種電子產(chǎn)品層出不窮,而頻率作為設(shè)計的最基本的參數(shù)
2、之一,并且與許多電參量的測量方案、測量結(jié)果都有十分密切的關(guān)系,因此,頻率的測量就顯得更為重要。測量頻率的方法有多種,其中電子計數(shù)器測量頻率具有精度高、使用方便、測量迅速,以及便于實現(xiàn)測量過程的自動化等優(yōu)點。數(shù)字頻率計是一種用十進制數(shù)字顯示被測信號頻率的數(shù)字測量儀器,它的基本功能是測量正弦信號、方波信號、尖脈沖信號以及其它各種單位時間內(nèi)變化的物理量。當今國內(nèi)外廠家生產(chǎn)的數(shù)字頻率計在功能和性能方面都比較優(yōu)良,而且還在不斷發(fā)展中,但其結(jié)構(gòu)比較復(fù)雜,價位也比較高,在測量精準度要求比較低的測量場合,使用這些數(shù)字頻率計就不夠經(jīng)濟合算。我所設(shè)計的這款數(shù)字頻率計能夠可靠實現(xiàn)頻率顯示功能,原理及結(jié)構(gòu)也比較簡單本
3、次所做的課程設(shè)計就是一個數(shù)字頻率計,能測量1HZ9999HZ的矩形波信號,并正確地顯示所測信號的頻率值。數(shù)字頻率計是數(shù)字電路中的一個典型應(yīng)用,實際的硬件設(shè)計用到的器件較多,連線比較復(fù)雜,而且會產(chǎn)生比較大的延時,造成測量誤差、可靠性差。隨著現(xiàn)場可編程門陣列FPGA的廣泛應(yīng)用,以EDA工具作為開發(fā)手段,運用VHDL等硬件描述語言語言,將使整個系統(tǒng)大大簡化,提高了系統(tǒng)的整體性能和可靠性。 采用FPGA現(xiàn)場可編程門陣列為控制核心,通過硬件描述語言VHDL編程,在Quartus仿真平臺上編譯、仿真、調(diào)試 ,并下載到FPGA芯片上,通過嚴格的測試后,能夠較準確地測量各種常用的波形信
4、號的頻率,而且還能對其他多種物理量進行測量。1. 總體設(shè)計方案1.1 總體設(shè)計方案數(shù)字頻率計基本原理是用計數(shù)器來計算1S內(nèi)輸入信號周期的個數(shù)。如圖1所示是4位十進制數(shù)字頻率計的系統(tǒng)方框原理圖,當系統(tǒng)正常工作時,脈沖發(fā)生器提供的1 Hz的輸入信號,經(jīng)過測頻控制信號發(fā)生器進行信號的變換,產(chǎn)生計數(shù)信號,被測信號通過信號整形電路產(chǎn)生同頻率的矩形波,送入計數(shù)模塊,計數(shù)模塊對輸入的矩形波進行計數(shù),將計數(shù)結(jié)果送入鎖存器中,保證系統(tǒng)可以穩(wěn)定顯示數(shù)據(jù),顯示譯碼驅(qū)動電路將二進制表示的計數(shù)結(jié)果轉(zhuǎn)換成相應(yīng)的能夠在七段數(shù)碼顯示管上可以顯示的十進制結(jié)果。圖1 總體設(shè)計方案2. 單元模塊設(shè)計2.1 十進制計數(shù)器設(shè)計2.1.
5、1 十進制計數(shù)器原件cnt10設(shè)計十進制計數(shù)器即可采用Quartus的宏元件74160,也可用VHDL語言設(shè)計,其源程序如下。 LIBRARY IEEE; USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL; ENTITY cnt10_v ISPORT(CLK,RST,EN:IN STD_LOGIC; CQ:OUT STD_LOGIC_VECTOR(3 DOWNTO 0);COUT:OUT STD_LOGIC );END cnt10_v;ARCHITECTURE behav OF cnt10_v ISBEGIN PROCESS
6、(CLK,RST,EN) VARIABLE CQI:STD_LOGIC_VECTOR(3 DOWNTO 0);BEGIN IF RST='1'THEN CQI:=(OTHERS=>'0'); -計數(shù)器異步復(fù)位 ELSIF CLK'EVENT AND CLK='1' THEN -檢測時鐘上升沿 IF EN='1' THEN -檢測是否允許計數(shù)(同步使能) IF CQI<9 THEN CQI:=CQI+1; -允許計數(shù),檢測是否小于9 ELSE CQI:=(OTHERS=>'0'); -大于9
7、,計數(shù)值清零 END IF; END IF; END IF; IF CQI=9 THEN COUT<='1' -計數(shù)等于9,輸出進位信號 ELSE COUT<='0' END IF; CQ<=CQI; -將計數(shù)值向端口輸出END PROCESS;END behav;在源程序中:COUT: 計數(shù)器進位輸出 CQ3.0: 計數(shù)器的狀態(tài)輸出 CLK: 時鐘輸入端 RST: 復(fù)位控制輸入端,當RST=1時,CQ3.0=0 EN: 使能控制輸入端,當EN=1時,計數(shù)器計數(shù);當EN=0 時,計數(shù)器保持不工作狀態(tài)。圖2 十進制計數(shù)器仿真輸出波形在項目編譯仿真
8、成功后將設(shè)計的十進制計數(shù)器電路設(shè)置成可調(diào)用的元件cnt10_v.bsf,用于以下四位十進制計數(shù)器的頂層設(shè)計。 圖3 十進制計數(shù)器元件符號 位十進制計數(shù)器的頂層設(shè)計頂層電路原理圖如圖4所示。文件名4cnt10.bdf。該頂層設(shè)計可以用原理圖輸入的方法完成。在QuartusII中,新建一個原理圖編輯窗口,從當前的工程目錄中調(diào)出4片十進制計數(shù)器元件cnt_v,并按4所示的4位十進制計數(shù)器的頂層原理圖完成電路接線。完成4位十進制計數(shù)器的頂層原理圖編輯以后,即可進行仿真測試和波形分析,其仿真輸出波形如圖5所示,當CLR=0,EN=1時其計數(shù)值在09999之間的變化,COUT為計數(shù)進位輸入信號,在實際應(yīng)用
9、中可作為超量程報警信號,因此仿真結(jié)果真確無誤。此后,可將以上設(shè)計的4位十進制計數(shù)器設(shè)置成可調(diào)用的元件4cnt10.bsf以備高層設(shè)計中使用,其元件符號如圖6所示。圖4 十進制計數(shù)器的頂層原理圖圖5 四位十進制計數(shù)器的仿真圖圖6 元件封裝符號圖2.2 閘門控制模塊EDA設(shè)計 根據(jù)以上所述,頻率計電路工作時先要產(chǎn)生一個計數(shù)允許信號(即閘門信號),閘門信號的寬度為單位時間如1s,在閘門信號有效時間內(nèi),對被測信號計數(shù),即為信號的頻率,該頻率計電路的精度取決于閘門信號T,該模塊課分為2個子模塊,一個是定是信號模塊,一個是控制信號發(fā)生器模塊。 定時信號模塊Timer 根據(jù)設(shè)計要求,對于4位十進制計數(shù)器來說
10、,當閘門信號的最大采樣時間為1s時,其計數(shù)值在09999之間,則最大頻率為9999Hz,此即位頻率計電路工作的1檔;當閘門信號的最大采樣時間為0.1s(100ms)時,其計數(shù)值在09999之間,把它轉(zhuǎn)化為頻率則為最小頻率為10Hz,最大頻率為9999Hz,此即為頻率計電路工作的2檔;當閘門信號的最大采樣時間為0.01s(10ms)時,其計數(shù)值在09999之間,把它轉(zhuǎn)換為頻率則為最小頻率為100Hz,最大頻率為999900Hz或999.9KHz,此即為頻率計電路工作的3檔;當閘門信號的最大采樣時間為0.001s(1ms)時,其技術(shù)值在09999之間,把它轉(zhuǎn)換為頻率則為最小頻率為1000Hz,最大
11、頻率為9999000Hz或9.99MHz,此即為頻率計電路工作的4檔。 本設(shè)計中假設(shè)輸入的系統(tǒng)基準時鐘為1KHz,為產(chǎn)生4種不同的閘門信號T,可由一組3級模10計數(shù)器對1KHz信號進行分頻,為控制信號發(fā)生器提供4種不同的頻率信號,通過數(shù)據(jù)選擇器41MUX利用量程選擇開關(guān)控制閘門信號T的基準時鐘,原理如圖7所示。 圖7中,cnt10_v為已設(shè)計好的十進制計數(shù)器元件,可直接把該模塊作為底層元件使用,41MUX為4選1數(shù)據(jù)選擇器,其4個輸入為1KHz信號進行分頻后的4中不同的頻率信號L4(1s)、L3(100ms)、L2(10ms)、L1(1ms)。A、B為量程選擇開關(guān),其4種不同編碼狀態(tài)00、01
12、、10、11通過4選1數(shù)據(jù)選擇器分別選擇輸出4種不同的頻率信號到Bclk,Blck將作為控制信號發(fā)生器模塊的控制時鐘脈沖。A、B的4種不同編碼狀態(tài)通過2-4譯碼器74139M產(chǎn)生4個量程狀態(tài)顯示信號p0(1檔)、p1(2檔)、p3(3檔)、p4(4檔)。圖8為其編譯仿真后的輸出時序波形圖,生成的元件符號圖如圖9所示。圖7 定時信號模塊原理圖圖8 仿真輸出波形圖9 定時信號模塊 控制信號發(fā)生器模塊T_con控制信號發(fā)生器原理圖如圖10,文件名T_con.bdf。該模塊主要根據(jù)輸入的控制時鐘脈沖,產(chǎn)生計數(shù)允許信號EN,該信號的高電平是持續(xù)時間即計數(shù)允許時間輸入的控制時鐘脈沖周期;產(chǎn)生清零信號CLR
13、,在計數(shù)使能前對計數(shù)器清零;產(chǎn)生存儲信號XEN,在計數(shù)后,利用上升沿把最新的頻率測量值保存在顯示寄存器中??刂菩盘柊l(fā)生器用74161構(gòu)成4分頻計數(shù)器,用一個與非門,一個或非門和一個異或門實現(xiàn)3種譯碼狀態(tài),以便產(chǎn)生清零信號CLR,使能信號EN和存儲信號XEN。其仿真輸出波形圖如圖11,編譯仿真真確無誤后,生成元件符號圖12所示。 圖10 信號發(fā)生器模塊原理圖圖11 仿真輸出波形圖12 控制信號發(fā)生器模塊2.3 譯碼顯示模塊譯碼顯示模塊有顯示寄存器和譯碼掃描顯示電路組成。 顯示寄存器設(shè)計 顯示寄存器是在計數(shù)后,利用觸發(fā)器的上升沿把最新的頻率測量值保存起來,這樣在計數(shù)過程中可不必一直看著數(shù)碼管顯示器
14、,顯示器將最終的頻率讀數(shù)定期進行更新,其輸出將作為譯碼掃描顯示電路的輸入。16位顯示寄存器的VHDL源程序如下。 LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY reg_16 IS PORT ( Load: IN STD_LOGIC; DIN : IN STD_LOGIC_VECTOR(15 DOWNTO 0); DOUT: OUT STD_LOGIC_VECTOR(15 DOWNTO 0);END reg_16;ARCHITECTURE behav OF reg_16 ISBEGI
15、N PROCESS( Load, DIN)BEGINIF Load ' EVENT AND Load='1' THEN -時鐘到來時,鎖存輸入數(shù)據(jù) DOUT<=DIN; END IF; END PROCESS; END behav;在源程序中: Load: 鎖存信號,上升沿觸發(fā) DIN15.0: 寄存器輸入 DOUT15.0: 寄存器輸出 圖13 16位顯示寄存器元件符號 譯碼掃描顯示電路數(shù)字邏輯系統(tǒng)中常用的顯示器件是數(shù)碼管,半導(dǎo)體數(shù)碼管的外形和等效電路如圖14所示,其每一個字段都是一個發(fā)光二極管。在FPGA驗證設(shè)計結(jié)果時,兩種方法均可采用。N個LED數(shù)碼管以靜態(tài)
16、方式顯示時,需用到8×N條引腳端資源是有限的。因此對于多個LED數(shù)碼管顯示,可以采用掃描方式來實現(xiàn)LED數(shù)碼管動態(tài)顯示。實現(xiàn)方法是將頻率計的4個數(shù)碼管的相應(yīng)字段并聯(lián)起來,由于FPGA的輸入信號a、b、c、d、e、f、g、h(小數(shù)點)直接驅(qū)動相應(yīng)字段,由片選信號S1、S2、S3、S4依次點亮各個LED數(shù)碼管,循環(huán)進行顯示,其原理圖如圖15。 圖14 數(shù)碼管的外形和等效電路圖15 數(shù)碼管動態(tài)掃描顯示原理圖 七段數(shù)碼顯示譯碼器的VHDL設(shè)計 該模塊將顯示寄存器的4位BCD數(shù)字符譯成七段碼,根據(jù)表1,其VHDL源程序如下。表1 共陰極LED數(shù)碼管顯示譯碼真值BCD碼輸入 輸出電平 輸出字形B
17、CD碼輸出 輸出電平 輸出字形 DCBA gfedcba 0101 1101101 5 0000 0111111 0 0110 1111101 6 0001 0000110 1 0111 0000111 7 0010 1011011 2 1000 1111111 8 0011 1001111 3 1001 1101111 9 0100 1100110 4 七段數(shù)碼顯示譯碼器的VHDL源程序:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY DECL7S ISPORT(A :IN STD_LOGIC_VECTOR(3 DOWNTO 0); LED7S
18、:OUT STD_LOGIC_VECTOR(6 DOWNTO 0);END DECL7S;ARCHITECTURE one OF DECL7S ISBEGINPROCESS(A) BEGIN CASE A IS WHEN"0000"=> LED7S<="0111111" -0(LED為共陰級) WHEN"0001"=> LED7S<="0000110" -1 WHEN"0010"=> LED7S<="1011011" -2 WHEN&quo
19、t;0011"=> LED7S<="1001111" -3 WHEN"0100"=> LED7S<="1100110" -4 WHEN"0101"=> LED7S<="1101101" -5 WHEN"0110"=> LED7S<="1111101" -6 WHEN"0111"=> LED7S<="0000111" -7 WHEN"100
20、0"=> LED7S<="1111111" -8 WHEN"1001"=> LED7S<="1101111" -9 WHEN OTHERS=> NULL; END CASE; END PROCESS;END one; 源程序中:A3.0: 09的BCD碼 LED7S: 譯碼后的7段數(shù)據(jù)信號圖16 段數(shù)碼顯示譯碼器元件符號 動態(tài)掃描顯示的VHDL源程序如下:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_ARITH.ALL;U
21、SE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY dynamic ISport(clk, reset:in std_logic; din1:in std_logic_vector(6 downto 0); -譯碼后的數(shù)據(jù)信號1 din2:in std_logic_vector(6 downto 0); -譯碼后的數(shù)據(jù)信號2 din3:in std_logic_vector(6 downto 0); -譯碼后餓數(shù)據(jù)信號3 din4:in std_logic_vector(6 downto 0); -譯碼后餓數(shù)據(jù)信號4 shift: out std_logic_vecto
22、r(3 downto 0); -位選信號 bus4: out std_logic_vector(6 downto 0); -數(shù)據(jù)信號end dynamic;architecture one of dynamic issignal scan_clk:std_logic_vector(1 downto 0);begin p1:process(clk,scan_clk,reset) -分頻進程variable scan:std_logic_vector(17 downto 0);beginif reset='1' then scan:="000000000000000000
23、" scan_clk<="00"elsif clk'event and clk='1'then scan:=scan+1;end if; scan_clk<=scan(1 downto 0);end process p1;p2:process(scan_clk,din1,din2,din3,din4) -掃描進程begin case scan_clk is when"00"=>bus4<=din1;shift<="0001" when"01"=>
24、bus4<=din2;shift<="0010" when"10"=>bus4<=din3;shift<="0100" when"11"=>bus4<=din4;shift<="1000" when others=>bus4<="0000000"shift<="0000" end case; end process p2; end one;源程序中:clk: 掃描時鐘 reset: 復(fù)位信號
25、,當reset=1時對位選信號復(fù)位 shift: 4個數(shù)碼管的位選信號,高電平有效 bus4: 進位選輸出的7段數(shù)據(jù)信號din1、din2、din3、din4:輸入的7段數(shù)據(jù)信號圖17 動態(tài)掃描顯示模塊元件符號2.3.3 譯碼顯示模塊的頂層電路設(shè)計在QuartusII中,按照圖18所示的譯碼顯示模塊的原理圖完成底層電路設(shè)計和仿真,文件名DEC_D.bdf。圖20是編譯仿真后的輸出時序波形圖和生成的元件符號。分析圖19,當FX=1234時,在時鐘脈CLK作用下,首先送出最低位測量值4,此時數(shù)碼管的位選信號CH3.0=(1)H,數(shù)碼管的譯碼電平輸出為(66)H。第2個為3,此時數(shù)碼管的位選信號CH
26、3.0=(2) H,數(shù)碼管的譯碼電平輸出4(F) H。第3個為2,此時數(shù)碼管的位選信號CH3.0=(4) H,數(shù)碼管的譯碼電平輸出為(5B) H。第4個為1,此時數(shù)碼管的位選信號CH3.0=(8) H,數(shù)碼管的譯碼電平輸出為(06) H。 圖18 譯碼顯示模塊的原理圖 圖19 仿真輸出波形圖20 譯碼顯示模塊DEC_D 3. 軟件測試3.1 測試的環(huán)境 QuartusII是Altera公司推出各種可編程邏輯器件產(chǎn)品,具有完全集成化的易學(xué)、易用的可視化環(huán)境,還有具有工業(yè)標準EDA工具接口,并且可以運行在多種操作平臺上。使QuartusII提供了豐富的邏輯功能庫、模塊庫以及參數(shù)化的兆功能供設(shè)計者使
27、用。它還具有開放核的特點,允許設(shè)計人員添加自己的宏功能模塊。充分利用這些邏輯功能模塊,可大大減少設(shè)計工作量。QuartusII由設(shè)計輸入、項目編譯、項目檢驗和器件編程等四部分組成。設(shè)計輸入主要有文本編輯器、圖形編輯器、符號編輯器、波形編輯器以及第三方EDA工具生成的設(shè)計網(wǎng)表文件輸入等,輸入方式不同,生成的設(shè)計文件也不同。編譯設(shè)計項目主要是根據(jù)要求設(shè)計參數(shù)和編譯策略,如選定其間、鎖定引腳等等,然后對項目進行網(wǎng)表提取、邏輯綜合、器件適配,產(chǎn)生報告文件,供分析仿真及編程用。項目檢驗方法包過功能仿真、模擬仿真和定時分析,編程驗證是將仿真后的目標文件編入所選定的Altera可編程邏輯器件中,然后加入實際激勵信號進行測試,檢查是否達到要求。3.2 調(diào)試和器件編程 將各個模塊的源文件程序代碼輸入文本文件,編譯運行項目成功后,把各個模塊放在一起形成頂層設(shè)計文件,對項目進行邏輯綜合,然后將項目的設(shè)計結(jié)果加載到Altera器件中;成功編譯以后,進入到模擬仿真時段,設(shè)置好完成時間和網(wǎng)絡(luò)間距,在列出輸入輸出信號等等,進行波形編輯在模擬器運行成功;啟動定時分析工具,對傳播延遲、時序電路性能、建立和保持時間等進行分析順利后,就可以開始器件編
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年龍崗區(qū)稅務(wù)局飲用水安全風險評估與整改服務(wù)協(xié)議4篇
- 2025版鋁材行業(yè)培訓(xùn)與咨詢服務(wù)合同范本
- 2025年度高新技術(shù)企業(yè)研發(fā)項目成果轉(zhuǎn)化與技術(shù)支持協(xié)議下載2篇
- 2025年度內(nèi)部控制合同管理內(nèi)部控制手冊3篇
- 二零二五版羅絲與吳磊的離婚協(xié)議及子女撫養(yǎng)權(quán)轉(zhuǎn)讓協(xié)議4篇
- 二零二五年度廚師技能競賽與評選活動合同4篇
- 二零二五版特色小鎮(zhèn)物業(yè)合同財務(wù)管理與文化旅游融合協(xié)議3篇
- 二零二五版汽車維修店面使用權(quán)轉(zhuǎn)讓合同模板3篇
- 2025年度新能源產(chǎn)業(yè)合作推廣戰(zhàn)略框架協(xié)議書
- 二零二五年度LED燈具音響設(shè)備研發(fā)生產(chǎn)合作協(xié)議4篇
- 華為HCIA-Storage H13-629考試練習題
- Q∕GDW 516-2010 500kV~1000kV 輸電線路劣化懸式絕緣子檢測規(guī)程
- 遼寧省撫順五十中學(xué)2024屆中考化學(xué)全真模擬試卷含解析
- 2024年湖南汽車工程職業(yè)學(xué)院單招職業(yè)技能測試題庫及答案解析
- 家長心理健康教育知識講座
- GB/T 292-2023滾動軸承角接觸球軸承外形尺寸
- 軍人結(jié)婚函調(diào)報告表
- 民用無人駕駛航空器實名制登記管理規(guī)定
- 北京地鐵6號線
- 航空油料計量統(tǒng)計員(初級)理論考試復(fù)習題庫大全-上(單選題匯總)
評論
0/150
提交評論