基於FGA的直接數字頻率合成器的最佳化設計論文

基於FGA的直接數字頻率合成器的最佳化設計論文

  摘要:介紹了DDS的基本工作原理,針對傳統DDS存在的主要問題,提出了基於流水線結構的累加器和基於波形對稱的ROM最佳化設計,並在開發軟體Quartus II上模擬,驗證了最佳化設計的正確性。不僅提高了系統的運算速度,而且也節省了硬體資源。

  關鍵詞:FPGA;DDS;流水線結構;模擬

  1.引言

  隨著科技的飛速發展,對訊號發生器的要求越來越高,傳統分立式類比電路來難滿足。直接數字頻率合成法(Direct Digital Frequency Synthesis簡稱DDFS或DDS)具有頻率穩定度高、解析度高、切換時間短、相位變化連續、易於實現各種數字調製、整合度高等特點,能很好的滿足各種需求。

  因此,DDS技術在通訊、雷達、電子對抗、儀器測試等領域都有廣泛的應用。專用DDS晶片在控制方式、頻率控制等方面不靈活,很多時候不能滿足系統的要求,利用FPGA來設計符合自己需要的DDS系統就是一個很好的解決方法。

  2.DDS的工作原理

  DDS是利用數字相位累加產生線性變化的數字相位輸出訊號,透過波形資料查詢表,獲得對應於相位訊號的數字化幅度訊號,再透過數模轉換器(DAC)獲得模擬訊號輸出。一個基本的DDS系統由基準時鐘fclk、相位累加器、相位/幅值查詢表(ROM)、數模轉換器(DAC)及低通濾波器(LPF)組成,如圖1所示。

  工作原理:預先在ROM中存入所需波形的幅度編碼,每來一個時鐘訊號,N位的相位累加器將頻率控制字K累加,同時累加器輸出序列的高M位去定址相位/幅值查詢表,得到一系列離散的幅度編碼(Y位)。該幅碼經數模轉換後得到模擬的階梯電壓,再經低通濾波器平滑後,就可得到所需要的波形訊號。

  DDS的輸出訊號頻率fout=K·fclk/2N,頻率解析度為Δfout=foutmin/2N,實際最高輸出頻率取foutmax=fclk×40%,相對頻寬為foutmax/foutmin=2N×40%。

  3.DDS的最佳化設計

  傳統DDS結構的運算速度受相位累加器運算速率的限制,輸出頻率解析度受相位/幅值查詢表(ROM)儲存容量的限制。大多數情況下頻率控制字的位數都為20位以上,而傳統DDS結構的相位累加器是採用一級式全加器和暫存器實現的.。多位數的加法計算是由低到高序列進行的,這樣會因為位數多而影響計算速度。傳統DDS結構的相位/幅值查詢表(ROM)是沒有經過最佳化設計,而是直接將波形的取樣資料放入ROM,這樣會佔用很大的空間,而硬體資源是有限的。

  3.1 基於流水線結構的累加器設計

  相位累加器是DDS的關鍵部件之一,它的運算速度直接影響DDS的運算速度。為了改進傳統DDS結構因頻率控制字位數多而帶來的計算速度問題,採用DSP晶片設計中的流水線結構,並在每級流水線中設計了反饋電路,形成了累加流水線工作狀態。將32位頻率控制字的相位累加器採用4級流水線結構實現,每級8位,原理如圖2所示。

  32位流水線累加器共4級鎖存,4級加法。第1級鎖存用於儲存並穩定32位輸入資料,中間每一級8位加法器均搭配一級暫存器,這樣可以減少毛刺。由流水線的原理可知,該累加器的整體速度取決於8位加法器。這樣整體計算速度比傳統的速度就提高了3倍。

  由於QUARTUSⅡ軟體中提供了引數化的宏功能模組庫(LPM),透過改變LPM中模組的某些引數,可以達到設計的要求,所以LPM是提高電路設計的一種有效方法。本設計中,相位累加器的各級加法器均呼叫引數化模組庫中的LPM_ADD_SUB模組,形成四級流水線工作狀態,並在每一級流水線中插入幾個暫存器來提高系統的資料吞吐率。

  3.2 ROM查詢表的最佳化設計

  根據波形的對稱性,可以對取樣波形資料的儲存進行最佳化,以便節省ROM空間。以正弦波為例,在區間內其波形是關於π/2對稱的,因此其區間內的波形可以透過對的波形關於π/2進行翻轉得到;同理區間內的波形可以透過對的波形關於橫軸翻轉得到。所以實際上ROM只需要儲存內的正弦函式值,通(下轉第133頁)(上接第108頁)過適當控制即可實現輸出一個完整週期的正弦函式值,從而大大減小儲存器的大小。最佳化的ROM結構框圖如圖3所示。

  首先將相位暫存器輸出的高M位總地址分為3部分:最高位作為資料的符號位,實現對資料正負的轉換,次高位作為地址的標誌位,實現對ROM地址的轉換。而剩下的低M—2位透過地址轉換器後作為ROM地址位。如果將最高位和次高位合併起來看,它們實質上是構成一個象限選擇器,其值從00至11分別代表第1、2、3、4象限。這樣只需傳統的DDS結構的1/4的儲存空間。

  用QUARTUSⅡ軟體中提供了引數化的宏功能模組庫(LPM)來設計,lpm_rom的波形儲存表只需要產生資料檔案*.mif,然後直接在定製lpm_rom時,新增資料檔案即可,但這種方法在FPGA支援內部嵌入式陣列塊(EAB)時才可以使用。mif檔案是在編譯和模擬過程中作為儲存器(ROM)初始化輸入的檔案,有多種方式可以建立mif檔案。

  4.模擬驗證

  透過FPGA的開發軟體Quartus II,將編譯綜合後的DDS設計檔案用軟體自帶的模擬器進行模擬,模擬波形如圖4所示,透過模擬波形驗證了設計是正確的。利用Quartus II自帶嵌入式邏輯分析儀Signal Tap II採集ROM輸出的資料所形成的波形,如圖5所示。從輸出波形可以驗證設計的正確性。

  5.結束語

  本文透過構建流水線結構的相位累加器和波形儲存表ROM的最佳化設計,改善了DDS傳統機構的所存在的兩個主要問題。設計呼叫QUARTUSⅡ軟體中提供了引數化的宏功能模組庫(LPM),對設計過程進行了詳細的描述,並模擬驗證了最佳化設計的正確性。經實驗測試,在QUARTUS II環境下選取同一種器件,採用最佳化後的DDS設計方法,不僅提高了工作頻,而且大大節省了資源。

  參考文獻

  劉凌,胡永生譯.數字訊號處理的FPGA實現.北京:清華大學出版社,2003,5.

  陳風波,冒燕,李海鴻.基於FPGA的世界數字頻率合成器設計.微計算機資訊,2006,22(5):197—199.

  鄒彥,莊嚴等.EDA技術與數字系統設計.北京:電子工業出版社,2007,4.

  潘松,王國棟.VHDL實用教程.成都:電子科技大學出版社,2001,3.

最近訪問