摘要:利用現(xiàn)場可編程門陣列(FPGA)設計并實現(xiàn)直接數(shù)字頻率合成器(DDS)。結合DDS的結構和原理,給出系統(tǒng)設計方法,并推導得到參考頻率與輸出頻率間的關系。DDS具有高穩(wěn)定度,高分辨率和高轉換速度,同時利用Ahera公司FPGA內的Nios軟核設置和顯示輸出頻率,方便且集成度高。
關鍵詞:現(xiàn)場可編程門陣列;直接數(shù)字頻率合成器;Nios;VHDL
直接數(shù)字頻率合成DDS(Direct Digital Synthesis)是一種把一系列數(shù)字信號通過D/A轉換器轉換為模擬信號的合成技術。該技術的主要特點:具有超高的捷變速度(<0.1μs)、超細的分辨率(可達1μHz)和相位的連續(xù)性;輸出頻率的穩(wěn)定度及相位噪聲等指標與系統(tǒng)時鐘相當;全數(shù)字化便于單片集成等?;谝陨蟽?yōu)點,DDS得到廣泛應用,但由于其輸出帶寬小和雜散指標不高,限制了其應用范圍。
現(xiàn)有的DDS產品應用于接收機本振、信號發(fā)生器、通信系統(tǒng)、雷達系統(tǒng)等,特別是跳頻通信系統(tǒng)。這里介紹基于FP-GA的DDS信號源,可在1片F(xiàn)PGA器件上實現(xiàn)信號源的信號產生和控制。將DDS信號源設計嵌入到FPGA器件所構成的系統(tǒng)中,其系統(tǒng)成本不高,但可實現(xiàn)更加復雜的功能。
1 DDS原理
DDS基本結構原理如圖1所示,其中數(shù)控振蕩器(NCO)為FPGA實現(xiàn)部分。其工作原理是:在參考時鐘的作用下,相位累加器按照預先設置好的頻率控制字進行線性累加,其輸出作為波形查找表的地址,通過尋址輸出相應的波形幅度碼,再由數(shù)模轉換器將這些數(shù)字碼變換為模擬電壓/電流輸出,最后經(jīng)低通濾波器平滑輸出波形。假設要輸出的頻率是同定的,那么相位增量就是一個常數(shù),在每個時鐘周期,相位累加器的數(shù)值就按照這個相位增量累加一次,相位增量的大小由頻率控制字決定。如果相位增量增大,則相位累加器的增加就比較快,輸出的頻率就比較高。
假定一個頻率為fc的載波,其時域表達式為:
則由式(1)、式(2)看出:C(t)是關于相位的一個周期函數(shù),如果記下一個周期內每個相位對應的幅度值,那么對于任意頻率的載波,在任意時刻,只要已知載波的相位φ(t),就可通過查表得到C(t)。
2 DDS結構
2.1 相位累加器
相位累加器是DDS系統(tǒng)的核心,可完成DDS實現(xiàn)原理中的相位累加功能。為充分發(fā)揮DDS的優(yōu)越性,一般累加器的位數(shù)都比較大,頻率字可控制DDS的輸出頻率,可根據(jù)需要設定。
2.2 波形查詢表
該電路的核心是一個查找表,查找表主要完成相位序列(相位碼)向幅度序列(幅度碼)的轉換。這里,用ROM構造一個查找表。如果把相位碼作為ROM的地址,只要在該地址中存儲相應的正弦幅度碼作為數(shù)據(jù),就可通過相位碼尋址ROM,輸出信號函數(shù)。
2.3 D/A轉換器與低通濾波器
D/A轉換器和低通濾波器的作用是將幅度碼轉變成模擬信號。由于D/A轉換器輸出為階梯波,需通過低通濾波器取出其低頻成分(即DDS輸出)。
3 DDS頻率分析
相位累加器在基準時鐘的作用下,進行線性相位累加,當相位累加器加滿時就會產生一次溢出,從而完成一個周期,這個周期也就是DDS信號的一個頻率周期。
可見,通過設定相位累加器位數(shù)、頻率控制字K和基準時鐘的值,可以產生任意頻率的輸出。DDS的頻率分辨率定義為:△fmin=fc/2N。
由于基準時鐘一般固定,因此相位累加器的位數(shù)即決定頻率分辨率。如果相位累加器為32位,那么頻率分辨率就可以認為是32位。位數(shù)越多,分頻率越高。只要N足夠大,即累加器有足夠的長度,總能得到所需的頻率分辨率。輸出頻率f0由頻率控制字K決定,即f0=K(fc/2N)。根據(jù)奈奎斯特采樣定理,DDS的最大輸出頻率f0Max應小于fc/2,在實際中,f0Max一般只能等于fc的40%。
4 DDS的雜散分析
DDS輸出頻率中的雜散信號是一個最重要的問題,而且是由于多種原因引起的。這里主要介紹以下3種原因:
1)電壓幅度截斷 幅度量化誤差,就是ROM存儲能力有限引起的舍位誤差,也可以認為是由D/A轉換器分辨率有限引起的誤差。參照相關數(shù)據(jù)資料,波形ROM的位數(shù)為D,由幅度量化誤差造成的輸出背景噪聲的單邊帶功率譜密度為:
量化誤差引起的量化失真,可以用輸出信號與量化噪聲功率之比SQR來衡量。當D/A轉換器滿幅度輸出時,有
式中,D是幅度量化的位數(shù),D一定時,則噪聲的功率就一定。
2)相位截斷 由于ROM無法實現(xiàn)2N個地址單元的容量,因此截斷相位碼的高B位。主譜與最大的雜散幅度之比滿足如下關系:
式中,N為相位累加器的位數(shù),B為相位截斷位數(shù)。
由上式可看出,由相位截斷引入的最強雜散相對主譜的電平由相位累加器輸出的有效位數(shù)決定:有效尋址位數(shù)每增加1位,雜散性能約提高6 dB。
3)D/A轉換器本身的問題 由于實際中D/A轉換器的非線性、瞬間毛刺等非理想轉換特性在輸出頻譜中會產生雜散。
5 DDS的FPGA實現(xiàn)
FPGA即現(xiàn)場可編程門陣列,它是作為專用集成電路領域中的一種半定制電路而出現(xiàn)的,既解決定制電路的不足,又克服原有可編程器件門電路有限的缺點。本設計采用Altera公司的Cvclone:II型器件。在實現(xiàn)DDS功能的同時,還能利用其中集成的Nios軟核進行控制模塊設計,加強集成度,減少器件使用和簡化電路設計。
本設計的軟件開發(fā)環(huán)境為Altera公司的Quartus II和Nios II IDE。
5.1 QuartusⅡ下的DDS設計仿真
在Quartus II環(huán)境下利用VHDL語言對DDS內的寄存器、累加器及波形存儲器進行設計及仿真,最后鏈接生成DDS模塊,如圖2所示。
在檢查編譯文件后對DDS模塊進行仿真,仿真圖如圖3所示。至此在FPGA內已成功建立DDS模塊。根據(jù)所選用的具體器件內部存儲量的不同,可以根據(jù)自身需要更改ROM有效地址位數(shù)和ROM存儲波形的有效位數(shù)以提高系統(tǒng)的雜散抑制能力。
5.2軟核的硬件定制和軟件設計
利用Quartus II內的SOPC Builder工具完成Nios軟核內的CPU、Memory、I/O口等所需硬件定制。同時在NiosⅡIDE環(huán)境下運用C語言完成軟核內控制系統(tǒng)功能設計。
6 結束語
本文對直接數(shù)字頻率合成器結構、工作原理及DDS雜散分析進行了較深入研究,并在理論研究的基礎上結合Ahera公司的CycloneII器件完成了DDS的設計和實現(xiàn)。同時利用CyclonelI器件內的Nios軟核將DDS與控制系統(tǒng)模塊集成到一塊FPGA器件內,簡化設計難度,減小電路復雜程度。