基于FGA的直接數(shù)字頻率合成器的優(yōu)化設(shè)計論文
摘要:介紹了DDS的基本工作原理,針對傳統(tǒng)DDS存在的主要問題,提出了基于流水線結(jié)構(gòu)的累加器和基于波形對稱的ROM優(yōu)化設(shè)計,并在開發(fā)軟件Quartus II上仿真,驗證了優(yōu)化設(shè)計的正確性。不僅提高了系統(tǒng)的運算速度,而且也節(jié)省了硬件資源。
關(guān)鍵詞:FPGA;DDS;流水線結(jié)構(gòu);仿真
1.引言
隨著科技的飛速發(fā)展,對信號發(fā)生器的要求越來越高,傳統(tǒng)分立式模擬電路來難滿足。直接數(shù)字頻率合成法(Direct Digital Frequency Synthesis簡稱DDFS或DDS)具有頻率穩(wěn)定度高、分辨率高、切換時間短、相位變化連續(xù)、易于實現(xiàn)各種數(shù)字調(diào)制、集成度高等特點,能很好的滿足各種需求。
因此,DDS技術(shù)在通信、雷達(dá)、電子對抗、儀器測試等領(lǐng)域都有廣泛的應(yīng)用。專用DDS芯片在控制方式、頻率控制等方面不靈活,很多時候不能滿足系統(tǒng)的要求,利用FPGA來設(shè)計符合自己需要的DDS系統(tǒng)就是一個很好的解決方法。
2.DDS的工作原理
DDS是利用數(shù)字相位累加產(chǎn)生線性變化的數(shù)字相位輸出信號,通過波形數(shù)據(jù)查找表,獲得對應(yīng)于相位信號的數(shù)字化幅度信號,再通過數(shù)模轉(zhuǎn)換器(DAC)獲得模擬信號輸出。一個基本的DDS系統(tǒng)由基準(zhǔn)時鐘fclk、相位累加器、相位/幅值查找表(ROM)、數(shù)模轉(zhuǎn)換器(DAC)及低通濾波器(LPF)組成,如圖1所示。
工作原理:預(yù)先在ROM中存入所需波形的幅度編碼,每來一個時鐘信號,N位的相位累加器將頻率控制字K累加,同時累加器輸出序列的高M位去尋址相位/幅值查找表,得到一系列離散的幅度編碼(Y位)。該幅碼經(jīng)數(shù)模轉(zhuǎn)換后得到模擬的階梯電壓,再經(jīng)低通濾波器平滑后,就可得到所需要的波形信號。
DDS的輸出信號頻率fout=K·fclk/2N,頻率分辨率為Δfout=foutmin/2N,實際最高輸出頻率取foutmax=fclk×40%,相對帶寬為foutmax/foutmin=2N×40%。
3.DDS的優(yōu)化設(shè)計
傳統(tǒng)DDS結(jié)構(gòu)的運算速度受相位累加器運算速率的限制,輸出頻率分辨率受相位/幅值查找表(ROM)存儲容量的限制。大多數(shù)情況下頻率控制字的位數(shù)都為20位以上,而傳統(tǒng)DDS結(jié)構(gòu)的相位累加器是采用一級式全加器和寄存器實現(xiàn)的.。多位數(shù)的加法計算是由低到高串行進行的,這樣會因為位數(shù)多而影響計算速度。傳統(tǒng)DDS結(jié)構(gòu)的相位/幅值查找表(ROM)是沒有經(jīng)過優(yōu)化設(shè)計,而是直接將波形的采樣數(shù)據(jù)放入ROM,這樣會占用很大的空間,而硬件資源是有限的。
3.1 基于流水線結(jié)構(gòu)的累加器設(shè)計
相位累加器是DDS的關(guān)鍵部件之一,它的運算速度直接影響DDS的運算速度。為了改進傳統(tǒng)DDS結(jié)構(gòu)因頻率控制字位數(shù)多而帶來的計算速度問題,采用DSP芯片設(shè)計中的流水線結(jié)構(gòu),并在每級流水線中設(shè)計了反饋電路,形成了累加流水線工作狀態(tài)。將32位頻率控制字的相位累加器采用4級流水線結(jié)構(gòu)實現(xiàn),每級8位,原理如圖2所示。
32位流水線累加器共4級鎖存,4級加法。第1級鎖存用于存儲并穩(wěn)定32位輸入數(shù)據(jù),中間每一級8位加法器均搭配一級寄存器,這樣可以減少毛刺。由流水線的原理可知,該累加器的整體速度取決于8位加法器。這樣整體計算速度比傳統(tǒng)的速度就提高了3倍。
由于QUARTUSⅡ軟件中提供了參數(shù)化的宏功能模塊庫(LPM),通過改變LPM中模塊的某些參數(shù),可以達(dá)到設(shè)計的要求,所以LPM是提高電路設(shè)計的一種有效方法。本設(shè)計中,相位累加器的各級加法器均調(diào)用參數(shù)化模塊庫中的LPM_ADD_SUB模塊,形成四級流水線工作狀態(tài),并在每一級流水線中插入幾個寄存器來提高系統(tǒng)的數(shù)據(jù)吞吐率。
3.2 ROM查找表的優(yōu)化設(shè)計
根據(jù)波形的對稱性,可以對采樣波形數(shù)據(jù)的存儲進行優(yōu)化,以便節(jié)省ROM空間。以正弦波為例,在區(qū)間內(nèi)其波形是關(guān)于π/2對稱的,因此其區(qū)間內(nèi)的波形可以通過對的波形關(guān)于π/2進行翻轉(zhuǎn)得到;同理區(qū)間內(nèi)的波形可以通過對的波形關(guān)于橫軸翻轉(zhuǎn)得到。所以實際上ROM只需要存儲內(nèi)的正弦函數(shù)值,通(下轉(zhuǎn)第133頁)(上接第108頁)過適當(dāng)控制即可實現(xiàn)輸出一個完整周期的正弦函數(shù)值,從而大大減小存儲器的大小。優(yōu)化的ROM結(jié)構(gòu)框圖如圖3所示。
首先將相位寄存器輸出的高M位總地址分為3部分:最高位作為數(shù)據(jù)的符號位,實現(xiàn)對數(shù)據(jù)正負(fù)的轉(zhuǎn)換,次高位作為地址的標(biāo)志位,實現(xiàn)對ROM地址的轉(zhuǎn)換。而剩下的低M—2位通過地址轉(zhuǎn)換器后作為ROM地址位。如果將最高位和次高位合并起來看,它們實質(zhì)上是構(gòu)成一個象限選擇器,其值從00至11分別代表第1、2、3、4象限。這樣只需傳統(tǒng)的DDS結(jié)構(gòu)的1/4的存儲空間。
用QUARTUSⅡ軟件中提供了參數(shù)化的宏功能模塊庫(LPM)來設(shè)計,lpm_rom的波形存儲表只需要產(chǎn)生數(shù)據(jù)文件*.mif,然后直接在定制lpm_rom時,添加數(shù)據(jù)文件即可,但這種方法在FPGA支持內(nèi)部嵌入式陣列塊(EAB)時才可以使用。mif文件是在編譯和仿真過程中作為存儲器(ROM)初始化輸入的文件,有多種方式可以創(chuàng)建mif文件。
4.仿真驗證
通過FPGA的開發(fā)軟件Quartus II,將編譯綜合后的DDS設(shè)計文件用軟件自帶的仿真器進行仿真,仿真波形如圖4所示,通過仿真波形驗證了設(shè)計是正確的。利用Quartus II自帶嵌入式邏輯分析儀Signal Tap II采集ROM輸出的數(shù)據(jù)所形成的波形,如圖5所示。從輸出波形可以驗證設(shè)計的正確性。
5.結(jié)束語
本文通過構(gòu)建流水線結(jié)構(gòu)的相位累加器和波形存儲表ROM的優(yōu)化設(shè)計,改善了DDS傳統(tǒng)機構(gòu)的所存在的兩個主要問題。設(shè)計調(diào)用QUARTUSⅡ軟件中提供了參數(shù)化的宏功能模塊庫(LPM),對設(shè)計過程進行了詳細(xì)的描述,并仿真驗證了優(yōu)化設(shè)計的正確性。經(jīng)實驗測試,在QUARTUS II環(huán)境下選取同一種器件,采用優(yōu)化后的DDS設(shè)計方法,不僅提高了工作頻,而且大大節(jié)省了資源。
參考文獻(xiàn)
劉凌,胡永生譯.數(shù)字信號處理的FPGA實現(xiàn).北京:清華大學(xué)出版社,2003,5.
陳風(fēng)波,冒燕,李海鴻.基于FPGA的世界數(shù)字頻率合成器設(shè)計.微計算機信息,2006,22(5):197—199.
鄒彥,莊嚴(yán)等.EDA技術(shù)與數(shù)字系統(tǒng)設(shè)計.北京:電子工業(yè)出版社,2007,4.
潘松,王國棟.VHDL實用教程.成都:電子科技大學(xué)出版社,2001,3.
【基于FGA的直接數(shù)字頻率合成器的優(yōu)化設(shè)計論文】相關(guān)文章:
基于環(huán)境科學(xué)優(yōu)化城市公園的設(shè)計研究論文04-14
基于Matlab的壓力容器螺栓組聯(lián)接優(yōu)化設(shè)計的論文11-16
基于遺傳算法的大型圓振動篩的優(yōu)化設(shè)計論文07-14
數(shù)字IC設(shè)計技術(shù)論文06-27
優(yōu)化職高作業(yè)設(shè)計的論文05-08
農(nóng)村住宅的優(yōu)化設(shè)計論文11-16