基于FPGA的直接數(shù)字頻率合成器的設(shè)計/實現(xiàn)
摘要:介紹了Altera公司的即FPGA器件ACEXEPlK50的主要特點,給出了由ACEXEPlK50實現(xiàn)直接數(shù)字頻率合成的工作原理、設(shè)計思路、電路結(jié)構(gòu)和改進(jìn)優(yōu)化方法。
關(guān)鍵詞:直接數(shù)字頻率合成(DDS); 現(xiàn)場可編程門陣列(FPGA); ACEXEPlK50
分類號:TN741 文獻(xiàn)標(biāo)識碼:B 文章編號:1006-6977(2003)01-0004-02
1概述
直接數(shù)字頻率合成技術(shù)(Direct Digital FrequencySynthesis.即DDFS,一般簡稱DDS)是從相位直接合成所需波形的一種新的頻率合成技術(shù)。近年來,DDS技術(shù)和器件水平的不斷發(fā)展,使得DDS合成技術(shù)也得到了飛速的發(fā)展。目前,該技術(shù)在相對帶寬、頻率轉(zhuǎn)換時間、相位連續(xù)性、正交輸出、高分辨力以及集成化等一系列性能指標(biāo)已遠(yuǎn)遠(yuǎn)超過了傳統(tǒng)的頻率合成技術(shù)所能達(dá)到的水平,從而完成了頻率合成技術(shù)的又一次飛躍,同時也已成為目前運用最廣泛的頻率合成技術(shù)。
隨著新型直接頻率合成技術(shù)的發(fā)展,各大芯片制造廠商都相繼推出了采用先進(jìn)CMOS工藝生產(chǎn)的高性能、多功能DDS芯片(其中應(yīng)用較為廣泛的是AD公司的AD985X系列)。從而為電路設(shè)計者提供了多種選擇。但在某些場合,專用DDS芯片在控制方式、置頻速率等方面與系統(tǒng)的要求仍然有很大差距,在這種情況下,采用高性能的FPGA器件設(shè)計符合自己需要的DDS電路無疑是一種很好的解決方法。
ACEX 1K器件是Altera公司著眼于通信、音頻處理及類似場合的應(yīng)用而推出的芯片系列,ACEX1K器件正逐步取代FLEX l0K系列成為首選的中規(guī)模器件產(chǎn)品。它具有如下優(yōu)越性:
(1)高性能
ACEX 1K器件采用查找表(LUT)和EAB(嵌入式陣列塊)相結(jié)合的結(jié)構(gòu)形式,可實現(xiàn)復(fù)雜邏輯功能和存儲器功能,如通信應(yīng)用中的DSP、多通道數(shù)據(jù)處理、數(shù)據(jù)傳遞和微控制等。
(2)高密度
ACEX lK器件的典型門數(shù)在1萬到10萬門之間,帶有多達(dá)49152位的RAM(每個EAB有4096位的RAM)。
(3)具有系統(tǒng)級性能
器件內(nèi)核采用2.5V電壓,功耗低,能夠提供高達(dá)250MHz的雙向I/O功能,完全支持33MHz和66MHz的PCI局部總線標(biāo)準(zhǔn)。
(4)靈活的內(nèi)部互聯(lián)
ACEX lK系列器件具有快速連續(xù)式延時可預(yù)測的快速通道互連(Fast Track),提供有實現(xiàn)快速加法器、計數(shù)器、乘法器和比較器等算術(shù)功能的專用進(jìn)位鏈和實現(xiàn)高速多扇入邏輯功能的專用級連鏈。
本設(shè)計采用的是ACEX EPlK50,它的典型門數(shù)為50000門,邏輯單元有2880個,嵌入系統(tǒng)塊有10個,因此,可完全符合使用單片實現(xiàn)DDS電路的基本要求。其設(shè)計工具為Altera的下一代設(shè)計工具Quartus軟件。
2 基于FPGA的DDS設(shè)計
2.1相位累加器的設(shè)計
用FPGA設(shè)計DDS電路時,相位累加器是決定DDS性能的一個關(guān)鍵部分。小的累加器可以通過ACEX器件的進(jìn)位鏈得到快速、高效的電路設(shè)計。然而,由于進(jìn)位鏈必須位于臨近的LAB(邏輯陣列塊)和LE(邏輯單元)內(nèi),因此長的進(jìn)位鏈勢必會減少其它邏輯使用的布線資源,同時過長的進(jìn)位鏈也會制約整個系統(tǒng)的運行速度。
另一種提高速度的辦法是采用流水線技術(shù),即把一個時鐘內(nèi)要完成的邏輯操作分成幾步較小的操作,并插入幾個時鐘周期來提高系統(tǒng)的數(shù)據(jù)吞吐率。流水線技術(shù)比較適合于開環(huán)結(jié)構(gòu)(open-loop)的電路,而在累加器這樣的閉環(huán)反饋(close-loop feed-back)電路中,使用時必須謹(jǐn)慎考慮,以保證設(shè)計的準(zhǔn)確無誤。
經(jīng)綜合考慮,這一部分設(shè)計采用進(jìn)位鏈和流水線技術(shù)相結(jié)合的辦法,這樣既能保證較高的資源利用率,又能大幅度提高系統(tǒng)的性能和速度。
2.2相位/幅度轉(zhuǎn)換電路
相位/幅度轉(zhuǎn)換電路是DDS電路中的另一個關(guān)鍵部分,設(shè)計中面臨的主要問題是資源的開銷。該電路通常采用ROM結(jié)構(gòu),相位累加器的輸出是一種數(shù)字式鋸齒波,它的高若干位可作為ROM的地址輸入,而后通過查表(LUT)和運算,ROM便可輸出所需波形的量化數(shù)據(jù)。ROM一般在FPGA(針對Altera公司的器件)中由EAB實現(xiàn),由于ROM表的尺寸隨著地址位數(shù)或數(shù)據(jù)位數(shù)的增加而成指數(shù)遞增關(guān)系,因此,在滿足信號性能的前提下,如何減少資源的開銷就成為一個重要的問題,在實際設(shè)計時,筆者充分利用了信號周期內(nèi)的對稱性和算術(shù)關(guān)系來減少EAB的開銷。
2.3控制電路
在實際設(shè)計中,筆者參照項目的具體要求設(shè)計了一個系統(tǒng)控制電路。圖1所示是綜合以上考慮后,利用ACEX EPlK50設(shè)計的DDS電路的功能框圖。
3 設(shè)計說明
采用Verilog硬件描述語言來實現(xiàn)整個電路不僅有利于設(shè)計文檔的管理,而且可以方便設(shè)計的修改和擴(kuò)充,同時還可在不同的FPGA器件之間進(jìn)行移植。
圖1中,整個系統(tǒng)只加入了一級流水線來提高速度。需要說明的是:在ROM和系統(tǒng)控制電路之間也可以加入流水線,但實際仿真表明,其效果并不明顯,而且消耗了更多的資源,因此,本設(shè)計只加入了一級流水線。
為了進(jìn)一步提高速度,在對DDS電路的相位累加器模塊和加法器模塊進(jìn)行設(shè)計時,并沒有采用,F(xiàn)PGA單元庫中的16-32位加法器,盡管利用它們可以很容易的實現(xiàn)高達(dá)32位的相位累加器,但當(dāng)工作頻率較高時,這種方法不可取,因為它們具有較大的延時而不能滿足速度要求。因此,具體實現(xiàn)時,筆者分別用了4個和8個4位累加器,并以流水線方式來實現(xiàn)16位和32位累加器和加法器。比較仿真結(jié)果表明:采用流水線技術(shù)可以大大提高系統(tǒng)的工作速度。
相位/幅度變換電路也是比較難以實現(xiàn)的部分,因為設(shè)計時不僅要解決速度問題,還要考慮節(jié)省資源的問題。因此,如何有效利用FPGA有限的資源是實現(xiàn)相位/幅度變換電路的最關(guān)鍵的一點。
在實際設(shè)計中,筆者將著眼點主要放在了節(jié)省資源上,相位/幅度轉(zhuǎn)換電路中的主要問題是ROM的大小。由于本設(shè)計的DDS主要用于數(shù)字視頻編碼,因此,只需輸出余弦(正弦)波,由于余弦波信號對于X=π直線成偶對稱,所以可以將ROM表減至原來的1/2,再利用左半周期內(nèi)波形對于點(π/2,0)成奇對稱的特性來進(jìn)一步將ROM表減至最初的1/
4,這樣通過一個正弦碼表的前1/4周期就可以變換得到正弦和余弦的整個周期碼表,從而節(jié)省了將近3/4的資源而使系統(tǒng)得到了優(yōu)化,同時,其效果也非常可觀。
系統(tǒng)控制電路主要是根據(jù)是否需要相位調(diào)制(BPSK)及頻率調(diào)制(BFSK)、系統(tǒng)時鐘是否需要分頻以得到所需的基準(zhǔn)時鐘、頻率碼的輸入方式是串行、并行還是微機(jī)接口方式以及如何控制輸出等具體要求來設(shè)計的。這一部分可以靈活設(shè)計,以凸現(xiàn)FPGA的優(yōu)點。
雖然有些專用DDS芯片的功能也比較多,但控制方式卻是固定的,而利用ACEX EPlK50器件則可以根據(jù)需要方便地實現(xiàn)各種比較復(fù)雜的調(diào)頻、調(diào)相和調(diào)幅功能,因而具有良好的實用性。
參考文獻(xiàn)
1.張厥盛,曹麗娜.鎖相與頻率合成技術(shù) .成都:電子科技大學(xué)出版社
2.A Direct-Digital Synthesizer with lmproved Spectral Performance,IEEE Tran,On Communication.Vol 39 No 7.July 1991
3.徐立成.直接數(shù)字合成技術(shù)的應(yīng)用.艦用雷達(dá)和對抗,1991(2)
4.Altera lnc.DATA BOOK.Altera Corporation,2001
5.夏宇聞.復(fù)雜數(shù)字電路與系統(tǒng)的Verilog HDL設(shè)計技術(shù).北京:北京航空航天大學(xué)出版社,1998
6. ACEX1Kdatasheethttp://www.dzsc.com/datasheet/ACEX1K_1307867.html.
7. PCIdatasheethttp://www.dzsc.com/datasheet/PCI_1201469.html.
8.ROMdatasheethttp://www.dzsc.com/datasheet/ROM_1188413.html.
來源:零八我的愛0次