基於FPGA的直接數字頻率合成器的設計和實現

  • 分類    >
  • 基於FPGA的直接數字頻率合成器的設計和實現
   時間:2014-03-14 00:35:14
基於FPGA的直接數字頻率合成器的設計和實現簡介
1 引 言   直接數字頻率合成技術(Direct DigitalFrequencySynthesis,即DDFS,一般簡稱DDS)是從相位概念出發直接合成所需波形的一種新的頻率……
基於FPGA的直接數字頻率合成器的設計和實現正文

1 引 言
直接數字頻率合成技術(Direct DigitalFrequencySynthesis,即DDFS,一般簡稱DDS)是從相位概念出發直接合成所需波形的一種新的頻率合成技術。近年來,技術和器件水平不斷發展,這使DDS合成技術也得到了飛速的發展,它在相對帶寬、頻率轉換時間、相位連續性、正交輸出、高分辨力以及集成化等一系列性能指標方面已遠遠超過了傳統的頻率合成技術所能達到的水平,完成了頻率合成技術的又一次飛躍,是目前運用最廣泛的頻率合成技術。
目前,各大晶元製造廠商都相繼推出採用先進CMOS工藝生產的高性能、多功能的DDS晶元(其中應用較為廣泛的是AD公司的AD985X系列),為電路設計者提供了多種選擇。然而在某些場合,DDS晶元在控制方式、置頻速率等方面與系統的要求差距很大,這時如果用高性能的FPGA器件來設計符合自己需要的DDS電路就是一個很好的解決方法。
ACEX1K器件是Altera公司著眼於通信、音頻處理及類似場合的應用而推出的晶元系列,總的來看,它將會逐步取代FLEX10K系列,成為首選的中規模器件產品。ACEX1K器件具有以下優點:
·高性能。ACEX1K器件採用查找表(LUT)和EAB(嵌入式陣列塊)相結合的結構,特別適用於實現
複雜邏輯功能和存儲器功能,例如通信中應用的DSP、多通道數據處理、數據傳遞和微控制等。
·高密度。典型門數為1萬到10萬門,有多達49152位的RAM(每個EAB有4096位RAM)。
·系統性能。器件內核採用2.5V電壓,功耗低,能夠提供高達250MHz的雙向I/O功能,完全支持33MHz和66MHz的PCI局部匯流排標準。
·靈活的內部互聯。具有快速連續式延時可預測的快速通道互連(Fast Track);能提供實現快速加法器、計數器、乘法器和比較器等算術功能的專用進位鏈和實現高速多扇入邏輯功能的專用級連鏈。
本設計採用的是ACEX EP1K50,其典型門數50000門,邏輯單元2880個,嵌入系統塊10個,完全符合單片實現DDS電路的要求。設計工具為Altera的下一代設計工具Quartus軟體。
2 DDS的工作原理和電路結構
圖1所示是一個基本的DDS電路工作原理框圖。
DDS的工作原理是以數控振蕩器的方式,產生頻率、相位可控制的正弦波(SineWave)。電路一般包括基準時鐘、頻率累加器、相位累加器、幅度/相位轉換電路、D/A轉換器和低通濾波器(LPF)。
其中,頻率累加器對輸入信號進行累加運算,產生頻率控制數據(Frequency Data或相位步進量Phase Increment)。
相位累加器由N位全加器和N位累加寄存器級聯而成,對代表頻率的二進位碼進行累加運算,是典型的反饋電路,產生累加結果Y。
幅度/相位轉換電路實質是一個波形存儲器(WaveformMemory),以供查表使用。讀出的數據送入D/A轉換器和低通濾波器。
具體工作過程如下:
每來一個時鐘脈衝Fclk,N位加法器將頻率控制數據X與累加寄存器輸出的累加相位數據相加,把相加后的結果Y送至累加寄存器的輸入端。累加寄存器一方面將在上一時鐘周期作用后所產生的新的相位數據反饋到加法器的輸入端,以使加法器在下一時鐘的作用下繼續與頻率控制數據X相加;另一方面,將這個值作為取樣地址值送入幅度/相位轉換電路(即圖1中的波形存儲器),幅度/相位轉換電路根據這個地址值輸出相應的波形數據。最後,經數/模轉換(D/AConverter)和低通濾波器(LowPass Filter)將波形數據轉換成所需要的模擬波形。相位累加器在基準時鐘的作用下,進行線性相位累加,當相位累加器累加滿量時就會產生一次溢出,這樣就完成了一個周期,這個周期也就是DDS合成信號的一個頻率周期。

DDS輸出信號的頻率由式(1)給定:
Fout=(X/Y)×Fclk(1)
例如,我們假定基準時鐘為70 MHz,累加器為16位,則:
Y=216=65,536
Fclk=70MHz
再假定X=4096,則:
Fout=4096/65536×70=4.375MHz
可見,理論上通過設定DDS相位累加器位數頻率控制字X和基準時鐘Fclk的值,就可以產生任一頻率的輸出。而DDS的頻率解析度定義為:
Fres=Fclk/Y(2)
由於基準時鐘一般固定,因此相位累加器的位數就決定了頻率解析度。比如上面的例子中,相位累加器為16位,那麼頻率解析度就可以認為是16位。位數越多,解析度越高。
3 利用FPGA(ACEXEP1K50)設計DDS
(1)在用FPGA設計DDS電路的時候,相位累加器是決定DDS性能的一個關鍵部分,小的累加器可以利用ACEX器件的進位鏈得到快速、高效的電路結構。然而,由於進位鏈必須位於臨近的LAB(邏輯陣列塊)和LE(邏輯單元)內,因此,長的進位鏈勢必會減少其它邏輯使用的布線資源,同時過長的進位鏈也會制約整個系統速度的提高。

另一種提高速度的辦法就是採用流水線技術,即把在一個時鐘內要完成的邏輯操作分成幾步較小的操作,並插入幾個時鐘周期來提高系統的數據吞吐率。但是流水線技術比較適合開環結構(Open-Loop)的電路,要用在累加器這樣的閉環反饋(Close-LoopFeedback)的電路中必須謹慎考慮,以保證設計的準確無誤。
綜合考慮后,這一部分決定採用進位鏈和流水線技術相結合的辦法,這樣既能保證較高的資源利用率,又能大幅提高系統的性能和速度。
(2)相位/幅度轉換電路是DDS電路中另一個關鍵,設計中面臨的主要問題就是資源的開銷。電路通常採用ROM結構,相位累加器的輸出是一種數字式鋸齒波,通過取它的高若干位作為ROM的地址輸入,經查表(LUT)和運算后,ROM就輸出所需波形的量化數據。
ROM一般在FPGA(針對Altera公司的器件)中由EAB實現,且ROM表的尺寸隨著地址位數或數據位數的增加呈指數遞增關係,因此,在滿足信號性能的前提條件下,如何減少資源的開銷就是一個重要問題,實際設計時,我們充分利用了信號周期內的對稱性和算術關係來減少EAB的開銷。
(3)實際運用時,我們參照項目具體要求,設計了一個系統控制電路。

綜上考慮,我們利用圖2的結構設計整個DDS電路。
採用Verilog硬體描述語言來實現整個電路,這不僅有利於設計文檔的管理,而且方便設計的修改和擴充及在不同FPGA器件之間的移植。

由圖2可以清楚地看出,整個系統只加入了一級流水線來提高速度,需要說明的是,在ROM和系統控制電路之間也可以加入流水線,但實際模擬表明,效果不明顯,反而消耗了更多的資源,因此綜合考慮后只加入一級流水線。
為了進一步提高速度,在DDS電路的相位累加模塊和加法器模塊的設計時並沒有採用FPGA單元庫中的16~32位加法器,儘管它們可以很容易地實現高達32位的相位累加器,但當工作頻率較高時,這種方法不可取,因為它們較大的延時不能滿足速度要求。因此,具體實現時我們分別用了4個和8個4位的累加器以流水線的方式實現16位和32位累加器。比較模擬結果表明,採用流水線技術可以大大提高系統的工作速度。
由前面的分析可知,相位/幅度變換電路也是較難實現的部分,它不僅要解決速度的問題,還要考慮節省資源的問題。如何有效利用FPGA有限的資源,是實現相位/幅度變換電路的最關鍵的一點。
在實際運用中,我們將著眼點主要放在了節省資源上。相位/幅度轉換電路中的主要問題在於ROM的大小上。本次設計的DDS主要用於數字視頻編碼中,因此只需要輸出餘弦(正弦)波,我們考慮了以下的優化方式:COS波信號對於x=π直線成偶對稱,基於此可以將ROM表減至原來的1/2,再利用左半周期內,波形對於點(π/2,0)成奇對稱,進一步將ROM表減至最初的1/4,因此,通過一個SIN碼錶的前1/4周期就可以變換得到SIN和COS的整個周期碼錶。這樣,就節省了將近3/4的資源,非常可觀。
系統控制電路主要是根據是否需要相位調製(BPSK)及頻率調製(BFSK),系統時鐘是否需要分頻得到所需的基準時鐘,頻率碼的輸入方式是串列、并行還是微機介面方式,如何控制輸出等具體要求而設計的。這一部分可以靈活設計,凸現FPGA的優點所在。
4 用ACEXEP1K50實現的DDS電路與專用DDS晶元的比較
這裡對用ACEXEP1K50實現的DDS電路與專用DDS晶元進行了比較:
(1)系統速度:用它實現DDS電路,16位精度(解析度)的DDS電路最高頻率達到148MHz,32位精度(解析度)的電路最高工作頻率107MHz,可以看出,這個頻率已經是比較高了;而採用專用DDS晶元的話,頻率在數十至數百兆赫茲之間,如AD9850為125MHz,AD9851為180MHz,較新的AD9854已經達到300MHz。用FPGA實現的DDS電路能工作在如此之高的頻率主要依賴於ACEX系列器件先進的結構特點,以及前文提出的多種優化措施。
(2)可控性:雖然有的專用DDS晶元的功能也比較多,但控制方式卻是固定的,因此不一定是我們所需要的。而利用ACEX系列器件則可以根據需要方便地實現各種比較複雜的調頻、調相和調幅功能,具有良好的實用性。
(3)信號質量:專用DDS晶元由於採用特定的集成工藝,內部數字信號抖動很小,可以輸出高質量的模擬信號;儘管利用ACEX系列也能輸出較高質量的信號,但達不到專用DDS晶元的水平。
(4)成本:專用DDS晶元價格較高,而將用FPGA器件設計的DDS電路嵌入到系統中並不會使成本增加多少。
5 結束語
本文利用ALTERA公司的FPGA(ACEXEP1K50)器件,通過各種優化措施,設計開發了DDS電路,達到了預期的目的,具有較高的性價比。

[基於FPGA的直接數字頻率合成器的設計和實現],你可能也喜歡

  • 數字高程模型
  • 數字圖卡教具
  • 數字教具製作
  • 數字磁鐵教具
  • 數字配對教具
  • 基於裝配之設計
  • 高強度螺栓檢驗頻率
  • 複合成長率定義
  • 超音波頻率範圍
  • 混凝土試驗頻率
  • 水熱合成反應釜
  • 齒輪嚙合頻率
  • 強特合成乾式潤滑劑
  • 合成乾式潤滑劑
  • 周期與頻率
  • 合成導熱油
  • 查兌克發現中子實驗
  • 虹吸現象實驗
  • 生產現場主管實務
  • 衝床收料機是怎樣實現停機
Bookmark the permalink ,來源:
One thought on “基於FPGA的直接數字頻率合成器的設計和實現