在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于FPGA的流水線結(jié)構(gòu)DDS多功能信號發(fā)生器的設(shè)計與實現(xiàn)

            基于FPGA的流水線結(jié)構(gòu)DDS多功能信號發(fā)生器的設(shè)計與實現(xiàn)

            作者: 時間:2017-06-05 來源:網(wǎng)絡(luò) 收藏

            隨著現(xiàn)代電子技術(shù)的不斷發(fā)展,在通信系統(tǒng)中往往需要在一定頻率范圍內(nèi)提供一系列穩(wěn)定和準(zhǔn)確的頻率信號,一般的振蕩器已不能滿足要求,這就需要頻率合成技術(shù)。是第3代頻率合成器,它采用全數(shù)字技術(shù),具有頻率切換時間短、頻率精度和分辨率高、輸出相位連續(xù)、易于控制等優(yōu)點。

            現(xiàn)場可編程門陣列()器件具有工作速度快、集成度高、可靠性高和現(xiàn)場可編程等優(yōu)點,并且支持系統(tǒng)現(xiàn)場修改和調(diào)試,采用FP GA設(shè)計的具有電路簡單,性能穩(wěn)定等特點,也能滿足絕大多數(shù)通信系統(tǒng)的使用要求。而在相位累加器的設(shè)計當(dāng)中,傳統(tǒng)的累加器采用多位全加器直接相加的方式來實現(xiàn),但隨著頻率控制字位數(shù)的增加,系統(tǒng)的實時性會大幅降低。針對這一問題,本文提出了一種流水線結(jié)構(gòu)的相位累加器,該結(jié)構(gòu)能夠縮短運算時間,提高整個系統(tǒng)的實時性。

            本文介紹了DDS的基本原理,闡述了基于流水線結(jié)構(gòu)的累加器的設(shè)計方案及具體的設(shè)計方法,采用嵌入式邏輯分析儀分析了正弦波、方波、鋸齒波和三角波等波形,并給出了計算機仿真和實驗結(jié)果,最后總結(jié)了該系統(tǒng)的特點。

            1 DDS基本原理

            如圖1所示,基本的DDS結(jié)構(gòu)一般由4個模塊構(gòu)成,分別是相位累加器、波形存儲器ROM,D/A轉(zhuǎn)換器和低通濾波器LPF。

            系統(tǒng)時鐘fc為基準(zhǔn)頻率源,K為頻率控制字,通過改變K的數(shù)值可以改變DDS的輸出頻率,在fc上升沿到來時,相位累加器會對頻率控制字K進行相位累加,累加結(jié)果即是波形存儲器ROM中幅值的地址數(shù)據(jù),經(jīng)過尋址,幅值由ROM輸出到D/A轉(zhuǎn)換器中,D/A轉(zhuǎn)換器將由二進制編碼的數(shù)字信號轉(zhuǎn)換為模擬信號輸出,該模擬信號再經(jīng)過低通濾波器的濾波就可以得到平滑的波形曲線。

            本文引用地址:http://www.biyoush.com/article/201706/348986.htm

            DDS的輸出頻率為:

            fo=(K/2N)fc (1)

            式中:N為相位累加器的位數(shù);fc作為基準(zhǔn)頻率源一般是給定的數(shù)值,因此,決定DDS輸出頻率的因素分別是頻率控制字K和相位累加器的位數(shù)N。當(dāng)K取最小值1時,DDS的輸出頻率即是它的最小分辨率:

            fo=fc/2N (2)

            2 的設(shè)計

            相位累加器是DDS的重要組成部分,在基準(zhǔn)時鐘控制下,它用來實現(xiàn)線性數(shù)字信號的逐級累加,信號范圍從0加到累加器的滿偏值,由此得到相應(yīng)的相位數(shù)據(jù),而相位累加器的頻率就是DDS輸出信號的頻率。在通常的電路優(yōu)化設(shè)計中,累加器模塊采用超前進位加法器,這種結(jié)構(gòu)克服了串行進位引起的時間滯后,很大程度上提高了加法器的運算速度,但仍有不足。為了提高DDS頻率轉(zhuǎn)換速度和實時性,本文提出了一種流水線結(jié)構(gòu)來優(yōu)化DDS的相位累加器。

            的結(jié)構(gòu)特點很適合采用流水線設(shè)計,以Altera低成本系列CycloneⅡ為例,不僅有最多達68 416個邏輯單元(LE),每個LE均含有1個四輸入查找表LUT、1個可編程觸發(fā)器等。設(shè)計中可將1個算術(shù)操作分解成一些小規(guī)模的基本操作配置到LUT中,將進位和中間值存儲在寄存器中,在下一個時鐘內(nèi)繼續(xù)運算,整個系統(tǒng)只需要極少或不需要額外的資源成本。
            流水線結(jié)構(gòu)的基本原理是將整個電路劃分為若干個流水線級,每級之間設(shè)置寄存器鎖存上一級輸出的數(shù)據(jù);每一級只完成數(shù)據(jù)處理的一部分,一個時鐘周期完成一級數(shù)據(jù)處理,然后在下一個時鐘到來時將處理后的數(shù)據(jù)傳遞給下一級。第一組數(shù)據(jù)進入流水線后,經(jīng)過1個時鐘周期傳到第二級,同時第二組數(shù)據(jù)進入第一級,數(shù)據(jù)隊列依次前進。每組數(shù)據(jù)都要經(jīng)過所有的流水線級后才能得到最后的計算結(jié)果,但對整個流水線而言,每個時鐘都能計算出一組結(jié)果,所以平均計算一組數(shù)據(jù)只需要一個時鐘周期的時間,這樣就大大提高了數(shù)據(jù)處理速度。圖2為在QuartusⅡ開發(fā)環(huán)境下用原理圖輸入法搭建的結(jié)構(gòu)圖。該結(jié)構(gòu)由四級流水線構(gòu)成,每一級流水線的輸入字節(jié)為8位,分別由8位數(shù)據(jù)鎖存器,8位數(shù)據(jù)全加器,1位數(shù)據(jù)鎖存器構(gòu)成,整個系統(tǒng)可實現(xiàn)32位輸入控制字的相位累加功能。根據(jù)的工作原理,首先將32位輸入控制字a由低位到高位平均分為4段,每一段為8位,分別以a[0..7]到a[24..32]來命名。將a[0..7]作為第一級的輸入控制字輸入到8位數(shù)據(jù)鎖存器reg8中,在時鐘信號clk上升沿到來之時,reg8暫存的控制字會送入到8位數(shù)據(jù)全加器adder8中與另一個加法數(shù)和進位信號進行全加運算。另一個加法數(shù)是來自本級運算結(jié)果的反饋,為保持時鐘節(jié)拍的一致性,該反饋先輸入到另一個reg8中暫存,然后在時鐘上升沿到來之時輸入到全加器進行運算;進位信號來自第四級,該信號也是先暫存在一個1位數(shù)據(jù)鎖存器reg1中再輸入到全加器中進行運算。

            第一級流水線經(jīng)過全加器之后得出運算結(jié)果sum[0..7]和進位信號,sum[0..7]作為本級的輸出,它是整個累加結(jié)果的最低8位,而進位信號經(jīng)過一個reg1之后作為下一級全加器的輸入。

            第二級流水線的輸入信號是a[8..15],因為上一級共由兩級數(shù)據(jù)鎖存器構(gòu)成,所以在做全加運算之前先分別將輸入信號和本級的反饋信號經(jīng)過2次數(shù)據(jù)鎖存,然后再與來自上一級的進位信號進行全加運算,運算之后的結(jié)果作為本級的輸出sum[8..15],同時產(chǎn)生進位信號參與下一級的運算。第三級與第四級的工作原理同上,系統(tǒng)每增加一級流水線結(jié)構(gòu),鎖存器也會隨之增加一級。

            圖3為在QuartusⅡ環(huán)境下得到的四級流水線仿真波形,時鐘信號的頻率是200 MHz,占空比為50 %,偏移量為0。為觀察方便,輸入控制字a和累加結(jié)果sum均用無符號十進制數(shù)來表示,且輸入控制字設(shè)定為32,由波形圖可見,該系統(tǒng)可以實現(xiàn)32位的相位累加。


            3 任意波形發(fā)生器的設(shè)計及實現(xiàn)

            DDS可以根據(jù)ROM中存儲數(shù)據(jù)的不同產(chǎn)生多種波形。在QuartusⅡ開發(fā)環(huán)境下搭建DDS系統(tǒng)模型需要訂制波形存儲器ROM,根據(jù)所需精度的不同,ROM中存儲的采樣點數(shù)也不同。當(dāng)所需波形數(shù)據(jù)非常簡單時,可以在QuartusⅡ中定制ROM時直接將數(shù)據(jù)寫入新建的mif文件,然后保存即可,當(dāng)所需波形數(shù)據(jù)較為復(fù)雜時,可以通過Matlab來自動生成所需波形的幅度數(shù)據(jù),然后再通過調(diào)用mif文件來達到預(yù)期目標(biāo)。以256個點的正弦波為例加以分析說明。

            產(chǎn)生正弦波的Matlab程序如下:

            width定義的是位寬,depth是深度,也就是將來生成的mif文件含有多少個存儲單元,在此處,設(shè)定了數(shù)據(jù)寬度為8位,存儲單元數(shù)為256,將來在QuartusⅡ中定制ROM時也要相應(yīng)地將存儲單元數(shù)設(shè)定為256,根據(jù)DDS的基本原理,隨著設(shè)計點數(shù)的增加,所得的波形數(shù)據(jù)會更加準(zhǔn)確,通過D/A轉(zhuǎn)化后在示波器上觀測的波形也越精準(zhǔn),但所需ROM的存儲空間將會呈指數(shù)增長,所以要根據(jù)實際的需要來綜合考慮存儲單元的個數(shù)。將上述指令在Matlab環(huán)境中運行之后就能夠得到所需mif文件。

            在mif文件生成之后需要將此文件添加進入DDS系統(tǒng)的ROM中,然后進行全局的編譯,編譯通過后就可以進行工程的下載。具體的波形可以通過示波器來分析,或者使用Quartus Ⅱ自帶的嵌入式邏輯分析儀來分析。在使用嵌入式邏輯分析儀分析和觀察時,采樣信號要根據(jù)DDS的時鐘信號來確定,待測信號設(shè)定為DDS的輸出信號,當(dāng)工程下載到FPGA芯片后,待測信號通過USB-BLASTER反饋至嵌入式邏輯分析儀中,選擇不同的數(shù)據(jù)類型,可以觀察到以十進制數(shù)據(jù)表示的數(shù)字信號或者以實際波形表示的模擬信號。

            圖4為在在嵌入式邏輯分析儀中觀察到的正弦曲線。由波形圖可以看出,該設(shè)計方案可以實現(xiàn)正弦信號發(fā)生器的功能。按照相同的方法,修改產(chǎn)生mif文件的Matlb運算指令可以獲得方波,鋸齒波,三角波等波形。

            圖5~圖7為能產(chǎn)生方波,鋸齒波和三角波波形的工程文件下載到FPGA芯片后通過嵌入式邏輯分析儀得到的波形圖。由波形圖可以看出,該系統(tǒng)能夠?qū)崿F(xiàn)任意波形發(fā)生器的功能。


            4 結(jié)語

            本文將流水線相位累加器引進到DDS的設(shè)計中,利用電子設(shè)計自動化技術(shù)進行系統(tǒng)設(shè)計,并從嵌入式邏輯分析儀分析和觀察了相應(yīng)的波形,仿真和硬件實驗驗證了設(shè)計方案的正確性。該系統(tǒng)具有結(jié)構(gòu)簡單、運行速度快和占用芯片資源少等特點。隨著ROM查找表的擴大以及越來越多的直接計算波形數(shù)據(jù)的方法不斷被提出,對DDS整體實時性的要求也越來越高,尤其像目前較為流行的cordic算法及改進的其它插值算法,由于算法本身隨著級數(shù)的增多,整個系統(tǒng)的頻率轉(zhuǎn)換效率就會降低,而流水線相位累加器結(jié)構(gòu)可以很好地解決這一問題。



            關(guān)鍵詞: 流水線相位累加器 DDS FPGA

            評論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉