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

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

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

20 積分

下載資源

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

資源描述:

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

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

2、生器(這里選擇8位)。正弦信號數(shù)據(jù)ROM(8位地址線,8位數(shù)據(jù)線),含有256個8位數(shù)據(jù)(一個周期)。2、VHDL頂層設(shè)計。3、8位D/A圖1所示的信號發(fā)生器結(jié)構(gòu)圖中,頂層文件adc.vhd在FPGA中實現(xiàn),包含兩個部分:ROM的地址信號發(fā)生器,由8位計數(shù)器擔(dān)任;一個正弦數(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頂層設(shè)計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ā)生器的設(shè)計圖五、 設(shè)計步驟: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、 在設(shè)計信號發(fā)生器前,必須首先完成存放波形數(shù)據(jù)ROM的設(shè)計。設(shè)計步驟如下: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ù)如圖設(shè)置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)、頂層設(shè)計代碼: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)為此頂層設(shè)

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,再將示波器接于實驗箱的兩個掛鉤上就能觀察波形的輸出情況了。七、 仿真波形圖:八、 引腳鎖定:九、 設(shè)計結(jié)果:Clock0=12MHZ,輸出頻率為:f=47KHZ,周期為:T=21us十、 設(shè)計體會:在本次設(shè)計的過程中,我在編譯過程中出現(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)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關(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ù)平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!