eda 波形發生器課設 詳細_第1頁
eda 波形發生器課設 詳細_第2頁
eda 波形發生器課設 詳細_第3頁
eda 波形發生器課設 詳細_第4頁
eda 波形發生器課設 詳細_第5頁
已閱讀5頁,還剩19頁未讀 繼續免費閱讀

下載本文檔

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

文檔簡介

1、湖南工程學院課 程 設 計課程名稱 課題名稱 專 業 班 級 學 號 姓 名 指導教師 年 月 日湖南工程學院課程設計任務書課程名稱:EDA技術題 目:波形發生器 專業班級: 班 學生姓名: 學號: 指導老師: 龍泳濤 審 批:任務書下達日期 年 月 日設計完成日期 年 月 日設計內容與設計要求 一、任務與要求:設計并制作一個波形發生器,要求如下:1、 能夠產生正弦波、方波、三角波三種波形;2、 輸出波形的頻率范圍為100Hz1KHz,頻率步進間隔為100Hz。二、設計要求:1、 設計思路清晰,給出整體設計框圖;2、 設計各單元電路,給出具體設計思路、電路器件;3、 總電路設計;4、 安裝調試

2、電路;5、 寫出設計報告;主要設計條件1. 提供計算機,Quartus II軟件; 2. 提供EDA實驗箱。說明書格式1、 課程設計封面;2、 課程設計任務書;3、 說明書目錄;4、 設計總體思路,基本原理和框圖;5、 單元電路設計(各單元電路圖);6、 總電路設計(總電路圖);7、 安裝、調試步驟;8、 故障分析與電路改進;9、 總結與設計調試體會;10、 附錄(元器件清單);11、 參考文獻;12、 課程設計成績評分表。進 度 安 排第一周 星期一:課題內容介紹和查找資料; 星期二四:總體電路設計和分電路設計; 星期五:電路仿真,修改方案; 第二周 星期一二:安裝、調試電路,驗收電路;星期

3、三五:寫設計報告,打印相關圖紙; 星期五下午:帶調試電路板及設計報告書進行答辯,整理實驗室及其他事情參 考 文 獻 EDA技術實用教程潘松、黃繼業編著 科學出版社目錄一、總體思路61.1設計思想61.2流程圖6二、各單元設計72.1 分頻器的實現72.2 正弦波、三角波、方波的實現8正弦波設計9三角波設計12方波設計142.3波形輸出控制單元15三、總電路設計16四、安裝與調試174.1正弦波184.2三角波184.3方波194.4頻率控制20五、總結體會21參考文獻21一、總體思路1.1設計思想基于VHDL語言設計一個簡易多功能信號發生器,通過選入輸入信號,可以輸出正弦波、三角波、方波和鋸齒

4、波四種波形信號。信號發生器的控制模塊可以用數據選擇器實現,四種信號的信號選擇可以用4選1數據選擇器實現。同時本設計使用原理圖的方法,對正弦波、三角波、方波和鋸齒波和4選1數據選擇器元件進行調用。1.2流程圖流程圖如下圖1所示。二、各單元設計2.1 分頻器的實現本次設計采用50MHz的時鐘頻率,設計要求輸出0.1KHz1KHz的波形。可知,需要一個分頻模塊對時鐘頻率進行分頻。結合三個波形發生模塊的程序可知,正弦、方波、三角波產生算法分別進行了256、256、512分頻。要三個波形同頻,三角波發生模塊的輸入脈沖應該是另外兩者的2倍。應為分頻數較大,采用二次分頻。一次分頻參數由外部輸入,二次分頻參數

5、固定。經過計算得出分頻參數表如下:要求輸出頻率算法分頻一次分頻參數二次分頻1K25620100.9K25622100.8K25626100.7K25630100.6K25634100.5K25640100.4K25650100.3K25666100.2K256100100.1K25620010分頻模塊原理圖如下:2.2 正弦波、三角波、方波的實現三個波形的發生:2.2.1正弦波設計 正弦波的產生思想是將對模擬波形采樣后的編碼存入定義好的ROM中,再根據時鐘循環的將這些編碼順序輸出,在輸出端將經過數模轉換器轉換后的模擬信號接入示波器即可顯示正弦波形。產生正弦波的VHDL代碼如下:-正弦波libr

6、ary ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity zx is port(clk,reset:in std_logic; d:out integer range 0 to 255); end zx; architecture behave of zx is begin process(clk,reset) variable tmp:integer range 0 to 127; begin if reset='0' then d<=0; elsif clk'e

7、vent and clk='1' then if tmp =127 then tmp:=0; else tmp:=tmp+1; end if; case tmp is -?when 00=>d<=255;when 01=>d<=255;when 02=>d<=255;when 03=>d<=254; when 04=>d<=254;when 05=>d<=253;when 06=>d<=252;when 07=>d<=251; when 08=>d<=250;when 0

8、9=>d<=249;when 10=>d<=247;when 11=>d<=246; when 12=>d<=244;when 13=>d<=242;when 14=>d<=240;when 15=>d<=238; when 16=>d<=236;when 17=>d<=233;when 18=>d<=231;when 19=>d<=228; when 20=>d<=225;when 21=>d<=222;when 22=>d<

9、=219;when 23=>d<=215; when 24=>d<=212;when 25=>d<=209;when 26=>d<=205;when 27=>d<=201; when 28=>d<=197;when 29=>d<=193;when 30=>d<=189;when 31=>d<=185; when 32=>d<=180;when 33=>d<=176;when 34=>d<=171;when 35=>d<=167; when

10、36=>d<=162;when 37=>d<=157;when 38=>d<=152;when 39=>d<=147; when 40=>d<=142;when 41=>d<=137;when 42=>d<=131;when 43=>d<=126; when 44=>d<=120;when 45=>d<=115;when 46=>d<=109;when 47=>d<=103; when 48=>d<= 98;when 49=>d<

11、;= 92;when 50=>d<= 86;when 51=>d<= 80; when 52=>d<= 74;when 53=>d<= 68;when 54=>d<= 62;when 55=>d<= 56; when 56=>d<= 50;when 57=>d<= 44;when 58=>d<= 38;when 59=>d<= 31; when 60=>d<= 25;when 61=>d<= 19;when 62=>d<= 13;when

12、63=>d<= 6; when 64=>d<= 0;when 65=>d<= 6;when 66=>d<= 12;when 67=>d<= 19; when 68=>d<= 25;when 69=>d<= 31;when 70=>d<= 37;when 71=>d<= 43; when 72=>d<= 50;when 73=>d<= 56;when 74=>d<= 62;when 75=>d<= 68; when 76=>d<=

13、 74;when 77=>d<= 80;when 78=>d<= 86;when 79=>d<= 92; when 80=>d<= 97;when 81=>d<=103;when 82=>d<=109;when 83=>d<=114; when 84=>d<=120;when 85=>d<=125;when 86=>d<=131;when 87=>d<=136; when 88=>d<=141;when 89=>d<=147;when 90

14、=>d<=152;when 91=>d<=157; when 92=>d<=162;when 93=>d<=166;when 94=>d<=171;when 95=>d<=176; when 96=>d<=180;when 97=>d<=184;when 98=>d<=189;when 99=>d<=193; when 100=>d<=197;when 101=>d<=201;when 102=>d<=205;when 103=>d&

15、lt;=208; when 104=>d<=212;when 105=>d<=215;when 106=>d<=219;when 107=>d<=222; when 108=>d<=225;when 109=>d<=228;when 110=>d<=230;when 111=>d<=233; when 112=>d<=235;when 113=>d<=238;when 114=>d<=240;when 115=>d<=242; when 116=>

16、;d<=244;when 117=>d<=246;when 118=>d<=247;when 119=>d<=249; when 120=>d<=250;when 121=>d<=251;when 122=>d<=252;when 123=>d<=253; when 124=>d<=254;when 125=>d<=254;when 126=>d<=255;when 127=>d<=255; when others=>null; end case; e

17、nd if; end process; end behave;2.2.2三角波設計三角波的產生思想是將對模擬波形采樣后的編碼存入定義好的ROM中,再根據時鐘循環的將這些編碼順序輸出,在輸出端將經過數模轉換器轉換后的模擬信號接入示波器即可顯示三角波形。產生三角波的VHDL代碼如下:-三角波 library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all; entity sj is port(clk,reset:in std_logic; q3:out std_logic_vector(7 downto 0);

18、end sj; architecture behave of sj is begin process(clk,reset) variable tmp:std_logic_vector(7 downto 0); -?tmp?variable a:std_logic; -?a? begin if reset='0' then tmp:="00000000" elsif clk'event and clk='1' then if a='0' then -a?0?a?1? if tmp="11111110"

19、 then tmp:="11111111" a:='1' else tmp:=tmp+1; end if; else if tmp="00000001" then tmp:="00000000" a:='0' else tmp:=tmp-1; end if; end if; end if; q3<=tmp; end process; end behave;2.2.3方波設計方波波的產生思想是將對模擬波形采樣后的編碼存入定義好的ROM中,再根據時鐘循環的將這些編碼順序輸出,在輸出端將經過數模轉換器轉

20、換后的模擬信號接入示波器即可顯示方波波形。產生方波的VHDL代碼如下:library ieee; use ieee.std_logic_1164.all; use ieee.std_logic_unsigned.all;entity fb is port(clk,reset: in std_logic; q6:out std_logic_vector(7 downto 0); end fb; architecture behave of fb is signal a:std_logic; begin process(clk,reset) variable tmp:std_logic_vecto

21、r(7 downto 0); begin if reset='0'then a<='0' elsif rising_edge(clk) then if tmp="11111111"then tmp:="00000000" else tmp:=tmp+1; end if; if tmp<="10000000"then a<='1' else a<='0' end if; end if; end process; process(clk,a) begi

22、n if rising_edge(clk)then if a='1' then q6<="11111111" else q6<="00000000" end if; end if; end process; end behave;2.3波形輸出控制單元波形輸出控制單元中只包括一個數據選擇器模塊。其器件圖如圖所示:數據選擇器模塊在該模塊為3選1的數據選擇器,包括3個數據輸入端,1個數據選擇輸入端和1個數據輸出端。其功能是根據數據選擇輸入端輸入的數據來選擇相應的數據送到輸出端。從而實現數據的選擇輸出。三、總電路設計原理圖簡易多功能

23、信號發生器的原理圖如下:簡易多功能信號發生器原理圖原理圖本設計的主體思想是各個模塊分別產生相應的波形,再通過一個3選1數據選擇器輸出相應的波形。通過其他開關控制波形的頻率。四、安裝與調試 本課程設計是簡易多功能信號發生器,一共有7個輸入端和8個輸出端。具體的輸入輸出端可見圖1中所示。根據引腳所鎖定圖將系統中的各個輸入輸出端口鎖定到合適的引腳上。另外,本實驗輸入的時鐘頻率是50MHz。當引腳鎖定完畢后,將程序下載到芯片中。把輸出的8個引腳接到并行D/A轉換芯片的8個輸入端,連接好芯片,把芯片的輸出接到示波器,把各個輸入的撥碼開關給定無誤的值,即在示波器上得到相應的輸出波形。4.1正弦波在clk端輸入50MHz的時鐘信號,當圖1的原理圖中的sel11.0輸入“01”時得到的是正弦波波形,如圖10所示。改變sel23.0的值可以該變輸出波形的頻率。4.2三角波在clk端輸入50MHz的時鐘信號,當圖1的原理圖中的sel1 1.0輸入“10”時得到的是三角波波形,如圖11所示。改變sel23.0的值可以該變輸出波形的頻率。4.3方波在clk端輸入50MHz的時鐘信號,當圖1的原理圖中的sel11.0輸入“11”時

溫馨提示

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

評論

0/150

提交評論