《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 基于FPGA+PWM的多路信號發(fā)生器設(shè)計
基于FPGA+PWM的多路信號發(fā)生器設(shè)計
來源:電子技術(shù)應(yīng)用2014年第3期
吳 征,蘇淑靖
(中北大學(xué) 電子測試技術(shù)國家重點實驗室,山西 太原030051)
摘要: 基于運放的信號發(fā)生器精度低且穩(wěn)定性和可調(diào)節(jié)性差,而基于DDS的信號發(fā)生器則成本高、電路復(fù)雜。為此提出了基于FPGA+PWM的多路信號發(fā)生器設(shè)計方法。該方法硬件上無需DAC與多路模擬開關(guān),由FPGA產(chǎn)生調(diào)制輸出波形信號所需的PWM脈沖波,經(jīng)二階低通濾波和放大電路后即可得到所需波形信號。實驗證明,該多路信號發(fā)生器幅值分辨率高,頻率精度高,且具有良好的直流性能,各通道可獨立產(chǎn)生三角波、鋸齒波、正弦波、方波且輸出穩(wěn)定。且其成本低,設(shè)計靈活,可擴(kuò)展性強(qiáng),可應(yīng)用于各種場合。
中圖分類號: TN787
文獻(xiàn)標(biāo)識碼: A
文章編號: 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ù)是一種對模擬信號電平進(jìn)行數(shù)字編碼的方法,通過對一系列脈沖的寬度進(jìn)行調(diào)制,等效出所需要的波形[1]。PWM技術(shù)對波形調(diào)制的靈活性和通用性好,并且對硬件要求低,應(yīng)用廣泛[2]。目前的PWM信號發(fā)生器大多存在周期調(diào)節(jié)不方便、路數(shù)有限等問題,而隨著大規(guī)模集成電路的發(fā)展,FPGA擁有了資源豐富、工作速度快、使用靈活、穩(wěn)定性高等特點。在此基礎(chǔ)上,本文提出了一種基于FPGA+PWM的多路信號發(fā)生器,結(jié)合二者的優(yōu)勢,產(chǎn)生波形、頻率、幅度可獨立調(diào)節(jié)的多路波形信號[3]。
1 原理分析
    根據(jù)面積等效原理:沖量相等而形狀不同的窄脈沖加在具有慣性的環(huán)節(jié)上,其效果基本相同(沖量是指窄脈沖的面積;效果基本相同指的是輸出響應(yīng)波形基本相同)?;谠摾碚撋傻腜WM控制技術(shù)即是利用一系列等幅不等寬的脈沖(不同占空比的矩形波),經(jīng)過一定的信號處理來生成所需的各種波形[4]。


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

   

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

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

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

 

 

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

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