基于FPGA脈寬調(diào)制設(shè)計_第1頁
基于FPGA脈寬調(diào)制設(shè)計_第2頁
基于FPGA脈寬調(diào)制設(shè)計_第3頁
基于FPGA脈寬調(diào)制設(shè)計_第4頁
基于FPGA脈寬調(diào)制設(shè)計_第5頁
已閱讀5頁,還剩5頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

1、基于fpga脈寬調(diào)制設(shè)計學院:電子信息工程學院姓名:學號指導老師:1.1選題背景與研究意義1.1.1信號發(fā)生器的實現(xiàn)技術(shù)信號發(fā)生器是電子測試設(shè)備中的一種,它用來產(chǎn)生不同類型、不同頻率、不 同幅度的電子波形,廣泛應用于電子設(shè)備的研發(fā)、測試和維修。它產(chǎn)生的典型波 形有正弦波、方波、三角波和鋸齒波。傳統(tǒng)的信號發(fā)生器運用的是模擬技術(shù),它的實現(xiàn)方法是將正弦波與某一電平 作比較,比較器的輸出即方波,通過調(diào)節(jié)待比較的電平即可產(chǎn)生占空比不同的方 波,內(nèi)對方波做積分和微分便可產(chǎn)生三角波,而鋸齒波的產(chǎn)生基于對電容的充電, 然后通過開關(guān)放電實現(xiàn)。模擬信號發(fā)生器技術(shù)的關(guān)鍵在于正弦波的產(chǎn)生。早期的技術(shù)都是基于諧振 法,

2、之后乂出現(xiàn)了基于鎖和環(huán)技術(shù)的信號發(fā)生器。隨著電子技術(shù)的不斷發(fā)展和直 掇數(shù)寧頻率合成技術(shù)(direct digital synthesizer)的提!li,一種新的信號產(chǎn)生方 法正在被廣泛應用,這種方法就是dds技術(shù)。信號發(fā)生器的數(shù)字實現(xiàn)方法有兩種,一種是運用專用集成電路(asic)信 號產(chǎn)生芯片,如adi公司的ad9850,另一種是運用可編程邏輯器件(fpga)。1.1.2研究背景及研究意義在現(xiàn)代電子系統(tǒng)中,信號發(fā)生器是重要的組成部分之一。在信號傳輸、通信 電子、電力載波、電子對抗等眾多領(lǐng)域被廣泛使用。比如,在廣播傳輸系統(tǒng)中, 高頻信號需耍作為載波發(fā)射,在這里就需要一個能產(chǎn)生高頻的信號發(fā)生器。

3、在工 、lk、生物醫(yī)學等領(lǐng)域,如超聲診斷、核磁共振等,都需要特定頻率、特定功率的 信號發(fā)生器。本設(shè)計是直接數(shù)字頻率合成技術(shù)與可編程邏輯器件的結(jié)合,首先,利用 verilog hdl語言完成了 dds信號發(fā)生器的rtl描述,其次,使用altera公司 出品的quartus ii 11.0進行模塊化設(shè)計和仿真。quartus ii是altera公司提供的 eda集成開發(fā)環(huán)境,其人機界面友好,特別適用于fpga初學者。與eda軟件 配合的是cyclone ii ep2c5q208c8開發(fā)板,體積小巧,功能豐富,非常適合用 于dds的設(shè)計。1.2信號發(fā)生器功能1.2.1信號發(fā)生器的功能作為基本功能,信

4、號發(fā)生器要具有產(chǎn)生正弦波、方波、三角波和鋸齒波的能 力;設(shè)計說明書如下: 通過撥碼開關(guān)實現(xiàn)輸出spwm。 當撥碼開關(guān)同吋為“0”吋,輸出spwm。 當撥碼開關(guān)分別為“0” “丨”時,輸出正弦波和鋸齒比較后波形。 當撥碼開關(guān)分別為“1” “0”吋,輸出頻率改變的方波。 當撥碼開關(guān)同時為“1”時,通過某一按鍵開關(guān)切換輸出波形的類型,類 型在正弦波、三角波和鋸齒波之間切換。1.3信號發(fā)生器數(shù)字部分的設(shè)計1.3.1波形rom設(shè)計作為一款dds信號發(fā)生器,rom的設(shè)計很重要。木文的rom模塊調(diào)用了 quartus q帶的ip核r0m4-p0rt,在調(diào)用之前,需先準備好rom的初始化文 件,altera

5、的 fpga 的 rom 初始化文件的后綴名力.mif(memory initialized file), 格式如下:depth =128;width =8;address一radix = dec;data_radix = dec;contentbegin數(shù)據(jù)end;生成rom模塊的過程如下:打開“megawizard plug-in manager”,6:擊“create a new custom megafunction variation”,在狎出的對話框屮展開“memory compiler”歹!j表,在展開的列表屮選 擇“rom:1-port”,點擊“卜一步”,在“how wide

6、should the q output bus be ?”右 側(cè)選擇8位,在“how many 10-bit words of memory ?”右側(cè)選擇數(shù)據(jù)容量力128 個。點擊兩次“下一步”,選擇生成的mif文件,再點擊兩次“下一步”,在對話框屮把“生成bsf文件”勾上。最厄點擊“結(jié)束”,便完成了 rom的調(diào)用。生成的symbol如圖所示。r0m4paddress6.0i=d-i §ssooxq7.oclock如7 block type: m9krom 的 symbol止弦rom模塊的仿真波形如圖所示。clockssedrc;1x2x3x4x5x6xtx8x9x10xhx12;0

7、irom模塊仿真波形正弦rom模塊例化代碼如下:module z'neng (i inputelk,inputrst_nfinputenroutput 7:0 ql , output 7:0 sinewire 6:0 addr;日rom1promlp_inst (i.address ( addr ),.clock ( elk),q ( ql);reg 6:0 ent;always© (pcsedge elk or r.egedge rst_n) 日beginif(!rst_n)enz <= 71do; else if(en)ent <= cnt+7'dl;

8、elsecnt<=cnt;-ndassign addr = ent; assign sine=ql;lendir.odule止弦波的symbol如圖所zhengelkq17.o礬rst_nsine7.o«eninstr.正弦波,方波,鋸齒波,三角波生成模塊的signaltap抓取波形如圖所示。1.3.2分頻模塊設(shè)計晶振的輸出頻率為50 mhz,為敁示spwm波形,這時就有必要對輸入時鐘 進行分頻了。分頻模塊的關(guān)鍵代碼如卜、module div (elk f out ); input elk; output out; reg out; xeg 5:0】q;always ( pos

9、edge elk ) if( q != 1) q <= q + 1; else q <= 0;always ( posedge elk )if ( q = 1)out<= -out;lendir.odule正弦波的symbol如圖所不*。div elkoutwr春vw,instl 止弦波的symbol1.3.3比較器和按鍵控制設(shè)計經(jīng)過上述設(shè)計,現(xiàn)在模塊具有四個rom,每個rom分別保存著正弦波、 方波、三角波和鋸齒波,模訣具有四個da輸;li,這就需要有一個模塊來實現(xiàn)對 四個數(shù)據(jù)的選擇,選出一路波形數(shù)據(jù)給da要產(chǎn)生占空比可調(diào)的方波,可以將某一電平與止弦波比較,比較器的輸出即

10、占空比可調(diào)的方波,其屮,控制被比較的電平的大小即可控制方波的占空比。比較器及按鍵的關(guān)鍵代碼如下:input sell;input sel2;input klz k2 z k3;output 7:0 out;reg 7:0 out; always (posedge elk)芻begin| if ( (sell=0) “ (sel2=0)3 beginif (ql > q2) out <= 255; else out <= 0;一 endelse if ( (sell=0) && (sel2=l)3 beginif (ql > q4) out <= 2

11、55; else out <= 0;- endelse if ( (sell=l) && (sel2=0)3 beginout <= q3;- endelse if ( (sell=l) && (sel2=l)3 beginif (kl0)out<=q2 ; else if (k2=0) out<=q4; else if (k3=0) out<=q5;- end else ;比較器及按鍵的symbol如圖所示bijiaoelkout7"0j1q57.0jqip.ojq27.oq37.0jq47.osell&et2k

12、1k2k3instzupjtoutp比較器及按鍵的symbol1.3.4 spwm波生成設(shè)計spwm波生成運用了正弦波和等腰三角波電平相比較的原理,只需調(diào)用一 個三角波生成模塊,將三角波的電平與正弦波相比較即可,比較的輸出接數(shù)裾選 擇器,就可輸出spwm波了。spwm波生成模塊的signaltap抓取波形如圖所示。spwm波生成模塊的signaltap抓取波形1.3.5頂層設(shè)計整個數(shù)字系統(tǒng)的頂層設(shè)計是按照圖進行的,其quartus原理圖如圖所示ck -* 扇a>«1.< 參嚳曇攀攀參參參參魯暴參豢*鬱攀:uw:;| w':::: :::!: :::.u-a >

13、;ti,參«<r a n。 r a-r «<a. >an q mu* a/« :丄%*<»or-« i 數(shù)字部分頂展圖rtl圖如卜所示§ rr viewer - cusers./wministratoo'desbop/ceshi/ceshi - ceskffc edt sew took mndo hdp ;tde: -c: e 3 s 龜珍固ib em aomfnlockr: iceih (77 optwi.tj mode suber, toesfhjrcjut2015/1/102.1總結(jié)通過此次設(shè)計,

14、讓我深深的感覺到自匕所學知識真是非常的淺薄。血對電子 技術(shù)日新月異的發(fā)展,利用eda手段進行設(shè)計已成為不可阻擋的趨勢。相對于傳 統(tǒng)至底向上的設(shè)計方式,自上而下的設(shè)計具有蘇顯著的優(yōu)越性。利用eda設(shè)計軟 件輔助設(shè)計,方便快捷,減少了錯誤率的產(chǎn)生,縮短了產(chǎn)品的設(shè)計及上市周期, 既減輕了設(shè)計工作量又滿足了商業(yè)利益的需求。該系統(tǒng)以cyclon器件為核心 部件,可利用軟件編程實現(xiàn)了對d/a轉(zhuǎn)換信號的處理。努力做到了線路簡單、高 性價比的特點,充分利用了軟件編程,彌補了硬件元器件的不足。在設(shè)計過程 當屮,遇到了軟件操作不熟練,程序編寫不規(guī)范等諸多問題,通過對問題的總結(jié) 分析得出,應用軟件的主要功能必須熟練操作,才能提高工作效率,需要規(guī)范操 作的地方必須嚴格按照使用說明操作,避免巾于軟件使用不當造成的錯誤產(chǎn)生。 程序的編寫格式必須規(guī)范,模塊、端門以及信號變量的命名應當反映實際意義, 縮進格式工整明了,方便閱讀理解,這樣有利于程序的編寫,有利于分

溫馨提示

  • 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. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論