《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于FPGA+PWM的多路信號(hào)發(fā)生器設(shè)計(jì)
基于FPGA+PWM的多路信號(hào)發(fā)生器設(shè)計(jì)
來源:電子技術(shù)應(yīng)用2014年第3期
吳 征,蘇淑靖
(中北大學(xué) 電子測(cè)試技術(shù)國家重點(diǎn)實(shí)驗(yàn)室,山西 太原030051)
摘要: 基于運(yùn)放的信號(hào)發(fā)生器精度低且穩(wěn)定性和可調(diào)節(jié)性差,而基于DDS的信號(hào)發(fā)生器則成本高、電路復(fù)雜。為此提出了基于FPGA+PWM的多路信號(hào)發(fā)生器設(shè)計(jì)方法。該方法硬件上無需DAC與多路模擬開關(guān),由FPGA產(chǎn)生調(diào)制輸出波形信號(hào)所需的PWM脈沖波,經(jīng)二階低通濾波和放大電路后即可得到所需波形信號(hào)。實(shí)驗(yàn)證明,該多路信號(hào)發(fā)生器幅值分辨率高,頻率精度高,且具有良好的直流性能,各通道可獨(dú)立產(chǎn)生三角波、鋸齒波、正弦波、方波且輸出穩(wěn)定。且其成本低,設(shè)計(jì)靈活,可擴(kuò)展性強(qiáng),可應(yīng)用于各種場(chǎng)合。
中圖分類號(hào): TN787
文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)03-0038-03
An FPGA+PWM based multi-channel signal generator
Wu Zheng,Su Shujing
National Key Laboratory for Electronic Measurement Technology,North University of China,Taiyuan 030051,China
Abstract: Due to the low accuracy, bad stability and reliability of signal generator based on operational amplifier, and high cost and complex circuit of signal generator based on DDS, a design of signal generator based on FPGA+PWM is introduced. Without DAC and multi-channel analog switch, this design uses FPGA to generate PWM pulses which can be used to get waveform signal after filtered and amplified. The experimental results show that this signal generator has high resolution of amplitude and frequency, and good DC performance, and all of its channels can be controlled independently to generate various waveform. This design is highly expansive and flexible, and its cost is low, which can be used for different occasions.
Key words : FPGA;PWM;multi-channel;high accuracy;signal generator

    PWM(Pulse Width Modulation)脈寬調(diào)制技術(shù)是一種對(duì)模擬信號(hào)電平進(jìn)行數(shù)字編碼的方法,通過對(duì)一系列脈沖的寬度進(jìn)行調(diào)制,等效出所需要的波形[1]。PWM技術(shù)對(duì)波形調(diào)制的靈活性和通用性好,并且對(duì)硬件要求低,應(yīng)用廣泛[2]。目前的PWM信號(hào)發(fā)生器大多存在周期調(diào)節(jié)不方便、路數(shù)有限等問題,而隨著大規(guī)模集成電路的發(fā)展,FPGA擁有了資源豐富、工作速度快、使用靈活、穩(wěn)定性高等特點(diǎn)。在此基礎(chǔ)上,本文提出了一種基于FPGA+PWM的多路信號(hào)發(fā)生器,結(jié)合二者的優(yōu)勢(shì),產(chǎn)生波形、頻率、幅度可獨(dú)立調(diào)節(jié)的多路波形信號(hào)[3]。
1 原理分析
    根據(jù)面積等效原理:沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上,其效果基本相同(沖量是指窄脈沖的面積;效果基本相同指的是輸出響應(yīng)波形基本相同)。基于該理論生成的PWM控制技術(shù)即是利用一系列等幅不等寬的脈沖(不同占空比的矩形波),經(jīng)過一定的信號(hào)處理來生成所需的各種波形[4]。


2.1 波形控制
    對(duì)于三角波的生成,需要脈寬參數(shù)按照先線性增大然后線性減小的規(guī)律來實(shí)現(xiàn),其他波形(如矩形波、鋸齒波等)可以用相同的原理實(shí)現(xiàn)。
    在實(shí)現(xiàn)正弦波信號(hào)時(shí),需要計(jì)算出正弦信號(hào)表,根據(jù)波形信號(hào)的頻率與幅度,通過查表的方式把RAM中的脈寬參數(shù)傳遞給PWM發(fā)生器,得到脈沖寬度按正弦變化的PWM脈沖波[7]。
2.2 PWM發(fā)生器
    在FPGA中利用計(jì)數(shù)器和比較器來產(chǎn)生PWM矩形脈沖波,如圖4所示,在一個(gè)進(jìn)程中用一個(gè)寄存器保存PWM周期參數(shù)T,T_Counter在系統(tǒng)時(shí)鐘的驅(qū)動(dòng)下進(jìn)行自加,直到T_Counter=T時(shí)T_Counter復(fù)位為0,完成一次PWM周期;在另一個(gè)進(jìn)程中通過比較T_Counter與脈寬參數(shù)PWM_Width,從而控制PWM脈沖波的脈寬;為了更新PWM_Width,在T_Counter計(jì)數(shù)到T-1時(shí)向波形控制單元報(bào)告單次脈沖結(jié)束,波形控制單元接收到結(jié)束標(biāo)志后更新脈寬參數(shù),使PWM發(fā)生器在下一周期產(chǎn)生新的PWM脈沖波。

   

2.4 多路信號(hào)的產(chǎn)生
    單路信號(hào)的波形控制單元和PWM發(fā)生器僅需要很小的FPGA資源和一個(gè)I/O引腳就能實(shí)現(xiàn),并且外部濾波電路占用的PCB面積也比傳統(tǒng)DAC實(shí)現(xiàn)的信號(hào)發(fā)生器要小很多,所以只要把單路信號(hào)發(fā)生器進(jìn)行簡單的復(fù)制就能實(shí)現(xiàn)多路信號(hào)的產(chǎn)生,且各個(gè)通道之間具有很好的獨(dú)立性,互不影響,這是FPGA相比其他控制芯片所具有的優(yōu)勢(shì)。
3 性能分析及測(cè)試
3.1 性能分析

    電路使用XC3S100E來實(shí)現(xiàn)FPGA控制單元的設(shè)計(jì)。XC3S100E有108個(gè)可分配的用戶引腳,使用28個(gè)作為通信端口,剩余80個(gè)引腳進(jìn)行PWM脈沖信號(hào)調(diào)制輸出;電路使用fosc=120 MHz的外部晶振,經(jīng)內(nèi)部DCM(時(shí)鐘控制管理模塊)倍頻后獲得240 MHz的系統(tǒng)時(shí)鐘。設(shè)置PWM脈沖發(fā)生計(jì)數(shù)器位數(shù)為N=14 bit。濾波電路通帶增益設(shè)置為1(Rf=0,斷開R1),所實(shí)現(xiàn)的信號(hào)發(fā)生器主要性能參數(shù)如下:

3.2 信號(hào)輸出測(cè)試
    通過上位機(jī)設(shè)置各個(gè)通道的波形參數(shù),利用Tektronix TDS100B(40 MHz,500 MS/s)示波器測(cè)量各通道的輸出波形,得到如圖6所示波形信號(hào)輸出。

 

 

    從圖6中可以看出,信號(hào)源輸出波形光滑,頻率穩(wěn)定度高,而且各通道工作獨(dú)立性高,波形、頻率、幅度均可獨(dú)立調(diào)節(jié),滿足設(shè)計(jì)要求。
    基于FPGA+PWM的多路信號(hào)發(fā)生器的設(shè)計(jì)結(jié)合了FPGA與PWM技術(shù)的優(yōu)勢(shì),可同時(shí)輸出80路信號(hào),各路信號(hào)的波形、頻率、幅值均可獨(dú)立調(diào)節(jié)。實(shí)驗(yàn)證明,該信號(hào)發(fā)生器具有良好的直流性能,其精度可達(dá)到0.2 mV,同時(shí)可產(chǎn)生良好的三角波、鋸齒波、正弦波、方波,還可通過上位機(jī)產(chǎn)生任意波形信號(hào),輸出穩(wěn)定,頻率精度高。其成本低,設(shè)計(jì)靈活,可擴(kuò)展性強(qiáng),可應(yīng)用于工業(yè)控制、LED陣列控制以及測(cè)量、通信等各種不同的場(chǎng)合。
參考文獻(xiàn)
[1] 吳鐵峰,張鶴鳴,胡輝勇.一種電流模式多輸入可控PWM比較器設(shè)計(jì)[J].電子器件,2010,33(1):81-84.
[2] 梁磊,王樹強(qiáng),許芹.多路PWM 信號(hào)產(chǎn)生算法研究[J].電氣電子教學(xué)學(xué)報(bào),2008,30(4):47-49.
[3] 徐哲,魏民祥.一種實(shí)用的變占空比PWM信號(hào)Simulink實(shí)現(xiàn)方法[J].制造業(yè)自動(dòng)化,2013,35(12):33-35.
[4] 侯俊生,唐露新.基于PWM的強(qiáng)抗干擾A/D轉(zhuǎn)換電路[J].電子技術(shù)應(yīng)用,2012,38(7):37-43.
[5] 張宣妮,王明軍,魯帆.基于FPGA的全數(shù)字脈寬調(diào)制器[J].計(jì)算機(jī)仿真,2009,26(11):347-348.
[6] 崔玉娟,呂運(yùn)朋,李超.CPLD實(shí)現(xiàn)直流伺服電機(jī)PWM發(fā)生器[J].電測(cè)與儀表,2010,47(3):73-74.
[7] 田開坤.單片機(jī)驅(qū)動(dòng)CPLD的PWM正弦信號(hào)發(fā)生器設(shè)計(jì)[J].電子制作,2011(4):23-24.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。