文獻標識碼: A
文章編號: 0258-7998(2014)03-0038-03
PWM(Pulse Width Modulation)脈寬調制技術是一種對模擬信號電平進行數字編碼的方法,通過對一系列脈沖的寬度進行調制,等效出所需要的波形[1]。PWM技術對波形調制的靈活性和通用性好,并且對硬件要求低,應用廣泛[2]。目前的PWM信號發生器大多存在周期調節不方便、路數有限等問題,而隨著大規模集成電路的發展,FPGA擁有了資源豐富、工作速度快、使用靈活、穩定性高等特點。在此基礎上,本文提出了一種基于FPGA+PWM的多路信號發生器,結合二者的優勢,產生波形、頻率、幅度可獨立調節的多路波形信號[3]。
1 原理分析
根據面積等效原理:沖量相等而形狀不同的窄脈沖加在具有慣性的環節上,其效果基本相同(沖量是指窄脈沖的面積;效果基本相同指的是輸出響應波形基本相同)。基于該理論生成的PWM控制技術即是利用一系列等幅不等寬的脈沖(不同占空比的矩形波),經過一定的信號處理來生成所需的各種波形[4]。
2.1 波形控制
對于三角波的生成,需要脈寬參數按照先線性增大然后線性減小的規律來實現,其他波形(如矩形波、鋸齒波等)可以用相同的原理實現。
在實現正弦波信號時,需要計算出正弦信號表,根據波形信號的頻率與幅度,通過查表的方式把RAM中的脈寬參數傳遞給PWM發生器,得到脈沖寬度按正弦變化的PWM脈沖波[7]。
2.2 PWM發生器
在FPGA中利用計數器和比較器來產生PWM矩形脈沖波,如圖4所示,在一個進程中用一個寄存器保存PWM周期參數T,T_Counter在系統時鐘的驅動下進行自加,直到T_Counter=T時T_Counter復位為0,完成一次PWM周期;在另一個進程中通過比較T_Counter與脈寬參數PWM_Width,從而控制PWM脈沖波的脈寬;為了更新PWM_Width,在T_Counter計數到T-1時向波形控制單元報告單次脈沖結束,波形控制單元接收到結束標志后更新脈寬參數,使PWM發生器在下一周期產生新的PWM脈沖波。
2.4 多路信號的產生
單路信號的波形控制單元和PWM發生器僅需要很小的FPGA資源和一個I/O引腳就能實現,并且外部濾波電路占用的PCB面積也比傳統DAC實現的信號發生器要小很多,所以只要把單路信號發生器進行簡單的復制就能實現多路信號的產生,且各個通道之間具有很好的獨立性,互不影響,這是FPGA相比其他控制芯片所具有的優勢。
3 性能分析及測試
3.1 性能分析
電路使用XC3S100E來實現FPGA控制單元的設計。XC3S100E有108個可分配的用戶引腳,使用28個作為通信端口,剩余80個引腳進行PWM脈沖信號調制輸出;電路使用fosc=120 MHz的外部晶振,經內部DCM(時鐘控制管理模塊)倍頻后獲得240 MHz的系統時鐘。設置PWM脈沖發生計數器位數為N=14 bit。濾波電路通帶增益設置為1(Rf=0,斷開R1),所實現的信號發生器主要性能參數如下:
3.2 信號輸出測試
通過上位機設置各個通道的波形參數,利用Tektronix TDS100B(40 MHz,500 MS/s)示波器測量各通道的輸出波形,得到如圖6所示波形信號輸出。
從圖6中可以看出,信號源輸出波形光滑,頻率穩定度高,而且各通道工作獨立性高,波形、頻率、幅度均可獨立調節,滿足設計要求。
基于FPGA+PWM的多路信號發生器的設計結合了FPGA與PWM技術的優勢,可同時輸出80路信號,各路信號的波形、頻率、幅值均可獨立調節。實驗證明,該信號發生器具有良好的直流性能,其精度可達到0.2 mV,同時可產生良好的三角波、鋸齒波、正弦波、方波,還可通過上位機產生任意波形信號,輸出穩定,頻率精度高。其成本低,設計靈活,可擴展性強,可應用于工業控制、LED陣列控制以及測量、通信等各種不同的場合。
參考文獻
[1] 吳鐵峰,張鶴鳴,胡輝勇.一種電流模式多輸入可控PWM比較器設計[J].電子器件,2010,33(1):81-84.
[2] 梁磊,王樹強,許芹.多路PWM 信號產生算法研究[J].電氣電子教學學報,2008,30(4):47-49.
[3] 徐哲,魏民祥.一種實用的變占空比PWM信號Simulink實現方法[J].制造業自動化,2013,35(12):33-35.
[4] 侯俊生,唐露新.基于PWM的強抗干擾A/D轉換電路[J].電子技術應用,2012,38(7):37-43.
[5] 張宣妮,王明軍,魯帆.基于FPGA的全數字脈寬調制器[J].計算機仿真,2009,26(11):347-348.
[6] 崔玉娟,呂運朋,李超.CPLD實現直流伺服電機PWM發生器[J].電測與儀表,2010,47(3):73-74.
[7] 田開坤.單片機驅動CPLD的PWM正弦信號發生器設計[J].電子制作,2011(4):23-24.