畢業(yè)設(shè)計(jì)(論文)-基于FPGA的實(shí)用多功能信號(hào)發(fā)生器的設(shè)計(jì)與制作_第1頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于FPGA的實(shí)用多功能信號(hào)發(fā)生器的設(shè)計(jì)與制作_第2頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于FPGA的實(shí)用多功能信號(hào)發(fā)生器的設(shè)計(jì)與制作_第3頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于FPGA的實(shí)用多功能信號(hào)發(fā)生器的設(shè)計(jì)與制作_第4頁(yè)
畢業(yè)設(shè)計(jì)(論文)-基于FPGA的實(shí)用多功能信號(hào)發(fā)生器的設(shè)計(jì)與制作_第5頁(yè)
已閱讀5頁(yè),還剩80頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

1、基于FPGA的實(shí)用多功能信號(hào)發(fā)生器的設(shè)計(jì)與制作基于FPGA的實(shí)用多功能信號(hào)發(fā)生器的設(shè)計(jì)與制作摘 要多功能信號(hào)發(fā)生器已成為現(xiàn)代測(cè)試領(lǐng)域應(yīng)用最為廣泛的通用儀器之一,代表了信號(hào)源的開(kāi)展方向。直接數(shù)字頻率合成(DDS)是二十世紀(jì)七十年代初提出的一種全數(shù)字的頻率合成技術(shù),其查表合成波形的方法可以滿足產(chǎn)生任意波形的要求。由于現(xiàn)場(chǎng)可編程門(mén)陣列(FPGA)具有高集成度、高速度、可實(shí)現(xiàn)大容量存儲(chǔ)器功能的特性,能有效地實(shí)現(xiàn)DDS技術(shù),極大的提高函數(shù)發(fā)生器的性能,降低生產(chǎn)本錢(qián)。本文首先介紹了函數(shù)信號(hào)發(fā)生器的研究背景和DDS的理論。然后詳盡地表達(dá)了利用Verilog HDL描述DDS模塊的設(shè)計(jì)過(guò)程,以及設(shè)計(jì)過(guò)程中應(yīng)注

2、意的問(wèn)題。文中詳細(xì)地介紹了多種信號(hào)的發(fā)生理論、實(shí)現(xiàn)方法、實(shí)現(xiàn)過(guò)程、局部Verilog HDL代碼以及利用Modelsim仿真的結(jié)果。文中還介紹了Altera公司的DE2多媒體開(kāi)發(fā)平臺(tái)的局部功能及使用,并最終利用DE2平臺(tái)完成了多功能信號(hào)發(fā)生器的大局部功能。包括由LCD顯示和按鍵輸入構(gòu)成的人機(jī)界面和多種信號(hào)的發(fā)生。數(shù)字模擬轉(zhuǎn)換器是BURR-BROWN公司生產(chǎn)的DAC902。該信號(hào)發(fā)生器能輸出8種不同的信號(hào),并且能對(duì)輸出信號(hào)的頻率、相位以及調(diào)制信號(hào)的頻率進(jìn)行修改設(shè)定。關(guān)鍵詞:信號(hào)發(fā)生器;DDS;FPGA;DE2Practical FPGA-based multi function signal g

3、enerator design and productionAbstractMulti function signal generator has become the most widely used in modern testing field of general instrument, and has represented one of the development direction of the source. Direct digital frequency synthesis (DDS) is a totaly digital frequency synthesis te

4、chnology, which been put forward in the early 1970s. Using a look-up table method to synthetic waveform, it can satisfy any requirement of waveform produce. Due to the field programmable gates array (FPGA) with high integrity, high speed, and large storage properties, it can realize the DDS technolo

5、gy effectively, increase signal generators performance and reduce production costs.Firstly, this article introduced the function signal generator of the research background and DDS theory. Then, it described how to design a DDS module by Verilog HDL, and introduced various signal occurs theory, meth

6、od and the implementation process, Verilog HDL code and simulation results.This paper also introduces the function of DE2 multimedia development platform, and completed most of the functions of multi-function signal generator on DE2 platform finally. Including the occurrence of multiple signal and t

7、he man-machine interface which composed by LCD display and key input. Digital-to-analog converters is DAC902, which produced by company BURR-BROWN.This signal generator can output eight different kinds of signals, and the frequency of the output signal, phase and modulation frequency signal also can

8、 be modifyed.Key Words: Signal generator; DDS; FPGA; DE2目 錄論文總頁(yè)數(shù):34頁(yè) TOC o 1-3 h z u HYPERLINK l _Toc263623951 1 引言 PAGEREF _Toc263623951 h 1 HYPERLINK l _Toc263623952 課題背景 PAGEREF _Toc263623952 h 1 HYPERLINK l _Toc263623953 國(guó)內(nèi)外波形發(fā)生器的開(kāi)展現(xiàn)狀 PAGEREF _Toc263623953 h 1 HYPERLINK l _Toc263623954 本文研究的主要內(nèi)容

9、 PAGEREF _Toc263623954 h 2 HYPERLINK l _Toc263623955 2 信號(hào)發(fā)生器原理 PAGEREF _Toc263623955 h 2 HYPERLINK l _Toc263623956 直接數(shù)字頻率合成技術(shù)的根本原理 PAGEREF _Toc263623956 h 2 HYPERLINK l _Toc263623957 2.2 相位偏移控制 PAGEREF _Toc263623957 h 3 HYPERLINK l _Toc263623958 多種信號(hào)的發(fā)生 PAGEREF _Toc263623958 h 3 HYPERLINK l _Toc2636

10、23959 方波的發(fā)生 PAGEREF _Toc263623959 h 3 HYPERLINK l _Toc263623960 三角波發(fā)生 PAGEREF _Toc263623960 h 4 HYPERLINK l _Toc263623961 鋸齒波發(fā)生 PAGEREF _Toc263623961 h 4 HYPERLINK l _Toc263623962 2.3.4 PWM信號(hào)發(fā)生 PAGEREF _Toc263623962 h 4 HYPERLINK l _Toc263623963 2.3.5 SPWM信號(hào)發(fā)生 PAGEREF _Toc263623963 h 5 HYPERLINK l _

11、Toc263623964 2.3.6 AM信號(hào)發(fā)生 PAGEREF _Toc263623964 h 5 HYPERLINK l _Toc263623965 2.3.7 FM信號(hào)發(fā)生 PAGEREF _Toc263623965 h 6 HYPERLINK l _Toc263623966 2.4 DDS 的特點(diǎn) PAGEREF _Toc263623966 h 7 HYPERLINK l _Toc263623967 2.4.1 DDS 的優(yōu)點(diǎn) PAGEREF _Toc263623967 h 7 HYPERLINK l _Toc263623968 2.4.2 DDS 系統(tǒng)的缺點(diǎn) PAGEREF _To

12、c263623968 h 7 HYPERLINK l _Toc263623969 3 系統(tǒng)整體設(shè)計(jì) PAGEREF _Toc263623969 h 8 HYPERLINK l _Toc263623970 硬件局部 PAGEREF _Toc263623970 h 8 HYPERLINK l _Toc263623971 3.1.1 DE2實(shí)驗(yàn)板 PAGEREF _Toc263623971 h 8 HYPERLINK l _Toc263623972 3.1.2 LCD模塊 PAGEREF _Toc263623972 h 9 HYPERLINK l _Toc263623973 3.1.2 DAC902

13、 PAGEREF _Toc263623973 h 11 HYPERLINK l _Toc263623974 基于VERILOG的FPGA設(shè)計(jì) PAGEREF _Toc263623974 h 12 HYPERLINK l _Toc263623975 軟件工具 PAGEREF _Toc263623975 h 12 HYPERLINK l _Toc263623976 3.3.1 Modelsim PAGEREF _Toc263623976 h 12 HYPERLINK l _Toc263623977 3.3.2 Quartus PAGEREF _Toc263623977 h 12 HYPERLINK

14、 l _Toc263623978 系統(tǒng)設(shè)計(jì) PAGEREF _Toc263623978 h 13 HYPERLINK l _Toc263623979 3.4.1 系統(tǒng)初始化模塊 PAGEREF _Toc263623979 h 13 HYPERLINK l _Toc263623980 按鍵模塊和LCD模塊 PAGEREF _Toc263623980 h 13 HYPERLINK l _Toc263623981 3.4.3 RAM模塊 PAGEREF _Toc263623981 h 14 HYPERLINK l _Toc263623982 數(shù)據(jù)轉(zhuǎn)換模塊 PAGEREF _Toc263623982

15、h 15 HYPERLINK l _Toc263623983 3.4.5 DAC驅(qū)動(dòng)模塊 PAGEREF _Toc263623983 h 15 HYPERLINK l _Toc263623984 系統(tǒng)的運(yùn)行 PAGEREF _Toc263623984 h 15 HYPERLINK l _Toc263623985 4 Verilog HDL代碼實(shí)現(xiàn)與仿真 PAGEREF _Toc263623985 h 15 HYPERLINK l _Toc263623986 信號(hào)發(fā)生器模塊 PAGEREF _Toc263623986 h 15 HYPERLINK l _Toc263623987 頻率控制字和相位

16、累加器 PAGEREF _Toc263623987 h 15 HYPERLINK l _Toc263623988 4.1.2 相位偏移控制 PAGEREF _Toc263623988 h 16 HYPERLINK l _Toc263623989 正弦波發(fā)生模塊 PAGEREF _Toc263623989 h 17 HYPERLINK l _Toc263623990 4.1.4 方波發(fā)生模塊 PAGEREF _Toc263623990 h 17 HYPERLINK l _Toc263623991 4.1.5 三角波發(fā)生模塊 PAGEREF _Toc263623991 h 18 HYPERLINK

17、 l _Toc263623992 4.1.6 鋸齒波發(fā)生模塊 PAGEREF _Toc263623992 h 18 HYPERLINK l _Toc263623993 4.1.7 PWM信號(hào)發(fā)生模塊 PAGEREF _Toc263623993 h 19 HYPERLINK l _Toc263623994 4.1.8 SPWM信號(hào)發(fā)生模塊 PAGEREF _Toc263623994 h 19 HYPERLINK l _Toc263623995 4.1.9 AM信號(hào)發(fā)生模塊 PAGEREF _Toc263623995 h 20 HYPERLINK l _Toc263623996 4.1.10 FM

18、信號(hào)發(fā)生模塊 PAGEREF _Toc263623996 h 21 HYPERLINK l _Toc263623997 4.2 按鍵輸入模塊 PAGEREF _Toc263623997 h 22 HYPERLINK l _Toc263623998 4.3 LCD顯示模塊 PAGEREF _Toc263623998 h 23 HYPERLINK l _Toc263623999 4.4 RAM模塊 PAGEREF _Toc263623999 h 24 HYPERLINK l _Toc263624000 4.5 數(shù)據(jù)轉(zhuǎn)換模塊 PAGEREF _Toc263624000 h 25 HYPERLINK

19、l _Toc263624001 5 系統(tǒng)測(cè)試 PAGEREF _Toc263624001 h 26 HYPERLINK l _Toc263624002 5.1 控制及顯示局部測(cè)試 PAGEREF _Toc263624002 h 27 HYPERLINK l _Toc263624003 5.2 輸出頻率測(cè)試 PAGEREF _Toc263624003 h 27 HYPERLINK l _Toc263624004 信號(hào)發(fā)生測(cè)試 PAGEREF _Toc263624004 h 28 HYPERLINK l _Toc263624005 5.3.1 正弦波、方波、三角波、鋸齒波測(cè)試 PAGEREF _T

20、oc263624005 h 28 HYPERLINK l _Toc263624006 5.3.2 PWM信號(hào)測(cè)試 PAGEREF _Toc263624006 h 29 HYPERLINK l _Toc263624007 5.3.3 SPWM信號(hào)測(cè)試 PAGEREF _Toc263624007 h 29 HYPERLINK l _Toc263624008 5.3.4 AM信號(hào)測(cè)試 PAGEREF _Toc263624008 h 29 HYPERLINK l _Toc263624009 5.3.5 FM信號(hào)測(cè)試 PAGEREF _Toc263624009 h 30 HYPERLINK l _Toc

21、263624010 結(jié) 論 PAGEREF _Toc263624010 h 31 HYPERLINK l _Toc263624011 參考文獻(xiàn) PAGEREF _Toc263624011 h 32 HYPERLINK l _Toc263624012 致 謝 PAGEREF _Toc263624012 h 33 HYPERLINK l _Toc263624013 聲 明 PAGEREF _Toc263624013 h 341 引言1.1課題背景傳統(tǒng)的信號(hào)發(fā)生器主要有兩類(lèi):正弦波和脈沖波,而函數(shù)發(fā)生器介于兩類(lèi)之間。它能夠提供正弦波、余弦波、方波、三角波等幾種常用標(biāo)準(zhǔn)波形,產(chǎn)生其它波形時(shí),需要采用較

22、復(fù)雜的電路和機(jī)電結(jié)合的方法。這個(gè)時(shí)期的波形發(fā)生器多采用模擬電子技術(shù),但是模擬器件構(gòu)成的電路存在著尺寸大、價(jià)格貴、功耗大等缺點(diǎn)。而且要產(chǎn)生的信號(hào)波形越復(fù)雜,那么電路結(jié)構(gòu)也會(huì)越復(fù)雜。同時(shí)還有兩個(gè)突出問(wèn)題,一是通過(guò)電位器的調(diào)節(jié)來(lái)實(shí)現(xiàn)輸出頻率的調(diào)節(jié),因此很難將頻率調(diào)到某一固定值;二是脈沖的占空比不可調(diào)節(jié)?,F(xiàn)代科學(xué)技術(shù)的飛速開(kāi)展對(duì)信號(hào)源提出了越來(lái)越高的要求。這些要求主要表現(xiàn)在高分辨率、高輸出頻率、任意波形等方面。此時(shí)傳統(tǒng)的信號(hào)發(fā)生器已經(jīng)無(wú)法滿足要求。直接數(shù)字頻率合成1Direct Digital Synthesizer簡(jiǎn)稱(chēng)DDS技術(shù)是一種新的全數(shù)字的頻率合成原理,它從相位的角度出發(fā)直接合成所需波形。這種

23、技術(shù)由美國(guó)學(xué)者JTiercy,MRader和BGold于1971年首次提出,但限于當(dāng)時(shí)的技術(shù)和工藝水平,DDS技術(shù)僅僅在理論上進(jìn)行了一些探討,而沒(méi)有應(yīng)用到實(shí)際中去。但是隨著電子技術(shù)的飛速開(kāi)展,微處理器性能大幅提高,高速的DA以及隨機(jī)存儲(chǔ)器大量涌現(xiàn),DDS技術(shù)已經(jīng)變得很容易實(shí)現(xiàn)。它已廣泛應(yīng)用于通訊、雷達(dá)、遙控測(cè)試、電子對(duì)抗以及現(xiàn)代化的儀器儀表工業(yè)2等許多領(lǐng)域。將其與簡(jiǎn)單電路相結(jié)合就可以精確模擬仿真各種信號(hào)。不管是在生產(chǎn)、實(shí)驗(yàn)還是在科研與教學(xué)上,多功能信號(hào)發(fā)生器都是用于仿真實(shí)驗(yàn)的最正確工具。隨著我國(guó)經(jīng)濟(jì)和科技的開(kāi)展,對(duì)相應(yīng)的測(cè)試儀器和測(cè)試手段也提出了更高的要求,多功能信號(hào)生器己成為測(cè)試儀器中至關(guān)重

24、要的一類(lèi),因此開(kāi)發(fā)多功能信號(hào)發(fā)生器具有重大意義。1.2國(guó)內(nèi)外波形發(fā)生器的開(kāi)展現(xiàn)狀早在1978年,由美國(guó)Wavetek公司和日本東亞電波工業(yè)公司公布了最高取樣頻率為5MHz,可以形成256點(diǎn)波形數(shù)據(jù),垂直分辨率為8bit,主要用于振動(dòng)、醫(yī)療、材料等領(lǐng)域的第一代高性能信號(hào)源。經(jīng)過(guò)將近30年的開(kāi)展,伴隨著電子元器件、電路、及生產(chǎn)設(shè)備的高速化、高集成化,信號(hào)發(fā)生器的性能有了飛速的提高。信號(hào)發(fā)生器變得操作越來(lái)越簡(jiǎn)單而輸出波形的能力越來(lái)越強(qiáng)。90年代末,出現(xiàn)幾種真正高性能、高價(jià)格的函數(shù)發(fā)生器,如HP公司推出了型號(hào)為HP770S的信號(hào)模擬裝置系統(tǒng)。它由HP9770A任意波形數(shù)字化和HPl776A波形發(fā)生軟件

25、組成。HP8770A實(shí)際上也只能產(chǎn)生8種波形,而且價(jià)格昂貴。不久以后,Analogie公司推出了型號(hào)為Data-2021的多波形合成器,Lecroy公司生產(chǎn)的型號(hào)為9100的任意波形發(fā)生器等。到了二十一世紀(jì),隨著集成電路技術(shù)的高速開(kāi)展,出現(xiàn)了多種工作頻率可到達(dá)GHz水平的DDS芯片,同時(shí)也推動(dòng)了函數(shù)波形發(fā)生器的開(kāi)展。2003年,Agilent公司的產(chǎn)品33220A能夠產(chǎn)生17種波形,最高頻率可到達(dá)20M,2005年的產(chǎn)品N6030A能夠產(chǎn)生高達(dá)500MHz的頻率,采樣的頻率可達(dá)1.25GHz。1.3本文研究的主要內(nèi)容(1) 熟悉FPGA技術(shù),學(xué)習(xí)verilog語(yǔ)言及仿真工具modelsim 和

26、綜合工具Quartus II的使用;(2) 熟悉DE2平臺(tái)的使用,并學(xué)會(huì)利用DE2平臺(tái)進(jìn)行系統(tǒng)設(shè)計(jì)和開(kāi)發(fā);(3) 對(duì)DDS理論進(jìn)行研究和分析,選擇一種適合于FPGA實(shí)現(xiàn)的方案;(4) 設(shè)計(jì)一個(gè)完整的實(shí)用的信號(hào)發(fā)生器系統(tǒng),包括多種信號(hào)的發(fā)生、LCD顯示及按鍵控制等;(5) 利用DE2平臺(tái)實(shí)現(xiàn)信號(hào)發(fā)生器系統(tǒng)。2 信號(hào)發(fā)生器原理 直接數(shù)字頻率合成技術(shù)是根據(jù)奈奎斯特取樣定理,從連續(xù)信號(hào)的相位出發(fā)將一個(gè)信號(hào)取樣、量化、編碼,最后形成一個(gè)信號(hào)函數(shù)表,并且事先存于ROM 中。在信號(hào)合成時(shí),通過(guò)改變相位累加器的頻率控制字,來(lái)改變相位增量,而相位增量的不同將導(dǎo)致一個(gè)周期內(nèi)取樣點(diǎn)的不同,從而改變頻率。具體的DDS

27、實(shí)現(xiàn)時(shí),是通過(guò)在采樣頻率不變的情況下,改變相位累加器的頻率控制字,將這種變化的相位、幅值量化的數(shù)字信號(hào)通過(guò)DA變換及濾波,最終得到合成的模擬信號(hào)。圖2-1 DDS的根本結(jié)構(gòu)圖DDS主要由相位累加器、波形ROM、DAC以及低通濾波器等組成,如圖2-1所示。位相位累加器的位數(shù)為N,每一個(gè)取樣時(shí)鐘相位累加器都會(huì)對(duì)頻率控制字K進(jìn)行累加。相位累加器的高位輸出作為波形 ROM 的地址,從而實(shí)現(xiàn)了波形相位到幅值的轉(zhuǎn)換。波形數(shù)據(jù)經(jīng)DAC轉(zhuǎn)換得到階梯狀的信號(hào),通過(guò)濾波器輸出相對(duì)平滑的波形。 如果相位累加器的長(zhǎng)度為 N 位,時(shí)鐘脈沖頻率為,頻率控制字為 K,這時(shí)可得 DDS 的輸出頻率如公式2-1所示。 2-1由

28、公式2-1可以看出,相位累加器的長(zhǎng)度N決定了累加器輸出的數(shù)字階梯波的頻率精度。而且N越大,得到波形的頻率精度就越高。另 K=1,即可得到 DDS 的頻率分辨率如公式2-2所示。 (2-2)由DDS的結(jié)構(gòu)可以看出DDS輸出信號(hào)的頻率分辨率是由相位累加器的位數(shù)N決定,相位分辨率由ROM的尋址位數(shù)決定,而幅值分辨率是由DAC的數(shù)據(jù)位數(shù)所決定。2.2 相位偏移控制由相位累加器送出的相位地址經(jīng)過(guò)查表進(jìn)行從相位到幅度的轉(zhuǎn)換就可以得到需要的正弦波。假設(shè)在相位累加器的輸出相位上加上一個(gè)小的數(shù)值,那么查表后得到的數(shù)據(jù)也會(huì)相應(yīng)的超前,也就是說(shuō)此時(shí)的輸出波形的相位會(huì)相對(duì)于原來(lái)的波形超前。而且這個(gè)超前的相位值應(yīng)該是和

29、在相位加器輸出相位上加的數(shù)值成正比的。設(shè)相位累加器輸出的相位是n位,當(dāng)在當(dāng)前相位累加器輸出的相位上疊加一個(gè)大小為p的數(shù)值后,現(xiàn)在輸出波形的相位相對(duì)于先前的相位就超前,如公式2-3所示。 2-3對(duì)于正弦波的發(fā)生,通常都采用上述查表的方法。當(dāng)然這種方法也實(shí)用于其它的波形的發(fā)生。但是考慮到各種不同的波形的特點(diǎn),也可以采用更為簡(jiǎn)便的方法得到。同樣取相位累加器的最高幾位作為方波發(fā)生器的地址。根據(jù)相位累加器的原理可知,該地址是隨時(shí)間線性變化的,如圖2-2所示。假設(shè)ob正好為輸出波形的一個(gè)周期,那么在b點(diǎn)時(shí)地址應(yīng)該剛好計(jì)滿,即地址的每一個(gè)二進(jìn)制位都是1。那么可知在ob的中點(diǎn)a處以前地址的最高位都為0,而在a

30、點(diǎn)以后的地址最高位都為1。圖2-2 方波的發(fā)生利用這一特點(diǎn),可以隨時(shí)檢查地址的最高位的電平。當(dāng)最高位為低電平時(shí)為0時(shí),那么說(shuō)明此時(shí)處于方波前半個(gè)周期,這時(shí)輸出全部置1,輸出波形為高電平。反之,當(dāng)?shù)刂返淖罡呶粸楦唠娖綖?時(shí),輸出全部置0,輸出波形為低電平。這樣便可得到占空比為50%的標(biāo)準(zhǔn)方波,而且該方波的頻率正好等于相位累加器的溢出率。三角波發(fā)生同樣取相位累加器的最高幾位作為三角波發(fā)生器的地址。設(shè)ob正好為一個(gè)周期。圖2-3 三角波的發(fā)生在前半個(gè)周期輸出波形與地址的波形是一致的。利用這一點(diǎn)可以直接將地址信號(hào)作為輸出信號(hào)送出。在后半周期地址信號(hào)波形與輸出波形不相同,但是可以明顯的看出二者的斜率正好

31、相反。此時(shí)假設(shè)將地址信號(hào)全部按位取反,就可以得到輸出波形,如圖2-3所示。檢查地址信號(hào)的最高位的電平變化情況。當(dāng)最高位為低電平時(shí),直接將地址信號(hào)作為輸出信號(hào)送出;當(dāng)最高位為高電平時(shí),將地址信號(hào)全部按位取反再輸出。這樣就可以得到一個(gè)頻率正好等于相位累加器的溢出率的標(biāo)準(zhǔn)三角波。鋸齒波發(fā)生鋸齒波的波形與三角波的前半個(gè)周期相同,因此可以采用同樣的發(fā)生方式。取相位累加器的最高幾位作為地址,并將地址信號(hào)直接輸出就可以得到鋸齒波。同理,產(chǎn)生的鋸齒波的頻率也正好等于相位累加器的溢出率。2.3.4 PWM信號(hào)發(fā)生脈沖寬度調(diào)制(PWM),是英文Pulse Width Modulation的縮寫(xiě),簡(jiǎn)稱(chēng)脈寬調(diào)制,是利

32、用微處理器的數(shù)字輸出來(lái)對(duì)模擬電路進(jìn)行控制的一種非常有效的技術(shù),廣泛應(yīng)用在從測(cè)量、通信到功率控制與變換的許多領(lǐng)域中。實(shí)際應(yīng)用中通常是使用一個(gè)高精度的計(jì)數(shù)器來(lái)實(shí)現(xiàn)的。圖2-4 PWM信號(hào)的發(fā)生這里直接取相位累加器的最高幾位作為計(jì)數(shù)器。同時(shí)還需要一個(gè)存放器用于存放脈寬值。將計(jì)數(shù)器的值與存放器的值作比擬。當(dāng)計(jì)數(shù)器值小于存放器值的時(shí)候,輸出為高電平;當(dāng)計(jì)數(shù)器的值大于存放器的值的時(shí)候,輸出翻轉(zhuǎn)為低電平。這樣就能得到一個(gè)PWM信號(hào),而且該信號(hào)的脈寬取決于存放器中數(shù)值的大小。當(dāng)存放器值增加,那么輸出波形脈寬增大;當(dāng)存放器值減小,那么輸出波形的脈寬減小,如圖2-4所示。 SPWM信號(hào)發(fā)生所謂SPWM,就是在PW

33、M的根底上改變了調(diào)制脈沖方式,脈沖寬度時(shí)間占空比按正弦規(guī)率排列,這樣輸出波形經(jīng)過(guò)適當(dāng)?shù)臑V波可以做到正弦波輸出。它廣泛地用于直流交流逆變器等,比方高級(jí)一些的UPS就是一個(gè)例子。三相SPWM是使用SPWM模擬市電的三相輸出,在變頻器領(lǐng)域被廣泛的采用。圖2-5 SPWM信號(hào)的發(fā)生SPWM信號(hào)可以通過(guò)一個(gè)頻率較低的正弦信號(hào)與另一個(gè)頻率較高的三角波信號(hào)做比擬得到。把正弦波看作調(diào)制信號(hào),三角波看作載波,將二者經(jīng)過(guò)比擬器調(diào)制得到SPWM信號(hào)。但是這種方法比擬麻煩,所以這里借鑒了前面所用過(guò)的PWM的發(fā)生方式。產(chǎn)生PWM波形的時(shí)候需要一個(gè)存放器用于存放脈寬值,通過(guò)修改該存放器的值就可以修改輸出波形的脈寬。那么,

34、如果當(dāng)該存放器的值按正弦規(guī)律變化的話,輸出波形的脈寬值也會(huì)按正弦規(guī)律變化,如圖2-5所示。同樣取相位累加器的最高幾位作為計(jì)數(shù)器,而該相位累加器的溢出率就相當(dāng)于是載波的頻率。調(diào)制信號(hào)的發(fā)生可以采用前面的正弦波的發(fā)生方式。但是這里需要另外一個(gè)獨(dú)立的相位累加器專(zhuān)門(mén)為正弦波發(fā)生器提供地址信號(hào),該相位累加器的溢出率就是調(diào)制信號(hào)的頻率。再將正弦波值送到控制脈寬的存放器,經(jīng)過(guò)與計(jì)數(shù)器的比擬就可以得到一個(gè)SPWM信號(hào)。2.3.6 AM信號(hào)發(fā)生在線性調(diào)制系列中,最先應(yīng)用的一種幅度調(diào)制是全調(diào)幅或常規(guī)調(diào)幅,簡(jiǎn)稱(chēng)為調(diào)幅AM。不但在頻域中已調(diào)波頻譜是基帶調(diào)制信號(hào)頻譜的線性位移,而且在時(shí)域中,已調(diào)波包絡(luò)與調(diào)制信號(hào)波形呈線

35、性關(guān)系。 設(shè)調(diào)制信號(hào)為 2-4載波信號(hào)為 2-5根據(jù)調(diào)幅波的振幅與調(diào)制信號(hào)成正比,所以可得調(diào)幅波的表達(dá)式為 4 2-6調(diào)幅系數(shù)為 2-7在這里的正弦波的變化范圍都是從到,如圖2-6(a)所示。但是實(shí)際制作時(shí)的正弦波需要由前面講過(guò)的正弦波發(fā)生器來(lái)產(chǎn)生,它的變化范圍是0到n為ROM中存儲(chǔ)的數(shù)據(jù)的位數(shù),如圖2-6(b)所示。令,那么可得到圖2-6 兩種正弦波 2-8于是調(diào)幅波的表達(dá)式可以表示為 2-9由于輸出信號(hào)不能小于零,所以還要在上疊加一個(gè)大小為的一個(gè)直流分量。同時(shí)令=1,那么可得 2-10其中,是調(diào)制信號(hào), 是載波信號(hào),兩路信號(hào)都必須由兩個(gè)完全獨(dú)立的電路產(chǎn)生。 FM信號(hào)發(fā)生FM信號(hào)即頻率調(diào)制信

36、號(hào),它的特點(diǎn)是載波的頻率會(huì)隨調(diào)制信號(hào)的幅度變化而發(fā)生相應(yīng)的偏移。設(shè)調(diào)制信號(hào)為 2-11載波信號(hào)為 2-12那么調(diào)頻信號(hào)可以表示為 2-13但是實(shí)際上這樣做起來(lái)會(huì)十分地復(fù)雜。根據(jù)前面的正弦波發(fā)生原理,輸出正弦波的頻率是由頻率控制字來(lái)決定,而且輸出頻率是隨頻率控制字的變化做線性變化。所以將調(diào)制信號(hào)直接作用于頻率控制字就可以輸出調(diào)頻信號(hào)。設(shè)在沒(méi)有調(diào)制信號(hào)的時(shí)候頻率控制字為,當(dāng)輸入調(diào)制信號(hào)后就可得到 2-14在實(shí)際的正弦波發(fā)生器中產(chǎn)生的正弦波的變化范圍是0到n為ROM中存儲(chǔ)的數(shù)據(jù)的位數(shù),所以可得到 2-15其中調(diào)制信號(hào)必須由另外的獨(dú)立的電路來(lái)產(chǎn)生。2.4 DDS 的特點(diǎn) 2.4.1 DDS 的優(yōu)點(diǎn) 由

37、于 DDS 自身的數(shù)字化結(jié)構(gòu),它具有以下優(yōu)點(diǎn): 1頻率分辨率高。從公式2-2可知,相位累加大的位數(shù)越多,輸出的信號(hào)的精度就會(huì)越高。 2頻率轉(zhuǎn)換時(shí)相位保持連續(xù)。在進(jìn)行頻率轉(zhuǎn)換時(shí)只需要修改頻率控制字,而相位累加器中的值不會(huì)發(fā)生跳變。因此輸出的信號(hào)的相位也不會(huì)發(fā)生跳變。 3頻率切換時(shí)間短。通常頻率控制字的傳輸時(shí)間及以低通濾波為主的器件響應(yīng)時(shí)間很短,因此高速 DDS 系統(tǒng)的頻率切換時(shí)間可以到達(dá) ns 級(jí)。 4輸出的頻率范圍寬。DDS輸出的頻率最低一般可到達(dá)幾Hz,有的甚至可以到達(dá)1Hz以下。而輸出的最高頻率可到達(dá)系統(tǒng)時(shí)鐘的一半。5可以用于產(chǎn)生任意波形。通過(guò)事先在RAM中存儲(chǔ)波形,或通過(guò)一些數(shù)字合成的方

38、式,DDS可以產(chǎn)生任意波形。2.4.2 DDS 系統(tǒng)的缺點(diǎn) 從理論上說(shuō),DDS的最高輸出頻率只能到達(dá)系統(tǒng)時(shí)鐘頻率的一半,而且在實(shí)際應(yīng)用中還要小于此值。要想獲得較高的輸出頻率,就必須提高系統(tǒng)的時(shí)鐘頻率,那么 DDS 系統(tǒng)的相位累加器、波形存儲(chǔ)器、D/A 轉(zhuǎn)換器等都必須同時(shí)工作在較高的時(shí)鐘頻率下。這樣的話,它的實(shí)現(xiàn)就依賴(lài)于高速數(shù)字電路和高速 D/A 轉(zhuǎn)換器。這也是 DDS 系統(tǒng)在早期沒(méi)有得到重視,直到最近幾年才迅速開(kāi)展的原因。同時(shí),DDS 系統(tǒng)先采用數(shù)字技術(shù)構(gòu)成離散信號(hào),再將該離散信號(hào)變換成模擬信號(hào)輸出。在此過(guò)程中必然會(huì)產(chǎn)生一定的誤差,尤其是要產(chǎn)生相位截?cái)嗾`差,因而噪聲和雜散是不可防止的。3 系統(tǒng)

39、整體設(shè)計(jì) DE2實(shí)驗(yàn)板DE2開(kāi)發(fā)板是Altera公司針對(duì)大學(xué)教學(xué)及研究機(jī)構(gòu)推出的FPGA多媒體開(kāi)發(fā)平臺(tái)。DE2為用戶提供了豐富的外設(shè)及多媒體特性,并具有靈活而可靠的外圍接口設(shè)計(jì)。DE2能幫助使用者迅速理解和掌握實(shí)時(shí)多媒體工業(yè)產(chǎn)品設(shè)計(jì)的技巧,并提供系統(tǒng)設(shè)計(jì)的驗(yàn)證。DE2平臺(tái)的設(shè)計(jì)和制造完全按照工業(yè)產(chǎn)品標(biāo)準(zhǔn)進(jìn)行,可靠性很高3。圖3-1 DE2實(shí)驗(yàn)板DE2平臺(tái)上提供的資源如下:(1) Altera Cyclone II系列的EP2C35F672C6 FPGA,內(nèi)含35 000個(gè)邏輯單元(LE);(2) 主動(dòng)串行配置器件EPCS16U30;(3) 板上內(nèi)置用于編程調(diào)試和用戶API設(shè)計(jì)的USB Blas

40、ter,支持JTAG模式和AS模式;(4) 512K字節(jié)SRAM;(5) 8M字節(jié)SDRAM;(6) 1M字節(jié)閃存(可升級(jí)至4M字節(jié));(7) SD卡接口;(8) 4個(gè)按鍵KEY0KEY3;(9) 18個(gè)撥動(dòng)開(kāi)關(guān)SW0SW17;(10) 9個(gè)綠色LED燈LEDG0LEDG8;(11) 18個(gè)紅色LED燈LEDR0LEDR17;(12) 兩個(gè)板上時(shí)鐘源(50MHz晶振和27MHz晶振),也可以使用外部時(shí)鐘;(13) 24位CD品質(zhì)音頻的編/解碼器WM8371,帶有麥克風(fēng)的輸入插座、線路輸入插座和線路輸出插座;(14) VGA DAC ADV7123 (含有3個(gè)10位高速DAC)及VGA輸出接口;

41、(15) 支持MTSC和PAL制式的TV解碼器ADV7181及TV接口;(16) 10M/100M以太網(wǎng)控制器DM9000AE及網(wǎng)絡(luò)接口;(17) USB主從控制器ISP1362及接口;(18) RS232收發(fā)器MAX232及接口; (19) PS2鼠標(biāo)/鍵盤(pán)連接器;(20) IRDA收發(fā)器;(21) 帶二極管保護(hù)的兩個(gè)40腳擴(kuò)展端口GPIO;(22) 216字符的LCD模塊;(23) 平臺(tái)通過(guò)插座接入直流9V供電,并有電源總開(kāi)關(guān);圖3-2 DE2板上的資源 LCD模塊數(shù)據(jù)顯示采用DE2板上自帶的LCD。該LCD模塊能顯示各種ASCII字符,每一行能顯示16個(gè)字符,共顯示兩行,一共能顯示32個(gè)

42、字符。模塊內(nèi)部帶有ASCII碼字庫(kù),不需要外部提供。模塊提供了8位并行和串行兩種通信方式,使用靈活。圖3-3 LCD結(jié)構(gòu)LCD模塊內(nèi)部有一個(gè)指令存放器和一個(gè)數(shù)據(jù)存放器,分別用于存入指令和數(shù)據(jù)。當(dāng)管腳RS為0時(shí),對(duì)模塊內(nèi)部的指令存放器操;當(dāng)管腳RS為1時(shí),對(duì)模塊內(nèi)部的數(shù)據(jù)存放器操作。管腳R/W為0明表示對(duì)模塊進(jìn)行寫(xiě)操作,管腳R./W為1時(shí)表示對(duì)模塊進(jìn)行讀操作。這里只對(duì)模塊進(jìn)行寫(xiě)操作,具體的時(shí)序如圖3-4所示。圖3-4 LCD寫(xiě)時(shí)序表3-1 LCD寫(xiě)時(shí)序中的各種時(shí)間的意義及值的大小 DAC902DAC902是高速的12位數(shù)字模擬轉(zhuǎn)換器,最高轉(zhuǎn)換速率可達(dá)165MSPS。DAC902輸出電流信號(hào),有較

43、高的輸出阻抗(200k),輸出電流可達(dá)20mA。DAC902的輸出電流是兩路互補(bǔ)輸出的電流的總和。 (3-1)具體的輸出電流決定于送入DAC數(shù)據(jù)的大小, (3-2) (3-3)其中,Code是DAC的數(shù)據(jù)輸入字符的十進(jìn)制表示形式。此外,是參考電流的100000倍,是由參考電壓和外部設(shè)置電阻,電流設(shè)置確定的。 (3-4)在輸出時(shí)需要一個(gè)負(fù)載電阻將電流信號(hào)轉(zhuǎn)化面電壓信號(hào)。那么最終輸出為公式3-5和公式3-6。 (3-5) (3-6) DAC902的寫(xiě)操作非常簡(jiǎn)單。將12位數(shù)據(jù)送到數(shù)據(jù)端口,通過(guò)控制時(shí)鐘信號(hào)的變化就可以將數(shù)據(jù)寫(xiě)入,如圖3-5所示。圖3-5 DAC寫(xiě)時(shí)序表3-2 DAC寫(xiě)時(shí)序中的各時(shí)間

44、的意義SYMBOLDESCRIPTIONMINTYPMAXUNITSt1Clock Pulse High Timenst2Clock Pulse Low TimenstSData Setup TimenstHData Hold TimenstPDPropagation Delay Time(t1+t2)+1nstSETOutput Setting Time to 0.1%ns基于VERILOG的FPGA設(shè)計(jì)Verilog HDL是目前應(yīng)用最為廣泛的硬件描述語(yǔ)言。Verilog HDL可以用來(lái)進(jìn)行各種層次的邏輯設(shè)計(jì),也可以進(jìn)行數(shù)字系統(tǒng)的邏輯綜合,仿真驗(yàn)證和時(shí)序分析等。Verilog HDL適合算

45、法級(jí),存放器級(jí),邏輯級(jí),門(mén)級(jí)和幅員級(jí)等各個(gè)層次的設(shè)計(jì)和描述。Verilog HDL進(jìn)行設(shè)計(jì)最大的優(yōu)點(diǎn)是其工藝無(wú)關(guān)性。這使得工程師在功能設(shè)計(jì),邏輯驗(yàn)證階段可以不必過(guò)多考慮門(mén)級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)的要求施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路。Verilog HDL是一種硬件描述語(yǔ)言(hardware description language),為了制作數(shù)字電路而用來(lái)描述ASICs和FPGA的設(shè)計(jì)之用。Verilog 的設(shè)計(jì)者想要以 C 編程語(yǔ)言為根底設(shè)計(jì)一種語(yǔ)言,可以使工程師比擬容易學(xué)習(xí)。 ModelsimMentor公司的ModelSim是業(yè)界最優(yōu)秀的HDL語(yǔ)言仿真軟件,它能提

46、供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持VHDL和Verilog混合仿真的仿真器。它采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk技術(shù)、和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺(tái)無(wú)關(guān),便于保護(hù)IP核,個(gè)性化的圖形界面和用戶接口,為用戶加快調(diào)錯(cuò)提供強(qiáng)有力的手段,是FPGA/ASIC設(shè)計(jì)的首選仿真軟件。 QuartusAltera的Quartus II可編程邏輯軟件屬于第四代PLD開(kāi)發(fā)平臺(tái)。該平臺(tái)支持一個(gè)工作組環(huán)境下的設(shè)計(jì)要求,其中包括支持基于Internet的協(xié)作設(shè)計(jì)。Quartus平臺(tái)與Cadence、ExemplarLogic、 MentorGraphics、Synopsys和Synplic

47、ity等EDA供給商的開(kāi)發(fā)工具相兼容。改良了軟件的LogicLock模塊設(shè)計(jì)功能,增添了FastFit編譯選項(xiàng),推進(jìn)了網(wǎng)絡(luò)編輯性能,而且提升了調(diào)試能力。QuartusII design 提供完善的 timing closure 和 LogicLock基于塊的設(shè)計(jì)流程。QuartusII design是唯一的一個(gè)包括以timing closure 和基于塊的設(shè)計(jì)流為根本特征的programmable logic device (PLD)的軟件。 Quartus II 設(shè)計(jì)軟件改良了性能、提升了功能性、解決了潛在的設(shè)計(jì)延遲等,在工業(yè)領(lǐng)域率先提供FPGA與mask-programmed device

48、s開(kāi)發(fā)的統(tǒng)一工作流程。Quartus II 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來(lái)越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡送。系統(tǒng)的設(shè)計(jì)主要是基于DE2實(shí)驗(yàn)平臺(tái),具有友好的人機(jī)交互界面。具體包括了按鍵輸入、LCD顯示、系統(tǒng)初始化、RAM、數(shù)據(jù)轉(zhuǎn)換處理、信號(hào)發(fā)生器、DAC轉(zhuǎn)換幾個(gè)模塊,如圖3-6所示。系統(tǒng)時(shí)鐘選用DE2上自帶的50MHz時(shí)鐘信號(hào)。圖3-6 系統(tǒng)總框圖 系統(tǒng)初始化模塊當(dāng)系統(tǒng)剛啟動(dòng)時(shí),RAM中并沒(méi)有任何數(shù)據(jù)。但是其它幾個(gè)模塊的運(yùn)行卻必須依賴(lài)于RAM中的數(shù)據(jù)。為解決這個(gè)問(wèn)題,這里專(zhuān)門(mén)設(shè)計(jì)了一個(gè)系統(tǒng)初始化模塊。模塊內(nèi)部包括一塊ROM和RAM的寫(xiě)時(shí)序控制電路。ROM包括

49、32個(gè)8位的靜態(tài)存儲(chǔ)器,能存放32個(gè)ASCII代碼,用于存放初始化數(shù)據(jù)。該初始化數(shù)據(jù)主要用于LCD顯示,其中包括了頻率、相位和波形發(fā)生方式的默認(rèn)值。RAM的寫(xiě)時(shí)序控制電路用于將ROM中的數(shù)據(jù)寫(xiě)入RAM。按鍵模塊和LCD模塊DE2實(shí)驗(yàn)板上共有四個(gè)按鍵,分別是KEY0到KEY3,如圖3-7所示。在普通模式下KEY1和KEY2用于波形發(fā)生模式的切換,并能過(guò)波形發(fā)生模式的切換輸出不同的波形。在此模式下按下KEY0就可以進(jìn)入編程模式。在該模式下可以通過(guò)KEY1和KEY2對(duì)頻率或相位進(jìn)行修改。KEY3可以使光標(biāo)向左移動(dòng)。在此模式下專(zhuān)門(mén)增加了一個(gè)撥碼開(kāi)關(guān)SW0用于光標(biāo)在上下行之間的切換。此時(shí)按下KEY0可以

50、返回普通模式,同時(shí)還可以將設(shè)定好的波形輸出。圖3-7 按鍵示意圖圖3-8 初始化時(shí)的LCD顯示LCD顯示模塊會(huì)不停的將RAM中的ASCII數(shù)據(jù)送到LCD顯示。圖3-8所示為剛初始化完成時(shí)LCD顯示內(nèi)容。第一行顯示的數(shù)值為輸出信號(hào)的頻率,在SPWM、AM、FM三種波形發(fā)生模式下表示載波頻率。第二行左邊的數(shù)值在不同的波形發(fā)生模式下表示不同的意義。在正弦波、方波、三角波、鋸齒波四種波形發(fā)生模式下,該數(shù)據(jù)表示輸出波形的偏移相位數(shù)據(jù)范圍是0到360,單位是度;在PW波形發(fā)生模式下該數(shù)據(jù)表示輸出波形的占空比數(shù)據(jù)范圍是0%到100%;在SPWM、AM、FM發(fā)生模式下該數(shù)據(jù)表示調(diào)制信號(hào)的頻率單位是Hz。各種波

51、形發(fā)生方式的顯示內(nèi)容如表3-3所示。表3-3 各種波形發(fā)生模式與LCD顯示的對(duì)照3.4.3 RAM模塊在系統(tǒng)的7個(gè)模塊中,RAM處于中心位置。它是由32個(gè)8位存儲(chǔ)器構(gòu)成,能存儲(chǔ)32個(gè)ASCII代碼。它在系統(tǒng)中起著數(shù)據(jù)存儲(chǔ)、各模塊間數(shù)據(jù)交流以及協(xié)調(diào)各模塊間的有序運(yùn)行的作用。RAM的數(shù)據(jù)交流功能包括:1在系統(tǒng)啟動(dòng)時(shí)由初始化模塊將初始化數(shù)據(jù)寫(xiě)入RAM;2LCD顯示模塊從RAM中讀出數(shù)據(jù)并顯示;3按鍵模塊從RAM中讀出數(shù)據(jù),修改后又寫(xiě)回RAM;4數(shù)據(jù)處理模塊從RAM中讀出數(shù)據(jù)并轉(zhuǎn)換。RAM它的協(xié)調(diào)作用包括:1在系統(tǒng)初始化完成之前禁止其它所有模塊對(duì)它的所有讀寫(xiě)操作;2當(dāng)有按鍵操作時(shí)關(guān)閉LCD顯示模塊和數(shù)

52、據(jù)轉(zhuǎn)換模塊;3當(dāng)數(shù)據(jù)處理模塊運(yùn)行時(shí)關(guān)閉LCD顯示模塊;4協(xié)調(diào)各模塊間的地址和數(shù)據(jù)信號(hào)。例如:LCD顯示時(shí),需要將LCD顯示地址送入,同時(shí)將得到的數(shù)據(jù)送到LCD的數(shù)據(jù)端口;而在數(shù)據(jù)處理時(shí)那么需要將要處理數(shù)據(jù)的地址送入,同時(shí)將得到的數(shù)據(jù)送到數(shù)據(jù)處理模塊的相應(yīng)端口。RAM中存儲(chǔ)的數(shù)據(jù)全部為ASCII數(shù)據(jù),數(shù)據(jù)轉(zhuǎn)換模塊會(huì)將RAM中對(duì)應(yīng)位置的ASCII數(shù)據(jù)轉(zhuǎn)換為二進(jìn)制的頻率或相位數(shù)據(jù)。3.4.5 DAC驅(qū)動(dòng)模塊要實(shí)現(xiàn)DA轉(zhuǎn)換首先需要將數(shù)字信號(hào)送到DAC的數(shù)字輸入端。這里利用DE2實(shí)驗(yàn)板上提供的普通IO口GPIO_1作為與DAC芯片的連接端口。其中DAC時(shí)鐘采用系統(tǒng)時(shí)鐘。圖3-9 GPIO與DA的連接3.

53、4.6系統(tǒng)的運(yùn)行系統(tǒng)的運(yùn)行主要包括以下幾種情形:(1) 系統(tǒng)剛啟動(dòng)時(shí),系統(tǒng)初始化模塊將初始化數(shù)據(jù)寫(xiě)入RAM;(2) LCD顯示模塊實(shí)時(shí)將RAM中的ASCII字符直接顯示出;(3) 在按鍵操作時(shí)直接修改RAM中的相應(yīng)數(shù)據(jù);(4) 在按鍵操作完成后,數(shù)據(jù)轉(zhuǎn)換處理模塊要將RAM中的ASCII代碼轉(zhuǎn)換成相應(yīng)的頻率值或相位值,同時(shí)將該頻率值或相位值送到信號(hào)發(fā)生器;(5) 信號(hào)發(fā)生器根據(jù)得到的頻率或相位值產(chǎn)生相應(yīng)的信號(hào),該信號(hào)最后將通過(guò)DAC驅(qū)動(dòng)模塊送到外部DAC進(jìn)行DA轉(zhuǎn)換。4 Verilog HDL代碼實(shí)現(xiàn)與仿真頻率控制字和相位累加器根據(jù)公式2-1可得 4-1取相位累加器的位數(shù)N=32,Verilog

54、 HDL代碼如下:module fre_ctrl(fre, fre_word); input 19:0fre; /頻率值 output 31:0fre_word; /頻率控制字 assign fre_word = 64h1_0000_0000 * fre / 32d50_000_000;endmodule為相位累加器代碼如下:module phase_adder(clk, rest,fre_word, add_phase); input clk,rest; input 31:0fre_word; output 12:0add_phase; reg 31:0A; /累加器存放器 assign a

55、dd_phase = A31:19; / 輸出地址 always(posedge clk,negedge rest) begin if(!rest) A = 32h0; else A = A + fre_word; endendmodule兩個(gè)模塊的modelsim仿真結(jié)果如圖4-1所示。圖4-1 相位累加器的仿真結(jié)果 相位偏移控制由式公式2-3可得公式4-2。 4-2取相位累加器的輸出相位位寬為n=13得到Verilog HDL代碼如下:module phase_ctrl(set_phase,add_phase,phase);input 8:0set_phase; /設(shè)定的相位超前量inpu

56、t 13:0add_phase; /相位累加器的輸出相位output 8:0phase; /輸出相位assign phase12:3 = add_phase12:3 + (18d512 * set_phase)/9d360;assign phase2:0 = add_phase2:0;endmodule模塊的modelsim仿真結(jié)果如圖4-2所示。圖4-2 相位偏移控制的仿真結(jié)果正弦波發(fā)生模塊正弦波的每個(gè)周期采樣512個(gè)點(diǎn),數(shù)據(jù)位寬為12位。ROM中存儲(chǔ)了一個(gè)完整的周期。正弦波發(fā)生器模塊的Verilog HDL代碼如下:module sine_gene(phase,sine_out); inp

57、ut 8:0phase; output 11:0sine_out; sine_rom sinerom(phase,sine_out);endmodule模塊的modelsim仿真結(jié)果如圖4-3所示。圖4-3 正弦波發(fā)生模塊仿真結(jié)果 方波發(fā)生模塊Verilog HDL代碼如下:module square_gene(phase,square_out);input 8:0phase;output 11:0square_out;reg 11:0square_out;always (*)beginif(phase8)square_out = 12h000;elsesquare_out = 12hfff;

58、end endmodule模塊的modelsim仿真結(jié)果如圖4-4所示。圖4-4 方波發(fā)生模塊仿真結(jié)果 三角波發(fā)生模塊三角波發(fā)生模塊Verilog HDL代碼如下:module triangle_gene(phase,triangle_out);input 12:0phase;output 11:0triangle_out;reg 11:0triangle_out;always (*)beginif(phase12)triangle_out = phase11:0;elsetriangle_out = phase11:0;end endmodule模塊的modelsim仿真結(jié)果如圖4-5所示。

59、 圖4-5 三角波發(fā)生模塊的仿真結(jié)果 鋸齒波發(fā)生模塊鋸齒波發(fā)生模塊Verilog HDL代碼如下:module sawtooth_gene(phase,sawtooth_out);input 11:0phase;output 11:0sawtooth_out;reg 11:0sawtooth_out;always (*)beginsawtooth_out = phase;endendmodule模塊的modelsim仿真結(jié)果如圖4-6所示。 圖4-6 鋸齒波發(fā)生模塊仿真結(jié)果 PWM信號(hào)發(fā)生模塊PWM發(fā)生模塊Verilog HDL代碼如下:module PWM_gene(dutycycle,ph

60、ase,PWM_out); input 7:0dutycycle; input 8:0phase; output 11:0PWM_out; reg 11:0PWM_out; wire 8:0PW; assign PW = (dutycycle%100)*512/100; always * begin if(phase PW) PWM_out = 12hfff; else PWM_out = 12h000; end endmodule當(dāng)輸出頻率為10kHz、占空比為30%時(shí)的modelsim仿真結(jié)果如圖4-7所示。圖4-7 PWM信號(hào)發(fā)生模塊仿真結(jié)果 SPWM信號(hào)發(fā)生模塊SPWM發(fā)生模塊Veri

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論