




已閱讀5頁,還剩26頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
數(shù)字頻率合成器的FPGA設(shè)計實現(xiàn)數(shù)字頻率合成器的FPGA設(shè)計實現(xiàn)1 緒論1.1 頻率合成技術(shù)的背景1)直接頻率合成直接頻率合成理論大約在20世紀(jì)30年代中期開始形成,當(dāng)時是利用單個或多個不同頻率的晶體振蕩器作為基準(zhǔn)信號源,經(jīng)過倍頻、分頻、混頻等途徑直接產(chǎn)生許多離散頻率的輸出信號,這就是最早應(yīng)用的頻率合成器,稱之為直接式頻率合成器采用單一個或多個不同頻率的晶體振蕩器作為基準(zhǔn)信號源,經(jīng)過具有加減乘除四則運算功能的混頻器、倍頻器、分頻器和具有選頻功能的濾波器的不同組合來實現(xiàn)頻率合成。利用不同組合的四則運算,即可產(chǎn)生大量的、頻率間隔較小的離散頻率系列。根據(jù)參考頻率源的數(shù)目和四則運算電路組合的不同,直接式頻率合成器有著許多不同的形式如可由較多晶體振蕩器或頻率源同時提供基準(zhǔn)頻率,或僅由一個或少數(shù)幾個晶體振蕩器提供基準(zhǔn)頻率。盡管合成器僅輸入一個參考頻率,但只需改變各倍頻次數(shù)和分頻器的分頻數(shù),即可獲得一系列的離散頻率。2)鎖相頻率合成相位反饋理論和鎖相技術(shù)應(yīng)用于頻率合成領(lǐng)域,產(chǎn)生了間接式頻率合成器。所謂間接式是指合成器的輸出信號不是直接從參考源經(jīng)過變換而得,而是由鎖相環(huán)的壓控振蕩器間接產(chǎn)生所需要的頻率輸出,所以,間接式頻率合成器又稱為鎖相頻率合成器它是基于鎖相環(huán)路的同步原理,從一個高準(zhǔn)確度、高穩(wěn)定度的參考晶體振蕩器綜合出大量離散頻率的一種技術(shù)。鎖相頻率合成器由基準(zhǔn)頻率產(chǎn)生器和鎖相環(huán)路兩部分構(gòu)成?;鶞?zhǔn)頻率產(chǎn)生器為合成電路提供一個或幾個高穩(wěn)準(zhǔn)的參考頻率,鎖相環(huán)路則利用其良好的窄帶跟蹤特性,使頻率準(zhǔn)確地鎖定在參考頻率或其某次諧波上,并使被鎖定的頻率具有與參考頻率一致的頻率穩(wěn)定度和較高的頻譜純度21。由于鎖相環(huán)路具有良好的窄帶濾波特性,故其輸出信號質(zhì)量較直接式頻率合成器得到明顯的改善。鎖相技術(shù)在頻率合成中的成功應(yīng)用,使頻率合成技術(shù)獲得突破性進展。鎖相頻率合成器的結(jié)構(gòu)簡單、輸出頻率成分的頻譜純度高,而且易于得到大量的離散頻率等優(yōu)點引起了人們的極大關(guān)注,為頻率合成器的廣泛應(yīng)用打下了基礎(chǔ)。在鎖相頻率合成器中,輸出頻率系列是由壓控振蕩器(NCO)產(chǎn)生的。該頻率在環(huán)路的鑒相器中,不斷地與來自石英晶體振蕩器的基準(zhǔn)頻率進行相位比較,并通過比較后產(chǎn)生的誤差信號對振蕩頻率進行校準(zhǔn),使輸出頻率系列中的任一頻率均具有與基準(zhǔn)頻率相同的頻率穩(wěn)定度41。由于鑒相器要求進行相位比較的兩輸入頻率在數(shù)值上相等,由此形成了多種鎖相頻率合成的方法,其中主要有:脈沖控制鎖相法和數(shù)字鎖相合成法。3)直接數(shù)字頻率合成 數(shù)字技術(shù)的飛速發(fā)展,使頻率合成技術(shù)也躍上了一個新的臺階。1971年,美國學(xué)者JTiemey,CMRadcr和BGold提出了以全數(shù)字技術(shù)從相位概念出發(fā),直接合成所需波形的種新的頻率合成原理,形成了第三代頻率合成方案DDs。限于當(dāng)時的技術(shù)和器件水平,它的性能指標(biāo)尚不能與已有的技術(shù)相比,故未受到重視。1.2 頻率合成器的發(fā)展情況 隨著現(xiàn)代電子技術(shù)的發(fā)展,在通訊、雷達、宇航、電視廣播、遙控遙測和電子測量等使用領(lǐng)域,對信號源的頻率穩(wěn)定度、頻譜純度、范圍和輸出頻率提出了越來越高的要求。為了提高頻率穩(wěn)定度,經(jīng)常采用晶體振蕩器等方法來解決,但已不能滿足眾多應(yīng)用場合的要求,許多應(yīng)用領(lǐng)域?qū)π盘栴l率的穩(wěn)定性要求起來越高,而且不僅需要單一的固定頻率,還需要多點頻率。為了解決這個問題,于是產(chǎn)生了頻率合成技術(shù)。頻率合成就是將具有低相位噪聲、高精度和高穩(wěn)定度等綜合指標(biāo)的參考頻率源經(jīng)過電路上的混頻,倍頻或分頻等信號處理以便對其進行數(shù)學(xué)意義上的加 - 31 -、減、乘、除等四則運行,從而產(chǎn)生大量具有同樣精度的頻率源,實現(xiàn)頻率合成的電路叫頻率合成器。頻率合成技術(shù)起源于二十世紀(jì)30年代,至今已有七十多年的歷史。早期的頻率合成器是由一組晶體振蕩器組成的,要輸出多少個頻率點,就需要多少個晶體。頻率的切換由人工來完成,頻率的準(zhǔn)確度和穩(wěn)定度主要由晶體來決定,很少與電路有關(guān)。后來這種合成方式被非相干合成的方法所代替。非相干合成雖然也使用了晶體,但它的工作方式是以少量的晶體產(chǎn)生許多頻率。與早期的合成方式相比,成本降低了,而穩(wěn)定性提高了。但是研制由多塊開關(guān)晶體所組成的晶體振蕩器是一個非常復(fù)雜的任務(wù),而且成本高,不經(jīng)濟。所以后來科學(xué)家又提出了相干合成法。最早的相干合成法是直接頻率合成(Direct Frequency synthesis)。直接頻率合成是利用混頻、倍頻、分頻的方法由參考源頻率經(jīng)過加、減、乘、除運算直接組合出所要需頻率的方法。不過,直接合成也可以用多個基準(zhǔn)源通過上述方式得到所需的頻率。這種方法由于頻率切變速度快,相噪低使之在頻率合成領(lǐng)域占有重要地位,但因直接式頻率合成器雜散多,體積大,研究復(fù)雜,成本也令人不可接受,故該方案已基本被淘汰。在直接頻率合成之后出現(xiàn)了間接頻率合成(Indirect Frequency Synthesis)。間接頻率合成包括模擬間接頻率合成(注入鎖相、模擬環(huán)鎖相、取樣鎖相),鎖相環(huán)頻率合成,數(shù)字鎖相頻率合成。這種方法主要是將相位反饋理論和鎖相技術(shù)運用于頻率合成領(lǐng)域,它的主要代表是鎖相環(huán)Pu,(Ph蹴-Lockod Loop)頻率合成,被稱為第二代頻率合成技術(shù)?,F(xiàn)在最常用的結(jié)構(gòu)是數(shù)?;旌系逆i相環(huán),即數(shù)字鑒相器、分頻器、模擬環(huán)路濾波和壓控振蕩器的組成方式,因具有相噪低,雜散抑制好,輸出頻率高,價格便宜等優(yōu)點至今仍在頻率合成領(lǐng)域占有重要地位。目前已有許多性能優(yōu)良的單片PLL頻率合成器面市,典型的有Motorola公司的MCl45191、Oualcomm公司的Q3236、NationalSemiconductor公司的LMX2325、LMX2326,LMX2330。這極大地推動了PLL頻率合成方式的應(yīng)用f2。眾所周知,傳統(tǒng)的鎖相環(huán)頻率合成器,每當(dāng)編程分頻器分頻比改變1時,所得到的輸出頻率的改變量即為參考頻率f。為提高頻率分辨率,就必須減小參考頻率f,結(jié)果就使頻率切換時間變長。因此,頻譜純度、換頻速度以及頻率間隔是相互矛盾的。為了解決這對矛盾,1969年DANA實驗室有限公司發(fā)明了一種利用單環(huán)頻率合成器來減小頻率間隔的新方法一“小數(shù)分頻”。這種新穎、獨特的單環(huán)小數(shù)分頻頻率合成器一經(jīng)問世就受到各方面的關(guān)注和青睞,大有取代傳統(tǒng)的多環(huán)結(jié)構(gòu)合成器的趨勢,是一種有效的新穎頻率合成器。隨著數(shù)字信號理論和超大規(guī)模集成電路VLSI的發(fā)展,在頻率合成領(lǐng)域誕生了一種革命性的技術(shù),那就是上世紀(jì)七十年代出現(xiàn)的直接數(shù)字頻率合成DDS(Direct Di西tal frequency Synthesis),它的出現(xiàn)標(biāo)志著頻率合成技術(shù)邁進了第三代。1.3 本課題研究的內(nèi)容和意義 本次設(shè)計是利用可編程器FPGA完成一個DDS系統(tǒng),雖然但是用用FPGA實現(xiàn)DDS技術(shù)在某些方向存在著DDS芯片不能取代的優(yōu)勢,用FPGA實現(xiàn)DDS技術(shù)比較靈活,可以產(chǎn)生多種調(diào)制方式,多種組合方式,并且可以實現(xiàn)多個DDS芯片的功能,更加集成。專用的DDS芯片在控制方式、置頻速率等方面與系統(tǒng)的要求差距很大,這時如果用高性能的FPGA器件設(shè)計符合自己需要的DDS電路就是一個很好的解決方法,而且還可以降低外國對高性能DDS芯片禁運的風(fēng)險。 本論文主要是用FPGA實現(xiàn)直接頻率合成器DDS的目的。DDS即直接頻率合成器,主要是由相位累加器,相位調(diào)制器,正弦波數(shù)據(jù)表(ROM)和D/A轉(zhuǎn)換器構(gòu)成。每來一個時鐘CLOCK,加法器就將頻率控制字與累加寄存器輸出的累加相位數(shù)據(jù)相加,相加的結(jié)果又反饋至累加寄存器的數(shù)據(jù)輸入端,以使加法器在下一個時鐘脈沖的作用下繼續(xù)與頻率控制字相加。這樣,相位累加器在時鐘作用下,不斷對頻率控制字進行線性相位累加。由此可以看出,在每一個時鐘脈沖輸入時,相位累加器便把頻率控制字累加一次,相位累加器輸出的數(shù)據(jù)就是合成信號的相位,相位累加器的溢出頻率就是DDS輸出的信號頻率。在這當(dāng)中,使用了PLL提高和穩(wěn)定輸出頻率,同時數(shù)據(jù)存儲表中存儲不同的波形數(shù)據(jù),有三角波,正弦波,方波三種波形??梢哉{(diào)頻,調(diào)相,調(diào)幅,也易于實現(xiàn)ASK,F(xiàn)SK,PSK的調(diào)制方式,在通信領(lǐng)域有一定的用途。 2 用FPGA實現(xiàn)DDS的關(guān)鍵技術(shù)2.1 DDS的主要知識2.1.1 DDS的基本原理1) 下圖為DDS的基本原理圖 ,頻率控制字M和相位控制字分別控制DDS輸出正弦波的頻率和相位。DDS系統(tǒng)的核心是相位累加器,它是由一個累加器和一個N位相位寄存器組成。每來一個時鐘脈沖,香味寄存器以步長M增加。相位寄存器的輸出與相位控制字相加,其結(jié)果作為正弦查找表的地址。正弦查找表由ROM構(gòu)成,內(nèi)部存有一個完整周期正弦波的數(shù)字幅度信息,每個查找表的地址對應(yīng)正弦波中0-360范圍的一個相位點。查找表把輸入的地址信息映射成正弦波的幅度信號,同時輸出到數(shù)模轉(zhuǎn)換器(DAC)的輸入端,DAC輸出的模擬信號經(jīng)過低通濾波器(LPF),可得到一個頻譜純凈的正弦波。 圖2- 1 一個正弦波,雖然它的幅度不是線性的,但是它的相位卻是線性增加的。DDS 正是利用了這一特點來產(chǎn)生正弦信號。如圖 2,根據(jù)DDS 的頻率控制字的位數(shù)N,把360 平均分成了2的N次等份。 圖2- 2 2)可行性理論論證 以產(chǎn)生正弦信號為例,它的輸出可以用下式來描述 Sout=Asinwt=Asin(2*pi*fout*t) ( 2-1) 其中Sout是指該信號發(fā)生器的輸出信號波形,fout 是指輸出信號對應(yīng)的頻率,式得表述對于時間t是連續(xù)的,為了用數(shù)字邏輯實現(xiàn)該表達式,必須進行離散化處理。用基準(zhǔn)時鐘clk進行抽樣, 圖2- 3令正弦信號的相位:=2*pi*fout*t。在一個clk周期Tclk內(nèi),相位的變化量為2*pi*fout*Tclk=2*pi*fout/fclk ( 2-2) 為了對進行數(shù)字量化,把2*pi切割成2N份,因此,每個clk周期的相位增量可用量化值B來表述為:B2N*/(2*pi),且B為整數(shù)。與=2*pi*fout/fclk聯(lián)立得:B2N*fout/fclk。這樣就可將正弦信號Sout=Asinwt=Asin(2*pi*fout*t)的表達式變?yōu)椋篠out=Asin(2*pi*fout*t)=Asin(k-1+)=Asin2*pi*(Bk-1+ B)/2N (2-3) 由上面的推導(dǎo)可以看出,只要對行為的量化值進行簡單的累加運算,就可以得到正弦信號的當(dāng)前相位值,而用于累加的相位增量量化值決定了信號的輸出頻率,并呈現(xiàn)出簡單的線性關(guān)系。 輸出頻率 fout=fclk*B/2N 頻率分辨率 f=fclk/2N頻率控制字 B2N*fout/fclk其中B要取整。3)形成方案根據(jù)上述原理,為合成所需的頻率,需解決下列技術(shù)問題: 需控制每次采樣的相位增量,并輸出模2的累積相位。 將模2的累積相位變換成相應(yīng)的正弦函數(shù)值的幅度,可用ROM存儲一個正弦函數(shù)表的幅值代碼。 將幅度代碼變換成模擬電壓??捎脭?shù)模轉(zhuǎn)換器DAC完成。 DAC輸出的電壓是經(jīng)保持的階梯波,需經(jīng)低通濾波器之后才能得到模擬信號。2.1.2 DDS的結(jié)構(gòu) DDS的基本結(jié)構(gòu)包括相位累加器(PD)、正弦查詢表(ROM)、數(shù)模轉(zhuǎn)換器DAC和低通濾波器(LPF),其中DDS從頻率寄存器開始到波形存儲表的數(shù)字部分通常也可稱作數(shù)控振蕩器(Nc0一Numerical Control Oscillator)。模塊NCO實現(xiàn)由數(shù)字頻率值輸入生成相應(yīng)頻率的數(shù)字波形,其工作過程為:頻率控制字K;l 在時鐘脈沖的控制下,該頻率控制字累加至相位累加器生成實時數(shù)字相位值;l 將相位值尋址ROM轉(zhuǎn)換成正弦表中相應(yīng)的數(shù)字幅碼。模塊DAC實現(xiàn)將NCO產(chǎn)生的數(shù)字幅度值高速且線性地轉(zhuǎn)變?yōu)槟M幅度值,DDS產(chǎn)生的混疊干擾由DAC之后的低通濾波器濾除。 相位累加器(PD)相位累加器是DDS最基本的組成部分,用于實現(xiàn)相位的累加并存儲其累加結(jié)果。若當(dāng)前相位累加值為Pi,經(jīng)過一個時鐘周期后變成Pi+1,則滿足: Pi+1=Pi+X式中,X為相位步進量,相位累加器的傳統(tǒng)基本結(jié)構(gòu)由一個L 位累加器和一個L 位寄存器構(gòu)成寄存器常采用D 觸發(fā)器來構(gòu)成這個相位累加器。為降低最小頻率,采用下圖所示的做法。 圖2- 4 ROM表 DDS查詢表所存儲的數(shù)據(jù)是每一個相位所對應(yīng)的二進制數(shù)字正弦幅值,在每一個時鐘周期內(nèi),相位累加器輸出序列的高m位對其進行尋址,最后的輸出為該相位相對應(yīng)的二進制正弦幅值序列。若要頻率分辨率高,則存儲器的深度要深,要使輸出波形好,則幅度的量化值得為數(shù)要多。由于正弦波的對稱性,可以采取壓縮法只取其中的四分之一,從來提高系統(tǒng)性能。 DAC轉(zhuǎn)換模塊 數(shù)模轉(zhuǎn)換器的作用是將數(shù)字信號轉(zhuǎn)變成模擬信號,而實際上由于DAC 分辨率有限,其輸出信號并不能真正地連續(xù)可變,所以只能輸出階梯模擬信號,為系統(tǒng)正確地選擇DAC 是一個十分關(guān)鍵的問題。因為DAC 直接決定了系統(tǒng)的性能,他對DDS 輸出頻譜質(zhì)量有很大的影響。一般分析主要有三個:即DAC 的分辨率、DAC 的非線性以及DAC 轉(zhuǎn)換過程中會出現(xiàn)尖峰脈沖等。DAC 的分辨率由所選器件決定的。它還受ROM 輸出的二進制代碼長度的限制。選擇DAC 時還應(yīng)考慮分辨率和價格之間的關(guān)系,它對輸出頻率的影響可歸結(jié)到ROM舍位中去。DAC 的非線性相當(dāng)復(fù)雜,并且每個DAC 的非線性特性也不盡相同,其數(shù)學(xué)模型難以建立而且DAC 工作時轉(zhuǎn)換過程中存在的尖鋒脈沖,對DAC 輸出信號的頻譜特性有著比較大的影響。2.1.3 DDS的主要性能指標(biāo) 頻率合成器技術(shù)指標(biāo)有很多,在不同的場合有不同的適用描述,但其中最主要和最普遍的技術(shù)指標(biāo)如下:u 工作頻率范圍合成器最高與最低輸出頻率所確定的頻率范圍,稱為合成器的工作頻率范圍。在此范圍內(nèi),合成器能輸出間隔一定的眾多離散頻率中的某一振蕩頻率(稱為信道)或某幾個振蕩頻率。各振蕩頻率的穩(wěn)定度及其它性能均應(yīng)滿足系統(tǒng)的性能要求u 頻率間隔每個離散頻率之間的最小間隔稱為頻率間隔,又稱分辨力,頻率間隔的大小,隨合成器的用途而不同。例如,短波單邊低通信的頻率間隔一般為100Hz,有時為10Hz,1Hz甚至O.1Hz。超短波通信則多取50kHz,有時也取為25kHz,12.5Hz等等。u 頻率轉(zhuǎn)換時間由一個工作頻率轉(zhuǎn)換到另一個工作頻率并達到穩(wěn)定所需的時間。其數(shù)值與合成器的電路形式有關(guān)。u 頻率穩(wěn)定度與準(zhǔn)確度頻率穩(wěn)定度是指在規(guī)定觀測時間內(nèi),合成器輸出頻率偏離標(biāo)稱值的程度,一般用該偏離值與輸出頻率的相對值來表示。準(zhǔn)確度則表示實際工作頻率與其標(biāo)稱值之問的偏差,又稱頻率誤差。穩(wěn)定度與準(zhǔn)確度有著密切的關(guān)系,因為只有頻率穩(wěn)定度高,頻率準(zhǔn)確度才有意義u 頻譜純度頻譜純度是指輸出信號頻譜的純凈程度??梢杂幂敵龆说挠杏眯盘栯娖脚c各寄生頻率總電平之比的分貝數(shù)表示。圖21示出在一般情況下,合成器在某選定輸出頻率附近的頻譜分布。由圖可見,除有用頻率外,其附近尚存在各種周期性干擾與隨機干擾以及有用信號的各次諧波成分這里,周期性干擾多數(shù)來源于混頻器的高次組合頻率,它們以某些頻差的形式,成對地分布于有用信號的兩邊。而隨機干擾則是由設(shè)備內(nèi)部各種不規(guī)則的電擾動所產(chǎn)生,并以相位噪聲的形式分布于有用頻譜的兩側(cè)。有時也把各種周期性干擾視為另一種相位噪聲。2.1.4 DDS的應(yīng)用基于DDS波形產(chǎn)生的應(yīng)用現(xiàn)階段主要在兩個方面:l 設(shè)計通訊系統(tǒng)需要靈活的和極好的相噪,極低的失真性能的頻率源,它通常選用DDS結(jié)合它的光譜性能和頻率調(diào)諧方案,這種應(yīng)用包括用DDS于調(diào)制方面,作為PLL參考去加強整個頻率的可調(diào)制度,作為本機振蕩器(LO),或者射頻率的直接傳送。 l 許多工業(yè)和醫(yī)學(xué)應(yīng)用DDS作為可編程波形發(fā)生器。因為DDS是數(shù)字可編程,它的相位和頻率在不改變外圍成分的情況下能很容易地改變,而傳統(tǒng)的基于模擬編程產(chǎn)生波形的情況下要改變外圍成分。DDS允許頻率的實時調(diào)整去定位參考頻率或者補償溫度漂移。這種應(yīng)用包括應(yīng)用DDS在可調(diào)整頻率源去測量阻抗(比如:基于阻抗的傳感器),去產(chǎn)生脈沖波形已調(diào)制信號用于微型刺激,或者去檢查LAN中的稀薄化和電纜。2.2 FPGA 的主要知識2.2.1 FPGA 的基本原理 FPGA采用了邏輯單元陣列LCA(Logic Cell Array)這樣一個概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸出輸入模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個部分。 2.2.2 FPGA 的設(shè)計流程 FPGA的詳細設(shè)計流程如下圖所示: 圖2- 52.2.3 FPGA在DDS中的應(yīng)用在DDS 系統(tǒng)中FPGA 的主要作用是:n 保存頻率字構(gòu)成相位累加器,產(chǎn)生ROM 地址 n 產(chǎn)生ROM 存儲表結(jié)構(gòu) n 產(chǎn)生接口電路2.2.4 Cyclone 系列介紹Cyclone是Altera中等規(guī)模FPGA,2002年12月份推出。從那以后,己向全球數(shù)千位不同的客戶交付了數(shù)百萬片,成為Altera歷史上采用最快的產(chǎn)品。它采用O13 um工藝、全銅SRAM工藝、15V內(nèi)核供電,容量從2910個邏輯單元到20060個邏輯單元,并嵌入了4級最多為64個RAM塊(128x36bit)。Cyclone器件支持大量的自外數(shù)據(jù)傳輸?shù)膯味薎,O標(biāo)準(zhǔn),包括LVTTL、LVCMOS、PCL、SSTL-2和SSTL-3。為滿足設(shè)計者更快數(shù)據(jù)速率和信號傳輸能力的需要,Cyclone器件還設(shè)有高達311Mbps的低壓差信令(LVDS)兼容通道。由于采用了特殊的三級布線結(jié)構(gòu),其裸片尺寸大大降低。 Cyclone器件的性能可與業(yè)界最快的FPGA芯片相抗衡,是一種低成本FPGA系列,目前的主流產(chǎn)品,它具有以下特點: 可編程邏輯器件,具有實現(xiàn)宏功能的增強嵌入式陣列(例如實現(xiàn)高效存儲和特殊的邏輯功能)和實現(xiàn)一般功能的邏輯陣列,每個EAB的雙口能力達到36比特寬,可提供低價的可編程片上系統(tǒng)(system-on-a-programmable-chip,SOPC)集成。 高密度:2萬到20萬個典型門,高達294912位內(nèi)部RAM(每個EAB有4096位,這些都可在不降低邏輯能力的情況下使用)。 系統(tǒng)級特點:多電壓接口支持15V、18V、25V、33V和5V設(shè)備;低功耗;雙向IO性能達到640MHz:完全支持33MHz或66MHz,33V的PCI局部總線標(biāo)準(zhǔn);內(nèi)置JTAG邊界掃描測試電路;可在15V內(nèi)部電源電壓下工作;通過外部的配置器件、智能控制器或JTAG端口可實現(xiàn)在線重配置(ICR,In-Circuit reconfigurability)。 靈活的內(nèi)部連線:快速、可預(yù)測連線延時的快速通道;實現(xiàn)算術(shù)功能(諸如快速加法器、計數(shù)器和比較器)的專用進位鏈;實現(xiàn)高速、多扇入功能的專用級聯(lián)鏈;實現(xiàn)內(nèi)部總線的三態(tài)模擬;多達六個全局時鐘信號和四個全局清除信號。 強大的IO引腳:每個引腳都有一個獨立的三態(tài)輸出使能控制和漏極配置選項;可編程輸出電壓的功率控制,可減小開關(guān)噪聲。 具有鎖相環(huán)(PLL)和全局時鐘網(wǎng)絡(luò),提供完整的時鐘管理方案。其PLL具有時鐘倍頻和分頻、相位偏移、可編程占空比和外部時鐘輸出,進行系統(tǒng)級的時鐘管理和偏移控制。PLL常用于同步內(nèi)部器件時鐘和外部時鐘,使內(nèi)部工作的時鐘頻率比外部時鐘更高,時鐘延遲和時鐘偏移最小,減小或調(diào)整時鐘到輸出(TC0)和建立(TSU)時間。 本設(shè)計采用的是ALtera公司的EP1C6Q240的芯片。2.3 本章小結(jié)這一章主要是介紹了DDS和FPGA的相關(guān)知識,其中有DDS的基本原理,為下章DDS的設(shè)計打下基礎(chǔ),F(xiàn)PGA主要介紹了基于FPGA的設(shè)計流程。3 基于FPGA的DDS的設(shè)計實現(xiàn)3.1 MAX+PLUS II3.1.1 MAX+PLUS II軟件的使用 1)所用的器件是EP1K30QC208-2; 2)常用的設(shè)計輸入方法 a.通過圖形編輯器,創(chuàng)建圖形設(shè)計文件(.gdf); b.通過文本編輯器,使用AHDL語言,創(chuàng)建文本編輯文件(.tdf); c.使用VHDL語言,創(chuàng)建文本設(shè)計文件(.vhd); d.使用Verilog HDL 語言,創(chuàng)建文本設(shè)計文件(.v); e.通過波形編輯器,創(chuàng)建波形設(shè)計文件(.wdf); 3)文本輸入后保存,名字要與實體名字一致,編譯,若沒錯,建立一個新的波形計文件,填入節(jié)點,設(shè)初值,進行功能仿真,仿真沒錯后,可以下到板里進行時序仿真。 3.1.2 使用MAX+PLUS II 實現(xiàn)DDS 圖3- 1該圖所示DDS 的工作原理圖,運用FPGA對個模塊進行設(shè)計。說明:整個DDS模塊采用一個時鐘同步各個模塊的運算速度。其中相位累加器SUM32是一個帶有累加功能的32位加法器,它以設(shè)定的32位頻率控制字K作為步長來進行加法運算,當(dāng)其和滿時計數(shù)器清零,并且高十二位作為輸出,作為ROM表的地址。相位寄存器REGA時一個一般的十二位寄存器,它對輸入端輸入的數(shù)據(jù)進行寄存,當(dāng)下一個時鐘到來時,輸出寄存的數(shù)據(jù)。正弦波查找表ROM是DDS最關(guān)鍵的部分,也是最復(fù)雜的部分。設(shè)計時首先對正弦函數(shù)進行采樣,接著將采樣的結(jié)果放到ROM模塊的對應(yīng)存儲單元里,每一個地址對應(yīng)一個數(shù)值,輸出為10位,為了保證輸出數(shù)據(jù)的穩(wěn)定性,將ROM的輸出數(shù)據(jù)先寄存在REGOUT中,待下一個時鐘來到時,再將其輸出。整個系統(tǒng)各模塊是在同步時鐘信號CLK的控制下協(xié)調(diào)工作的。這里的正弦波是采用查找表的方法實現(xiàn)的。同時可以輸出正弦,三角,方波。l ROM的生成方法: 首先產(chǎn)生.mif的文件,然后使用Altera的MegaWizard Plug-In Manager定制一個 LPM_ROM即可。.mif可以用Quartus II軟件生成。 用C語言編寫的正弦函數(shù)數(shù)據(jù)采樣程序如下:#include “stdio.h” #include “math.h”Main() int i;float s;for(i=0;isinmif.mif;可生成mif文件中的ROM表數(shù)據(jù),然后再加上頭部說明 width=10; depth=1024; address_radix=dec; data_radix=dec; content begin 可用Matlab來實現(xiàn)ROM表的數(shù)據(jù)利用MATLAB計算出正弦波形的浮點值,并量化10位的定點波形數(shù)值。x=linspace(0,6.28,4096);y=sin(x);y=y*1023;(存在C盤的文本中) fid=fopen(C:/sin_coe.txt,wt); fprintf(fid,%16.0fn,y1); fclose(fid); 可生成一個正弦波的數(shù)據(jù)表。 用振蕩器產(chǎn)生正弦波 圖3- 2仿真結(jié)果如下所示:1)直接用MAX+PLUS II來仿真圖3- 32) 可以借助Matlab來仿真由于輸出的數(shù)據(jù)與ROM表的值完全符合,因此將輸出數(shù)據(jù)繪制矩陣在MATLAB仿真。在MATLAB 中的 SIMULINK 的DSP Builder中可以用下面的模型來仿真只要改變地址的位數(shù)就可以實現(xiàn)調(diào)頻。因為地址數(shù)的長度不同,一個周期所用的時間就不同,這樣頻率就不同。只是簡單的調(diào)頻。圖3- 4 結(jié)果如圖所示:圖3- 53.2 Quartus II 3.2.1 DSP Builder 軟件 DSP Builder是一個系統(tǒng)級(或算法級)設(shè)計工具,它構(gòu)架在多個軟件工具之上,并把系統(tǒng)級(算法仿真建模)和RTL級兩個設(shè)計領(lǐng)域的設(shè)計工具連接起來,都放在了Matlab/simulink圖形設(shè)計平臺上,而將Quartus II作為底層設(shè)計工具置于后臺,最大程度地發(fā)揮了工具的優(yōu)勢。DSP Builder 依賴于MathWorks 公司的數(shù)學(xué)分析工具MATLAB/Simulink,以及Simulink的Blockset出現(xiàn)。可以在Simulink中進行圖形化設(shè)計和仿真,同時又通過SignalCompiler把Matlab/Simulink 的模型設(shè)計文件(.mdl)轉(zhuǎn)換成相應(yīng)的硬件描述語言VHDL 設(shè)計文件,以及用于控制綜合與編譯的tcl腳本。對于綜合以及此后的處理都由Quartus II 完成。由于在FPGA上設(shè)計一個算法模型的復(fù)雜性,設(shè)計的性能隊形不同的應(yīng)用目標(biāo)有不同的要求,設(shè)計的軟件工具也不僅僅是Simulink和Quartus II,DSP Builder 針對不同情況提供了兩套設(shè)計流程,即自動流程和手動流程。圖3- 6 使用步驟: 1)打開Matlab環(huán)境2)建立工作庫 3)了解Simulink庫管理器 4)建立新的模型文件 5)放置SignalCompiler 6) 放置器件 ,設(shè)置器件 7)保存,仿真3.2.2 DSP Builder 下DDS的設(shè)計仿真 設(shè)計電路如下所示:該設(shè)計電路可以調(diào)頻,調(diào)相,調(diào)幅,其中正弦波是由查找表生成的。圖3- 7 仿真結(jié)果: 調(diào)頻 圖3- 8 調(diào)相 圖3- 9 調(diào)幅圖3- 103.2.3 Modelsim 軟件 Modelsim具有強大的模擬仿真功能,在設(shè)計、編譯、仿真、測試、調(diào)試開發(fā)過程中,有一整套工具可供使用,而且操作起來極其靈活,可以通過菜單、快捷鍵和命令行等方式工作。Modelsim 的窗口管理界面使用起來很方便,它能很好的與操作系統(tǒng)環(huán)境協(xié)調(diào)工作,Modelsim的一個顯著特點就是它具備命令行操作方式,類似于一個Shell,有很多操作指令供用戶使用,就像是工作在UNIX環(huán)境下。這種命令行操作方式是基于Tcl/Tk的,其功能相當(dāng)強大。 Modelsim的功能側(cè)重于編譯,仿真,不能指定編譯的器件,不具有編程下載能力,不像Synplify、MAX+PLUS II和Quartus II軟件那樣可以在編譯前選擇器件。而且,Modelsim在時序仿真時無法編輯輸入波形,不像MAX+PLUS II和Quartus II 那樣可以自行設(shè)置輸入波形,仿真后自動產(chǎn)生輸出波形,而需要在源文件中就確定輸入,如編寫測試臺程序來完成初始化,模塊輸入的工作,或者通過外部宏文件提供激勵,這樣才可以看到仿真模塊的時序波形圖。另外,Synplify只具有編譯能力,比Quartus II可編譯的VHDL和Verilog的內(nèi)容要多,所以常??梢韵仍赟ynplify下編譯,生成編譯文件后再送到Quartus II軟件中使用。 Modelsim還具有分析代碼的能力,可以看出不同代碼消耗資源的情況,從而可以對代碼進行改善,以提高其效率。 Modelsim的使用 選擇Create a Project ,寫上工程名字 添加包含設(shè)計單元的文件 選擇Compiler下Compiler All 編譯完后,用鼠標(biāo)點擊Library標(biāo)簽欄,在Library標(biāo)簽頁中,用鼠標(biāo)點擊Work庫前面的“+”,展開Work庫,將會看到兩個編譯了的設(shè)計單元 導(dǎo)入一個設(shè)計單元。雙擊Library標(biāo)簽中的源文件 進行仿真 Modelsim下實現(xiàn)DDS的仿真 1)編輯dds_test 文件timescale 1ns/100psdefine clk_cycle 50module dds_test;reg clock;reg 11:0pword;reg 31:0fword;wire da_mode,da_clk;wire 9:0da_data;always #clk_cycle clock=clock;initial begin clock=0; pword=12h010; fword=32h00000010; #100 pword=12h400; fword=32h00001000; #200 pword=12h7ff; fword=32h00100000; #1000 $stop; end dds dds( .clock(clock), .fword(fword), .pword(pword), .da_clk(da_clk), .da_data(da_data), .da_mode(da_mode);Enmodule2) 將dds模塊和dds_rom模塊添加到工程中 編譯沒錯,但仿真時altsyncram模塊不存在。這是因為dds_rom是由Quartus II 中的Megawizard Plug-In Manager 生成的,也就是由dds_rom.mif 生成的。而altsyncram是Quartus II的系統(tǒng)IP核,所以無法添加。在Modelsim 中可以看到ASK,PSK,F(xiàn)SK的調(diào)制信號。3.2.5 Quartus II 軟件 Quartus II 提供了完整的多平臺設(shè)計環(huán)境,能滿足各種特定設(shè)計的需要。Quartus II 是單片可編程系統(tǒng)設(shè)計的綜合環(huán)境和SOPC開發(fā)的基本設(shè)計工具;Quartus II與MATLAB和DSP Builder結(jié)合,可以進行基于FPGA的DSP系統(tǒng)開發(fā),是DSP硬件系統(tǒng)實現(xiàn)的關(guān)鍵EDA工具。Quartus II可以直接利用第三方的綜合工具,如Leonardo Spectrum ,并能直接調(diào)用這些工具。Quartus II 具備仿真功能,同時也支持第三方的仿真工具,如Modelsim。Quartus II 集成開發(fā)環(huán)境包括:系統(tǒng)級設(shè)計、嵌入式軟件開發(fā)、可編程邏輯器件設(shè)計、綜合、布局布線、驗證和仿真等內(nèi)容。Quartus II軟件的主要設(shè)計特性:l 基于模塊的設(shè)計方法提高工作效率Altera特別為Quartus II軟件用戶提供了LogicLock基于模塊的設(shè)計方法,便于用戶獨立設(shè)計和實施各種設(shè)計模塊,并且在將模塊集成到頂層工程時仍可以維持各個模塊的性能。由于每一個模塊都只需要進行一次優(yōu)化,因此LogicLock流程可以顯著縮短設(shè)計和驗證的周期。l 更快集成IPQuartus II軟件包括SOPC Builder工具。SOPC Builder針對可編程片上系統(tǒng)SOPC的各種應(yīng)用自動完成IP核的添加、參數(shù)設(shè)置和連接等操作。l 在設(shè)計周期的早期對I/O引腳進行分配和確認。Quartus II軟件可以進行預(yù)先的I/O分配和驗證操作,這樣就可以在整個設(shè)計流程中盡早開始印刷電路板(PCB)的布線設(shè)計工作。l 存儲器編譯器用戶可以使用Quartus II軟件中提供的存儲器編譯器功能對Altera FPGA中的嵌入式存儲器進行輕松管理。l 支持CPLD、FPGA和基于Hardcopy的ASIC除了CPLD和FPGA以外,Quartus II 軟件還使用和FPGA設(shè)計完全相同的設(shè)計工具、IP和驗證方式支持Hardcopy Stratix器件系列,在業(yè)界首次允許設(shè)計工程師通過易用的FPGA設(shè)計軟件來進行結(jié)構(gòu)化的ASIC設(shè)計,并且能夠?qū)υO(shè)計后的性能和功耗進行準(zhǔn)確的估算。l 使用全新的命令行和腳本功能自動化設(shè)計流程用戶可以使用命令行或Quartus II軟件中的圖形用戶界面獨立運行Quartus II軟件中的綜合、布局布線、時序分析以及編程等模塊。除了提供Synopsys設(shè)計約束的腳本支持以外,Quartus II軟件中目前還包括了易用的工具命令語言界面,允許用戶使用該語言來創(chuàng)建和定制設(shè)計流程和滿足用戶的需求。l 高級教程幫助深入了解Quartus II的功能特性Quartus II軟件提供詳細的教程,覆蓋從工程創(chuàng)建、普通設(shè)計、綜合、布局布線到驗證等在內(nèi)的各種設(shè)計任務(wù)。 Quartus II軟件的使用:1. 創(chuàng)建工程,選擇器件,也可以添加也存在的源文件2. 新建文本文件,保存,單個編譯3. 全部文本文件輸入后,把其中的頂層模塊設(shè)為頂層實體,進行綜合編譯。4. 選擇器件,將沒用到的引腳設(shè)為三態(tài)狀態(tài),否則容易燒毀芯片5. 綁定管腳。再編譯6. 仿真7. 下載,添加下載器,選定要下載的sof文件開始下載。3.2.6 Quartus II下的DDS的設(shè)計實現(xiàn) 設(shè)計步驟:(1) 啟動Quartus II建立一個空白工程,命名為dds.qpf; (2)將dds_rom.mif、fangbo.mif、sanjiao.mif 拷貝到工作目錄下,之前生成的。將其轉(zhuǎn)換為LPM_ROM 這樣就可以生成可以用的dds_rom,fangbo,sanjiao 的模塊了。 (3)建立PLL宏單元 ,設(shè)置輸出150Mhz 鎖相環(huán)的原理: 鎖相環(huán)是一種反饋電路,其作用是使得電路上的時鐘和某一外部時鐘的相位同步。PLL通過比較外部信號的相位和由壓控晶振(VCXO)的相位來實現(xiàn)同步的,在比較的過程中,鎖相環(huán)電路會不斷根據(jù)外部信號的相位來調(diào)整本地晶振的時鐘相位,直到兩個信號的相位同步。在數(shù)據(jù)采集系統(tǒng)中,鎖相環(huán)是一種非常有用的同步技術(shù),因為通過鎖相環(huán),可以使得不同的數(shù)據(jù)采集板卡共享同一個采樣時鐘。因此,所有板卡上各自的本地80MHz和20MHz時基的相位都是同步的,從而采樣時鐘也是同步的。因為每塊板卡的采樣時鐘都是同步的,所以都能嚴(yán)格地在同一時刻進行數(shù)據(jù)采集。 鎖相環(huán)中的鑒相器通常由模擬乘法器組成,利用模擬乘法器組成的鑒相器電路鑒相器的工作原理是:設(shè)外界輸入的信號電壓和壓控振蕩器輸出的信號電壓分別為: 式中的0為壓控振蕩器在輸入控制電壓為零或為直流電壓時的振蕩角頻率,稱為電路的固有振蕩角頻率。則模擬乘法器的輸出電壓uD為: 用低通濾波器LF將上式中的和頻分量濾掉,剩下的差頻分量作為壓控振蕩器的輸入控制電壓uC(t)。即uC(t)為: (8-4-3)式中的i為輸入信號的瞬時振蕩角頻率,i(t)和O(t)分別為輸入信號和出信號的瞬時位相,根據(jù)相量的關(guān)系可得瞬時頻率和瞬時位相的關(guān)系為: 即 (8-4-4)則,瞬時相位差d為 (8-4-5)對兩邊求微分,可得頻差的關(guān)系式為 (8-4-6)上式等于零,說明鎖相環(huán)進入相位鎖定的狀態(tài),此時輸出和輸入信號的頻率和相位保持恒定不變的狀態(tài),uc(t)為恒定值。當(dāng)上式不等于零時,說明鎖相環(huán)的相位還未鎖定,輸入信號和輸出信號的頻率不等,uc(t)隨時間而變。因壓控振蕩器的壓控特性如圖8-4-3所示,該特性說明壓控振蕩器的振蕩頻率u以0為中心,隨輸入信號電壓uc(t)的變化而變化。該特性的表達式為 (8-4-6) 上式說明當(dāng)uc(t)隨時間而變時,壓控振蕩器的振蕩頻率u也隨時間而變,鎖相環(huán)進入“頻率牽引”,自動跟蹤捕捉輸入信號的頻率,使鎖相環(huán)進入鎖定的狀態(tài),并保持0=i的狀態(tài)不變。鎖相環(huán)是為了穩(wěn)定和提高輸出頻率。 (4)建立源程序文件 dds_test.v,dds.v ,dds_top.v 并且將其添加到工程中,還有之前的數(shù)據(jù)表和鎖相環(huán)PLL。 (5)分別將其置為頂層實體,進行編譯,沒錯后,把dds_top.v置為頂層實體進行綜合編譯,提示錯誤后改正直到編譯成功。 (6)選擇Altera公司Cyclone系列的EP1C6Q240C8芯片,然后綁定管腳。 信號引腳信號引腳信號引腳信號引腳seg0169Dig0160Key0121Da_data045seg1170Dig1159Key1122Da_data143Seg2167Dig2162Key2123Da_data241Seg3168Dig3161Key3124Da_data323Seg4165Dig4215Key4143Da_data420Seg5166Dig5216Key5141Da_data518Seg6163Dig6213Key6158Da_data616Seg7164Dig7214Key7156Da_data714Da_clk38Da_mode8clock28Da_data813Da_data946 (7) 硬件連接,下載程序 將AD_DA板插到EDAsmart實驗箱上,AD_DA的-12V接到實驗箱的-12V上。下載線連好,打開電源,執(zhí)行下載。然后用示波器觀察輸出。 輸出波形如下: 其中數(shù)碼管的第一位顯示時哪種波 1,正弦波 2,方波 3,三角波 第二到第四位顯示的是相位控制字,在示波器上觀察不到相位的變化 第五到最后一位是頻率控制字。 設(shè)計方案dds.v的源文件中主要是設(shè)置相位累加器,頻率控制字32位一直反饋相加,取其高十二位然后再與相位控制字相加,相加后的結(jié)果作為ROM表的地址。 在其中調(diào)用ROM表,三個ROM表分別有一使能端來選擇。32位的累加器之所以取其高十二位作為ROM表的地址,是為了擴大頻譜寬度,使最小頻率降低。ROM表采用的是地址數(shù)為4096位的,幅度量化長度為十位。ROM表太淺,頻率分辨率就會很低。幅度的量化長度主要決定輸出波形的好壞,與頻率分辨率無關(guān)。這里為了節(jié)省存儲器的資源,可以將ROM表縮減為原來的二分之一或者四分之一。dds_test.v 文件主要負責(zé)頻率控制字,相位控制字及使能端的控制鍵,按鍵的消抖以及數(shù)碼管譯碼輸出??刂芼ds的輸出。dds_top.v文件為頂層模塊,調(diào)用鎖相環(huán),dds,以及dds的測試模塊。鎖相環(huán)的作用是為了提高和穩(wěn)定輸出頻率。DDS的改善和提高 1控制幅度 可以在ROM表的輸出后加個乘法器,如DSP Builder 仿真時那樣,由于實驗箱的關(guān)系,沒有設(shè)定幅度控制字 2減少ROM表的深度 相位/幅度轉(zhuǎn)換電路中的主要問題在于ROM表的大小。采用外接ROM的方式,節(jié)省大量的內(nèi)部資源,采用映射算法,只存入1/4或1/8的波形數(shù)據(jù)。這樣即可減少數(shù)據(jù)點的數(shù)量,又可以加大邏輯單元的使用。優(yōu)化方式:基于余弦波信號對于x=pi直線成偶對稱,可以將ROM表減至原來的1/2;再利用左半周期內(nèi),波形對于點(pi/2,0)成奇對稱,進一步將ROM表減至最初的1/4;因此通過一個正弦碼表的前1/4周期就可以變換得到正余弦的整個周期碼表。這樣就節(jié)省了將近3/4的資源,非常可觀,同時這樣還可以改善DDS系統(tǒng)的頻譜質(zhì)量。 3相位累加器的提高 設(shè)計中最關(guān)鍵的是相位累加器的設(shè)計。相位累加器的設(shè)計好壞將直接影響到整個系統(tǒng)的性能和穩(wěn)定。如果相位累加器采用串行累加器來實現(xiàn),那么就會使系統(tǒng)速度很低,難以滿足實際的要求。為了提高系統(tǒng)的處理速度,相位累加器可以用超前進位加法器來實現(xiàn),為了進一步提高速度,還可以采用流水線技術(shù),即把在一個時鐘內(nèi)
溫馨提示
- 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)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 高中生在線學(xué)習(xí)互動性與學(xué)習(xí)效果的關(guān)系分析報告論文
- 藝術(shù)樓安全管理制度
- 花草魚養(yǎng)護管理制度
- 茶葉成品庫管理制度
- 隔離檢疫場管理制度
- 訪問控制與身份驗證
- 財務(wù)英語詞匯
- 2025年煙臺市中考地理試卷真題(含答案及解析)
- 大學(xué)生戀愛的常見問題與對策
- 自動監(jiān)控驗收模版材料
- 光伏居間合同協(xié)議書范本
- 《浮力》名師課件
- 2024年高考語文備考之現(xiàn)代文閱讀高考真題10篇含答案
- 2023-2024學(xué)年內(nèi)蒙古赤峰市林西縣小升初全真模擬語文檢測卷含答案
- (高清版)TDT 1012-2016 土地整治項目規(guī)劃設(shè)計規(guī)范
- 網(wǎng)絡(luò)與信息安全管理員(四級)考試題庫附答案
- 2024版《安全生產(chǎn)法》考試題庫附答案(共130題)
- 2024年內(nèi)蒙古北方聯(lián)合電力有限責(zé)任公司招聘筆試參考題庫含答案解析
- 建設(shè)養(yǎng)老院項目計劃書
- 房建工程監(jiān)理大綱范本(內(nèi)容全面)
- 2024屆安徽省合肥市包河區(qū)第48中學(xué)數(shù)學(xué)七年級第二學(xué)期期末經(jīng)典試題含解析
評論
0/150
提交評論