文獻(xiàn)標(biāo)識(shí)碼: A
文章編號(hào): 0258-7998(2014)03-0038-03
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.