《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 業(yè)界動態(tài) > 應(yīng)用MSP430F149單片機(jī)的超低頻波形發(fā)生器

應(yīng)用MSP430F149單片機(jī)的超低頻波形發(fā)生器

2008-10-29
作者:陳海波 陳立功 倪純珍

??? 摘? 要: 介紹了應(yīng)用MSP430F149芯片開發(fā)超低頻" title="超低頻">超低頻波形發(fā)生器" title="波形發(fā)生器">波形發(fā)生器的設(shè)計原理及其在生理濾波器調(diào)試中的應(yīng)用。

??? 關(guān)鍵詞: MSP430F149芯片? 單片機(jī)? 波形發(fā)生器? 濾波系統(tǒng)

?

  在載人運(yùn)輸系統(tǒng)振動分析儀" title="分析儀">分析儀中常用超低頻波形發(fā)生器作為仿真的信號源。要求在0.1Hz~100Hz范圍內(nèi)穩(wěn)定工作,波形失真小,且能以0.1Hz為步長細(xì)調(diào)。傳統(tǒng)超低頻波形發(fā)生器設(shè)計中存在著很多的不足:(1)應(yīng)用通用電路,元器件多,尤其是電容的體積大,且波形的穩(wěn)定性差、失真大,調(diào)節(jié)上極不方便;(2)應(yīng)用專用電路,如ICL8038、MAX038,其失真和穩(wěn)定性方面有明顯提高,但在超低頻應(yīng)用上仍不合適。而且電路的調(diào)節(jié)器件多,對電源的要求較高,代價較大。鑒于目前開發(fā)的振動分析儀常采用微控制器,利用其富余的軟硬件資源,建立調(diào)節(jié)方便、高精度的超低頻波形發(fā)生器,極有推廣價值。

  根據(jù)《鐵路車輛內(nèi)旅客振動舒適性評價準(zhǔn)則》UIC513國際標(biāo)準(zhǔn)開發(fā)的SSD-J-2振動舒適度測量儀是基于MSP430F149的三維振動便攜式分析儀,內(nèi)含上下、左右、前后振動的生理濾波器。為了調(diào)整和標(biāo)定這組生理濾波器的精度,利用該單片機(jī)的一個PWM輸出端配上∏型RC濾波,在軟件支持下構(gòu)成調(diào)節(jié)方便的超低頻波形發(fā)生器。經(jīng)實用表明其性能達(dá)到UIC513標(biāo)準(zhǔn)的技術(shù)要求。

1 MSP430F149的內(nèi)部結(jié)構(gòu)

  MSP430F149是美國TEXAS INSTRUCMENTS公司最新推出的16位超低功耗" title="超低功耗">超低功耗混合信號單片機(jī),帶有Flash存儲器,具備很強(qiáng)的靈活性,方便修改代碼及產(chǎn)品售后升級。它采用精簡指令集(RISC),125ns指令周期,大部分的指令在一個指令周期內(nèi)完成。1.8V~3.6V的供電電壓,其超低功耗(供電電壓2.2V,工作頻率32kHz時,工作電流為7μA;供電電壓2.2V,工作頻率1MHz時,工作電流為250μA。)使超低頻波形發(fā)生器可被設(shè)計成電池供電且長時間工作的系統(tǒng)。MSP430F149內(nèi)含一個具有8個外部通道的12位高性能A/D轉(zhuǎn)換器,一個具有自動掃描功能的容量為16個字節(jié)的可編程緩沖器,片內(nèi)參考電壓,一個溫度傳感器以及電池低壓時的檢測電路;內(nèi)部具有兩個定時器:帶有7個捕獲/比較寄存器的16位Timer_B和帶有3個捕獲/比較寄存器的16位Timer_A,在比較模式下可以產(chǎn)生PWM信號,控制DCO的頻率,利用它們可以滿足要求;該芯片具有60KB的閃速存儲器,2KB RAM,采用串行在線編程方式,為用戶修改程序和控制參數(shù)帶來靈活的空間,而且內(nèi)部的安全保密熔絲可使程序不被非法拷貝。此外,MSP430F149具有強(qiáng)大的中斷功能,48個I/O引腳,兩個串行通訊接口,10萬次的擦寫,超強(qiáng)的抗干擾能力。

2 超低頻波形發(fā)生器的電路設(shè)計原理

  用于人體乘坐的交通運(yùn)輸工具中的振動分析儀對信號有嚴(yán)格的濾波要求。UIC513標(biāo)準(zhǔn)中對Z方向(上、下)振動信號規(guī)定按圖1的濾波計權(quán)曲線進(jìn)行濾波,其濾波頻帶為0.4Hz~16Hz,并且具有臺階性。重要的是檢驗濾波的效果是評價振動舒適性的前提,濾波電路只有經(jīng)過嚴(yán)格的標(biāo)定校調(diào)后方能投入使用,所以需要采用低失真、超低頻正弦波" title="正弦波">正弦波信號源來標(biāo)定電路。應(yīng)用MSP430F149進(jìn)行設(shè)計,電路十分簡單。產(chǎn)生的波形精度取決于脈寬計數(shù)器的精度,最高可達(dá)16位,頻率取決于軟件所設(shè)計正弦表的大小、系統(tǒng)頻率以及讀取正弦表的時間長短。應(yīng)該注意的是所設(shè)計的頻率應(yīng)該比需要的頻率略高一些,這樣由脈寬調(diào)制信號到正弦波信號的濾波電路階數(shù)可以降低。其電路結(jié)構(gòu)如圖2。

?

?

?

3 用MSP430F149實現(xiàn)PWM功能的軟件設(shè)計

  在該超低頻波形發(fā)生器的軟件設(shè)計中,主要應(yīng)用到了以下幾個功能模塊:Timer_B定時器、Timer_A定時器、CPU寄存器、片內(nèi)的數(shù)字控制晶振以及XT1低功耗振蕩器,其主程序流程圖如圖3所示。

?

?

3.1 穩(wěn)定DCO頻率模塊

  DCO實質(zhì)上是一個RC振蕩器,具有RC振蕩器的特點(diǎn)。其在頻率的設(shè)置和轉(zhuǎn)換上不準(zhǔn)確,但由于它是數(shù)字控制的振蕩器,可以通過一個已知的頻率穩(wěn)定的晶振如32768Hz手表晶振來進(jìn)行校準(zhǔn),使DCO達(dá)到準(zhǔn)確的頻率。因為MSP430F149不含有鎖頻環(huán)數(shù)字邏輯,所以只有通過軟件進(jìn)行“軟鎖頻”校準(zhǔn)DCO,這十分重要。

  程序如下:

Setup_TA????? mov??????? #TASSEL1+TACLR,&TACTL???

???????????????????????????????????????????????? ;設(shè)置TA時鐘SMCLK

Setup_CC2????? mov??????? #CCIS0+CM0+CAP,&CCTL2???

???????????????????????????????????????????????? ;設(shè)置CCR2,輸入信號:

???????????????????????????????????????????????? ;ACLK,捕獲模式

???????????????bis????????#MC1,&TACTL

???????????????????????????????????????????????? ;設(shè)置Timer_A:連續(xù)模式

Test_DCO???????bit????????#CCIFG,&CCTL2?????

???????????????????????????????????????????????? ;檢測捕獲標(biāo)志位

???????????????jz?????????Test_DCO

???????????????bic????????#CCIFG,&CCTL2???????? ;清除標(biāo)志位

AdjDCO???????? mov??????? &CCR2,R14

???????????????????????????????????????????????? ;R14=捕獲的SMCLK值

???????????????sub????????R15,R14?????????????? ;R14=捕獲SMCLK的差值

???????????????mov??????? &CCR2,R15

????????????????????????????????????????? ?????? ;R15=上次捕獲的SMCLK值

???????????????cmp??????? #Delta,R14??????????? ;Delta=SMCLK/ACLK

???????????????jlo????????IncDCO????????

???????????????jeq????????DoneFLL???????

DecDCO???????? dec.b????? &DCOCTL??????????????? ;調(diào)整DCO

???????????????jmp????????Test_DCO????????????

IncDCO???????? inc.b??????&DCOCTL????

???????????????jmp????????Test_DCO????????????

DoneFLL??????? clr????????&CCTL2???????????????? ;停止CCR2

???????????????clr????????&TACTL???????????????? ;停止Timer_A

3.2 產(chǎn)生PWM的Timer_B中斷程序

  改變正弦波的頻率需要改變脈寬信號輸出的頻率,有3種不同的方法:(1)可改變精度,進(jìn)一步改變正弦表的大小,增大或減小輸出一個正弦波的周期;(2)可改變主頻,來延長指令的執(zhí)行時間,進(jìn)而延長周期;(3)利用中斷處理延時讀取正弦表的方法來控制輸出的頻率。3種方法均十分簡便,只需改變幾個參數(shù)即可。這里采用的是最后一種方法。

  程序如下:

TB_ISR?? inc?????R11? ?????????? ;R11,R12用于改變產(chǎn)生正弦

???????????????????????????????? ;波的頻率,延遲讀取正弦表

?????????cmpR11, R12 ?

?????????jne???? RT????????? ?

?????????incd??? R15????????????? ;增加指針R15,指向正弦表?

????????????????????????????????? ;的下一個正弦值?

???????? and??? #Number, R15????? ;Number=正弦表大小×2?

?????????mov??? Sine_Tab(R15),&TBCCR1?

??????????????????????????????????;Sine_Tab為正弦表指針,TBCCR1

RT???????reti?????????????????? ? ;移入新值

4 以MSP430F149為核心的振動分析儀的生理濾波器的自校系統(tǒng)

??? 由于MSP430F149提供了強(qiáng)大的功能,可以用來開發(fā)便攜式振動分析儀。超低頻波形發(fā)生器正是在MSP430F149基礎(chǔ)上開發(fā)的,結(jié)構(gòu)簡單,能夠?qū)φ駝臃治鰞x的生理濾波電路進(jìn)行校驗,完成了儀器的自校驗功能。其系統(tǒng)結(jié)構(gòu)圖如圖4所示。

?

?

  使用MSP430F149設(shè)計正弦波發(fā)生器,利用了該單片機(jī)所提供的特殊功能,使得電路簡單,調(diào)節(jié)方便,而且精度可控。通過驗證可以產(chǎn)生不同頻率、失真很小的波形,可以作為模擬電路的輸入源對其標(biāo)定。除此之外還可以進(jìn)一步利用該單片機(jī)產(chǎn)生諧波信號、直流信號等,應(yīng)用到更加廣闊的領(lǐng)域。

?

參考文獻(xiàn)

1 胡大可.MSP430系列超低功耗16位單片機(jī)原理與應(yīng)用,北京:北京航空航天大學(xué)出版社,2000

2 MSP430x1xx Family User's Guide, 2000

3 MSP430x13x,MSP430x14x Data sheet, 2000

4 Controlling the DCO of the MSP430x11x, 2000

5 UIC Code 513,Guidelines for evaluating passenger comfort in relation to vibration in railway vehicles,1994
本站內(nèi)容除特別聲明的原創(chuàng)文章之外,轉(zhuǎn)載內(nèi)容只為傳遞更多信息,并不代表本網(wǎng)站贊同其觀點(diǎn)。轉(zhuǎn)載的所有的文章、圖片、音/視頻文件等資料的版權(quán)歸版權(quán)所有權(quán)人所有。本站采用的非本站原創(chuàng)文章及圖片等內(nèi)容無法一一聯(lián)系確認(rèn)版權(quán)者。如涉及作品內(nèi)容、版權(quán)和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當(dāng)措施,避免給雙方造成不必要的經(jīng)濟(jì)損失。聯(lián)系電話:010-82306118;郵箱:aet@chinaaet.com。