MSP430低功耗原理及其在海溫測量中的應(yīng)用
摘要:介紹了MSP430系列單片機(jī)的低功耗原理及工作模式。分析了各種工作模式之間的快速轉(zhuǎn)換方式。針對電池供電和空間受限的海水溫度測量環(huán)境,利用MSP430系列單片機(jī)低功耗、高性能、多外設(shè)的優(yōu)良特性,提出了海水溫度采集系統(tǒng)的設(shè)計方案。方案采用MSP430F4794作為運(yùn)算控制器,NTC熱敏電阻作為溫度傳感器,利用MSP430F4794芯片內(nèi)部自帶的16位A/D轉(zhuǎn)換器進(jìn)行A/D轉(zhuǎn)換。硬件設(shè)計上采用低功耗的外圍器件,軟件設(shè)計上充分利用MSP430提供的多種低功耗工作模式,實現(xiàn)了整個系統(tǒng)的低功耗。
關(guān)鍵詞:MSP430;超低功耗;工作模式;海水溫度測量
MSP430系列單片機(jī)是一款具有精簡指令集的16位超低功耗混合型單片機(jī)。采用MSP430系列單片機(jī)的一個最大優(yōu)勢是它具有低功耗和高集成度,非常適合于電池供電和空間受限的工作環(huán)境以及便攜式應(yīng)用場合。
1 MSP430系列單片機(jī)的低功耗原理及工作模式
1.1 低功耗原理
MSP430系列單片機(jī)能夠具有很低的功耗,是由它的結(jié)構(gòu)特點決定的。
1.1.1 靈活的時鐘信號
MSP430系列單片機(jī)為系統(tǒng)提供不同的時鐘信號,用戶可以根據(jù)實際需要選擇合適的系統(tǒng)時鐘。MSP430的時鐘模塊由高速晶體振蕩器、低速晶體振蕩器、數(shù)字控制振蕩器DCO、鎖頻環(huán)FLL以及鎖頻環(huán)增強(qiáng)版本FLL+等部件構(gòu)成。MSP430系列單片機(jī)輸出3種不同頻率的時鐘信號:ACLK(輔助時鐘)、MCLK(主系統(tǒng)時鐘)、SMCLK(子系統(tǒng)時鐘)。下面以MSP430F4XX系列單片機(jī)的時鐘模塊為例作介紹。
MSP430F4XX系列單片機(jī)的時鐘模塊有3個時鐘源:LFXT1CLK,XT2CLK,DCOCLK。LFXT1CLK為低頻時鐘;XT2CLK為高頻時鐘;DCOCLK為片內(nèi)數(shù)字控制RC振蕩器,經(jīng)常用作系統(tǒng)和外設(shè)的時鐘信號,其穩(wěn)定性可由FLL+硬件控制。
MSP430F4XX系列單片機(jī)時鐘模塊的結(jié)構(gòu)如圖1所示。ACLK來自LFXT1CLK,可由軟件選作各外圍模塊的時鐘信號,一般用于低速外設(shè),ACLK經(jīng)1,2,4,8分頻后供外部電路使用,保證了MSP430F4XX和MSP430F1XX的時鐘系統(tǒng)相兼容;MCLK可由軟件選擇來自LFXT1CLK,XT2CLK,DCOC-LK三者之一,然后經(jīng)1,2,4,8分頻得到,主要用于CPU和系統(tǒng);SMCLK可由軟件選擇來自XT2CLK或DCOCLK,主要用于高速外圍模塊。用戶根據(jù)不同的應(yīng)用要求和系統(tǒng)條件,通過程序選擇低頻或高頻,3種不同的頻率時鐘輸出給不同的模塊,從而合理利用系統(tǒng)的電壓,實現(xiàn)整個系統(tǒng)的低功耗。
DCOCLK可以用作MCLK和SMCLK,但由于RC振蕩器DCO的頻率會因溫度和電壓的不同而變化,導(dǎo)致輸出頻率不穩(wěn)定。MSP430F4XX系列單片機(jī)的時鐘模塊應(yīng)用了增強(qiáng)型鎖頻環(huán)技術(shù)FLL+,可以通過頻率積分器和調(diào)制器的自動調(diào)節(jié)使DCOCLK的頻率趨于穩(wěn)定,實現(xiàn)了硬件自動調(diào)整DCO頻率,而MSP430F1XX系列單片機(jī)的時鐘模塊則需要通過軟件調(diào)整DCO頻率。
1.1.2 完全獨(dú)立運(yùn)行的外圍模塊
MSP430系列單片機(jī)的各個模塊運(yùn)行完全獨(dú)立,定時器、A/D轉(zhuǎn)換器等都可以在CPU休眠的狀態(tài)下獨(dú)立運(yùn)行,從而降低了系統(tǒng)工作時的功耗。例如,用兩種方式實現(xiàn)方波的輸出。
方式1 為通常單片機(jī)使用的方式,使用CPU控制輸出端口來實現(xiàn)高、低電平的交替轉(zhuǎn)換。在這種方式下,CPU一直處于工作狀態(tài)。方式1的程序如下:
方式2 使用MSP430外部模塊定時器A1的自動翻轉(zhuǎn)模式來實現(xiàn)高、低電平的交替轉(zhuǎn)換。在這種方式下,CPU在設(shè)定了定時器A1的工作模式后,由定時器A1的輸出控制波形,完全不需要CPU的參與,CPU可以休眠,降低了系統(tǒng)的功耗。方式2的程序如下:
[!--empirenews.page--]
1.1.3 瞬間喚醒的響應(yīng)特性
在通常情況下,軟件將CPU設(shè)定到某一低功耗模式下,在需要時使用中斷將CPU從休眠狀態(tài)中喚醒,完成工作之后又可以進(jìn)入相應(yīng)的休眠狀態(tài)。MSP430可以在極短的時間內(nèi)喚醒CPU,從而縮短了CPU的活動時間,降低了功耗。MSP430F4XX系列DCO振蕩器的響應(yīng)時間小于6 μs,可支持長睡眠周期和突發(fā)事件的執(zhí)行。
1.2 工作模式
MSP430系列單片機(jī)提供6種不同的工作模式:活動模式(AM)、低功耗模式0(LPM0)、低功耗模式1(LPM1)、低功耗模式2(LPM2)、低功耗模式3(LPM3)、低功耗模式4(LPM4)。選用哪種工作模式由CPU的狀態(tài)寄存器SR中的SCG0、SCG1、OscOff和CPUOFF位控制。通過設(shè)置控制位MSP430可以從活動模式進(jìn)入到相應(yīng)的低功耗模式,而各種低功耗模式又可以通過中斷方式回到活動模式。在各種工作模式下,時鐘系統(tǒng)所產(chǎn)生的3種時鐘活動狀態(tài)是各不相同的。各種工作模式、控制位及3種時鐘的活動狀態(tài)之間的相互關(guān)系如表1所示。
圖2顯示了在電壓為3 V、周期為1μs時各種工作模式的耗電情況??梢钥闯?,在LPM4工作模式下的耗電量相當(dāng)?shù)汀?/p>
靈活的時鐘信號、完全獨(dú)立運(yùn)行的外圍模塊和瞬間響應(yīng)的特性使得MSP430系列單片機(jī)可以通過軟件設(shè)置配置不同的工作模式,通過中斷切換不同的工作模式,CPU和各模塊都能在最低功耗狀態(tài)下正常工作。[!--empirenews.page--]
2 海溫測量中的應(yīng)用
作為重要的海洋水文參數(shù),溫度測量在海洋監(jiān)測、開發(fā)應(yīng)用和科學(xué)研究中都具有特別的意義,為此人們設(shè)計了各種形式的海水溫度測量儀器。目前,獲取海水溫度信息的手段多種多樣,如衛(wèi)星、飛機(jī)、船舶、浮標(biāo)、岸基監(jiān)測站、海上固定平臺、志愿船等。其中拋棄式海水溫度探測系統(tǒng)可快速獲取海溫的實時數(shù)據(jù),具有良好的機(jī)動性,便于組網(wǎng)。拋棄的測溫裝置需要單獨(dú)在海洋中完成海溫數(shù)據(jù)的采集和發(fā)送,依靠自身攜帶的電池供電,這時系統(tǒng)的功耗便尤為重要。因此,采用超低功耗的MSP430單片機(jī)來設(shè)計拋棄式測溫裝置的溫度采集系統(tǒng)。
2.1 設(shè)計方案
系統(tǒng)采用MSP430F4794作為微處理器同時完成數(shù)據(jù)的采集和處理任務(wù)。采用NTC熱敏電阻RT作為前端溫度傳感器,其突出特點是靈敏度高,響應(yīng)速度快。利用3個標(biāo)準(zhǔn)精密金屬膜電阻R1,R2,R3和NTC熱敏電阻RT構(gòu)成測溫電橋,用于激勵出熱敏電阻的差分電壓信號。
使用MSP430F4794芯片內(nèi)部自帶的SD16_A(增強(qiáng)型16位的∑-△A/D轉(zhuǎn)換器)模塊進(jìn)行模/數(shù)轉(zhuǎn)換。從前端溫度傳感器送來的差分信號首先經(jīng)過MSP430F4794內(nèi)部自帶的輸入緩存,可以避免直接接入程控放大器造成的測量誤差;經(jīng)過輸入緩存后由程控放大器對信號進(jìn)行差分放大,然后送入SD16_A;最后將轉(zhuǎn)換好的數(shù)據(jù)存入16位A/D轉(zhuǎn)換專用數(shù)據(jù)存儲器,完成一次數(shù)據(jù)采集。采集好的數(shù)據(jù)送運(yùn)算器進(jìn)行運(yùn)算最終獲得海水溫度測量結(jié)果。
MSP430F4794芯片內(nèi)部有低溫漂18 ppm,1.2 V的基準(zhǔn)電壓,利用其給測溫電橋和SD16_A同時提供電壓基準(zhǔn),以形成比值測量系統(tǒng),能夠有效消除測量系統(tǒng)中的漂移誤差。系統(tǒng)方案原理圖如圖3所示。
2.2 系統(tǒng)的低功耗設(shè)計
2.2.1 硬件的低功耗設(shè)計
系統(tǒng)選用了低功耗的處理器MSP430F4794。MSP430F4794為MSP430的4系列單片機(jī),工作電壓為1.8~3.6 V;當(dāng)工作電壓為2.2 V,頻率為1 MHz時,活動模式下電流為280μA,待機(jī)模式下電流為1.1μA;從待機(jī)到喚醒的時間不超過6μs。
采用32768 Hz和4 MHz的晶振作為時鐘輸入,當(dāng)系統(tǒng)處于溫度采集或通信狀態(tài)時采用高頻時鐘來獲取較高的處理速度,當(dāng)系統(tǒng)處于待機(jī)狀態(tài)時采用低頻時鐘來降低系統(tǒng)功耗。這樣就較好的解決了電池供電的小電流應(yīng)用系統(tǒng)中工作頻率和功耗之間的矛盾。
選擇低的供電電壓和低功耗的外圍器件來降低功耗。系統(tǒng)采用CR2032電池供電;使用超低功耗的LDO芯片AS1360進(jìn)行電源管理;選用低功耗的段式液晶顯示器LCD048。
2.2.2 軟件的低功耗設(shè)計
在程序設(shè)計上充分利用MSP430提供的多種低功耗工作模式。在進(jìn)行溫度采集時,系統(tǒng)由活動模式轉(zhuǎn)換為LPM0工作模式,CPU處于休眠狀態(tài),讓A/D轉(zhuǎn)換器獨(dú)立工作。在不進(jìn)行溫度采集時,系統(tǒng)處于待機(jī)模式,進(jìn)入LPM3工作模式。當(dāng)需要工作時,發(fā)生中斷喚醒CPU,處理完后再進(jìn)入低功耗模式。這樣,系統(tǒng)通常運(yùn)行在LPM3工作模式下,該模式又被稱為休眠模式,它是在保持實時時鐘活動情況下功耗最低的一種工作模式。通過各種模式之間的靈活轉(zhuǎn)換,實現(xiàn)了降低系統(tǒng)功耗的目的。系統(tǒng)進(jìn)行一次溫度采集時程序的運(yùn)行狀態(tài)與對應(yīng)工作模式的轉(zhuǎn)換如圖4所示。
3 結(jié)語
隨著便攜式、低功耗智能儀器儀表的迅速發(fā)展,需要有低功耗、高集成度、模擬特性好、處理能力強(qiáng)的微處理器,MSP430系列單片機(jī)滿足了這樣的需求。采用MSP430F4794作為微處理器設(shè)計的海水溫度采集系統(tǒng)能夠適應(yīng)空間受限、電池供電的海溫測量工作環(huán)境。測溫系統(tǒng)經(jīng)過修改,可以獲取海水的鹽度、波浪等其他海洋水文參數(shù),具有推廣應(yīng)用意義。