梁桃華 周江
Abstract: Pulse Width Modulation is widely used in various industrial control field. Taking TI MSP430G2553 as an example, the paper mainly explores the compare and output function to generate output pulse width modulation waveform, and gives the realization of the function's configuration and complete configuration program.
引言
研究可知,MSP430G2553[1-5]設(shè)有2個(gè)16位的定時(shí)器/計(jì)數(shù)器TA0和TA1,而且各自包含3個(gè)捕獲/比較模塊(Capture/Compare Blocks),本文主要研究其比較功能。由于TA0和TA1的功能很類似,以下基本以TA0為例展開(kāi)論述。
1TA0的計(jì)數(shù)時(shí)鐘源選擇及分頻比設(shè)置
TA0的計(jì)數(shù)時(shí)鐘源有4種選擇,由TA0的控制寄存器TA0CTL中的TASSELx(x = 0,1)這2個(gè)位共同決定,分別選擇:TA0CLK、ACLK、SMCLK和INCLK。其中,TA0CLK是從引腳P1.0輸入的外部時(shí)鐘(見(jiàn)器件引腳圖),ACLK是輔助時(shí)鐘(Auxiliary Clock),SMCLK是副主時(shí)鐘(Sub-System Master Clock),INCLK則來(lái)自于引腳振蕩器(Pin Oscillator)。而分頻比是由TA0CTL中的IDx(x = 0,1)這2個(gè)位組合確定的,可以設(shè)置成1、2、4或8分頻。如圖1所示。
2TA0的計(jì)數(shù)模式
TA0計(jì)數(shù)器有4種工作模式:停止、加計(jì)數(shù)、連續(xù)計(jì)數(shù)和加/減計(jì)數(shù),分別可以通過(guò)設(shè)置TA0CTL的MCx(x = 0,1)這2個(gè)位為00、01、10或11來(lái)做出選擇。各種工作模式的功能應(yīng)用設(shè)計(jì)可闡釋如下。
在加計(jì)數(shù)模式下,計(jì)數(shù)器從0開(kāi)始正計(jì)數(shù)到與寄存器TA0CCR0的值相等,再回到0開(kāi)啟下一輪計(jì)數(shù),所以其周期取決于計(jì)數(shù)時(shí)鐘頻率、分頻比及TA0CCR0的數(shù)值。連續(xù)計(jì)數(shù)是計(jì)數(shù)器從0正計(jì)數(shù)到最大值0xFFFF,再回到0重復(fù)這一過(guò)程,所以其周期只由計(jì)數(shù)時(shí)鐘頻率和分頻比決定。而加/減計(jì)數(shù)是計(jì)數(shù)器從0正計(jì)數(shù)到與TA0CCR0的值相等,再倒計(jì)數(shù)回到0,而后重復(fù)如上過(guò)程,所以在計(jì)數(shù)時(shí)鐘頻率、分頻比和TA0CCR0的值相同的情況下,其周期是加計(jì)數(shù)的2倍。
3MSP430G2553比較輸出功能研究
3.1MSP430G2553比較輸出功能總論
如前所述,MSP430G2553的TA0和TA1各有3個(gè)捕獲/比較模塊,每個(gè)模塊都有獨(dú)立的控制寄存器,因而總共配有6個(gè)捕獲/比較控制寄存器(Capture/Compare Control Register)[6-7]。對(duì)于TA0的比較模塊0,其控制寄存器的名字是TA0CCTL0。
在設(shè)計(jì)上,捕獲功能重點(diǎn)是指測(cè)量信號(hào)的周期或脈沖寬度,而比較功能一般與輸出單元(Output Unit)合并使用,3個(gè)捕獲/比較模塊各自對(duì)應(yīng)有一個(gè)輸出單元,所以在本文中將其稱為比較輸出功能。該功能主要是用于PWM(Pulse Width Modulation,脈沖寬度調(diào)制)波形。定時(shí)器TA0及其比較模塊和輸出單元的關(guān)系如圖2所示。圖2中的輸出引腳不一定是唯一的,比如,4、19、22、27腳都可以通過(guò)程序配置為TA0.1的輸出。MSP430G2553有4種封裝,分別是TSSOP20、PDIP20、TSSOP28和QFN32。圖3即為MSP430G2553的引腳圖(TSSOP28封裝)[8]。為使圖面簡(jiǎn)潔,設(shè)計(jì)刪除了與本文無(wú)關(guān)的引腳功能。
圖3中,輸出單元在引腳上的標(biāo)識(shí)方式是TAm.n。其中,m的值是0或1,分別表示該輸出引腳所使用的定時(shí)器是TA0或TA1;n的值是0、1或2,特指含義就是輸出單元的編號(hào)。比如,4腳標(biāo)注的是TA0.1,意思是在比較輸出功能下,該引腳的波形是由TA0定時(shí)、輸出單元1輸出的。其余類推。
3.2MSP430G2553比較輸出功能解析
輸出模式有8種,由捕獲/比較控制寄存器的OUTMODx(x = 0,1,3)這3個(gè)位來(lái)設(shè)定選擇。輸出模式0只與控制寄存器的OUT位有關(guān):當(dāng)OUT = 0時(shí),輸出低電平;當(dāng)OUT = 1時(shí),輸出高電平。其它7種輸出模式則可見(jiàn)圖4。