脈沖信號發生器
脈沖信號發生器是信號發生器的一種。信號發生器按信號源有很多種分類方法,其中一種方法可分為混和信號源和邏輯信號源兩種。其中混和信號源主要輸出模擬波形;邏輯信號源輸出數字碼形。混和信號源又可分為函數信號發生器和任意波形/函數發生器,其中函數信號發生器輸出標準波形,如正弦波、方波等,任意波/函數發生器輸出用戶自定義的任意波形;邏輯信號發生器又可分為脈沖信號發生器和碼型發生器,其中脈沖信號發生器驅動較小個數的的方波或脈沖波輸出,碼型發生器生成許多通道的數字碼型。如泰克生產的AFG3000系列就包括函數信號發生器、任意波形/函數信號發生器、脈沖信號發生器的功能。另外,信號源還可以按照輸出信號的類型分類,如射頻信號發生器、掃描信號發生器、頻率合成器、噪聲信號發生器、脈沖信號發生器等等。信號源也可以按照使用頻段分類,不同頻段的信號源對應不同應用領域。
脈沖信號發生器工作原理
單脈沖和雙脈沖波形如圖1所示。
主振級與下一級隔開,避免下一級對主振級的影響,提高頻率的穩定度。脈寬形成級一般由單穩態觸發器和相減電路組成,形成脈沖寬度可調的脈沖信號。放大整形級是利用幾級電流開關電路對脈沖信號進行限幅放大,以改善波形和滿足輸出級的激勵需要。輸出級滿足脈脈沖信號發生器的種類繁多,性能各異,但內部基本電路應包括圖2所示的幾個部分。
主振級一般由無穩態電路組成,產生重復頻率可調的周期性信號。隔離級由電流開關組成,它把主振沖信號輸出幅度的要求,使脈沖信號發生器具有一定帶負載能力。通過衰減器使輸出的脈沖信號幅度可調。
脈沖信號發生器設計
利用單片機設計PWM脈沖信號發生器
PWM是脈沖寬度調制(Pulse Width Modulation)的英文縮寫,它是開關型穩壓電源中按穩壓的控制方式分類中的一種,而脈寬寬度調制式(PWM)開關型穩壓電路是在控制電路輸出頻率不變的情況下,通過電壓反饋調整其占空比,從而達到穩定輸出電壓的目的。
簡單的說,PWM是一種對模擬信號電平進行數字編碼的方法。理論上講就是電壓或電流源以一種通(ON)或斷(OFF)的重復脈沖序列被加到模擬負載上去的,通的時候就是電源被加到負載上,斷的時候就是供電被斷開的時候,所以PWM信號仍然是數字的。要想達到這樣一種脈寬調制效果,模擬電壓和電流時可以直接控制。例如音響的音量控制,在簡單的模擬電路中,它的控制是由連接了一個可變電阻的旋鈕來實現的,其過程是擰動旋鈕,電阻值變小或變大,流過該電阻的電流也隨之增加來減小,從而改變驅動揚聲器的電流值,那么聲音也就相應變大或變小。從這個例子來看,模擬控制是直觀而簡單的,但是并不是所有的模擬電路都是可行并且經濟的,其中很重要的一點就是模擬電路容易隨時間漂移,它的調節過程就很困難,為了解決問題就要增加很多的電路,使得電路變得復雜并且昂貴。除此之外,模擬電路中許多的元器件會發熱,也就相對提高了電路的功耗,并且對噪聲也敏感,任何干擾或噪聲都會改變電流值的大小。
綜上所述,通過數字方式來控制模擬電路可以大幅度降低系統的成本和功耗,而單片機I/O口的數字輸出可以很簡單地發出一個脈沖波,在配以外部元器件就可以調節脈沖波的占空比,完成PWM的功能。本文主要介紹利用89S52系列的單片機,控制某個I/O口中一個管腳的數字輸出,生成相應周期的脈沖波,并利用按鍵控制其占空比的調節,包括了占空比自小到大和自大到校的順序及倒序可調,其調節范圍廣,操作簡便,各元器件間的干擾較小,對模擬電路的控制十分有效。
1、PWM波的生成
PWM波既為數字輸出,就是其幅值只有高電平(ON)和低電平(OFF)之分,所以只要使單片機中作為PWM波輸出端的那個管腳輸出“1”和“0”,并且搭配不同的時間段,就可以形成不同周期的PWM波。舉例說明:若要生成周期為10ms的脈沖,就可以利用單片機編程指令控制其輸出端輸出“1”,并且保持一段時間tp,然后再輸出“0”,同樣使其保持一段時間tr,兩種數字輸出保持的時間必須要滿足,現就已生成10ms周期的脈沖波,而PWM波與該脈沖波的區別就是還要能夠調節占空比。占空比是指正半周脈寬占整個周期的比例,即高電平保持時間于周期的比值,該比值為百分數(),因此在周期一定的情況下,調節占空比就是調節高電平保持的時間。
2、應用編程
本文介紹的PWM波是利用單片機定時中斷去確定脈沖波的周期,并且通過兩個按鍵自增和自減某個變量送至中斷中,通過此變量去分配高低電平各自占用的時間,形成不同的占空比,即假設一個周期滿額比例值為10,則高電平保持時間的比例為該變量值,那么低電平保持時間的比例就是10減去該變量值。
如圖1所示為單片機的外部接線圖,其中省略了單片機最小系統,此圖即可利用89SC52單片機設計出滿足周期為10ms、初始占空比為50%、占空比調節范圍為0~100%的PWM脈沖信號發生器。占空比調節范圍是指高電平保持時間為0~10ms,那么低電平保持時間就是10ms~0。P0.7腳為PWM波輸出口,作為PWM脈沖信號發生器可連接其它電路,本文僅連接示波器去觀察波形的占空比變化情況,P2.0腳為自增按鈕控制端,每按一次高電平保持時間增加1ms,P2.1腳為自減按鈕控制端,每按一次高電平保持時間減少1ms。圖2所示為初始50%占空比的波形圖以及20%、40%、60%和80%占空比的波形圖,以此看出PWM的變化。
89C52單片機生成PWM波C語言程序:
#define uint unsigned int
sbit pwm=P0^7;
sbit k1=P2^0;
sbit k2=P2^1;
bit bz;//定義一個按鍵是否松開的標志位
uchar b;
uchar m=5;//m為控制占空比的變量,初始占空比50%
void delay(uint i)
{while(i--);}
void dingshi() interrupt 1//定時中斷
{TL0=(65536-1000)%256; //1ms初始化
TH0=(65536-1000)/256;
b++;
if(b==10) b=0; //10ms周期定時
if(b void main()
{EA=1;ET0=1;
TMOD=0x01;//定時0工作在方式1,1ms中斷1次
TL0=(65536-1000)%256;
TH0=(65536-1000)/256;
TR0=1;//開中斷
while (1)
{if((k1==0)&&(bz==0)) {delay(1110);if(k1==0){bz=1;m++;if(m==11) m=10;}}//每按一次占空比自增10%
if((k2==0)&&(bz==0)) {delay(1110);if(k2==0){bz=1;m--;if(m==255) m=0;}}//每按一次占空比自減10%
if((k1==1)&&(k2==1)) bz=0;//判斷按鍵是否松開}}
綜合硬件設計和軟件設計可以看出,利用單片機數字輸出方式可以很簡單的完成脈沖寬度的調制,無須通過對模擬電路各元器件參數的計算進行調節,并且可以隨時調整輸出不同周期的脈沖波,利用該方法設計的PWM脈沖信號發生器可以很廣泛。但是此設計也有一些缺點,其占空比只能按10%的比例調節,調節精度還有待提高。
-
信號發生器
+關注
關注
28文章
1472瀏覽量
108739 -
脈沖信號
+關注
關注
6文章
398瀏覽量
36956
發布評論請先 登錄
相關推薦
評論