EDA課程設(shè)計——函數(shù)信號發(fā)生器.doc_第1頁
EDA課程設(shè)計——函數(shù)信號發(fā)生器.doc_第2頁
EDA課程設(shè)計——函數(shù)信號發(fā)生器.doc_第3頁
EDA課程設(shè)計——函數(shù)信號發(fā)生器.doc_第4頁
EDA課程設(shè)計——函數(shù)信號發(fā)生器.doc_第5頁
已閱讀5頁,還剩10頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

EDA課程設(shè)計函數(shù)信號發(fā)生器實驗報告學(xué)院(系) 專業(yè)、班級 學(xué)生姓名 學(xué) 號 小組其他隊員: 指導(dǎo)教師 (1)實驗要求(2)總體設(shè)計思路(3)程序仿真(4)實驗結(jié)果(5)心得體會一 實驗要求(1) 利用VHDL語言設(shè)計一個多功能信號發(fā)生器,可以產(chǎn)生正弦波,三角波,鋸齒波和方波的數(shù)字信號。(2) 焊接一個D/A轉(zhuǎn)換器,對輸出的數(shù)字信號轉(zhuǎn)換成模擬信號并在示波器上產(chǎn)生波形。(3) 在電路板上可以對波形進行選擇輸出。(4) 在電路板上可以對波形的頻率與幅度進行調(diào)節(jié)。二總體設(shè)計思路信號發(fā)生器主要由分頻,波形數(shù)據(jù)的產(chǎn)生,四選一多路選擇,調(diào)幅和D/A轉(zhuǎn)換五個部分組成??傮w框架圖如下:(1) 分頻分頻器是數(shù)字電路中最常用的電路之一,在FPGA的設(shè)計中也是使用效率非常高的基本設(shè)計。實現(xiàn)的分頻電路一般有兩種方法:一是使用FPGA芯片內(nèi)部提供的鎖相環(huán)電路,如ALTERA提供的PLL(Phase Locked Loop),Xilinx提供的DLL(Delay Locked Loop);二是使用硬件描述語言,如VHDL、Verilog HDL等。本次我們使用VHDL進行分頻器設(shè)計,將奇數(shù)分頻,和偶數(shù)分頻結(jié)合起來,可以實現(xiàn)50%占空比任意正整數(shù)的分頻。分頻器原理圖:在我們本次試驗中的實現(xiàn)即為當(dāng)按下按鍵時,頻率自動減半。如當(dāng)輸入為100MHZ,輸出為50MHZ。(2) 信號的產(chǎn)生。根據(jù)查找資料,我們最終確定了在QUARTUS中波形數(shù)據(jù)產(chǎn)生的方法,即利用地址信號發(fā)生器和LPM_ROM模塊。ROM的地址信號發(fā)生器,有七位計數(shù)器擔(dān)任。LPM_ROM底層是FPGA中的M4K等模塊。然后在VHDL頂層程序設(shè)計中將兩部分調(diào)用從而實現(xiàn)信號的發(fā)生。ROM中存放不同的初始化MIF文件(存放不同波形的數(shù)據(jù))從而產(chǎn)生不同的波形。信號產(chǎn)生模塊:7位計數(shù)器波形數(shù)據(jù)存儲ROM數(shù)據(jù)產(chǎn)生信號產(chǎn)生RTL圖:此環(huán)節(jié)最重要的還有MIF文件的建立,經(jīng)過查找資料,下載了MIFMAKER 2010軟件,從而較為簡單的產(chǎn)生了MIF文件。MIF文件制作圖:(3) 四選一多路選擇。多路選擇器模塊是實驗?zāi)K之中最簡單的模塊,因為在上一學(xué)期的EDA學(xué)習(xí)中曾經(jīng)做過四路選擇器模塊。此模塊的基本四路是通過一個兩位的輸入信號s來決定輸出的信號數(shù)據(jù),例:s=00時,輸出a;s=01輸出b ;s=10時,輸出c; s=11時,輸出d。 多路選擇器原理圖: (4) 調(diào)幅。調(diào)幅的思路基本上是運用乘法器來完成數(shù)據(jù)的翻倍從而達到幅度的變化。因此此模塊的完成最主要的任務(wù)是乘法器的實現(xiàn)。本實驗我們開始采用的乘法器是兩個矢量類型的數(shù)據(jù)作為輸入,一個是波形數(shù)據(jù),另一個則為幅度的變化倍數(shù)(變化范圍為1,2,3倍)。如下圖:但后來在硬件上實現(xiàn)時倍數(shù)高時容易波形頂部容易產(chǎn)生失真,因此我們對此進行了改進,即將輸入的兩個八位矢量類型數(shù)據(jù)通過conv_integer函數(shù)產(chǎn)生整數(shù)數(shù)據(jù),對整數(shù)數(shù)據(jù)進行小幅度乘除(如c=a*b/16),然后將整數(shù)數(shù)據(jù)通過conv_std_logic(c,8)函數(shù)轉(zhuǎn)換成八位整數(shù)數(shù)據(jù)輸出。從而完成調(diào)幅的完美實現(xiàn)。改進后如下圖:(5) D/A轉(zhuǎn)換。D/A轉(zhuǎn)換是把數(shù)字信號轉(zhuǎn)換為信息基本相同的模擬信號而設(shè)計的處理過程,大多數(shù)DA轉(zhuǎn)換器由電阻陣列和放大器構(gòu)成。根據(jù)公式u0=Rf(ui1/R1+ui2/R2+ui3/R3+)計算出R43=2*R44=4*R45=8*R46=16*R47=32*R48=64*R49=128*R50R50=2*R42因此可以選取R40= R41= R42= 1k R43= 256k R44= 128k R45=64R46= 32k R47= 16k R48= 8k R49= 4k R50=2k三程序仿真正弦波仿真:三角波仿真:鋸齒波仿真:方波仿真:分頻器仿真:多路選擇仿真:乘法器仿真:總電路仿真:四實驗結(jié)果正弦波輸出:調(diào)頻后:調(diào)幅后:三角波輸出:鋸齒波輸出:方波輸出:實物圖:五心得體會本設(shè)計基于VHDL語言進行設(shè)計,利用FPGA芯片為主要芯片,在編程過程中分體現(xiàn)了進程的并行性,利用了五個基本的模塊實現(xiàn)了上述的功能。其實本實驗的關(guān)鍵還是EDA軟件QUARTUS II 的使用,在一開始的接觸中,完全不知道本軟件的使用方法,在經(jīng)過一天的視頻學(xué)習(xí)后,對此軟件的使用有了較為初步的認(rèn)識。然后就是vhdl語言的編寫,由于本人的編程語言以前學(xué)的不是很好,因此只能一邊參照課本一邊進行語言的編寫。讓我印象最深刻的就是分頻器和乘法器的編寫,分頻器是我第一次編寫的比較復(fù)雜的模塊,實現(xiàn)的不理想,因此借用了網(wǎng)上查閱的資料。乘法器的編寫最初的思路有些偏差,在和組員的討論中編寫了更為理想的程序,

溫馨提示

  • 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)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論