多功能信號(hào)發(fā)生器的設(shè)計(jì)說明_第1頁(yè)
多功能信號(hào)發(fā)生器的設(shè)計(jì)說明_第2頁(yè)
多功能信號(hào)發(fā)生器的設(shè)計(jì)說明_第3頁(yè)
多功能信號(hào)發(fā)生器的設(shè)計(jì)說明_第4頁(yè)
多功能信號(hào)發(fā)生器的設(shè)計(jì)說明_第5頁(yè)
已閱讀5頁(yè),還剩15頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、多功能信號(hào)發(fā)生器的設(shè)計(jì)目 錄0 引言 21 設(shè)計(jì)意義 32 設(shè)計(jì)說明 42.1 設(shè)計(jì)任務(wù) 42.1.1 設(shè)計(jì)要求 42.1.2 設(shè)計(jì)目的:43 設(shè)計(jì)過程 53.1 系統(tǒng)頂層框圖 53.1.1 信號(hào)發(fā)生器結(jié)構(gòu)圖 53.1.2 信號(hào)發(fā)生器的部構(gòu)成 53.1.3 系統(tǒng)流程圖 63.2 設(shè)計(jì)步驟 63.3 系統(tǒng)設(shè)計(jì) 74 代碼與仿真結(jié)果 84.1 各個(gè)模塊的實(shí)現(xiàn) 84.2 頂層模塊 165 小結(jié)與體會(huì) 196 參考文獻(xiàn) 202 / 200 0 引言引言信號(hào)發(fā)生器又稱信號(hào)源或振蕩器,在生產(chǎn)實(shí)踐和科技領(lǐng)域中有著廣泛的應(yīng)用。它能夠產(chǎn)生多種波形,如三角波、鋸齒波、矩形波(含方波) 、正弦波等,在電路實(shí)驗(yàn)和設(shè)備

2、檢測(cè)中具有十分廣泛的用途。例如在通信、廣播、電視系統(tǒng)中,都需要射頻(高頻)發(fā)射,這里的射頻波就是載波,把音頻(低頻) 、視頻信號(hào)或脈沖信號(hào)運(yùn)載出去,就需要能夠產(chǎn)生高頻的振蕩器。在工業(yè)、農(nóng)業(yè)、生物醫(yī)學(xué)等領(lǐng)域,如高頻感應(yīng)加熱、熔煉、淬火、超聲診斷、核磁共振成像等,都需要功率或大或小、頻率或高或低的信號(hào)發(fā)生器。本設(shè)計(jì)采用 FPGA 來(lái)設(shè)計(jì)制作多功能信號(hào)發(fā)生器。該信號(hào)發(fā)生器可以產(chǎn)生正弦波、方波、三角波、鋸齒波等波形。 3 / 201 1 設(shè)計(jì)意義設(shè)計(jì)意義本次課設(shè)要求設(shè)計(jì)一個(gè)函數(shù)信號(hào)發(fā)生器。它能產(chǎn)生四種波形:正弦波、方波、三角波、鋸齒波。同時(shí)能在不同的頻率下顯示。這次設(shè)計(jì)主要是練習(xí)了分頻電路的設(shè)計(jì),RO

3、M 的設(shè)計(jì),計(jì)數(shù)器的設(shè)計(jì)、選擇電路的設(shè)計(jì)和數(shù)碼顯示的設(shè)計(jì)。加強(qiáng)了對(duì) when 語(yǔ)句,if 語(yǔ)句等語(yǔ)句的理解。拓展了對(duì) VHDL 語(yǔ)言的應(yīng)用。平時(shí)練習(xí)與考試都是設(shè)計(jì)一個(gè)簡(jiǎn)單的電路,本次課設(shè)綜合了好幾個(gè)電路的設(shè)計(jì)。同時(shí)我也增強(qiáng)了對(duì)分模塊設(shè)計(jì)電路的應(yīng)用。對(duì)我以后的電路設(shè)計(jì)生涯都是有所幫助的!函數(shù)信號(hào)發(fā)生器是應(yīng)用了 VHDL 語(yǔ)言,通過數(shù)模轉(zhuǎn)換來(lái)顯示波形,實(shí)現(xiàn)了數(shù)模轉(zhuǎn)換的應(yīng)用。在工作中,我們常常會(huì)用到信號(hào)發(fā)生器,它是使用頻度很高的電子儀器。信號(hào)發(fā)生器是指產(chǎn)生所需參數(shù)的電測(cè)試信號(hào)的儀器。按信號(hào)波形可分為正弦信號(hào)、函數(shù)(波形)信號(hào)、脈沖信號(hào)和隨機(jī)信號(hào)發(fā)生器等四大類。信號(hào)發(fā)生器又稱信號(hào)源或振蕩器,在生產(chǎn)實(shí)踐

4、和科技領(lǐng)域中有著廣泛的應(yīng)用。各種波形曲線均可以用三角函數(shù)方程式來(lái)表示。能夠產(chǎn)生多種波形,如三角波、鋸齒波、矩形波(含方波) 、正弦波的電路被稱為函數(shù)信號(hào)發(fā)生器。信號(hào)發(fā)生器又稱信號(hào)源或振蕩器,在生產(chǎn)實(shí)踐和科技領(lǐng)域中有著廣泛的應(yīng)用。凡是產(chǎn)生測(cè)試信號(hào)的儀器,統(tǒng)稱為信號(hào)源,也稱為信號(hào)發(fā)生器,它用于產(chǎn)生被測(cè)電路所需特定參數(shù)的電測(cè)試信號(hào)。信號(hào)源主要給被測(cè)電路提供所需要的已知信號(hào)(各種波形) ,然后用其它儀表測(cè)量感興趣的參數(shù)??梢娦盘?hào)源在電子實(shí)驗(yàn)和測(cè)試處理中,并不測(cè)量任何參數(shù),而是根據(jù)使用者的要求,仿真各種測(cè)試信號(hào),提供給被測(cè)電路,以達(dá)到測(cè)試的需要。它能夠產(chǎn)生多種波形,如三角波、矩形波(含方波) 、正弦波等

5、,在電路實(shí)驗(yàn)和設(shè)備檢測(cè)中具有十分廣泛的用途。例如在通信、廣播、電視系統(tǒng)中,都需要射頻(高頻)發(fā)射,這里的射頻波就是載波,把音頻(低頻) 、視頻信號(hào)或脈沖信號(hào)運(yùn)載出去,就需要能夠產(chǎn)生高頻的振蕩器。在工業(yè)、農(nóng)業(yè)、生物醫(yī)學(xué)等領(lǐng)域,如高頻感應(yīng)加熱、熔煉、淬火、超聲診斷、核磁共振成像等,都需要功率或大或小、頻率或高或低的信號(hào)發(fā)生器。 本設(shè)計(jì)采用 EDA 來(lái)設(shè)計(jì)制作多功能信號(hào)發(fā)生器。該信號(hào)發(fā)生器可以產(chǎn)生正弦波、方波、三角波、鋸齒波等波形。4 / 202 2設(shè)計(jì)說明設(shè)計(jì)說明2.12.1 設(shè)計(jì)任務(wù)設(shè)計(jì)任務(wù)2.1.12.1.1 設(shè)計(jì)要求設(shè)計(jì)要求:基于VHDL 語(yǔ)言 ,通過給定的儀器(EDA6000 試驗(yàn)箱)設(shè)計(jì)

6、一個(gè)多功能信號(hào)發(fā)生器,(1)能產(chǎn)生周期性正弦波、方波、三角波、鋸齒波以與用戶自己編輯的特定波形;(2)輸出信號(hào)的頻率圍為 100Hz200KHz,且輸出頻率可以調(diào)節(jié);(3)具有顯示輸出波形、頻率的功能。2.1.22.1.2 設(shè)計(jì)目的:設(shè)計(jì)目的:1) 掌握使用 EDA 工具設(shè)計(jì)信號(hào)發(fā)生器系統(tǒng)的設(shè)計(jì)思路和設(shè)計(jì)方法,體會(huì)使用 EDA 綜合過程中電路設(shè)計(jì)方法和設(shè)計(jì)思路的不同,理解層次化設(shè)計(jì)理念。2) 熟悉在 Quartus II 環(huán)境中,用文本輸入方式與原理圖輸入方式完成電路的設(shè)計(jì),同時(shí)掌握使用這兩種方式相結(jié)合的 EDA 設(shè)計(jì)思路。3) 通過這一部分的學(xué)習(xí),對(duì) VHDL 語(yǔ)言的設(shè)計(jì)方法進(jìn)行進(jìn)一步的學(xué)習(xí)

7、,對(duì)其相關(guān)語(yǔ)言設(shè)計(jì)規(guī)進(jìn)行更深層次的掌握,能夠更加熟練的做一些編程設(shè)計(jì)。5 / 203 3 設(shè)計(jì)過程設(shè)計(jì)過程3.13.1 系統(tǒng)頂層框圖系統(tǒng)頂層框圖3.1.13.1.1 信號(hào)發(fā)生器結(jié)構(gòu)圖信號(hào)發(fā)生器結(jié)構(gòu)圖由于 FPGA/CPLD 只能直接輸出數(shù)字信號(hào),而多功能信號(hào)發(fā)生器輸出的各種波形均為模擬信號(hào),因此設(shè)計(jì)信號(hào)發(fā)生器時(shí),需將 FPGA/CPLD 輸出的信號(hào)通過 D/A 轉(zhuǎn)換電路將數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)。多功能信號(hào)發(fā)生器可由信號(hào)產(chǎn)生電路,波形選擇電路和 D/A 轉(zhuǎn)換電路構(gòu)成,如下圖所示:時(shí)鐘信號(hào)信號(hào)產(chǎn)生電路波形選擇電路D/A 轉(zhuǎn)換波形輸出選擇信號(hào)3.1.23.1.2 信號(hào)發(fā)生器的部構(gòu)成信號(hào)發(fā)生器的部構(gòu)成

8、數(shù)控分頻器三角波波形數(shù)據(jù)正弦波波形數(shù)據(jù)方波波形數(shù)據(jù)任意波形數(shù)據(jù)數(shù)據(jù)選擇器波形選擇關(guān)時(shí)鐘預(yù)置分頻數(shù)(0-255)復(fù)位信號(hào)8 位數(shù)據(jù)outf6 / 20圖 1 原理框圖在原理框圖中,正(余)弦查找表由 ROM 構(gòu)成,部存有一個(gè)完整周期正(余)弦波的數(shù)字幅度信息,每個(gè)查找表的地址對(duì)應(yīng)正(余)弦波幅度信號(hào),同時(shí)輸出到數(shù)模轉(zhuǎn)換器(DAC)輸入端,DAC輸出的模擬信號(hào)經(jīng)過低通濾波器(LPF) ,可以得到一個(gè)頻譜純凈的正(余)弦波。3.1.33.1.3 系統(tǒng)流程圖系統(tǒng)流程圖當(dāng)輸入端有時(shí)鐘信號(hào)輸入時(shí),各個(gè)信號(hào)發(fā)生器模塊獨(dú)立運(yùn)行,獨(dú)立存在,發(fā)出各種信號(hào),這些信號(hào)作為數(shù)據(jù)選擇器的輸入信號(hào),在數(shù)據(jù)選擇器的作用下,波

9、形切換到相應(yīng)的模塊輸出,再通過數(shù)模轉(zhuǎn)換器(D/A) ,將通過示波器顯示出相應(yīng)的波形圖,其程序流程圖如下圖所示:輸入信號(hào)各個(gè)信號(hào)發(fā)生器模塊開始輸出信號(hào)數(shù)模轉(zhuǎn)換器(D/A)四選一數(shù)據(jù)選擇器復(fù)位3.23.2 設(shè)計(jì)步驟設(shè)計(jì)步驟用 VHDL 語(yǔ)言結(jié)合原理圖設(shè)計(jì)實(shí)現(xiàn)一個(gè)函數(shù)信號(hào)發(fā)生器,輸出正弦波、方波和三角波三種波形。將頻率控制、分頻、三角波、正弦波、方波發(fā)生鄧各個(gè)模塊分別用 VHDL 語(yǔ)言編程為一個(gè)子程序,并把每一個(gè)模塊轉(zhuǎn)換成圖形文件,然后在原理圖編輯框調(diào)用這些圖形模塊,連接電路如上圖系統(tǒng)頂層框圖所示。通過按鍵 1 到按鍵 8 控制頻率調(diào)節(jié) f7.0,用按鍵 6、按鍵 7、按鍵 8 控制dlt、sin、

10、sqr 波形選通,最后把八位輸出接 DAC0832 通過 D/A 轉(zhuǎn)換,從示波器上就能看到波形輸出。按下不同的按鍵輸出不同的波形與頻率。7 / 203.33.3 系統(tǒng)設(shè)計(jì)系統(tǒng)設(shè)計(jì)(1)數(shù)控分頻器模塊在時(shí)鐘的作用下,通過預(yù)置分頻數(shù) DIN,來(lái)改變輸出頻率。假如分頻系數(shù)為 N,波形存儲(chǔ)模塊存儲(chǔ)一個(gè)周期的波形,實(shí)驗(yàn)里按照一個(gè)周期波形采樣 64 個(gè)點(diǎn)存儲(chǔ)在波形存儲(chǔ)模塊里。則輸出頻率Nffclkout.64(2)數(shù)據(jù)存儲(chǔ)模塊 (存儲(chǔ)波形數(shù)據(jù))數(shù)據(jù)存儲(chǔ)模塊主要存的是正弦波、三角波、鋸齒波等一個(gè)周期的采樣點(diǎn)。三角波模塊可設(shè)計(jì)一個(gè)可逆計(jì)數(shù)器實(shí)現(xiàn),設(shè)計(jì)時(shí)設(shè)置一變量作為工作狀態(tài)標(biāo)志,在此變量為 0時(shí),當(dāng)檢測(cè)到時(shí)鐘

11、的上升沿進(jìn)行加同一個(gè)數(shù)操作;為 1 時(shí),進(jìn)行減同一個(gè)數(shù)操作。DA 轉(zhuǎn)換采用的DA0832,輸入有 8 個(gè)數(shù)據(jù)端,圍是 0 到 255;而且設(shè)置 64 個(gè)時(shí)鐘周期為一個(gè)三角波周期,所有每次加、減為 1。鋸齒波的存儲(chǔ)數(shù)據(jù)與三角波類似。方波可以通過交替輸出全 0 和全 1,并給以 32 個(gè)周期的延時(shí)來(lái)實(shí)現(xiàn)。正弦波可以通過波形變換實(shí)現(xiàn)把a(bǔ)sin變換成5.127*)1(cosa的形式進(jìn)行采樣,然后變換成 8位二進(jìn)制碼,存儲(chǔ)在波形存儲(chǔ)器里。(3)數(shù)據(jù)選擇器模塊在波形開關(guān)的控制下,選擇相應(yīng)的波形輸出??梢杂?3 個(gè)按鍵來(lái)控制波形選擇8 / 204 4 代碼與仿真結(jié)果代碼與仿真結(jié)果4.14.1 各個(gè)模塊的實(shí)現(xiàn)

12、各個(gè)模塊的實(shí)現(xiàn)4.1.14.1.1 數(shù)控分頻器的實(shí)現(xiàn)數(shù)控分頻器的實(shí)現(xiàn)其 VHDL 代碼如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity fenpin is port(d_mode:in std_logic_vector(3 downto 0); clk:in std_logic; d_out:out std_logic);end fenpin;architecture behav of fenpin is signal full:std_logic; begin p_reg: p

13、rocess(clk) variablet8:std_logic_vector(3 downto 0); begin if clkevent and clk=1 then ift8=1111 then t8:=d_mode; full=1; elset8:=cnt8+1; full=0; end if; end if; end process p_reg;p_div:process(full) variablet2:std_logic; begin if fullevent and full=1 then t2:=nott2; ift2=1 then d_out=1 ; else d_out=

14、0; end if; end if;end process p_div;end behav;頻率為 1MHz 的分頻波形圖:9 / 20其生成元器件如圖 2 所示:圖 2 數(shù)控分頻器器件生成圖4.1.24.1.2 方波的實(shí)現(xiàn)方波的實(shí)現(xiàn)產(chǎn)生方波,是通過交替送出全 0 和全 1 實(shí)現(xiàn),每 32 個(gè)時(shí)鐘翻轉(zhuǎn)一次。其 VHDL 代碼如下:library ieee;use ieee.std_logic_1164.all;entity square is port(clk,clr:in std_logic; q:out integer range 0 to 255); end square;archite

15、cture one of square issignal a:bit:=0; begin process(clk,clr) variablet:integer range 0 to 31; begin if clr=0 then a=0; elsif clkevent and clk=1 then ift31 then t:=cnt+1; else t:=0; a=not a; end if; end if; end process; process(clk,a) begin if clkevent and clk=1 then if a=1 then q=255; else10 / 20 q

16、=0; end if; end if; end process;end one;其仿真波形如圖 3 所示:圖 3 方波仿真圖其生成元器件如圖 4 所示:圖 4 方波元器件生成圖4.1.34.1.3 三角波的實(shí)現(xiàn)三角波的實(shí)現(xiàn)該模塊產(chǎn)生的三角波以 64 個(gè)時(shí)鐘為一個(gè)周期,輸出 q 每次加減 8。其 VHDL 代碼如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity delta is port(clk,reset:in std_logic; q:out std_logic_vector(7

17、 downto 0); end delta;architecture delta_arc of delta isbegin process(clk,reset) variable tmp:std_logic_vector(7 downto 0); variable a:std_logic; begin if reset=0 then tmp:=00000000; elsif clkevent and clk=1 then if a=0 then11 / 20 if tmp=11111110 then tmp:=11111111; a:=1; else tmp:=tmp+1; end if; e

18、lse if tmp=00000001 then tmp:=00000000; a:=0; else tmp:=tmp-1; end if; end if; end if; q=tmp; end process;end delta_arc;其仿真波形如圖 5 所示:圖 5 三角波仿真圖其生成元器件如圖 6 所示:圖 6 三角波元器件生成圖4.1.44.1.4 正弦波的實(shí)現(xiàn)正弦波的實(shí)現(xiàn)該模塊產(chǎn)生以 64 個(gè)時(shí)鐘為一個(gè)周期的正弦波。其 VHDL 代碼如下:library ieee;use ieee.std_logic_1164.all;12 / 20use ieee.std_logic_unsig

19、ned.all;entity sin is port(clk,clr:in std_logic; d:out integer range 0 to 255);end sin;architecture sin_arc of sin isbegin process(clk,clr) variable tmp:integer range 0 to 63; begin if clr=0 thendddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddddnull; end case; end if; end process;end

20、sin_arc;其仿真波形如圖 7 所示:13 / 20圖 7 正弦波仿真圖其生成元器件如圖 8 所示:圖 8 正弦波元器件生成圖4.1.54.1.5 鋸齒波的實(shí)現(xiàn)鋸齒波的實(shí)現(xiàn)改變?cè)撃K遞增的常數(shù),可以改變鋸齒的個(gè)數(shù)。其 VHDL 代碼如下:library ieee;use ieee.std_logic_1164.all;use ieee.std_logic_unsigned.all;entity ladder is port(clk,reset:in std_logic; q:out std_logic_vector(7 downto 0);end ladder;architecture l

21、adder_arc of ladder isbegin process(clk,reset) variable tmp:std_logic_vector(7 downto 0); begin if reset=0 then tmp:=00000000;elsif clkevent and clk=1 then if tmp=11111111 then tmp:=00000000; else tmp:=tmp+16; -鋸齒常數(shù)為 16,可修改 end if; end if;14 / 20 qqqqqd_mode,clk=clk, d_out=square,d_out= delta, d_out

22、= sin, d_out= ladder);wen2: squareport map(clr=resel,clk= square,q=d0);wen3: deltaport map(resel =resel,clk= delta,q=d1);wen4: sin port map(clr=resel,clk= sin,q=d2);wen5: ladderport map(resel =resel,clk= ladder,q=d3);wen6: select4_1port map(sel = sel, d0=d0,d1= d1, d2=d2,d3=d3,q=q);end behav;4.2.24.2.2 生成整體生成整體 RTLRTL:新建一工程,加載上述模塊,利用頂層模塊法生成整體多波形信號(hào)發(fā)生器。整體 RTL 圖如圖 13所示:17 / 20圖 13 整體多波形信號(hào)發(fā)生器 RTL 圖4.2.34.2.3 整體仿真圖整體仿真圖整體多波形信號(hào)發(fā)生器仿真如圖 14 所示:18 / 20圖 14 整體多波形信號(hào)發(fā)生

溫馨提示

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

評(píng)論

0/150

提交評(píng)論