楊建華
基于FPGA和DDS技術的多通道信號源設計?
楊建華
(西安工業大學電子信息工程學院西安710032)
為了解決普通信號源頻率分辨率低、頻率準確度低、開發更新周期長、信號通道少的問題,文中設計并實現了一種以FPGA、高速D/A和低通濾波為核心,基于DDS技術的多功能多通道信號源。在FPGA中設計了PCI接口控制器、同步時鐘控制模塊、SRAM控制器、DDS模塊等。系統測試結果表明該系統硬件電路簡單可靠,能夠產生幅度和頻率可調的正弦波、方波、三角波、鋸齒波和任意波形信號,頻率分辨率可達0.01Hz,頻率準確度小于等于±0.1%。
直接數字頻率合成(DDS);FPGA;信號源;相位累加器
Class NumberTP273
在科研及教學領域的通信系統、自動化系統以及各種電子測量系統中,常常需要一個頻率精度和穩定度高,而且需要用到多種不同頻率和相位的信號進行系統測試或者數據分析。傳統的波形發生器都是由模擬的電路實現,受到硬件電路的限制,不僅產生的波形少,精度低,而且體積大,靈活性差。直接數字頻率合成(Digital Frequeney Synthe?sis,DDS)是一種繼直接頻率合成法和間接頻率合成法之后,隨著電子技術的發展迅速崛起的第三代頻率合成技術[1~2]。隨著數字集成電路和微電子技術的發展,DDS技術日益顯出它的優越性。DDS技術具有頻率分辨率高、頻率切換速度快、頻率切換時相位連續等優點[3~5]。目前,市場上已出現許多DDS專用芯片,但是專用芯片有很多局限性,比如控制方式固定,同時只能輸出一路信號,而且價格普遍偏高[6~7]。利用FPGA的高速、高性能和可重構性,將其作為核心控制單元可平衡系統的性能與成本。美國佛羅里達國際大學在其設計的通用型多通道信號發生器中,采用單個Xilinx Virtex IIFPGA開發板作為系統核心控制器[8],Roy Taniza等在設計雷達系統的信號模擬器時,使用了單塊Xilinx高密度FPGA實現了純數字式DDS[9]采用FPGA以及其它處理器是設計信號源實現高速性、可靠性和高集成度的重要手段。本文基于DDS基本原理,設計了基于FPGA的信號源硬件平臺,在QuartusⅡ上完成了信號發生器的邏輯設計、綜合及仿真,最終在硬件平臺上調試驗證,實驗測試結果達到設計要求。
DDS電路一般由參考時鐘、相位累加器、波形存儲器、D/A轉換器(DAC)和低通濾波器(LPF)等組成。
DDS的核心是N位的相位累加器。在時鐘脈沖控制下,相位累加器不斷對頻率控制字K進行累加,將累加器的輸出作為讀波形存儲器ROM的地址,讀出波形數據,然后再進行調幅、數模轉換、濾波從而得到光滑的波形信號。對于正弦信號發生器,它的輸出可以用下式來描述,方波、三角波和鋸齒波原理相似。

其中Sout是指該信號發生器的輸出信號波形,fout指輸出信號對應的頻率。離散化處理后可得在一個clk周期Tclk,相位θ的變化量為

為了對Δθ進行數字量化,把2π切割成2N,由此每個clk周期的相位增量Δθ用量化值BΔθ來表述:,且BΔθ為整數。與式(2)聯立,可得:

顯然,信號發生器的輸出可描述為

其中θk-1指前一個clk周期的相位值,同樣得出:

整個系統采用PC機和FPGA來設計實現,系統總體結構框圖如圖1所示。通用PC機主要完成信號源工作模式選擇、控制參數設置、信號數據的生成及下載、狀態檢測等功能,為用戶提供友好的操作平臺。FPGA作為信號源主控制器,主要實現數據傳輸存儲、信號模擬輸出、接口通訊協議以及同步控制等功能,FPGA與通用計算機之間通過高速PCI總線實現數據通訊。

圖1 信號源總體結構框圖
在系統中為每個通道設計了兩片大容量SRAM作為信號數據存儲區,兩塊SRAM在FPGA的控制下實現交替操作,實現信號的持續性和完整性。
3.2.1 FPGA控制邏輯整體框架
FPGA是系統的核心控制模塊,實現系統所有數字邏輯的控制。FPGA控制邏輯的整體結構如圖2所示,包括PCI接口控制器、同步時鐘控制模塊、SRAM控制器、DDS等幾個模塊。
在130 ℃條件下分別進行帶殼、不帶殼烘焙10、20、30、40 min,種籽衣總黃酮含量測定結果如圖 2所示。與未烘焙種籽衣相比,種籽衣經過不同條件烘焙后總黃酮含量呈現不同程度的損失,其中,帶殼焙烘焙種籽衣在20 min總黃酮含量較10 min略微上升后,繼續烘焙總黃酮含量又會下降;不帶殼烘焙的種籽衣總黃酮含量在10~30 min時間段呈現上升趨勢,隨后在40 min時降到最低。

圖2 信號源FPGA控制邏輯結構框圖
主要完成以下主要功能:
1)實現PCI總線向本地總線的轉換。
2)實現DDS直接數字頻率合成器,通過DDS控制器實現對典型信號和任意信號的生成與參數控制。
3)SRAM控制器實現兩個SRAM的相互交替讀寫操作,保證數據輸出的連續性和穩定性。
4)通過控制命令及狀態寄存器模塊,使得上位PC和FPGA控制器之間的交互控制更加簡單可靠。
3.2.2 DDS的FPGA設計實現
DDS的FPGA實現功能結構如圖3所示。

圖3 DDS功能結構圖
DDS系統時鐘由同步時鐘分頻處理后得到,相位累加器是DDS系統的核心,為了充分發揮其優越性,累加器的位數通常都較大,相位控制字可控制信號的相位及頻率輸出特性。信號數據存儲區是仿真數據的緩沖存儲區域,DDS系統通過相位累加器的相位輸出來查找數據存儲區中的相應數據并將其讀出轉換;對于用戶的自定義信號,因為數據形式和內容的隨機性較大,數據的存儲緩沖器采用SRAM實現,用戶可通過更新SRAM的數據內容來實現對不同目標信號的模擬仿真;對于常用的正弦、方波等信號,設計中將其數據固化在FPGA內部,在FPGA配置完畢后自動加載,用戶只需通過上位機進行類型選擇和參數設定就可實現典型信號的模擬輸出。
1)相位累加器模塊設計

圖4 相位累加器模塊

圖5 相位累加器功能仿真圖
2)數據存儲輸出控制器設計
乒乓機制處理的流程描述如下:輸入數據流通過“輸入數據流選擇單元”,分時地將數據流分配到兩個數據緩沖模塊。數據緩沖模塊采用雙口SRAM模塊。在第一個緩沖周期,將輸入的數據流緩存到數據緩沖模塊1中;在第二個緩沖周期,通過“輸入數據流選擇單元”的切換,將輸入的數據流緩存到數據緩沖模塊2中,與此同時,將數據緩沖模塊1緩存的第一個周期的數據進行預處理,并通過“輸出數據流選擇單元”的選擇,送到“數據流運算處理模塊”被運算處理。在第三個緩沖周期,通過“輸入數據流選擇單元”的切換,將輸入的數據流緩存到數據緩沖模塊1,與此同時,將數據緩沖模塊2緩存的第二個周期的數據預處理,并通過“輸出數據流選擇單元”的選擇,送到“數據流運算處理模塊”運算處理,如此不斷循環[10]。
3)同步時鐘設計
為保證系統各模塊的同步性,系統采用Cy?clone II的全局時鐘驅動網絡。Cyclone II系列PLL具有時鐘倍頻和分頻、相位偏移、可編程占空比和外部時鐘輸出,可進行系統級的時鐘管理和偏移控制。采用PLL可實現更高的內部時鐘頻率,通過全局時鐘網絡可使時鐘延遲和時鐘偏移最小,減小或調整時鐘到輸出(TCO)和建立(TSU)時間。信號模擬輸出的同步時鐘結構如圖6所示,主要包括PLL鎖相環模塊、時鐘分頻模塊。設計中時鐘信號由專用的時鐘引腳CLK[0]輸入,然后經過PLL鎖相環實現鎖相倍頻。為了彌補傳統DDS由頻率控制字累加而引起的精度損耗,這里同時設計了時鐘頻率控制模塊,用戶可通過設定時鐘頻率控制模塊的參數來實現對輸出信號頻率特性的調整。
4)PCI通信接口控制器IP核的設計
PCI接口IP核的設計采用了自頂向下的設計方法,按照功能需求將其劃分為不同的子模塊,主要包括頂層模塊、配置選擇模塊、鎖存模塊、狀態機控制模塊和基址檢查模塊等,其中頂層模塊是各子模塊的互連接口,同時定義了整個IP核的外圍信號。PCI接口IP核的總體功能結構如圖7所示。

圖6 FPGA控制模塊功能結構

圖7 PCI接口IP核總體功能結構圖
根據系統要求,FPGA為主控制器,與外部SRAM和DAC轉換電路直接連接,實現數據存儲和輸出的時序控制;FPGA同時實現PCI接口控制器,通過其內部PCI接口IP軟核實現與控制計算機的命令和數據交換,完成用戶對信號模式和參數的控制。系統在FPGA內部設計生成了正弦、方波、三角和鋸齒波四種典型信號,任意波形信號數據由用戶生成,通過通信端口下載到外部緩沖存儲去,適用于實驗數據分析。這里給出幾種信號波形(正弦波(A=±3.2V,f=625Hz),鋸齒波(A=±11V,f= 660Hz),任意信號波形的測試結果,如圖8~圖10所示。

圖8 正弦波測試結果

圖9 鋸齒波測試結果

圖10 任意信號測試結果
實驗測試表明該系統輸出40MHz正弦信號時仍能保持比較好的波形形狀,而最低輸出頻率能達到0.01Hz;輸出10MHz三角波頻率仍能維持良好的形狀,對于方波,輸出頻率到1MHz時出現了明顯的過沖現象。依據頻率準確度計算公式計算數據如表1所示,通過分析可以看出系統的頻率準確度≤±0.1%。

表1 頻率準確度
從測試結果可以看出,系統能夠靈活模擬常用的典型信號和用戶定義的任意信號,且信號頻率和幅值均可通過用戶設置實現快捷調節,滿足設計要求。
本目前市場上采用專用DDS芯片開發的信號源比較多,它們輸出頻率高、波形好、功能也較多,但采用FPGA設計的DDS信號源與之相比較,具有如下優勢,基于FPGA的DDS信號源可以在一片FPGA芯片上實現信號源的信號產生和控制,并且只要改變存儲波形信息ROM數據,就可以靈活地實現任意波形發生器。本設計是基于DDS技術,采用FPGA器件設計并實現的信號源,能夠產生幅度和頻率可調的正弦波、方波、三角波和鋸齒波,頻率范圍在0.01Hz~40MHz,頻率分辨率達0.01Hz,頻率準確度≤±0.1%。易實現控制,并且整個系統可由一片FPGA芯片外加鍵盤、LCD、DAC和LPF完成,因而電路簡單,性能穩定。
[1]王丹,李平,文玉梅,等.采用DDS頻率合成的虛擬信號發生器研究[J].傳感技術學報,2007,20(3):586-591.
WANG Dan,LIPing,WEN Yumei,etal.Research on Vir?tual Signal Generator Based on DDS Frequency Synthesiz?er[J].Chinese Journal of Sensors and Actuators,2007,20(3):586-591.
[2]孫群,宋卿.基于DDS技術的便攜式波形信號發生器[J].儀表技術與傳感器,2009(4):69-70.
SUN Qun,SONG Qing.Portable Signal Generator Based on DirectDigital Synthesis[J].Instrument Technique and Sensor,2009(4):69-70.
[3]Kent Gary W,Sheng Neng-Haung.A High Purity,High?Speed Direct Frequency Synthesizer[C]//IEEE Interna?tionalFrequency Control Symposium,1995:207-211.
[4]劉晨,王森章.直接數字頻率合成器的設計及FPGA實現[J].微電子與計算機,2004,21(5):63-65.
LIU Chen,WANG Senzhang.Design of DDS and Imple?mentation with FPGA[J].Microelectronics and Computer,2004,21(5):63-65.
[5]高書亮,黃智剛,楊東凱.基于DDS的BOC(m,n)信號發生器及其FPGA實現[J].數據采集與處理,2009,24(2):243-247.
GAO Shuliang,HUANG Zhigang,YANG Dongkai.BOC(m,n)Signal Generator Based on DDS and Its FPGA Im?plementation[J].Journal of Data Acquisition&Process?ing,2009,24(2):243-247.
[6]高琴,姜壽山,魏忠義.基于FPGA的DDS信號源設計與實現[J].西安工程科技學院學報,2006,20(2):210-214.
GAO Qin,JIANG Shoushan,WEIZhongyi.Design and re?alization of signal generator with DDS based on FPGA[J]. Journal of Xi'an University of Engineering Science and Technology,2006,20(2):210-214.
[7]曾云,韓順鋒.基于FPGA的DDS信號源設計及誤差分析[J].艦船電子工程,2009,29(2):72-74.
ZENG Yun,HAN Shunfeng.Design and Error Analysis of DDS Signal Generator Based on FPGA[J].Ship Electron?ic Engineering,2009,29(2):72-74.
[8]Yao J F,Wunnava S V.General Purpose Multi-Channel Signal Generator Based on Xilinx Virtex II Pro FPGAs[C]//International Conference on Asic,2007:98-101.
[9]Taniz a R,Jadia K.High Density FPGA Based Waveform Generation for Radars[M].IEEE Press,2010.
[10]F.Cardells,J.Valls.Optimization of Direct Digital Fre?quency Synthesizer Based on CORDIC[J].IEEE Elec?tronics Letters,2001,37(21):1278-1280.
A Multichannel SignalGenerator Based on DDS and FPGA
YANG Jianhua
(Schoolof Electronic Information Engineering,Xi'an TechnologicalUniversity,Xi'an 710032)
In order to solve the problem of the low frequency resolution,low frequency accuracy,the long cycle of develop?mentand update and the less signalchannel,a multi-function and multi-channelsignalgenerator which is based on DDS technolo?gy with FPGA,high-speed D/A and a low-pass filter as the core is designed and implemented.In the FPGA,the PCIinterface con?troller,synchronous clock controlmodule,SRAM controller and DDS module etc are designed.The experimentresults show thatthe system is simple and reliable and can generate sine wave,square wave,triangular wave,saw tooth wave and arbitrary waveform sig?nal.The frequency resolution comes up to 0.01Hz and frequency accuracy is equalor lesser than±0.1%.
directdigitalsynthesis,FPGA,signalsource,phase accumulator
TP273
10.3969/j.issn.1672-9722.2017.08.042
2017年2月5日,
2017年3月20日
國家自然科學基金:深海空間站回轉型穿梭器網絡化控制性能分析與優化(編號:61473224);陜西省教育廳專項科研計劃項目(編號:16JK1372)資助。
楊建華,男,博士研究生,講師,研究方向:控制理論與控制工程,電子技術應用。