国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

基于FPGA與諧波合成信號(hào)發(fā)生器的實(shí)現(xiàn)

2018-01-22 07:15張新吳鳳云王帆
現(xiàn)代電子技術(shù) 2018年2期

張新+吳鳳云+王帆

摘 要: 提出一種結(jié)合傅里葉級(jí)數(shù)展開(kāi)和DDS原理產(chǎn)生任意波形信號(hào)發(fā)生器的實(shí)現(xiàn)方法。利用FPGA設(shè)計(jì)了15個(gè)DDS模塊,將一周期正弦波的樣值寫(xiě)入DDS模塊的ROM表。對(duì)目標(biāo)信號(hào)進(jìn)行傅里葉變換得到信號(hào)各次諧波的頻率和幅值,取其1~15次諧波的頻率作為每個(gè)DDS模塊的頻率控制字,將各個(gè)DDS模塊輸出的樣值與輸入該模塊的頻率對(duì)應(yīng)諧波幅值的乘積進(jìn)行累加,經(jīng)低通濾波器輸出最終所需波形。測(cè)試表明,利用該實(shí)現(xiàn)方法得到的信號(hào)發(fā)生器輸出波形穩(wěn)定、頻率轉(zhuǎn)換速度快、精度在0.002 79 Hz以?xún)?nèi)。

關(guān)鍵詞: FPGA; DDS; 諧波合成; 信號(hào)發(fā)生器; ROM; 頻率轉(zhuǎn)換速度

中圖分類(lèi)號(hào): TN911.7?34; TN741 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2018)02?0174?05

Abstract: An implementation method of the signal generator which can generate the arbitrary waveform by combining Fourier series expansion and DDS principles is proposed. The FPGA is used to design 15 DDS modules, and write the sample values of a periodic sine wave into the ROM list of DDS modules. The Fourier transform is performed for the target signal to get the frequency and amplitude of the signals each harmonic. The frequencies of 1?15 harmonics are taken as the frequency control words of each DDS module. The sample values output by each DDS module and the product of harmonic amplitudes corresponding to the frequency input into this module are accumulated. The analog signal is output through the low?pass filter to get the desired waveform. The test results show that the signal generator implemented with the method has stable output waveform and fast frequency conversion speed, and its accuracy is within 0.002 79 Hz.

Keywords: FPGA; DDS; harmonic synthesis; signal generator; ROM; frequency conversion speed

0 引 言

傳統(tǒng)的波形發(fā)生器只能產(chǎn)生一些常規(guī)的信號(hào)如正弦波、方波、脈沖波、三角波等。隨著科學(xué)實(shí)驗(yàn)研究的需求不斷發(fā)展,傳統(tǒng)的波形發(fā)生器在一些特定的場(chǎng)合已經(jīng)不能滿(mǎn)足要求,許多應(yīng)用研究領(lǐng)域需要一些不規(guī)則的信號(hào)用于系統(tǒng)特性的研究,這就需要能產(chǎn)生現(xiàn)場(chǎng)所需波形的任意信號(hào)發(fā)生器。

任意信號(hào)發(fā)生器的實(shí)現(xiàn)方案主要有可變時(shí)鐘計(jì)數(shù)器尋址[1],DMA輸出和直接數(shù)字頻率合成(DDS)[2]等多種方式。目前任意信號(hào)發(fā)生器的研制主要是基于FPGA編程技術(shù)以及DDS原理,采用上位機(jī)軟件編輯任意波形時(shí)域數(shù)據(jù),通過(guò)改寫(xiě)FPGA中波形ROM的數(shù)據(jù),從而生成所需的各種任意波形[2?4]。但是,對(duì)于只讀存儲(chǔ)器(ROM)數(shù)據(jù)的改寫(xiě)必須每次通過(guò)程序初始化波形ROM,寫(xiě)入的數(shù)據(jù)必須是一整周期的時(shí)域波形數(shù)據(jù),不易操作。為了能夠更加簡(jiǎn)潔的改寫(xiě)波形存儲(chǔ)器的數(shù)據(jù),把存放波形量化表的ROM換成了可以改寫(xiě)的RAM,這樣通過(guò)與RAM的接口可以改變存放在波形RAM中的數(shù)據(jù)從而實(shí)現(xiàn)任意波形發(fā)生器[5?8]。然而,RAM作為一種隨機(jī)讀寫(xiě)存儲(chǔ)器,在儀器掉電或重啟后,RAM中數(shù)據(jù)就會(huì)丟失,因此,這種方法在每次使用時(shí)都要重寫(xiě)RAM數(shù)據(jù)。為了能夠穩(wěn)定地產(chǎn)生波形數(shù)據(jù),在信號(hào)波形輸出的算法中,采用一種在硬件設(shè)計(jì)中改進(jìn)的DDS技術(shù),通過(guò)使用多個(gè)參考頻率源和動(dòng)態(tài)生成的波形數(shù)據(jù)方法以改進(jìn)穩(wěn)定性和減少輸出波形的失真[9]。另一種被廣泛采用的解決方案是使用DDS芯片產(chǎn)生正弦波,然后使用放大器、比較器、組合電阻器和電容器將正弦波轉(zhuǎn)換為矩形波和三角波等其他的波形[10]。但這種方案只能產(chǎn)生特定的波形,在任意波形實(shí)現(xiàn)方面具有局限性,芯片功耗較大,生產(chǎn)成本高。

考慮到實(shí)際應(yīng)用中的信號(hào)的主要能量集中在1~15次諧波,故本文采用一種新的方法,通過(guò)對(duì)DDS進(jìn)行理論分析。詳細(xì)介紹了利用FPGA芯片設(shè)計(jì)15個(gè)DDS模塊,每個(gè)模塊的波形ROM均存入一個(gè)周期正弦波樣值。正弦波形的樣值數(shù)據(jù)無(wú)需更改并且防止在掉電時(shí)丟失數(shù)據(jù),因此,在波形數(shù)據(jù)的存儲(chǔ)設(shè)計(jì)上采用ROM存儲(chǔ)方式,定制ROM的文件(.mif)由Matlab生成[11]。將信號(hào)最多15次諧波的頻率及其對(duì)應(yīng)幅值作為FPGA的輸入信號(hào),F(xiàn)PGA中完成不同頻率正弦波的疊加輸出。測(cè)試表明,本文采用的實(shí)現(xiàn)方法在輸出波形參數(shù)寫(xiě)入、刪除、修改等方面更加靈活,操作簡(jiǎn)單,輸出波形的頻率精度能夠滿(mǎn)足設(shè)計(jì)要求。

1 理論分析

現(xiàn)將整個(gè)周期的相位分成M份,則最小的相位增量為,若每次的相位增量選擇為最小相位增量的K倍,完成一整周正弦波的輸出需要經(jīng)過(guò)個(gè)參考時(shí)鐘周期,則輸出信號(hào)的頻率計(jì)算如下:endprint

式中:一般取,N為正整數(shù),表示相位累加器輸出字長(zhǎng);K為頻率控制字;為時(shí)鐘頻率,相位累加器在時(shí)鐘的控制下以步長(zhǎng)K為累加,輸出N位二進(jìn)制碼為波形ROM的地址,對(duì)波形ROM尋址,波形ROM輸出的幅值經(jīng)數(shù)/模轉(zhuǎn)換器轉(zhuǎn)換成模擬信號(hào)后再經(jīng)低通濾波器輸出。

DDS原理圖如圖1所示。

在物理學(xué)中,最基本的波形是諧波(正弦波),它是形如,其中A是振幅,是角頻率,是初相位。對(duì)于矩形波、鋸齒波等任意波形都可以用一系列諧波的疊加表示。

設(shè)是周期為T(mén)的某一波形,在一定條件下可以把它寫(xiě)成:

2 波形合成系統(tǒng)的總體設(shè)計(jì)

本系統(tǒng)在控制方面采用NXP公司推出的基于ARM Cortex?M3 內(nèi)核的微控制器LPC1768,F(xiàn)PGA內(nèi)實(shí)現(xiàn)信號(hào)發(fā)生器的數(shù)字電路部分。整個(gè)系統(tǒng)主要由LPC1768微處理器、FPGA模塊、DAC轉(zhuǎn)換單元、低通濾波器(LP),USB通信端口、LCD顯示模塊和按鍵控制等部分組成,其系統(tǒng)設(shè)計(jì)框圖如圖2所示。

2.1 微控制器設(shè)計(jì)

嵌入式軟件是在一個(gè)精簡(jiǎn)的小型實(shí)時(shí)性操作系統(tǒng)的基礎(chǔ)上實(shí)現(xiàn)信號(hào)的可編程輸出。微控制器(MCU)內(nèi)部FLASH存儲(chǔ)區(qū)為波形數(shù)據(jù)分配了32 kB的存儲(chǔ)空間(0x010000~0x017FFF),每種波形數(shù)據(jù)占4 kB的空間,因此在FLASH中可存儲(chǔ)8種波形。對(duì)波形數(shù)據(jù)的寫(xiě)入和刪除操作是通過(guò)配置控制器USB虛擬的串口來(lái)接收PC端的寫(xiě)入和刪除命令來(lái)完成,在寫(xiě)入文件過(guò)程中,首先是將所需合成波形的15種諧波頻率(Freq0~Freq14)以及每個(gè)頻率對(duì)應(yīng)的幅度參數(shù)(ACAmp0~ACAmp14)組合為一個(gè)文本文件,然后在PC端通過(guò)串口助手將該文件的波形數(shù)據(jù)寫(xiě)入到對(duì)應(yīng)的FLASH存儲(chǔ)區(qū)。程序運(yùn)行過(guò)程中,通過(guò)按鍵選擇某一波形作為輸出波形,微控制器將最多15種諧波的頻率轉(zhuǎn)換為頻率控制字以及將幅度參數(shù)(4 V范圍內(nèi))轉(zhuǎn)化為16位二進(jìn)制的表示方式,然后通過(guò)SPI的方式寫(xiě)入到FPGA各個(gè)對(duì)應(yīng)的寄存器中,F(xiàn)PGA啟動(dòng)DDS模塊轉(zhuǎn)換,最終產(chǎn)生所需的合成波形。同時(shí),微控制器運(yùn)行的操作系統(tǒng)還需要處理各種中斷(包括USB的中斷,按鍵的中斷)以及LCD的顯示等操作。

2.2 FPGA部分設(shè)計(jì)

FPGA主要實(shí)現(xiàn)以下兩部分功能:第一,系統(tǒng)的按鍵掃描由FPGA來(lái)完成,F(xiàn)PGA實(shí)時(shí)監(jiān)控是否有按鍵按下,當(dāng)發(fā)現(xiàn)有按鍵輸入時(shí),將去抖后的按鍵值保存,再以中斷的方式發(fā)送至MCU單元;第二,利用FPGA實(shí)現(xiàn)DDS原理,單個(gè)DDS模塊的RTL視圖如圖3所示,其中Freq[31:0]為頻率控制字K,該頻率控制字即為FPGA存儲(chǔ)的15種頻率控制字的一種,加法器ADDER與32位的相位寄存器構(gòu)成相位累加器,相位寄存器的輸出Phase[31:0]又反饋到加法器的輸入端進(jìn)行下個(gè)時(shí)鐘周期的累積,截取相位寄存器Phase[29:20]位作為正弦波ROM的地址RomAddr[9:0],因此,地址的可變范圍為1~1 023,調(diào)用IP 核形成波形存儲(chǔ)器時(shí)需要加載ROM 初始化數(shù)據(jù)文件(SinRom.mif 文件)即為對(duì)一個(gè)周期正弦波1 024點(diǎn)的量化存儲(chǔ)。

本系統(tǒng)FPGA部分設(shè)計(jì)了15個(gè)DDS模塊,能夠同時(shí)進(jìn)行最多15種頻率的合成,對(duì)于一些幅值為零的諧波,通過(guò)程序控制失能(Enable=0)其DDS模塊轉(zhuǎn)換,只進(jìn)行部分諧波的合成,各個(gè)模塊的輸出分別為DDS0_DataOut~DDS14_DataOut。

將DDS0_DataOut~DDS14_DataOut乘以其對(duì)應(yīng)的幅值Reg30_OUT0~Reg3E_OUT0(保存ACAmp0~

ACAmp14的二進(jìn)制值),再將所得結(jié)果輸入加法器進(jìn)行累加,最后輸出所需波形幅值量化數(shù)據(jù)。其FPGA實(shí)現(xiàn)幅值疊加如圖4所示。

這里使用DDS0和DDS1作為示意原理圖,其余模塊的實(shí)現(xiàn)采用相同的原理進(jìn)行疊加,因此,在FPGA能夠?qū)崿F(xiàn)15個(gè)模塊同時(shí)疊加。FPGA采用32 bit寬度的頻率控制字,時(shí)鐘為12 MHz,其輸出信號(hào)頻率為:

頻率精度為:

2.3 DAC電路設(shè)計(jì)

由FPGA輸出的數(shù)字幅度值是一串?dāng)?shù)字序列,最終要經(jīng)過(guò)D/A 轉(zhuǎn)換器才能轉(zhuǎn)換成相應(yīng)的模擬波形。為了保證數(shù)據(jù)處理結(jié)果的準(zhǔn)確性,DAC轉(zhuǎn)換器必須有足夠的轉(zhuǎn)換精度,同時(shí)為了能夠在較高頻率下工作,它必須有足夠快的轉(zhuǎn)換速度。此外還要考慮 DAC 的非線(xiàn)性和噪聲特性,綜合了各方面的因素之后,本設(shè)計(jì)采用16 bit并行DACDAC8820作為數(shù)/模轉(zhuǎn)換芯片。經(jīng)FPGA單元計(jì)算之后的數(shù)字波形數(shù)據(jù)由DAC1_D0~DAC_D15輸入DAC單元進(jìn)行轉(zhuǎn)換,轉(zhuǎn)換之后模擬信號(hào)經(jīng)一階放大電路,最終由DAC1_OUT輸出,具體電路設(shè)計(jì)如圖5所示。

2.4 濾波電路設(shè)計(jì)

由于運(yùn)算放大器具有近似理想的特性,且可以省去電感,得到接近理論預(yù)測(cè)的頻率響應(yīng)特性,構(gòu)成有源濾波電路后還具有一定的電壓放大和緩沖作用,并能減小體積。綜合考慮,系統(tǒng)采用運(yùn)算放大器構(gòu)成二階低通濾波器,電路原理圖設(shè)計(jì)如圖6所示。

通過(guò)選擇高精密度超低噪聲運(yùn)放、精心設(shè)計(jì)包含低通濾波器在內(nèi)的模擬加法電路以及合理PCB的設(shè)計(jì),能夠有效地降低噪聲。

3 測(cè)試分析

3.1 輸出波形測(cè)試

首先,通過(guò)Matlab軟件仿真出所需合成的波形,得到合成波形的頻率及幅值參數(shù);然后,將仿真所使用的參數(shù)寫(xiě)入到該信號(hào)發(fā)生器;最后,使用示波器截取最終的合成波形與仿真波形進(jìn)行對(duì)比分析。

矩形波、鋸齒波、任意波形Matlab仿真如圖7a)~圖9a)所示,從3幅可以得出所需合成的波形峰峰值為2,波形的周期T為1,對(duì)應(yīng)的頻率。

上述3種波形的示波器觀測(cè)波形如圖7b)~圖9b)所示,示波器垂直方向的方格表示輸出波形幅值,每個(gè)方格代表500 mV,從圖中能夠直觀地看出上述3種波形在垂直方向上均占了4個(gè)方格,因此峰峰為2 V。水平方向的方格表示波形頻率值,每個(gè)方格代表200 ms,一個(gè)周期的該波形占了5個(gè)水平方格,因此,波形的輸出頻率為1 Hz。endprint

由此,可以得出實(shí)測(cè)輸出波形的幅值及頻率數(shù)據(jù)與Matlab仿真波形的數(shù)據(jù)完全吻合,并且,實(shí)測(cè)波形與仿真的波形的形狀也十分接近。

3.2 頻率穩(wěn)定度測(cè)試

矩形波、鋸齒波、任意波形的頻率測(cè)試值如表1~表3所示,由表中數(shù)據(jù)可以看出,每種波形在不同頻率下3次測(cè)量值都比較穩(wěn)定,無(wú)較大波動(dòng)。頻率變化量的最大值為 0.002 1,在0.002 79以?xún)?nèi),滿(mǎn)足設(shè)計(jì)要求,并且頻率穩(wěn)定隨頻率變化無(wú)明顯變化規(guī)律,在可達(dá)范圍內(nèi)相對(duì)頻率穩(wěn)定。

4 結(jié) 論

本文系統(tǒng)實(shí)現(xiàn)了基于FPGA合成諧波的信號(hào)發(fā)生器設(shè)計(jì),在任意波形的實(shí)現(xiàn)過(guò)程中,只需在PC端更改最多15種諧波頻率值及其對(duì)應(yīng)幅值,即可實(shí)現(xiàn)任意所需波形輸出。操作更加靈活,而且更加高效。測(cè)試表明,通過(guò)儀器合成的最終波形無(wú)論是波形形狀,還是輸出波形的幅值及頻率值都與Matalb仿真波形十分接近。

輸出波形的頻率值比較穩(wěn)定,頻率精度在0.002 79以?xún)?nèi),滿(mǎn)足設(shè)計(jì)的要求。然而,對(duì)于矩形波和鋸齒波等這些比較特殊的波形,由于所有FPGA芯片內(nèi)存以及設(shè)計(jì)工藝的限制,不能輸出幅值比較平滑的波形,但是足以滿(mǎn)足對(duì)于幅值要求不是很苛刻的實(shí)驗(yàn)室以及工程應(yīng)用的需求。

參考文獻(xiàn)

[1] 白居憲.直接數(shù)字頻率合成[M].西安:西安交通大學(xué)出版社,2007.

BAI Juxian. Direct digital frequency synthesis [M]. Xian: Xian Jiaotong University Press, 2007.

[2] 周登榮,周玉榮.一種任意波形信號(hào)發(fā)生器的實(shí)現(xiàn)方法[J].重慶師范大學(xué)學(xué)報(bào),2014(1):84?88.

ZHOU Dengrong, ZHOU Yurong. An implementation method of arbitrary waveform signal generator [J]. Journal of Chongqing Normal University, 2014(1): 84?88.

[3] 韓旭,鄭磊.基于FPGA的任意波形發(fā)生器的設(shè)計(jì)與實(shí)現(xiàn)[J].電子測(cè)量技術(shù),2013(7):62?66.

HAN Xu, ZHENG Lei. Design and implementation of arbitrary waveform generator based on FPGA [J]. Electronic measurement technology, 2013(7): 62?66.

[4] RAVITEJA REDDY B, RAJU V S G N. Development of FPGA for custom waveform generator based on direct digital synthesizer [J]. International journal of engineering research and applications, 2013, 3(4): 2597?2602.

[5] 張嚴(yán),洪遠(yuǎn)泉.基于FPGA的任意波形發(fā)生器設(shè)計(jì)與研究[J].現(xiàn)代電子技術(shù),2011,34(10):157?159.

ZHANG Yan, HONG Yuanquan. Design and research of arbitrary waveform generator based on FPGA [J]. Modern electronics technique, 2011, 34(10): 157?159.

[6] FERNANDEZ?JARAMILLO A A, ROMERO?TRONCOSO R D J, DUARTE?GALVAN C, et al. FPGA?based chlorophy II fluorescence measurement system with arbitrary light stimulation waveform using direct digital synthesis [J]. Measurement, 2015, 75: 12?22.

[7] MAFFRAND C, ZARATE D, AON M A, et al. Arbitrary waveform generator using FPGA for applications in ultrafast scan voltammetry [C]// Proceedings of 2014 IEEE Conference on Programmable Logic. Buenos Aires: IEEE, 2014: 1?6.

[8] ZHANG Hongfei, LUO Chunli, TANG Pengyi, et al. High?speed arbitrary waveform generator based on FPGA [C]// Proceedings of 2013 IEEE Nuclear Science Symposium and Medical Imaging Conference. Seoul: IEEE, 2013: 1?5.

[9] WEI Peng, GAO Tingjin. Arbitrary waveform generator based on improved DDS technology [J]. Applied mechanics and materials, 2013, 338: 1587?1592.

[10] XU Min, HU Jingyu, GAO Yinyin. FPGA?based design and implementation of arbitrary waveform generator [C]// Proceedings of 2011 International Conference on Control, Automation and Systems Engineering. Singapore: IEEE, 2011: 1?4.

[11] 張博君.DDS任意波形發(fā)生器研究[J].現(xiàn)代電子技術(shù),2012,35(14):100?102.

ZHANG Bojun. Research on arbitrary waveform generator of DDS [J]. Modern electronics technique, 2012, 35(14): 100?102.endprint