電子信息工程畢業(yè)設(shè)計(jì) 文獻(xiàn)綜述 開(kāi)題報(bào)告】一種基于單片機(jī)和fpga的任意頻率信號(hào)發(fā)生器的設(shè)計(jì)
《電子信息工程畢業(yè)設(shè)計(jì) 文獻(xiàn)綜述 開(kāi)題報(bào)告】一種基于單片機(jī)和fpga的任意頻率信號(hào)發(fā)生器的設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《電子信息工程畢業(yè)設(shè)計(jì) 文獻(xiàn)綜述 開(kāi)題報(bào)告】一種基于單片機(jī)和fpga的任意頻率信號(hào)發(fā)生器的設(shè)計(jì)(52頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、【電子信息工程畢業(yè)設(shè)計(jì)+文獻(xiàn)綜述+開(kāi)題報(bào)告】一種基于單片機(jī)和FPGA的任意頻率信號(hào)發(fā)生器的設(shè)計(jì) (20_ _屆) 本科畢業(yè)設(shè)計(jì) 一種基于單片機(jī)和FPGA的任意頻率信號(hào)發(fā)生器的設(shè)計(jì) 摘 要 信號(hào)發(fā)生器是一種常用的信號(hào)源,廣泛應(yīng)用于軍事、航空、交通制造業(yè)等領(lǐng)域。目前使用的信號(hào)發(fā)生器大多是函數(shù)信號(hào)發(fā)生器,且特殊波形發(fā)生器的價(jià)格比較昂貴。 本文提出了一種基于數(shù)字頻率合成(DDS)技術(shù)的任意波形發(fā)生器。本系統(tǒng)的設(shè)計(jì)電路包括按鍵輸入模塊、顯示模塊、單片機(jī)模塊、FPGA模塊、D/A轉(zhuǎn)換模塊、濾波模塊。系統(tǒng)以單片機(jī)STC89C52為
2、核心,完成以下功能:通過(guò)鍵盤輸入波形參數(shù)(包括頻率控制字和幅度控制字),經(jīng)過(guò)單片機(jī)的處理和轉(zhuǎn)化將數(shù)據(jù)傳遞給FPGA模塊,F(xiàn)PGA模塊完成波形數(shù)據(jù)的儲(chǔ)存和輸出,D/A模塊接到波形數(shù)據(jù)后將其轉(zhuǎn)化為模擬量,最后經(jīng)過(guò)低通濾波器濾除雜波分量在顯示器上顯示波形。通過(guò)顯示器我們能直觀地看到波形、幅度和頻率。這種方法能夠充分利用FPGA的內(nèi)部硬件資源,大大提高了產(chǎn)生波形的精度和頻率范圍。這種技術(shù)比傳統(tǒng)意義上的波形發(fā)生器更先進(jìn),由于其頻率可任意改變,并且融入了單片機(jī)和FPGA技術(shù),所以它的應(yīng)用范圍更廣,在通信、測(cè)量、雷達(dá)、控制、教學(xué)等領(lǐng)域發(fā)揮更大的作用。 關(guān)鍵詞: FPGA,DDS,任意波形發(fā)生器,DAC08
3、32 A Design of Arbitrary Frequency Generator Based on MCU and FPGA Abstract Signal generator is a common source. It is widely used in military, aviation, traffic manufacturing, etc. Current use of signal generator is mostly function signal generator, andhe prices of special waveform generato
4、rs are expensive. This paper puts forward a arbitrary waveform generator which is based on digital frequency synthesis DDS technology .The design circuit of this system includes key input module, display module and single-chip microcomputer module, FPGA module, D/A conversion module, filter modu
5、les.The core of this system is STC89C52 MCU.This system completes the following functions : input waveform parameter through the keyboard ( including frequency control characters and amplitude control word). The data will be passesd to the FPGA module after the processing and transformation of SCM.T
6、he FPGA module completes waveform data storage and output . D/A module can be transformed into analogue after receiving waveforms.After a low-pass filter to eliminate clutter component in monitors displayed waveform.Through the display we can intuitivey see waveform, amplitude and frequency. This ki
7、nd of technology is more advanced than traditional waveform generator, because its frequency can be arbitrary change, and it is blended in SCM and FPGA technology.So it has a wider range of application ,and it can play a bigger role in measurement, radar, control, teaching . Keywords: Arbitrary wav
8、eform generator ,FPGA,DDS,DAC0832 目錄 摘 要 IV Abstract V 1 緒論 VI 1.1課題的來(lái)源 1 1.2課題的意義 1 1.3信號(hào)發(fā)生器國(guó)內(nèi)外發(fā)展現(xiàn)狀 1 1.4課題研究的主要內(nèi)容 3 2系統(tǒng)總體方案與比較論證 4 2.1方案提出及方案比較 4 2.2總體方案設(shè)計(jì) 4 3硬件系統(tǒng)與結(jié)構(gòu) 6 3.1引言 6 3.2 硬件系統(tǒng)結(jié)構(gòu) 7 3.3硬件模塊說(shuō)明 8 3.3.1 單片機(jī)部分 8 3.3.2 DDS的FPGA實(shí)現(xiàn) 8 3.3.3 D/A轉(zhuǎn)換模塊 11 濾波模塊 12 3.4系統(tǒng)參數(shù)設(shè)置 13 3.5
9、波形存儲(chǔ) 14 4軟件系統(tǒng)原理與結(jié)構(gòu) 15 4.1FPGA軟件流程 15 4.2軟件模塊說(shuō)明 16 4.2.1頂層模塊 16 4.2.2相位累加器模塊 16 4.2.3加法器模塊 18 4.2.4波形ROM模塊 19 4.2.5 波形選擇模塊 21 4.2.6 DAC0832模塊 22 5結(jié)論與分析 24 參考文獻(xiàn) 31 致謝 33 1緒論 信號(hào)源在各行各業(yè)的測(cè)試應(yīng)用中,扮演著非常重要的角色。因信號(hào)源的類型不同,則其在功能和特性上都有或大或小的差異,因而不同類型的信號(hào)源分別適用于不同的應(yīng)用。而任意波形發(fā)生器則是目前最常見(jiàn)的信號(hào)源類型
10、之一。隨著國(guó)內(nèi)外專家學(xué)者對(duì)信號(hào)發(fā)生器不斷深入研究,信號(hào)發(fā)生器的功能逐步完善,而目前DDS技術(shù)在信號(hào)發(fā)生器上的應(yīng)用已經(jīng)逐漸成為當(dāng)今的測(cè)試測(cè)量行業(yè)的主流做法。 頻率合成技術(shù)可以通過(guò)直接式頻率合成器,間接式頻率合成器,直接數(shù)字頻率合成器(DDS)實(shí)現(xiàn)。其中,DDS技術(shù)是現(xiàn)有的頻率合成技術(shù)中應(yīng)用最多的方法。信號(hào)發(fā)生器能夠產(chǎn)生大量標(biāo)準(zhǔn)信號(hào)和用戶自定義信號(hào),并保證它的高精度和高穩(wěn)定性,可重復(fù)性和易操作性。如今越來(lái)越多的人熱衷于將DDS應(yīng)用在信號(hào)發(fā)生器的設(shè)計(jì)中。在電子技術(shù)發(fā)展的現(xiàn)在,一些像軍事、航空、交通制造業(yè)等實(shí)驗(yàn)成本高,風(fēng)險(xiǎn)性大的領(lǐng)域,信號(hào)發(fā)生器在測(cè)試和實(shí)驗(yàn)中起著非常重要的角色,人們不斷改進(jìn)現(xiàn)有的
11、信號(hào)發(fā)生器,使之功能完善化、經(jīng)濟(jì)化、實(shí)用化,為現(xiàn)代科技的發(fā)展提供更多便利。 基于單片機(jī)和FPGA的任意頻率信號(hào)發(fā)生器設(shè)計(jì)是對(duì)傳統(tǒng)的信號(hào)發(fā)生器設(shè)計(jì)的繼承和發(fā)揚(yáng),從而使得信號(hào)發(fā)生器的功能更加完善。通過(guò)這種信號(hào)發(fā)生器的設(shè)計(jì),不僅可以實(shí)現(xiàn)任意波形,還能使得頻率的分辨率提高,減小信號(hào)發(fā)生器的誤差。 自20世紀(jì)20年代至今,信號(hào)發(fā)生器實(shí)現(xiàn)了從無(wú)到有,結(jié)構(gòu)從復(fù)雜到簡(jiǎn)單,功耗上有大到小,發(fā)展速度由慢到快的飛躍。如今,各國(guó)相關(guān)科研人員依舊積極致力于完善信號(hào)發(fā)生器結(jié)構(gòu)和功能的科研工作中,并將這一技術(shù)應(yīng)用到許多領(lǐng)域。 信號(hào)發(fā)生器在20世紀(jì)20年代出現(xiàn)。在信號(hào)發(fā)生器發(fā)展的幾十年過(guò)程中,信號(hào)發(fā)生器大致經(jīng)歷了早
12、期信號(hào)發(fā)生器、標(biāo)準(zhǔn)信號(hào)發(fā)生器、全晶體管信號(hào)發(fā)生器、以軟件為主的信號(hào)發(fā)生器、采用數(shù)字電路的信號(hào)發(fā)生器、函數(shù)信號(hào)發(fā)生器這幾個(gè)階段。 早期信號(hào)發(fā)生器結(jié)構(gòu)復(fù)雜,電路比較簡(jiǎn)單,但是由于功耗大,因此發(fā)展速度較慢。在60年代之前,盡管一些科研人員積極改善信號(hào)發(fā)生器的結(jié)構(gòu)和功能,但是信號(hào)發(fā)生器都是以較慢的速度發(fā)展,而且輸出的波形不穩(wěn)定。但是從60年代,信號(hào)發(fā)生器進(jìn)入了迅速發(fā)展階段。 二十世紀(jì)60年代至80年代,信號(hào)發(fā)生器完成了由采用模擬電子技術(shù)到采用數(shù)字電路的轉(zhuǎn)變。采用模擬電子技術(shù)的信號(hào)發(fā)生器,它的電路結(jié)構(gòu)復(fù)雜并且能產(chǎn)生正弦波、方波、鋸齒波和三角波等簡(jiǎn)單的波形。這種信號(hào)發(fā)生器的輸出波形的幅度穩(wěn)定性差,而造
13、成這個(gè)現(xiàn)象的原因是模擬電路的漂移較大。而且模擬器件構(gòu)成的電路還存在尺寸大、價(jià)格昂貴、功耗大、生產(chǎn)較為復(fù)雜的波形則電路結(jié)構(gòu)非常復(fù)雜。繼采用模擬電路的信號(hào)發(fā)生器之后,以軟件為主的信號(hào)發(fā)生器得到發(fā)展??蒲腥藛T利用微處理器、模數(shù)轉(zhuǎn)換器和數(shù)模轉(zhuǎn)換器,使得信號(hào)發(fā)生器功能擴(kuò)大。而這個(gè)時(shí)期的信號(hào)發(fā)生器也克服了之前信號(hào)發(fā)生器只能產(chǎn)生簡(jiǎn)單波形的缺點(diǎn),人們可以通過(guò)它獲得比較復(fù)雜的波形。這種用軟件控制波形的一個(gè)最大的缺點(diǎn)就是輸出波形的頻率低,這主要是由CPU的工作速度決定的??蒲腥藛T意識(shí)到只有通過(guò)改進(jìn)硬件電路才能根本克服這一個(gè)缺點(diǎn),而通過(guò)改進(jìn)軟件程序減少它的執(zhí)行周期時(shí)間或者是提高CPU的時(shí)鐘周期來(lái)提高頻率的方法都是有
14、限的。數(shù)字化技術(shù)在電子測(cè)量?jī)x器中的應(yīng)用在很大程度上得益于現(xiàn)代電子、計(jì)算機(jī)和信號(hào)處理等技術(shù)的發(fā)展,數(shù)字信號(hào)發(fā)生器也隨著發(fā)展。數(shù)字信號(hào)發(fā)生器的出現(xiàn),使得原來(lái)的模擬信號(hào)處理逐漸被數(shù)字信號(hào)處理所代替,而儀器的信號(hào)處理能力得到進(jìn)一步提升,進(jìn)而提高了信號(hào)測(cè)量的變換速度、精度和準(zhǔn)確度,克服了模擬信號(hào)處理的許多缺點(diǎn)。隨著數(shù)字技術(shù)的逐漸成熟,絕大部分的信號(hào)發(fā)生器用數(shù)字電路代替機(jī)械驅(qū)動(dòng)。 在信號(hào)發(fā)生器完成由采用模擬電子技術(shù)到采用數(shù)字電路的轉(zhuǎn)變的同時(shí),DDS產(chǎn)品也成為科研人員研發(fā)的焦點(diǎn)??蒲腥藛T將DDS技術(shù)應(yīng)用到信號(hào)發(fā)生器的設(shè)計(jì)上。專用DDS芯片在DDS技術(shù)快速發(fā)展中扮演了一個(gè)重要角色,它極大地推動(dòng)了DDS技術(shù)的
15、發(fā)展。但是專用DDS芯片存在價(jià)格昂貴和無(wú)法實(shí)現(xiàn)用戶所需的各種波形輸出的缺點(diǎn),因此它的使用有局限性。 20世紀(jì)90年代末出現(xiàn)了集中高性能、高性價(jià)比的函數(shù)信號(hào)發(fā)生器。國(guó)際上一些公司如HP公司、Lecroy公司、Analogic公司都推出了新型的波形發(fā)生器。這些波形發(fā)生器能產(chǎn)生多種波形,但是依然存在價(jià)格昂貴,功能有待完善的缺點(diǎn)。 近年來(lái), DDS的最高工作頻率以及噪聲性能已接近并基本達(dá)到鎖相頻率合成器相當(dāng)?shù)乃?。DDS技術(shù)作為先進(jìn)的信號(hào)產(chǎn)生技術(shù)廣泛應(yīng)用于通訊、工程控制、雷達(dá)、測(cè)量分析儀器、軟件無(wú)線電等領(lǐng)域,為科研和生活帶來(lái)了便利。AD和Qualcomm等幾家公司在近10多年來(lái)相繼推出了一些DDS
16、專用集成電路,而且這些集成電路性能優(yōu)良。 DDS的優(yōu)勢(shì)在于,系統(tǒng)能夠在微處理器的控制下,快速調(diào)節(jié)輸出信號(hào)的信息(頻率、相位和幅度),而且輸出的信息準(zhǔn)確。除此之外,DDS具有分辨率高、頻率切換速度快等特點(diǎn),它易于智能控制的優(yōu)點(diǎn)也適合于當(dāng)今的智能化社會(huì)。 集成電路工藝的不斷發(fā)展使得DDS產(chǎn)品的功能愈來(lái)愈強(qiáng)大。如今的DDS芯片可以集合人們所需的全部功能,而且還具有一些實(shí)際的調(diào)制功能,例如相移鍵控 PSK 和正交幅度調(diào)制 QAM 等。 日本橫河、Agilent、Tektronix等國(guó)外的幾家儀器公司引導(dǎo)著DDS技術(shù)的潮流。國(guó)內(nèi)的不少公司經(jīng)過(guò)不斷努力,也能生產(chǎn)出類似的產(chǎn)品。如南京盛普儀器科技的S
17、PF120DDS信號(hào)發(fā)生器。 目前我國(guó)相關(guān)科研人員也在致力于研制信號(hào)發(fā)生器的工作,且獲得一些不錯(cuò)的成果。但是信號(hào)發(fā)生器在我國(guó)還沒(méi)有形成真正的產(chǎn)業(yè)。許多不容樂(lè)觀的問(wèn)題依然制約著中國(guó)的信號(hào)發(fā)生器產(chǎn)業(yè)的發(fā)展。首先中國(guó)的波形發(fā)生器產(chǎn)業(yè)起步比國(guó)外同類產(chǎn)業(yè)晚,技術(shù)比發(fā)達(dá)國(guó)家落后,所以產(chǎn)業(yè)大多是集中在勞動(dòng)密集型產(chǎn)品的生產(chǎn)上,這就造成了產(chǎn)業(yè)結(jié)構(gòu)的不合理性。其次,而在生產(chǎn)過(guò)程當(dāng)中,由于一些企業(yè)的環(huán)保意識(shí)不強(qiáng),因此造成了嚴(yán)重的環(huán)境污染。由于技術(shù)上的不發(fā)達(dá),在波形發(fā)生器的生產(chǎn)過(guò)程中往往消耗太多能源,這也在一定程度上影響產(chǎn)品的價(jià)格,而且不符合當(dāng)今節(jié)能的理念。再次,很多企業(yè)都選擇引進(jìn)外來(lái)技術(shù),而企業(yè)自身的技術(shù)創(chuàng)新能力
18、還很薄弱,這造成了信號(hào)發(fā)生器結(jié)構(gòu)和功能上的創(chuàng)新進(jìn)度緩慢。目前國(guó)內(nèi)的成熟產(chǎn)品核心部分多為專用芯片。因此,研發(fā)出高性價(jià)比的信號(hào)發(fā)生器,打破國(guó)外技術(shù)壟斷和封鎖,具有廣泛的應(yīng)用前景,對(duì)發(fā)展我國(guó)的電子產(chǎn)業(yè)有非常重大的意義。加緊研制這類產(chǎn)品顯得非常緊迫。 設(shè)計(jì)一個(gè)在單片機(jī)和FPGA的控制下,將儲(chǔ)存在FPGA的ROM中的數(shù)據(jù)按照一定規(guī)律取出,并經(jīng)過(guò)D/A轉(zhuǎn)換器輸出模擬波形的任意頻率信號(hào)發(fā)生器。這種方法能夠充分利用FPGA的內(nèi)部硬件資源,大大提高了產(chǎn)生波形的精度和頻率范圍。這種技術(shù)比傳統(tǒng)意義上的波形發(fā)生器更先進(jìn),由于其頻率可任意改變,并且融入了單片機(jī)和并且融入了單片機(jī)和FPGA技術(shù),所以它的應(yīng)用范圍更廣
19、,在通信、測(cè)量、雷達(dá)、控制、教學(xué)等領(lǐng)域發(fā)揮更大的作用。 2系統(tǒng)總體方案與比較論證 課題要求是設(shè)計(jì)一個(gè)任意頻率信號(hào)發(fā)生器,可產(chǎn)生任意波形,且波形的頻率和精度比傳統(tǒng)的信號(hào)發(fā)生器更高,針對(duì)這一要求,可采用單片機(jī)控制合成波形的方法或者是用晶體管、運(yùn)放IC等通用器件制作函數(shù)信號(hào)發(fā)生器,還可以采用DDS技術(shù)來(lái)實(shí)現(xiàn),具體方案如下: 方案一:采用單片機(jī)控制合成各種波形 由單片機(jī)編程實(shí)現(xiàn)波形的選擇、生成及頻率控制字的輸入。該方案所用的硬件電路簡(jiǎn)單,實(shí)驗(yàn)中所用的器件少,容易實(shí)現(xiàn)各種波形,但是精度不容易滿足,在高頻區(qū)難以實(shí)現(xiàn)要求的功能。 方案二:用晶體管、運(yùn)放IC等通用器件制作函數(shù)信號(hào)發(fā)生器
20、 在該方案中,一般用專門的信號(hào)發(fā)生器IC產(chǎn)生各種波形信號(hào)。但是早期的函數(shù)信號(hào)發(fā)生器IC功能少,精度低,無(wú)法產(chǎn)生高頻信號(hào),尤其是對(duì)調(diào)試水平有較高要求,頻率和占空比的調(diào)節(jié)相互影響,因此不能做到單獨(dú)調(diào)節(jié)二者。 方案三:采用DDS技術(shù),按照相位累加原理,將所需生成的波形寫入ROM中,合成任意波形 采用此方案可得到穩(wěn)定的波形,且精度較高,產(chǎn)生的波形頻率范圍大,容易獲得高頻信號(hào)。 通過(guò)比較以上三種方案,方案三能完全達(dá)到設(shè)計(jì)的要求,且方案較靈活,因此采用方案三。 基于單片機(jī)和FPGA的任意頻率信號(hào)發(fā)生器能產(chǎn)生在一定頻率范圍內(nèi)的任意波形,并有頻率分辨率效果,可以應(yīng)用在產(chǎn)生音頻類信號(hào)。通過(guò)鎖
21、相環(huán)來(lái)提高D/A時(shí)鐘就可以產(chǎn)生更高頻率的信號(hào)。在FPGA的讀寫操作下,可以增加一個(gè)D/A轉(zhuǎn)換器,用來(lái)專門控制模擬信號(hào)的幅度;如果需要將它們的信號(hào)采樣點(diǎn)數(shù)據(jù)存儲(chǔ)在存儲(chǔ)器中,當(dāng)需要輸出該信號(hào)時(shí),直接取出采樣數(shù)據(jù)送人D/A轉(zhuǎn)換器即可。這些采樣點(diǎn)數(shù)據(jù)可以在FPGA程序中,利用時(shí)鐘的跳變沿,依次存儲(chǔ)在ROM中[17][18], 也可以事先經(jīng)過(guò)Matlab計(jì)算后,放到存儲(chǔ)器中。其中時(shí)鐘的頻率可根據(jù)需要由FPGA分頻模塊進(jìn)行分頻。[13] 3硬件系統(tǒng)與結(jié)構(gòu) 3.1 引言 頻率合成技術(shù)是利用頻率合成的方法,使某一個(gè)或者多個(gè)基準(zhǔn)頻率,通過(guò)一定的變換與處理之后,形成一系列等間隔的離散頻率。它主要應(yīng)用在短
22、波通信和移動(dòng)通信以及其他各種電子應(yīng)用領(lǐng)域,如現(xiàn)代電子測(cè)量?jī)x、電子對(duì)抗等等。 “A Digital Frequency Synthesizer”一文中首次提出的。它是繼直接式頻率合成器,間接式頻率合成器之后,出現(xiàn)的第三代頻率合成技術(shù)。DDS技術(shù)憑借著工作頻率范圍寬、頻率分辨力極高、頻率轉(zhuǎn)換時(shí)間極短、任意波形輸出能力以及數(shù)字調(diào)制性能好,成為目前應(yīng)用最為廣泛的一種頻率合成技術(shù)。 DDS電路一般包括基準(zhǔn)時(shí)鐘、相位增量寄存器、相位累加器、波形存儲(chǔ)器、D/A轉(zhuǎn)換器和低通濾波器等模塊。DDS的原理如下: fc 圖3.1 DDS基本結(jié)構(gòu)框圖 DDS的工作過(guò)程是:在時(shí)鐘信號(hào)的作用下,頻率控制字通
23、過(guò)相位累加器線性累加。當(dāng)相位累加器累加滿偏時(shí),就會(huì)產(chǎn)生一次輸出。相位累加器輸出的相位碼送至波形存儲(chǔ)器進(jìn)行相位幅度轉(zhuǎn)換。從波形存儲(chǔ)器輸出的幅值經(jīng)過(guò)D/A轉(zhuǎn)換獲得模擬階梯波電壓,再經(jīng)過(guò)低通濾波器 LPF 平滑后得到所需正弦波形。在這個(gè)工作工程中,相位累加器溢出頻率就是DDS輸出的信號(hào)頻率。頻率控制字不同則相位累加器相位增量不通,波形存儲(chǔ)器輸出的波形頻率不同。整個(gè)系統(tǒng)在同一的時(shí)鐘下工作保證了系統(tǒng)最終合成精確的信號(hào)。 頻率預(yù)置與調(diào)節(jié)電路 該電路的作用是實(shí)現(xiàn)頻率控制量的輸入。不變量K被稱為相位增量,也稱為頻率控制字。 (2)相位累加器 DDS系統(tǒng)的核心是相位累加器。相位累加器由N位加法器
24、和N位寄存器構(gòu)成。相位累加器對(duì)頻率控制字進(jìn)行線性累加直至滿偏時(shí),產(chǎn)生一次輸出,完成一個(gè)周期動(dòng)作。 波形存儲(chǔ)器 ROM的N位地址把0°――360°的正弦角度離散成具有2的N次方個(gè)樣值的序列,而ROM的D位數(shù)據(jù)位則將這些樣值的幅值轉(zhuǎn)化為D位二進(jìn)制數(shù)據(jù)。從而完成波形的相位―幅值轉(zhuǎn)換。 D/A轉(zhuǎn)換器 D/A轉(zhuǎn)換器把通過(guò)波形存儲(chǔ)器合成的正弦波數(shù)字量轉(zhuǎn)化成模擬量,獲得階梯波電壓。 低通濾波器(LPF) 低通濾波器的作用是濾除由D/A轉(zhuǎn)化器生成的階梯型正弦波中的高頻成分,獲得光滑的正弦波。 DDS相關(guān)量及計(jì)算方法 DDS系統(tǒng)輸出的正弦波頻率為fout M??fc/2N 其中N是相位
25、累加器的字長(zhǎng),M是頻率控制字,M的范圍是0≤M≤2N-1。 3.2 硬件系統(tǒng)結(jié)構(gòu) 系統(tǒng)主要由單片機(jī)控制電路和FPGA控制電路兩部分組成,具體的組成模塊有按鍵輸入模塊、顯示模塊、單片機(jī)模塊、FPGA模塊、D/A轉(zhuǎn)換模塊、濾波模塊。系統(tǒng)以單片機(jī)STC89C52為核心,完成以下功能:通過(guò)鍵盤輸入波形參數(shù),經(jīng)過(guò)單片機(jī)的處理和轉(zhuǎn)化將數(shù)據(jù)傳遞給FPGA模塊,F(xiàn)PGA模塊完成波形數(shù)據(jù)的儲(chǔ)存和輸出,D/A模塊接到波形數(shù)據(jù)后將其轉(zhuǎn)化為模擬量,最后經(jīng)過(guò)低通濾波器濾除雜波分量在顯示器上顯示。通過(guò)顯示器我們能直觀地看到波形、幅度和頻率。 系統(tǒng)的具體工作過(guò)程為:系統(tǒng)的頻率控制字、相位控制字、波形控制字均通過(guò)鍵盤向
26、單片機(jī)輸入。經(jīng)過(guò)單片機(jī)的處理和轉(zhuǎn)化,將數(shù)據(jù)傳遞給FPGA。由28位加法器和28位寄存器構(gòu)成的相位累加器在時(shí)鐘信號(hào)的控制下以一定步長(zhǎng)作累加,該步長(zhǎng)即為頻率控制字。由相位累加器輸出的二進(jìn)制代碼與波形控制字相加后獲得ROM的地址,系統(tǒng)對(duì)ROM尋址。ROM輸出的波形幅度經(jīng)過(guò)D/A轉(zhuǎn)換成階梯波,再經(jīng)過(guò)低通濾波后獲得信號(hào)波形。本系統(tǒng)設(shè)計(jì)的D/A轉(zhuǎn)換器的地址位是十位的,數(shù)據(jù)位是8位的,所以系統(tǒng)采用相位截?cái)嗉夹g(shù),只使用相位累加器的前10位數(shù)據(jù)作為二進(jìn)制地址代碼,進(jìn)入ROM尋址。硬件系統(tǒng)框圖見(jiàn)圖3.3。 波形數(shù)據(jù)
27、 系統(tǒng)的硬件模塊包括單片機(jī)部分和FPGA部分以及D/A部分和低通濾波部分。以下是關(guān)于硬件模塊各個(gè)部分的結(jié)構(gòu)及功能說(shuō)明。 鍵盤是最簡(jiǎn)單的單片機(jī)輸入系統(tǒng),人們可以通過(guò)鍵盤輸入數(shù)據(jù)或是命令,單片機(jī)接收到輸入信息后便會(huì)執(zhí)行相應(yīng)功能,來(lái)滿足人們的需要。而在本設(shè)計(jì)系統(tǒng)中,人們主要通過(guò)鍵盤向系統(tǒng)輸入波形種類、占空比、頻率、頻率控制字、幅度控制字等。 顯示模塊的主要功能是顯示當(dāng)前波形、幅度、頻率等。人們可以通過(guò)顯示模塊可以直觀地看到實(shí)驗(yàn)結(jié)果,通過(guò)比對(duì)預(yù)期結(jié)果,就能知道系統(tǒng)的精確性。 3.3.2 DDS的F
28、PGA實(shí)現(xiàn) 本系統(tǒng)采用的是Xilinx公司的XCS系列的spart2 pq208,其內(nèi)部使用VHDL語(yǔ)言編寫各子模塊源程序。 系統(tǒng)外部時(shí)鐘源選擇32MHZ,相位累加器采用28bit,因采用相位截?cái)?,只用相位累加器?0位,即N 10。設(shè)系統(tǒng)的頻率控制字為M,時(shí)鐘信號(hào)的頻率為fc,由DDS方程:fout M??fc/2N可知,當(dāng)M 1時(shí),系統(tǒng)輸出最低頻率,也就是系統(tǒng)的頻率分辨率。由此可得頻率分辨率的計(jì)算公式f fc/2N,經(jīng)過(guò)計(jì)算可知系統(tǒng)的頻率分辨率為0.119HZ。通過(guò)改變頻率控制字M就可以改變輸出頻率信號(hào)。根據(jù)奈奎斯特定理,系統(tǒng)最大輸出頻率應(yīng)不大于時(shí)鐘頻率的一半,所以頻率
29、控制字F≤2N-1 227。 如圖3.4所示,DDS系統(tǒng)包括相位累加器、波形存儲(chǔ)器(ROM)等幾個(gè)部分構(gòu)成。內(nèi)部所有模塊均都是用VHDL語(yǔ)言編寫或調(diào)用Xilinx中的已有的lpm庫(kù)文件。 頻率控制字 輸出 圖3.4 DDS系統(tǒng)框圖 下面就FPGA部分的各組成模塊具體分析: 頻率控制字M 相位量化序列
30、 fc 系統(tǒng)用28位加法器和28位寄存器構(gòu)成相位累加器。系統(tǒng)接收到時(shí)鐘脈沖后,28位加法器對(duì)頻率控制字M和28位寄存器輸出的累加相位數(shù)據(jù)相加,相加后結(jié)果進(jìn)入寄存器的輸入端。寄存器會(huì)把加法器在上一時(shí)鐘作用產(chǎn)生的數(shù)據(jù)反饋給加法器的輸入端。當(dāng)系統(tǒng)接到下一時(shí)鐘時(shí),被反饋的相位數(shù)據(jù)與M繼續(xù)相加。上述過(guò)程就是相位累加過(guò)程。累加器滿偏時(shí)就會(huì)產(chǎn)生一次溢出。累加器的溢出頻率即為DDS輸出的信號(hào)頻率。由于系統(tǒng)中ROM的地址是10位的,即ROM表的樣點(diǎn)數(shù)位1024個(gè),所以采用相位累加器截?cái)嗟姆椒?,僅使用相位累加器的前10位數(shù)據(jù)。因相位截?cái)嘁鸬碾s波分量可以通過(guò)提高時(shí)鐘信號(hào)來(lái)
31、減小。相位累加器的結(jié)構(gòu)圖如圖3.6所示。 系統(tǒng)的波形存儲(chǔ)器模塊是由四個(gè)ROM表構(gòu)成的,每個(gè)ROM表分別存儲(chǔ)正弦波、二倍正弦波、方波、鋸齒波的數(shù)據(jù)采樣點(diǎn)。ROM表的地址位是10位,數(shù)據(jù)位是8位。相位累加器經(jīng)相位截?cái)嗉夹g(shù)之后前10位有效,10位的尋址ROM相當(dāng)于把0°至360°的波形信號(hào)離散成1024個(gè)樣值的序列。波形ROM 表有8位數(shù)據(jù)位,1024個(gè)樣值的幅值以8位二進(jìn)制數(shù)儲(chǔ)存在ROM中。而通過(guò)改變地址,所輸出的值就會(huì)變化。在同樣的時(shí)鐘周期下,通過(guò)單片機(jī)改變頻率控制字,地址間隔發(fā)生變化,會(huì)使生成波形頻率發(fā)生變化。地址值每溢出一次,便完成了一個(gè)周期的輸出。當(dāng)改變波形存儲(chǔ)器中波形數(shù)據(jù)時(shí),也
32、就改變了輸出波形。四個(gè)ROM模塊如圖3.7、圖3.8、圖3.9、圖3.10所示: 這個(gè)部分主要是通過(guò)按鍵向系統(tǒng)輸入a,b構(gòu)成二位二進(jìn)制的一個(gè)數(shù)據(jù),通過(guò)改變a,b的值就可以改變二進(jìn)制值,就可以選擇不同波形輸出。a&b等于00,01,10,11分別對(duì)應(yīng)方波、雙倍正弦波、三角波、正弦波的輸出。其原理圖如圖3.11所示。 3.3.3 D/A轉(zhuǎn)換輸出模塊 D/A的轉(zhuǎn)換輸出模塊的作用是將系統(tǒng)產(chǎn)生的數(shù)字由數(shù)字量送到DAC0832轉(zhuǎn)換成模擬量。其中data_out是八位數(shù)據(jù)輸出,CS和WR1控制DAC0832的片選信號(hào)和使能信號(hào)。 系統(tǒng)對(duì)D/A轉(zhuǎn)換模塊的分辨率有一定要求。D
33、/A轉(zhuǎn)換模塊的分辨率越高,合成波的臺(tái)階數(shù)越多,輸出波形越精確。本次設(shè)計(jì)采用的是DAC0832。由于DAC0832是電流輸出的,而我們希望通過(guò)D/A轉(zhuǎn)換模塊獲得的是波電壓,因此在DAC0832后面接兩個(gè)運(yùn)放電路。通過(guò)該電路可實(shí)現(xiàn)電壓雙極性輸出。DAC0832的內(nèi)部結(jié)構(gòu)圖如圖3.13所示 : 圖3.13 DAC0832結(jié)構(gòu)圖 圖3.14 D/A轉(zhuǎn)換模塊電路圖 系統(tǒng)中DAC0832的WR2 、XFER 接GND,ILE接VCC,AGND和DGND供地,CS、WR1 接FPGA I\O口。由DAC0832和運(yùn)放電路構(gòu)成的D/A轉(zhuǎn)換模塊的電路圖如圖3.14所示。 VOUT2 - 2
34、VOUT1 +VREF -[2 -D/256 VREF +VREF ] [ D-128 /128]VREF 通過(guò)對(duì)D/A轉(zhuǎn)換模塊輸出的階梯波進(jìn)行頻譜分析可知,階梯波除了主頻分量以外,還存在著非諧波分量。這些非諧波分量分布在nfC兩邊的正負(fù)f0處。為了突出主頻f0,需在D/A轉(zhuǎn)換模塊的輸出端接入低通濾波模塊。低通濾波模塊的截止頻率為fC/2。 濾波模塊是用來(lái)消除干擾雜訊的模塊。我們可以采用簡(jiǎn)單RC低通濾波器濾除諧波分量,也可以通過(guò)有源低通濾波器來(lái)達(dá)到低通濾波的效果。鑒于有源低通濾波器的性能穩(wěn)定,兼有放大和緩沖的作用,系統(tǒng)采用此有源濾波器來(lái)濾除生成的高頻信號(hào),抑制干擾和噪聲,獲得我們
35、所需的波形。 在一階有源低通濾波器中,當(dāng)f 0時(shí),電容器視為開(kāi)路,通帶內(nèi)增益為A 1+R2/R1,它的傳遞函數(shù)為A S V0 S /VI S A/ 1+S/W0 ,其中W0 1/RC如圖3.15所示: R1 R2 R + V0 VI - - 圖3.15 一階有源低通濾波器 目前二階低通濾波器有兩種選
36、擇,一種是切比雪夫低通濾波器,一種是 巴特沃思低通濾波器。切比雪夫低通濾波器的階數(shù)決定了通帶內(nèi)波動(dòng)次數(shù)而它的幅度響應(yīng)在通帶內(nèi)是在兩個(gè)值之間波動(dòng)。巴特沃思低通濾波器的幅度函數(shù)單調(diào)下降,被稱為最大平坦幅度濾波器。在靠近截止頻率的部分,理想的切比雪夫寄存器比巴特沃思濾波器更接近矩形的頻率響應(yīng)。有源低通濾波器如圖3.16所示: R1 Rf
37、 VI R R V0 C1 C C2 C 圖3.16 二階有源低通濾波器 系統(tǒng)的相位累加器是28位,但是實(shí)際用了10位,ROM的數(shù)據(jù)位是8位的,時(shí)鐘信號(hào)的頻率為32MHZ。 N 10,D 8,fC 32MHZ,設(shè)頻率控制字為M,由以上相關(guān)量可通過(guò)計(jì)算獲得系統(tǒng)的頻率步進(jìn)值、系統(tǒng)輸出的最大頻率和最小頻率、頻率控制字M的范圍、相位步進(jìn)、相位控制字的范圍,具體的計(jì)算方法如下: 頻率步進(jìn)值 fomin fC/2N 0.119HZ ,此時(shí)
38、M 1 最大頻率fo fC/2 16MHZ,此時(shí)每周期采樣2點(diǎn),這樣難以保證系統(tǒng)輸出精度。為保證系統(tǒng)輸出精度,規(guī)定每周期至少采樣8點(diǎn),此時(shí)M 2N/8 225,由此可得fo MfC/2N 4MHZ。 相位步進(jìn)2π/1024 綜上所述,每個(gè)波形存儲(chǔ)器存儲(chǔ)1024個(gè)8位采樣點(diǎn);頻率控制字1≤M≤225,系統(tǒng)的最小輸出頻率為0.119HZ,最大輸出頻率為4MHZ;相位控制1≤P≤1024,步進(jìn)為2π/1024。 3.5 波形存儲(chǔ) 波形數(shù)據(jù)存儲(chǔ)的方式分為連續(xù)存儲(chǔ)和間隔存儲(chǔ)。 連續(xù)存儲(chǔ)是指將在一個(gè)存儲(chǔ)空間內(nèi)將一種波形全部存完,之后再存入另外一種波形數(shù)據(jù)。例如“三角波(1...n
39、 |正弦波(1...n " 連續(xù)存儲(chǔ)的地址碼產(chǎn)生方式: 。。。 間隔存儲(chǔ)是指將一種波形的一個(gè)數(shù)據(jù)存完之后再存入另外一種波形的一個(gè)波形數(shù)據(jù)。例如“三角波(1)|正弦波(1),三角波(2)|正弦波(2)...,三角波(n |正弦波(n "。 連續(xù)存儲(chǔ)的地址碼產(chǎn)生方式: 。。。 間隔存儲(chǔ)適合于實(shí)現(xiàn)波形的循環(huán)輸出,上例中的間隔存儲(chǔ)是第奇數(shù)位存儲(chǔ)三角波,第偶數(shù)位存儲(chǔ)正弦波。而本系統(tǒng)不需要波形循環(huán)輸出,因此采用連續(xù)存儲(chǔ)的方法就可以了。 4軟件系統(tǒng)原理與結(jié)構(gòu) 系統(tǒng)軟件設(shè)計(jì)采用硬件描述語(yǔ)言V
40、HDL。程序設(shè)計(jì)、調(diào)試、仿真工作都是在ISE開(kāi)發(fā)平臺(tái)下進(jìn)行的。程序?qū)崿F(xiàn)了頻率控制字、相位控制字、波形選擇、時(shí)鐘信號(hào)的輸入,完成了系統(tǒng)初始化、波形編輯等功能。采用顯示屏顯示波形、幅度、頻率。 4.1 FPGA軟件流程 FPGA的軟件流程具體說(shuō)明:由兩個(gè)串行接口分別輸入系統(tǒng)的頻率控制字和相位控制字,由兩個(gè)I/O口控制選擇波形的a、b的輸入,a和b構(gòu)成的二位二進(jìn)制數(shù)a&b決定波形類型的選擇。因?yàn)檎麄€(gè)系統(tǒng)在時(shí)鐘信號(hào)的作用下進(jìn)行,因此還應(yīng)輸入時(shí)鐘信號(hào)。FPGA的頂層模塊由28位相位累加器、四個(gè)波形ROM、波形選擇器、D/A轉(zhuǎn)換模塊構(gòu)成。相位累加器在時(shí)鐘信號(hào)的控制下以一定步長(zhǎng)作累加,該
41、步長(zhǎng)即為頻率控制字。由相位累加器輸出的二進(jìn)制代碼與波形控制字相加后獲得ROM的地址,系統(tǒng)對(duì)ROM尋址。四個(gè)波形ROM分別存儲(chǔ)了方波、雙倍正弦波、三角波、正弦波的數(shù)據(jù)采樣點(diǎn)。經(jīng)過(guò)尋址之后獲得的波形幅度。波形選擇器在a&b的控制下控制波形的選擇,當(dāng)a&b分別取“00”、“01”、“10”、“11”時(shí),四個(gè)輸出端口分別輸出方波、雙倍正弦波、三角波、正弦波。輸出的波形幅度再通過(guò)D/A轉(zhuǎn)換模塊將波形幅度從數(shù)字量轉(zhuǎn)換成模擬量。 4.2 軟件模塊說(shuō)明 圖4.2.1 FPGA實(shí)現(xiàn)DDS結(jié)構(gòu)圖 在DDS的軟件實(shí)現(xiàn)中,系統(tǒng)結(jié)構(gòu)中包含了28位相位累加器、28位加法器
42、、4-1多路波形選擇器、加法器、DAC0832以及余弦波、正弦波、方波、鋸齒波的波形ROM。 頂層模塊主要設(shè)置了頻率控制字、時(shí)鐘信號(hào)、相位控制字、波形選擇M、N的輸入以及DAC0832的cs、wr1的輸出,以及FPGA實(shí)現(xiàn)DDS模塊的8位數(shù)據(jù)的輸出。頂層模塊將同時(shí)說(shuō)明了相位累加器、4個(gè)波形ROM、波形選擇器、DAC0832的各端口的輸入輸出信號(hào)和數(shù)據(jù),以及數(shù)據(jù)的位數(shù)。 4.2.2 相位累加器模塊 相位累加器是系統(tǒng)的頂層模塊中非常重要的一部分。系統(tǒng)接收到時(shí)鐘脈沖后,28位加法器對(duì)頻率控制字M和28位寄存器輸出的累加相位數(shù)據(jù)相加,相加后結(jié)果進(jìn)入寄存器的輸入端。寄存器會(huì)把加
43、法器在上一時(shí)鐘作用產(chǎn)生的數(shù)據(jù)反饋給加法器的輸入端。當(dāng)系統(tǒng)接到下一時(shí)鐘時(shí),被反饋的相位數(shù)據(jù)與M繼續(xù)相加。上述過(guò)程就是相位累加過(guò)程。而在本系統(tǒng)的軟件實(shí)現(xiàn)過(guò)程中,可以設(shè)計(jì)一個(gè)整體的相位累加器來(lái)實(shí)現(xiàn)相位累加功能。相位累加器的VHDL設(shè)計(jì)如下: architecture Beh of ACC28 is begin process clock,reset begin if clock '1' and clock'event then 時(shí)鐘處于上升沿 if reset '1' then 復(fù)位信號(hào)有效 accumulate_out other
44、s '0' ;輸出為0 else accumulate_out accumulate_out + accumulate_in;本次輸出 上一次輸出+步進(jìn)值 end if; end if; end process; 具體工作過(guò)程:系統(tǒng)設(shè)計(jì)的是28位相位累加器。它的輸入端設(shè)置了復(fù)位端以及時(shí)鐘信號(hào)的輸入和頻率控制字的輸入。該相位累加器同步復(fù)位的。當(dāng)系統(tǒng)接收的時(shí)鐘信號(hào)處于上升沿且復(fù)位信號(hào)有效時(shí),系統(tǒng)開(kāi)始復(fù)位,此時(shí)輸出端為0;如果系統(tǒng)沒(méi)有復(fù)位,則輸出端輸出的是頻率控制字與上一時(shí)鐘相位累加器的輸出值之和。圖4.2.1所示的是在上述原理
45、上設(shè)計(jì)出的相位累加器端口圖。 在系統(tǒng)進(jìn)行仿真時(shí),首先建立一個(gè)相位累加器的測(cè)試文件。由于在仿真的過(guò)程中需要對(duì)相位累加器的輸入端添加激勵(lì)源,它才能進(jìn)行仿真工作,輸出仿真波形,而測(cè)試文件起到了這個(gè)功能。如果改變頻率控制字,則改變波形輸出的步進(jìn)值。如圖4.2.2所示的仿真波形是當(dāng)頻率控制字為2的仿真結(jié)果圖。在前兩個(gè)時(shí)鐘周期,累加器的復(fù)位信號(hào)有效,且頻率控制字的輸入為0,累加器的輸出結(jié)果為0。從第三個(gè)時(shí)鐘周期開(kāi)始,復(fù)位信號(hào)無(wú)效,同時(shí)設(shè)置頻率控制字為2,當(dāng)時(shí)鐘信號(hào)處于上升沿階段時(shí),累加器的輸出端在上一次累加器輸出值的基礎(chǔ)上加上步進(jìn)值2輸出。如果改變頻率控制字,則累加器輸出端的步進(jìn)值改變。
46、 圖4.2.3 相位累加器仿真圖 在本系統(tǒng)中,加法器實(shí)現(xiàn)了相位控制的功能。在它的輸入端設(shè)置了復(fù)位端以及兩個(gè)數(shù)據(jù)輸入端口。當(dāng)加法器復(fù)位時(shí),它的輸出清零;沒(méi)有復(fù)位,則是輸出由輸入端輸入的兩個(gè)數(shù)據(jù)之和。相位累加器的VHDL設(shè)計(jì)如下: architecture Behavioral of ADD28 is begin process input1, input2,reset begin if reset '1' then 如果復(fù)位信號(hào)有效 add_output others '0' ; 輸出0
47、 else 其它(如果復(fù)位信號(hào)無(wú)效) add_output input1 + input2;則輸出由輸入端輸入的兩數(shù)據(jù)之和 end if; end process; end Behavioral; 具體工作過(guò)程:系統(tǒng)設(shè)計(jì)的是28位加法器。它的輸入端設(shè)置了復(fù)位端以及相位累加器的輸出值和相位控制字的輸入。當(dāng)系統(tǒng)開(kāi)始復(fù)位時(shí),此時(shí)輸出端為0;如果系統(tǒng)沒(méi)有復(fù)位,則輸出端輸出的是相位控制字與相位累加器的輸出值之和。圖4.2.4所示的是在上述原理上設(shè)計(jì)出的加法器的端口圖。 圖4.2.4 加法器 波形ROM存儲(chǔ)了正弦
48、波、二倍正弦波、方波、鋸齒波的數(shù)據(jù)采樣點(diǎn)。ROM表的地址位是10位,數(shù)據(jù)位是8位。相位累加器經(jīng)相位截?cái)嗉夹g(shù)之后前10位有效,10位的尋址ROM相當(dāng)于把0°至360°的波形信號(hào)離散成1024個(gè)樣值的序列。波形ROM 表有8位數(shù)據(jù)位,1024個(gè)樣值的幅值以8位二進(jìn)制數(shù)儲(chǔ)存在ROM中。而通過(guò)改變地址,所輸出的值就會(huì)變化。在同樣的時(shí)鐘周期下,通過(guò)改變頻率控制字,地址間隔發(fā)生變化,會(huì)使生成波形頻率發(fā)生變化。地址值每溢出一次,便完成了一個(gè)周期的輸出。當(dāng)改變波形存儲(chǔ)器中波形數(shù)據(jù)時(shí),也就改變了輸出波形。 波形的ROM實(shí)際上是儲(chǔ)存了波形數(shù)據(jù)采樣點(diǎn)的只讀存儲(chǔ)器。在本系統(tǒng)的波形存儲(chǔ)器的實(shí)現(xiàn)過(guò)程中,我們首先使用IS
49、E提供的IP Core中的單口存儲(chǔ)器(Signal Port Block Memory 。在單口存儲(chǔ)器中有ROM和RAM可供選擇,本系統(tǒng)使用的是ROM。由于系統(tǒng)存儲(chǔ)的波形數(shù)據(jù)的地址位是8位二進(jìn)制數(shù),并且需要將波形信號(hào)離散成1024個(gè)點(diǎn)存在ROM中,每個(gè)波形ROM存儲(chǔ)1024個(gè)數(shù)據(jù)采樣點(diǎn)。因此波形ROM的寬度和深度分別為8和1024。接著需要點(diǎn)擊Load Fire加載波形數(shù)據(jù)。圖4.2.4所示的是波形ROM仿真過(guò)程寬度和深度的設(shè)置: 圖2.2.5 波形ROM的仿真設(shè)置 波形數(shù)據(jù)生成的具體過(guò)程:波形數(shù)據(jù)是通過(guò)Matlab產(chǎn)生COE文件
50、,對(duì)ROM先進(jìn)行初始化。將0~2π的空間分割成1024段,每個(gè)段存儲(chǔ)相應(yīng)的波形幅度值。在生成正余弦波形時(shí),因?yàn)榇鎯?chǔ)的波形幅度值都是正數(shù),而正余弦的波形幅度變化范圍是-1~+1,因此需將函數(shù)整體加1以使得波形抬高到坐標(biāo)軸以上。通過(guò)Matlab生成的正余弦波形數(shù)值形成COE文件,加載到ROM中。具體的Matlab代碼如下: x linspace 0,6.28,1024 ; 在0和2pi間取1024個(gè)點(diǎn) y1 cos x +1; y2 sin x +1; y1 y1 * 32768; 在將波形抬高到坐標(biāo)軸上后,再將上面算得的數(shù)值放大量化成16位 y2 y2 * 32
51、768; fid fopen 'c:/cos_coe.txt','wt' ; 生成TXT文件 fprintf fid, 'memory_initialization_radix 10;\n', y1 ;生成索引 fprintf fid, 'memory_initialization_vector \n', y1 ; fprintf fid,'%16.0f,\n',y1 ;量化數(shù)據(jù)格式 fclose fid plot y1 ; hold on; fid fopen 'c:/sin_coe.txt','wt' ; fprintf fid, 'memory_i
52、nitialization_radix 10;\n', y2 ; fprintf fid, 'memory_initialization_vector \n', y2 ; fprintf fid,'%16.0f,\n',y2 ; fclose fid plot y2 ; 系統(tǒng)設(shè)計(jì)的波形ROM的有8位數(shù)據(jù)位,它的輸入端設(shè)置了地址的輸入、時(shí)鐘信號(hào)的輸入。當(dāng)系統(tǒng)接收到的時(shí)鐘信號(hào)處于上升沿時(shí),如果輸入端口接收到地址數(shù)據(jù),輸出端輸出相應(yīng)波形幅度數(shù)據(jù)。圖4.2.3所示的是在上述原理上設(shè)計(jì)出的波形ROM端口圖。 在系統(tǒng)進(jìn)行仿真時(shí),首先建立一個(gè)波形ROM的測(cè)試文件。測(cè)試文件在仿真工
53、作中對(duì)波形ROM的輸入端添加激勵(lì)源。如果改變波形地址數(shù)據(jù),則改變波形的幅度值。如圖4.42.4所示的是波形ROM的仿真圖。圖示第一行顯示的是地址數(shù)據(jù),第二行顯示的是時(shí)鐘信號(hào),第三行顯示的是波形ROM的輸出數(shù)據(jù)。通過(guò)圖我們可以看到,如果改變地址數(shù)據(jù),則它相應(yīng)的輸出相應(yīng)波形數(shù)據(jù)。 圖4.2.5 波形ROM的仿真圖 4.2.5 波形選擇器的設(shè)計(jì) 波形選擇器部分總共有6個(gè)輸入值和1個(gè)輸出值。從波形ROM輸出的波形幅度值會(huì)通過(guò)相應(yīng)的端口輸入到波形選擇器當(dāng)中。而由兩個(gè)I/O口控制的的a,b則是組成二位二進(jìn)制數(shù)a&b。當(dāng)a&b分別取“00”、“01”、“10”、“11”時(shí),不同的波形幅度值會(huì)對(duì)波形選擇
54、器的輸出口進(jìn)行賦值,實(shí)現(xiàn)波形選擇的功能。當(dāng)a&b的取值出現(xiàn)異常情況時(shí),系統(tǒng)輸出'Z'。波形選擇器的VHDL設(shè)計(jì)如下: architecture Behavioral of mux4_1 is signal sel:std_logic_vector 1 downto 0 ; begin sel a&b;將a,b的組成的二進(jìn)制代碼 process sel,din_1,din_2,din_3 begin case sel is when "00" dout din_1; 00時(shí)輸出波1的波形數(shù)據(jù) when "01" dout din_2; 0
55、1時(shí)輸出波2的波形數(shù)據(jù) when "10" dout din_3; 10時(shí)輸出波3的波形數(shù)據(jù) when "11" dout din_4; 11時(shí)輸出波4的波形數(shù)據(jù) when others dout others 'Z' ; end case; end process; end Behavioral; 4.2.6 DAC0832的設(shè)計(jì) D/A的轉(zhuǎn)換輸出模塊的作用是將系統(tǒng)產(chǎn)生的數(shù)字由數(shù)字量送到DAC0832轉(zhuǎn)換成模擬量。其中data_out是八位數(shù)據(jù)輸出,CS和WR1控制DAC0832的片選信號(hào)和使能信號(hào)。 系統(tǒng)對(duì)D/A轉(zhuǎn)換模塊的
56、分辨率有一定要求。D/A轉(zhuǎn)換模塊的分辨率越高,合成波的臺(tái)階數(shù)越多,輸出波形越精確。DAC0832是構(gòu)成系統(tǒng)D/A轉(zhuǎn)換模塊的非常重要的部分。對(duì)它的端口分別輸入的是時(shí)鐘信號(hào)和波形選擇器輸出的波形幅度值。而它的輸出部分則是包括cs和wr1以及波形的模擬量。DAC0832的VHDL的設(shè)計(jì)如下: architecture Behavioral of dac0832 is begin process clk begin if clk'event and clk '1' then當(dāng)時(shí)鐘信號(hào)處于上升沿 data_out data_in;輸出波形的模擬量 end if; end
57、 process; cs '0'; wr1 '0'; end Behavioral; 在系統(tǒng)進(jìn)行仿真時(shí),首先建立一個(gè)DAC0832的測(cè)試文件。測(cè)試文件在仿真工作中對(duì)DAC0832的輸入端添加激勵(lì)源。如果改變波形幅度數(shù)據(jù),則改變波的形狀。 5 結(jié)論與分析 本次設(shè)計(jì)了一個(gè)基于單片機(jī)和FPGA的任意頻率信號(hào)發(fā)生器,設(shè)計(jì)原理是在DDS原理的基礎(chǔ)上,對(duì)其中的一些模塊結(jié)構(gòu)進(jìn)行改進(jìn),在一定程度上完善了信號(hào)發(fā)生器的功能。整個(gè)系統(tǒng)主要由單片機(jī)部分、FPGA部分、D/A轉(zhuǎn)換輸出模塊、低通濾波模塊構(gòu)成。單片機(jī)完成了完成了數(shù)據(jù)(頻率控制字、幅度控制字、波形控制字)的處理和轉(zhuǎn)化,F(xiàn)PGA部分完成
58、了波形數(shù)據(jù)的存儲(chǔ)和輸出,D/A轉(zhuǎn)換部分完成了波形數(shù)據(jù)由數(shù)字量到模擬量的轉(zhuǎn)換,低通濾波器完成了濾除非諧波分量(雜波信號(hào)),最后獲得任意波形。 系統(tǒng)模塊由28位相位累加器、28位加法器、波形存儲(chǔ)器、波形選擇器、DAC轉(zhuǎn)換輸出模塊構(gòu)成。相位累加器的輸入端口設(shè)置了復(fù)位端以及時(shí)鐘信號(hào)的輸入和頻率控制字的輸入。該相位累加器同步復(fù)位的。相位累加器在時(shí)鐘信號(hào)的控制下以一定步長(zhǎng)作累加,該步長(zhǎng)即為頻率控制字。相位累加器的輸出數(shù)據(jù)、系統(tǒng)復(fù)位信號(hào)、相位控制字通過(guò)加法器的輸入端輸入。當(dāng)加法器沒(méi)有復(fù)位時(shí),它的輸出端輸出相位控制字與相位累加器的輸出值之和(該值就是ROM的地址數(shù)據(jù)),完成了系統(tǒng)相位控制功能。從加法
59、器中輸出的地址數(shù)據(jù)進(jìn)入到波形ROM進(jìn)行尋址,尋址完成之后輸出相應(yīng)的波形數(shù)據(jù)。四個(gè)波形ROM的輸出的波形數(shù)據(jù)都會(huì)通過(guò)波形選擇器相應(yīng)的輸入端口輸入。且系統(tǒng)的波形選擇器還有兩個(gè)輸入端口,通過(guò)I/O接口向這兩個(gè)端口輸入的值組成二位二進(jìn)制代碼a&b。當(dāng)此代碼分別取“00”、“01”、“10”、“11”時(shí),不同的波形幅度值會(huì)對(duì)波形選擇器的輸出口進(jìn)行賦值,實(shí)現(xiàn)波形選擇的功能。輸出的波形幅度再通過(guò)D/A轉(zhuǎn)換模塊將系統(tǒng)產(chǎn)生的數(shù)字由數(shù)字量送到DAC0832轉(zhuǎn)換成模擬量。其中data_out是八位數(shù)據(jù)輸出,CS和WR1控制DAC0832的片選信號(hào)和使能信號(hào)。 系統(tǒng)實(shí)現(xiàn)了可調(diào)頻率和波形選擇輸出,系統(tǒng)融
60、合了單片機(jī)及FPGA技術(shù),最終可實(shí)現(xiàn)任意頻率信號(hào)的產(chǎn)生,所產(chǎn)生的波形種類齊全、頻率分辨率高、帶寬寬,同時(shí)實(shí)現(xiàn)了信號(hào)的調(diào)相功能。設(shè)計(jì)中通過(guò)相位累加器截?cái)?,減小了波形ROM的體積;在四個(gè)波形ROM表中分別儲(chǔ)存了雙倍正弦波、正弦波、三角波、方波,方便系統(tǒng)尋址來(lái)實(shí)現(xiàn)生成任意波形的功能。我們采用通過(guò)軟件算法的合理優(yōu)化,彌補(bǔ)了硬件上的不足,在一定程度上提高了精確度。 系統(tǒng)的不足是系統(tǒng)還有一些設(shè)計(jì)細(xì)節(jié)有待改進(jìn)。如本設(shè)計(jì)將正弦波、方波、鋸齒波分別儲(chǔ)存在不同的波形ROM中,可以將這四個(gè)波形ROM集合在一個(gè)波形ROM中,方便操作且可以減小ROM的體積;可以在電路中添加鎖相環(huán)PLL,使得時(shí)鐘頻率加倍,從而
61、使輸出頻率有更高的分辨率。此外,DAC非理想特性造成的雜散以及由存儲(chǔ)器有限字長(zhǎng)引起的幅度量化誤差造成的雜散等問(wèn)題還需要進(jìn)一步研究。 系統(tǒng)測(cè)試時(shí)參數(shù)設(shè)置為每個(gè)波形存儲(chǔ)器存儲(chǔ)1024個(gè)8位采樣點(diǎn);頻率控制1≤M≤225,系統(tǒng)的最小輸出頻率為0.119HZ,最大輸出頻率為4MHZ;相位控制1≤P≤1024,步進(jìn)為2π/1024。下面是系統(tǒng)波形及實(shí)物測(cè)試結(jié)果: 圖5.3 正弦波仿真波形 圖5.8 正弦波 ―μ ―HZ ―μ 參考文獻(xiàn) [1] 李光清:基于Logistic映射的隨機(jī)信號(hào)發(fā)生器設(shè)計(jì).
62、 甘肅聯(lián)合大學(xué)學(xué)報(bào) 自然科學(xué)版 , 2006, 03 [2] 薛凱,趙元良:程序控制多波形信號(hào)發(fā)生器及其在物理實(shí)驗(yàn)中的應(yīng)用[J]. 東北師大學(xué)報(bào) 自然科學(xué)版 , 1995, 03 [3] 劉建華, 李紀(jì)云:?jiǎn)纹瑱C(jī)在現(xiàn)代社會(huì)中的應(yīng)用. 河南科技 , 1998, 10 [4] 陳鈞, 陳堅(jiān), 曾德芬:單片機(jī)低頻信號(hào)發(fā)生器. 華東地質(zhì)學(xué)院學(xué)報(bào) , 1999, 04 [5] 王振中:現(xiàn)代單片機(jī)技術(shù)的進(jìn)展. 今日科技 , 2004, 09 [6] 耿素軍:單片機(jī)在加熱爐測(cè)溫中的智能應(yīng)用. 太原師范學(xué)院學(xué)報(bào) 自然科學(xué)版 , 2004, 03 [7] 羅
63、庚榮:《單片機(jī)原理及應(yīng)用》課程教學(xué)改革探索. 西南師范大學(xué)學(xué)報(bào) 自然科學(xué)版 , 1997, 03 [8] 孫榮創(chuàng), 張蕾, 王萍:淺談單片機(jī)常見(jiàn)攻擊技術(shù)及應(yīng)對(duì)策略. 中國(guó)科技信息 , 2006, 16 [9] 湛洪然:一種相位信號(hào)發(fā)生器的設(shè)計(jì)方法. 安慶師范學(xué)院學(xué)報(bào) 自然科學(xué)版 , 2006, 01 [10] 張道華, 劉興云:應(yīng)用DSP技術(shù)設(shè)計(jì)信號(hào)發(fā)生器的研究. 湖北師范學(xué)院學(xué)報(bào) 自然科學(xué)版 , 2003, 01 [11]張鵬飛:?jiǎn)纹瑱C(jī)技術(shù)應(yīng)用的發(fā)展?fàn)顩r研究,浙江工商職業(yè)技術(shù)學(xué)院學(xué)報(bào) 2005 [12]王紅,彭亮,于宗光:FPGA現(xiàn)狀與發(fā)展趨勢(shì) 電子與
64、封裝 2007 [13]殷海波,許果,王廣軍:基于單片機(jī)和FPGA的任意頻率發(fā)生器設(shè)計(jì) 自動(dòng)化技術(shù)與應(yīng)用 2010 [14]黃智偉:大學(xué)生電子設(shè)計(jì)競(jìng)賽電路設(shè)計(jì) 北京航空航天大學(xué)出版社 2006 [15]李國(guó)厚:自動(dòng)化專業(yè)英語(yǔ) 2006.(1) [16]Atmel.AVR RISC Microcontroller Data Book. [17]王彥、方艾、張清明:基于FPGA的數(shù)字波形發(fā)生器[J],機(jī)械與電子 2004(6):16-16 [18]劉源,于亞萍等:基于FPGA的數(shù)字波形發(fā)生器[J] 自動(dòng)化技術(shù)與應(yīng)用 2009,28(12):75-75 [19]林建英,于濤,王曉迪,基
65、于DDS波形發(fā)生器的實(shí)驗(yàn)教學(xué)與實(shí)施[J] 實(shí)驗(yàn)科學(xué)與技術(shù) 2006,4(1):75-78 [20]劉文莉,林建英用單片機(jī)與FPGA實(shí)現(xiàn)的DDS波形發(fā)生器[J] 研究與開(kāi)發(fā) 2007,26(12):27-28 文獻(xiàn)綜述 一種基于單片機(jī)和FPGA的任意頻率信號(hào)發(fā)生器設(shè)計(jì) 一、前言(說(shuō)明設(shè)計(jì)或論文的目的、意義,介紹有關(guān)感念) 信號(hào)發(fā)生器是各種測(cè)試和實(shí)驗(yàn)過(guò)程中非常重要的工具,在通信、測(cè)量、雷達(dá)、控制、教學(xué)等領(lǐng)域應(yīng)用十分廣泛。不論是在生產(chǎn)、科研還是教學(xué)研究上,信號(hào)發(fā)生器都是電子工程師信號(hào)仿真實(shí)驗(yàn)的最佳工具。信號(hào)發(fā)生器的設(shè)計(jì)方法多,并且隨著科技的進(jìn)步,其設(shè)計(jì)技術(shù)也越來(lái)越進(jìn)步。 方便及精度高的信
66、號(hào)發(fā)生器在電子技術(shù)發(fā)展的今天被需要。在一些領(lǐng)域,如軍事、航空、交通制造業(yè),在設(shè)計(jì)完成之后,在現(xiàn)實(shí)環(huán)境還需要作進(jìn)一步實(shí)驗(yàn),有些實(shí)驗(yàn)的成本很高或者風(fēng)險(xiǎn)性很大,人們不可能長(zhǎng)期作實(shí)驗(yàn)來(lái)判斷所設(shè)計(jì)的產(chǎn)品的可行性和穩(wěn)定性。我們可以利用一些波形發(fā)生器來(lái)做這樣一些費(fèi)用高、風(fēng)險(xiǎn)大的實(shí)驗(yàn),通過(guò)數(shù)字示波器等儀器把波形實(shí)時(shí)記錄下來(lái),通過(guò)計(jì)算機(jī)接口接到信號(hào)源,直接下載到設(shè)計(jì)電路,作更進(jìn)一步實(shí)驗(yàn)驗(yàn)證。 隨著我國(guó)經(jīng)濟(jì)和科技的發(fā)展,對(duì)相應(yīng)的測(cè)試儀器和測(cè)試手段也提出了更高的要求,信號(hào)發(fā)生器已經(jīng)成為測(cè)試儀器中至關(guān)重要的一類。我國(guó)目前信號(hào)發(fā)生器的種類和性能與國(guó)外同類產(chǎn)品存在較大的差距,加緊開(kāi)發(fā)信號(hào)發(fā)生器有重大意義。 二、主題(闡明有關(guān)主題的背景、現(xiàn)狀和發(fā)展方向,以及對(duì)這些問(wèn)題的評(píng)述) 自20世紀(jì)20年代至今,信號(hào)發(fā)生器實(shí)現(xiàn)了從無(wú)到有,結(jié)構(gòu)從復(fù)雜到簡(jiǎn)單,功耗上有大到小,發(fā)展速度由慢到快的飛躍。如今,各國(guó)相關(guān)科研人員依舊積極致力于完善信號(hào)發(fā)生器結(jié)構(gòu)和功能的科研工作中,并將這一技術(shù)應(yīng)用到許多領(lǐng)域。 信號(hào)發(fā)生器在20世紀(jì)20年代出現(xiàn)。在信號(hào)發(fā)生器發(fā)展的幾十年過(guò)程中,信號(hào)發(fā)生器大致經(jīng)歷了早期信號(hào)發(fā)生器、標(biāo)準(zhǔn)信號(hào)發(fā)生器、全晶體
- 溫馨提示:
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. 裝配圖網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 6.煤礦安全生產(chǎn)科普知識(shí)競(jìng)賽題含答案
- 2.煤礦爆破工技能鑒定試題含答案
- 3.爆破工培訓(xùn)考試試題含答案
- 2.煤礦安全監(jiān)察人員模擬考試題庫(kù)試卷含答案
- 3.金屬非金屬礦山安全管理人員(地下礦山)安全生產(chǎn)模擬考試題庫(kù)試卷含答案
- 4.煤礦特種作業(yè)人員井下電鉗工模擬考試題庫(kù)試卷含答案
- 1 煤礦安全生產(chǎn)及管理知識(shí)測(cè)試題庫(kù)及答案
- 2 各種煤礦安全考試試題含答案
- 1 煤礦安全檢查考試題
- 1 井下放炮員練習(xí)題含答案
- 2煤礦安全監(jiān)測(cè)工種技術(shù)比武題庫(kù)含解析
- 1 礦山應(yīng)急救援安全知識(shí)競(jìng)賽試題
- 1 礦井泵工考試練習(xí)題含答案
- 2煤礦爆破工考試復(fù)習(xí)題含答案
- 1 各種煤礦安全考試試題含答案