EDA課程設計報告-正弦波信號發(fā)生器的設計.doc

上傳人:good****022 文檔編號:116543411 上傳時間:2022-07-05 格式:DOC 頁數(shù):18 大小:141.50KB
收藏 版權(quán)申訴 舉報 下載
EDA課程設計報告-正弦波信號發(fā)生器的設計.doc_第1頁
第1頁 / 共18頁
EDA課程設計報告-正弦波信號發(fā)生器的設計.doc_第2頁
第2頁 / 共18頁
EDA課程設計報告-正弦波信號發(fā)生器的設計.doc_第3頁
第3頁 / 共18頁

下載文檔到電腦,查找使用更方便

20 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《EDA課程設計報告-正弦波信號發(fā)生器的設計.doc》由會員分享,可在線閱讀,更多相關(guān)《EDA課程設計報告-正弦波信號發(fā)生器的設計.doc(18頁珍藏版)》請在裝配圖網(wǎng)上搜索。

1、EDA課程設計報告 正弦波信號發(fā)生器的設計一、設計目的 通過本次課程設計,進一步了解QUARTUS 與LPM_ROM與FPGA硬件功能的使用方法。培養(yǎng)自己查閱資料及解決問題的能力。二、設計要求1、 通過按鍵,可以控制輸出的是正弦波或三角波。2、 通過ADC0832輸出正弦波與三角波,電壓V范圍在0至-10V之間3、 通過示波器觀察波形。三、設計內(nèi)容: 在QUARTUSII上完成信號發(fā)生器的設計。最后在實驗板上實測,包括FPGA中ROM的在系統(tǒng)數(shù)據(jù)讀寫測試和利用示波器測試。信號輸出的D/A使用實驗板上的ADC0832。四、 設計原理: 圖1所示的波信號發(fā)生器的結(jié)構(gòu)由五部分組成:1、計數(shù)器或地址發(fā)

2、生器(這里選擇8位)。正弦信號數(shù)據(jù)ROM(8位地址線,8位數(shù)據(jù)線),含有256個8位數(shù)據(jù)(一個周期)。2、VHDL頂層設計。3、8位D/A圖1所示的信號發(fā)生器結(jié)構(gòu)圖中,頂層文件adc.vhd在FPGA中實現(xiàn),包含兩個部分:ROM的地址信號發(fā)生器,由8位計數(shù)器擔任;一個正弦數(shù)據(jù)ROM(或者一個三角波數(shù)據(jù)ROM),由LPM_ROM模塊構(gòu)成。地址發(fā)生器的時鐘clk的輸入頻率fo與每周期的波形數(shù)據(jù)點數(shù)(在此選擇256點),以及D/A輸出的頻率f的關(guān)系是:f=fo/256 VHDL頂層設計adc.vhd 正弦波數(shù)據(jù)存儲ROM1 20分頻8位計數(shù)器(地址發(fā)生器)8位D/A按鍵3三角波數(shù)據(jù)存儲ROM2 圖1

3、 正弦信號發(fā)生器結(jié)構(gòu)框圖 圖一 信號發(fā)生器結(jié)構(gòu)圖 圖2 信號發(fā)生器的設計圖五、 設計步驟:1、 建立.mif格式文件mif文件可用C語言程序生成,產(chǎn)生正弦波數(shù)值的C程序如下:#include#includemain()int i;float s;for(i=0;i256;i+)s=sin(atan(1)*8*i/256);printf(%d :%d;n,i,(int)(s+1)*255/2)以zx.c保存。產(chǎn)生三角波數(shù)值的C程序如下:#include#includemain()int i;float s;for(i=0;i zx.mif;sj sj.mif;將生成的*.mif 文件,再加上.m

4、if文件的頭部說明即可。.mif文件的頭部說明如下所示:WIDTH=8;DEPTH=256;ADDRESS_RADIX=DEC;DATA_RADIX=DEC;CONTENT BEGIN(數(shù)據(jù)略去)END;2、 在設計信號發(fā)生器前,必須首先完成存放波形數(shù)據(jù)ROM的設計。設計步驟如下:1) 打開QUARTUS 。在files菜單中選擇new產(chǎn)生一個對話框,選擇Block Diagram/Schematic File 項,會生成一個*.bdf文件,雙擊文件空白處,跳出symbol窗口,在改窗口下選擇megafunctionsstoragelpm_rom。2) 在跳出的 MegaWizard Plug

5、-In Manager中選 擇VHDL,路徑保存在D:chengxv中3) 在parameter settings 窗口中,選擇currently selected device family :cyclone.選擇ROM控制線、地址線和數(shù)據(jù)線。在彈出的對話框中選擇地址線位寬和ROM中數(shù)據(jù)數(shù)分別為8和64;選擇地址鎖存控制信號dual clock。在對話框的“What should the RAM”欄選擇默認的Auto。4) 單擊NEXT,將此界面數(shù)據(jù)如圖設置5) 單擊Next按鈕,選擇BROWSE,選擇利用C做成的MIF文件,將此模塊命名為ROM0,再單擊Finish 按鈕后完成ROM0定制

6、。6) 打開此文件可以看到其中調(diào)用初始化數(shù)據(jù)文件的語句為:init_file = .mif。最后生成的ROM0元件文件如源代碼1所示. 六、 源代碼:1)、源代碼1如下所示:LIBRARY ieee;USE ieee.std_logic_1164.all;LIBRARY altera_mf;USE altera_mf.all;ENTITY ROM0 ISPORT(address: IN STD_LOGIC_VECTOR (5 DOWNTO 0);inclock: IN STD_LOGIC ;q: OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END ROM0;ARCHIT

7、ECTURE SYN OF ROM0 ISSIGNAL sub_wire0: STD_LOGIC_VECTOR (7 DOWNTO 0);COMPONENT altsyncramGENERIC (address_aclr_a: STRING;init_file: STRING;intended_device_family: STRING;lpm_hint: STRING;lpm_type: STRING;numwords_a: NATURAL;operation_mode: STRING;outdata_aclr_a: STRING;outdata_reg_a: STRING;widthad_

8、a: NATURAL;width_a: NATURAL;width_byteena_a: NATURAL);PORT (clock0: IN STD_LOGIC ;address_a: IN STD_LOGIC_VECTOR (5 DOWNTO 0);q_a: OUT STD_LOGIC_VECTOR (7 DOWNTO 0);END COMPONENT;BEGINq NONE,init_file = ././ad.mif,intended_device_family = Cyclone,lpm_hint = ENABLE_RUNTIME_MOD=NO,lpm_type = altsyncra

9、m,numwords_a = 64,operation_mode = ROM,outdata_aclr_a = NONE,outdata_reg_a = UNREGISTERED,widthad_a = 6,width_a = 8,width_byteena_a = 1)PORT MAP (clock0 = inclock,address_a = address,q_a = sub_wire0);END SYN;2)、頂層設計代碼:LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_UNSIGNED.ALL;ENTITY AD

10、C ISPORT ( CLK:in STD_LOGIC;DOUT:OUT STD_LOGIC_VECTOR(7 DOWNTO 0);key:in STD_LOGIC);END ;ARCHITECTURE DACC OF ADC IS COMPONENT ROM0 PORT(address: IN STD_LOGIC_VECTOR(7 DOWNTO 0); inclock: IN STD_LOGIC;q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ) ; END COMPONENT; COMPONENT ROM1 PORT(address: IN STD_LOGIC_VE

11、CTOR(7 DOWNTO 0); inclock: IN STD_LOGIC;q: OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ) ; END COMPONENT; SIGNAL CLK1:STD_LOGIC;SIGNAL Q0:STD_LOGIC_VECTOR(3 DOWNTO 0);SIGNAL Q1:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL Q2:STD_LOGIC_VECTOR(7 DOWNTO 0);SIGNAL Q3:STD_LOGIC_VECTOR(7 DOWNTO 0);BEGINPROCESS(CLK)BEGINIF CL

12、Kevent and CLK=1 THEN IF Q00110 THEN Q0=Q0+1;ELSE Q0=0000;CLK1= NOT CLK1;END IF;END IF;END PROCESS;PROCESS(CLK1)BEGINIF CLK1event and CLK1=1 THEN Q1Q1,q=Q2,inclock=CLK);u1:ROM0 PORT MAP(address=Q1,q=Q3,inclock=CLK);process(key)beginif key=1 then DOUT=Q2;else DOUT=Q3; END IF; END PROCESS;END ;3)為此頂層設

13、計創(chuàng)建一項工程,工程名和實體名都是adc。4)全程編譯一次后進入時序仿真測試。由波形可見,隨著每一個時鐘上升沿的到來,輸出端口將正弦波數(shù)據(jù)依次輸出。 5)硬件測試。選擇電路模式5,則時鐘CLK接實驗箱的clock0 。將dout(0)dout(7)分別鎖定于實驗系統(tǒng)上與DAC0832相接的I/O口:PIO24、PIO25、PIO26、PIO27、PIO28、PIO29、PIO30、PIO31。編譯下載adc.sof后,打開電壓開關(guān),將CLK的時鐘通過實驗箱上clock0的跳線選擇頻率為12MHZ,再將示波器接于實驗箱的兩個掛鉤上就能觀察波形的輸出情況了。七、 仿真波形圖:八、 引腳鎖定:九、 設計結(jié)果:Clock0=12MHZ,輸出頻率為:f=47KHZ,周期為:T=21us十、 設計體會:在本次設計的過程中,我在編譯過程中出現(xiàn)問題,第一個問題出在建立.mif格式文件中,沒有將生成的sdata.mif文件加上.mif文件的頭部說明。.mif文件的頭部說明如下所示:WIDTH=8;DEPTH=1024;ADDRESS_RADIX=DEC;DATA_RADIX=DEC;CONTENT BEGIN0:127;1:130;(數(shù)據(jù)略去)1023:124;END;18

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!