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

下載本文檔

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

文檔簡介

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

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

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

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

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

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

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

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

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

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

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

12、各個模塊的實現(xiàn)4.1.14.1.1 數(shù)控分頻器的實現(xiàn)數(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 方波的實現(xiàn)方波的實現(xiàn)產(chǎn)生方波,是通過交替送出全 0 和全 1 實現(xiàn),每 32 個時鐘翻轉一次。其 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 三角波的實現(xiàn)三角波的實現(xiàn)該模塊產(chǎn)生的三角波以 64 個時鐘為一個周期,輸出 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 正弦波的實現(xiàn)正弦波的實現(xiàn)該模塊產(chǎn)生以 64 個時鐘為一個周期的正弦波。其 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 鋸齒波的實現(xiàn)鋸齒波的實現(xiàn)改變該模塊遞增的常數(shù),可以改變鋸齒的個數(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:新建一工程,加載上述模塊,利用頂層模塊法生成整體多波形信號發(fā)生器。整體 RTL 圖如圖 13所示:17 / 20圖 13 整體多波形信號發(fā)生器 RTL 圖4.2.34.2.3 整體仿真圖整體仿真圖整體多波形信號發(fā)生器仿真如圖 14 所示:18 / 20圖 14 整體多波形信號發(fā)生

溫馨提示

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

評論

0/150

提交評論