楊建華
基于FPGA和DDS技術(shù)的多通道信號源設(shè)計?
楊建華
(西安工業(yè)大學(xué)電子信息工程學(xué)院西安710032)
為了解決普通信號源頻率分辨率低、頻率準(zhǔn)確度低、開發(fā)更新周期長、信號通道少的問題,文中設(shè)計并實現(xiàn)了一種以FPGA、高速D/A和低通濾波為核心,基于DDS技術(shù)的多功能多通道信號源。在FPGA中設(shè)計了PCI接口控制器、同步時鐘控制模塊、SRAM控制器、DDS模塊等。系統(tǒng)測試結(jié)果表明該系統(tǒng)硬件電路簡單可靠,能夠產(chǎn)生幅度和頻率可調(diào)的正弦波、方波、三角波、鋸齒波和任意波形信號,頻率分辨率可達(dá)0.01Hz,頻率準(zhǔn)確度小于等于±0.1%。
直接數(shù)字頻率合成(DDS);FPGA;信號源;相位累加器
Class NumberTP273
在科研及教學(xué)領(lǐng)域的通信系統(tǒng)、自動化系統(tǒng)以及各種電子測量系統(tǒng)中,常常需要一個頻率精度和穩(wěn)定度高,而且需要用到多種不同頻率和相位的信號進(jìn)行系統(tǒng)測試或者數(shù)據(jù)分析。傳統(tǒng)的波形發(fā)生器都是由模擬的電路實現(xiàn),受到硬件電路的限制,不僅產(chǎn)生的波形少,精度低,而且體積大,靈活性差。直接數(shù)字頻率合成(Digital Frequeney Synthe?sis,DDS)是一種繼直接頻率合成法和間接頻率合成法之后,隨著電子技術(shù)的發(fā)展迅速崛起的第三代頻率合成技術(shù)[1~2]。隨著數(shù)字集成電路和微電子技術(shù)的發(fā)展,DDS技術(shù)日益顯出它的優(yōu)越性。DDS技術(shù)具有頻率分辨率高、頻率切換速度快、頻率切換時相位連續(xù)等優(yōu)點[3~5]。目前,市場上已出現(xiàn)許多DDS專用芯片,但是專用芯片有很多局限性,比如控制方式固定,同時只能輸出一路信號,而且價格普遍偏高[6~7]。利用FPGA的高速、高性能和可重構(gòu)性,將其作為核心控制單元可平衡系統(tǒng)的性能與成本。美國佛羅里達(dá)國際大學(xué)在其設(shè)計的通用型多通道信號發(fā)生器中,采用單個Xilinx Virtex IIFPGA開發(fā)板作為系統(tǒng)核心控制器[8],Roy Taniza等在設(shè)計雷達(dá)系統(tǒng)的信號模擬器時,使用了單塊Xilinx高密度FPGA實現(xiàn)了純數(shù)字式DDS[9]采用FPGA以及其它處理器是設(shè)計信號源實現(xiàn)高速性、可靠性和高集成度的重要手段。本文基于DDS基本原理,設(shè)計了基于FPGA的信號源硬件平臺,在QuartusⅡ上完成了信號發(fā)生器的邏輯設(shè)計、綜合及仿真,最終在硬件平臺上調(diào)試驗證,實驗測試結(jié)果達(dá)到設(shè)計要求。
DDS電路一般由參考時鐘、相位累加器、波形存儲器、D/A轉(zhuǎn)換器(DAC)和低通濾波器(LPF)等組成。
DDS的核心是N位的相位累加器。在時鐘脈沖控制下,相位累加器不斷對頻率控制字K進(jìn)行累加,將累加器的輸出作為讀波形存儲器ROM的地址,讀出波形數(shù)據(jù),然后再進(jìn)行調(diào)幅、數(shù)模轉(zhuǎn)換、濾波從而得到光滑的波形信號。對于正弦信號發(fā)生器,它的輸出可以用下式來描述,方波、三角波和鋸齒波原理相似。
其中Sout是指該信號發(fā)生器的輸出信號波形,fout指輸出信號對應(yīng)的頻率。離散化處理后可得在一個clk周期Tclk,相位θ的變化量為
為了對Δθ進(jìn)行數(shù)字量化,把2π切割成2N,由此每個clk周期的相位增量Δθ用量化值BΔθ來表述:,且BΔθ為整數(shù)。與式(2)聯(lián)立,可得:
顯然,信號發(fā)生器的輸出可描述為
其中θk-1指前一個clk周期的相位值,同樣得出:
整個系統(tǒng)采用PC機(jī)和FPGA來設(shè)計實現(xiàn),系統(tǒng)總體結(jié)構(gòu)框圖如圖1所示。通用PC機(jī)主要完成信號源工作模式選擇、控制參數(shù)設(shè)置、信號數(shù)據(jù)的生成及下載、狀態(tài)檢測等功能,為用戶提供友好的操作平臺。FPGA作為信號源主控制器,主要實現(xiàn)數(shù)據(jù)傳輸存儲、信號模擬輸出、接口通訊協(xié)議以及同步控制等功能,F(xiàn)PGA與通用計算機(jī)之間通過高速PCI總線實現(xiàn)數(shù)據(jù)通訊。
圖1 信號源總體結(jié)構(gòu)框圖
在系統(tǒng)中為每個通道設(shè)計了兩片大容量SRAM作為信號數(shù)據(jù)存儲區(qū),兩塊SRAM在FPGA的控制下實現(xiàn)交替操作,實現(xiàn)信號的持續(xù)性和完整性。
3.2.1 FPGA控制邏輯整體框架
FPGA是系統(tǒng)的核心控制模塊,實現(xiàn)系統(tǒng)所有數(shù)字邏輯的控制。FPGA控制邏輯的整體結(jié)構(gòu)如圖2所示,包括PCI接口控制器、同步時鐘控制模塊、SRAM控制器、DDS等幾個模塊。
在130 ℃條件下分別進(jìn)行帶殼、不帶殼烘焙10、20、30、40 min,種籽衣總黃酮含量測定結(jié)果如圖 2所示。與未烘焙種籽衣相比,種籽衣經(jīng)過不同條件烘焙后總黃酮含量呈現(xiàn)不同程度的損失,其中,帶殼焙烘焙種籽衣在20 min總黃酮含量較10 min略微上升后,繼續(xù)烘焙總黃酮含量又會下降;不帶殼烘焙的種籽衣總黃酮含量在10~30 min時間段呈現(xiàn)上升趨勢,隨后在40 min時降到最低。
圖2 信號源FPGA控制邏輯結(jié)構(gòu)框圖
主要完成以下主要功能:
1)實現(xiàn)PCI總線向本地總線的轉(zhuǎn)換。
2)實現(xiàn)DDS直接數(shù)字頻率合成器,通過DDS控制器實現(xiàn)對典型信號和任意信號的生成與參數(shù)控制。
3)SRAM控制器實現(xiàn)兩個SRAM的相互交替讀寫操作,保證數(shù)據(jù)輸出的連續(xù)性和穩(wěn)定性。
4)通過控制命令及狀態(tài)寄存器模塊,使得上位PC和FPGA控制器之間的交互控制更加簡單可靠。
3.2.2 DDS的FPGA設(shè)計實現(xiàn)
DDS的FPGA實現(xiàn)功能結(jié)構(gòu)如圖3所示。
圖3 DDS功能結(jié)構(gòu)圖
DDS系統(tǒng)時鐘由同步時鐘分頻處理后得到,相位累加器是DDS系統(tǒng)的核心,為了充分發(fā)揮其優(yōu)越性,累加器的位數(shù)通常都較大,相位控制字可控制信號的相位及頻率輸出特性。信號數(shù)據(jù)存儲區(qū)是仿真數(shù)據(jù)的緩沖存儲區(qū)域,DDS系統(tǒng)通過相位累加器的相位輸出來查找數(shù)據(jù)存儲區(qū)中的相應(yīng)數(shù)據(jù)并將其讀出轉(zhuǎn)換;對于用戶的自定義信號,因為數(shù)據(jù)形式和內(nèi)容的隨機(jī)性較大,數(shù)據(jù)的存儲緩沖器采用SRAM實現(xiàn),用戶可通過更新SRAM的數(shù)據(jù)內(nèi)容來實現(xiàn)對不同目標(biāo)信號的模擬仿真;對于常用的正弦、方波等信號,設(shè)計中將其數(shù)據(jù)固化在FPGA內(nèi)部,在FPGA配置完畢后自動加載,用戶只需通過上位機(jī)進(jìn)行類型選擇和參數(shù)設(shè)定就可實現(xiàn)典型信號的模擬輸出。
1)相位累加器模塊設(shè)計
圖4 相位累加器模塊
圖5 相位累加器功能仿真圖
2)數(shù)據(jù)存儲輸出控制器設(shè)計
乒乓機(jī)制處理的流程描述如下:輸入數(shù)據(jù)流通過“輸入數(shù)據(jù)流選擇單元”,分時地將數(shù)據(jù)流分配到兩個數(shù)據(jù)緩沖模塊。數(shù)據(jù)緩沖模塊采用雙口SRAM模塊。在第一個緩沖周期,將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊1中;在第二個緩沖周期,通過“輸入數(shù)據(jù)流選擇單元”的切換,將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊2中,與此同時,將數(shù)據(jù)緩沖模塊1緩存的第一個周期的數(shù)據(jù)進(jìn)行預(yù)處理,并通過“輸出數(shù)據(jù)流選擇單元”的選擇,送到“數(shù)據(jù)流運(yùn)算處理模塊”被運(yùn)算處理。在第三個緩沖周期,通過“輸入數(shù)據(jù)流選擇單元”的切換,將輸入的數(shù)據(jù)流緩存到數(shù)據(jù)緩沖模塊1,與此同時,將數(shù)據(jù)緩沖模塊2緩存的第二個周期的數(shù)據(jù)預(yù)處理,并通過“輸出數(shù)據(jù)流選擇單元”的選擇,送到“數(shù)據(jù)流運(yùn)算處理模塊”運(yùn)算處理,如此不斷循環(huán)[10]。
3)同步時鐘設(shè)計
為保證系統(tǒng)各模塊的同步性,系統(tǒng)采用Cy?clone II的全局時鐘驅(qū)動網(wǎng)絡(luò)。Cyclone II系列PLL具有時鐘倍頻和分頻、相位偏移、可編程占空比和外部時鐘輸出,可進(jìn)行系統(tǒng)級的時鐘管理和偏移控制。采用PLL可實現(xiàn)更高的內(nèi)部時鐘頻率,通過全局時鐘網(wǎng)絡(luò)可使時鐘延遲和時鐘偏移最小,減小或調(diào)整時鐘到輸出(TCO)和建立(TSU)時間。信號模擬輸出的同步時鐘結(jié)構(gòu)如圖6所示,主要包括PLL鎖相環(huán)模塊、時鐘分頻模塊。設(shè)計中時鐘信號由專用的時鐘引腳CLK[0]輸入,然后經(jīng)過PLL鎖相環(huán)實現(xiàn)鎖相倍頻。為了彌補(bǔ)傳統(tǒng)DDS由頻率控制字累加而引起的精度損耗,這里同時設(shè)計了時鐘頻率控制模塊,用戶可通過設(shè)定時鐘頻率控制模塊的參數(shù)來實現(xiàn)對輸出信號頻率特性的調(diào)整。
4)PCI通信接口控制器IP核的設(shè)計
PCI接口IP核的設(shè)計采用了自頂向下的設(shè)計方法,按照功能需求將其劃分為不同的子模塊,主要包括頂層模塊、配置選擇模塊、鎖存模塊、狀態(tài)機(jī)控制模塊和基址檢查模塊等,其中頂層模塊是各子模塊的互連接口,同時定義了整個IP核的外圍信號。PCI接口IP核的總體功能結(jié)構(gòu)如圖7所示。
圖6 FPGA控制模塊功能結(jié)構(gòu)
圖7 PCI接口IP核總體功能結(jié)構(gòu)圖
根據(jù)系統(tǒng)要求,F(xiàn)PGA為主控制器,與外部SRAM和DAC轉(zhuǎn)換電路直接連接,實現(xiàn)數(shù)據(jù)存儲和輸出的時序控制;FPGA同時實現(xiàn)PCI接口控制器,通過其內(nèi)部PCI接口IP軟核實現(xiàn)與控制計算機(jī)的命令和數(shù)據(jù)交換,完成用戶對信號模式和參數(shù)的控制。系統(tǒng)在FPGA內(nèi)部設(shè)計生成了正弦、方波、三角和鋸齒波四種典型信號,任意波形信號數(shù)據(jù)由用戶生成,通過通信端口下載到外部緩沖存儲去,適用于實驗數(shù)據(jù)分析。這里給出幾種信號波形(正弦波(A=±3.2V,f=625Hz),鋸齒波(A=±11V,f= 660Hz),任意信號波形的測試結(jié)果,如圖8~圖10所示。
圖8 正弦波測試結(jié)果
圖9 鋸齒波測試結(jié)果
圖10 任意信號測試結(jié)果
實驗測試表明該系統(tǒng)輸出40MHz正弦信號時仍能保持比較好的波形形狀,而最低輸出頻率能達(dá)到0.01Hz;輸出10MHz三角波頻率仍能維持良好的形狀,對于方波,輸出頻率到1MHz時出現(xiàn)了明顯的過沖現(xiàn)象。依據(jù)頻率準(zhǔn)確度計算公式計算數(shù)據(jù)如表1所示,通過分析可以看出系統(tǒng)的頻率準(zhǔn)確度≤±0.1%。
表1 頻率準(zhǔn)確度
從測試結(jié)果可以看出,系統(tǒng)能夠靈活模擬常用的典型信號和用戶定義的任意信號,且信號頻率和幅值均可通過用戶設(shè)置實現(xiàn)快捷調(diào)節(jié),滿足設(shè)計要求。
本目前市場上采用專用DDS芯片開發(fā)的信號源比較多,它們輸出頻率高、波形好、功能也較多,但采用FPGA設(shè)計的DDS信號源與之相比較,具有如下優(yōu)勢,基于FPGA的DDS信號源可以在一片F(xiàn)PGA芯片上實現(xiàn)信號源的信號產(chǎn)生和控制,并且只要改變存儲波形信息ROM數(shù)據(jù),就可以靈活地實現(xiàn)任意波形發(fā)生器。本設(shè)計是基于DDS技術(shù),采用FPGA器件設(shè)計并實現(xiàn)的信號源,能夠產(chǎn)生幅度和頻率可調(diào)的正弦波、方波、三角波和鋸齒波,頻率范圍在0.01Hz~40MHz,頻率分辨率達(dá)0.01Hz,頻率準(zhǔn)確度≤±0.1%。易實現(xiàn)控制,并且整個系統(tǒng)可由一片F(xiàn)PGA芯片外加鍵盤、LCD、DAC和LPF完成,因而電路簡單,性能穩(wěn)定。
[1]王丹,李平,文玉梅,等.采用DDS頻率合成的虛擬信號發(fā)生器研究[J].傳感技術(shù)學(xué)報,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技術(shù)的便攜式波形信號發(fā)生器[J].儀表技術(shù)與傳感器,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]劉晨,王森章.直接數(shù)字頻率合成器的設(shè)計及FPGA實現(xiàn)[J].微電子與計算機(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)信號發(fā)生器及其FPGA實現(xiàn)[J].數(shù)據(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信號源設(shè)計與實現(xiàn)[J].西安工程科技學(xué)院學(xué)報,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信號源設(shè)計及誤差分析[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,F(xiàn)PGA,signalsource,phase accumulator
TP273
10.3969/j.issn.1672-9722.2017.08.042
2017年2月5日,
2017年3月20日
國家自然科學(xué)基金:深??臻g站回轉(zhuǎn)型穿梭器網(wǎng)絡(luò)化控制性能分析與優(yōu)化(編號:61473224);陜西省教育廳專項科研計劃項目(編號:16JK1372)資助。
楊建華,男,博士研究生,講師,研究方向:控制理論與控制工程,電子技術(shù)應(yīng)用。