MSP430G2553單片機(jī)超低功耗的研究與設(shè)計
摘要:本設(shè)計以TI公司的MSP430G2553單片機(jī)為例,通過在空閑狀態(tài)下選擇深度的低功耗模式(LPM),在運(yùn)行狀態(tài)下,盡量降低電源電壓和時鐘頻率,利用其他有效的設(shè)計原則使單片機(jī)系統(tǒng)達(dá)到最佳的低功耗狀態(tài)。
關(guān)鍵詞:MSP430G2553;超低功耗;LPM;電源電壓;時鐘頻率
引言
美國德州儀器(TI)公司推出的MSP430系列單片機(jī)能實(shí)現(xiàn)極低的處理器功耗,特別適合于電池供電的應(yīng)用。本文以MSP430G2553單片機(jī)為例,對其實(shí)現(xiàn)超低功耗的設(shè)計進(jìn)行較為細(xì)致地探討。
1 MSP430G2553單片機(jī)概述
MSP430系列單片機(jī)具有超低功耗特性,同時還擁有強(qiáng)大的數(shù)據(jù)處理和運(yùn)算能力,高性能的模擬技術(shù)及豐富的片上模塊以及方便高效的開發(fā)調(diào)試環(huán)境。MSP430G2553單片機(jī)是一種混合信號微控制器,具有16位精簡指令集(RISC)架構(gòu)和62.5 ns指令周期時間,可在不到1μs的時間里從待機(jī)模式超快速地喚醒,支持JTAG仿真調(diào)試。超低功耗方面:1.8~3.6 V的低電源電壓;在1 MHz頻率和2.2 V電壓條件下,有230μA /運(yùn)行模式,0.5μA/待機(jī)模式,0.1μA/關(guān)閉模式(RAM保持);口線輸入漏電流小于50 nA。
MSP430系列開發(fā)工具方便先進(jìn),本文基于MSP430G2553型號單片機(jī)進(jìn)行超低功耗研究,相關(guān)實(shí)驗(yàn)采用MSP430 LaunchPad開發(fā)板,其單片機(jī)采用20引腳PDIP封裝,編譯工具使用Code Composer Studio v5.1.1,軟件編程采用C語言。
2 MSP430G2553單片機(jī)超低功耗設(shè)計原則
MSP430系列單片機(jī)是超低功耗單片機(jī)的代表,它有靈活的時鐘系統(tǒng)、多種深度的低功耗模式、高度自動化的智能外設(shè),其充分利用MSP 430G2553的特性和內(nèi)部模塊,實(shí)現(xiàn)理想的低功耗特性。
圖1為典型的低功耗系統(tǒng)CPU工作方式,系統(tǒng)的大部分時間處于空閑狀態(tài),有事件發(fā)生或定時才會處理一些工作任務(wù),整個系統(tǒng)的功耗就等于平均值曲線下方的面積。降低系統(tǒng)功耗即空閑時選擇低功耗模式,運(yùn)行時使工作消耗最小。
2.1 空閑狀態(tài)
很多低功耗系統(tǒng)空閑狀態(tài)下消耗的能量占全部的80%以上,所以空閑狀態(tài)下盡量選擇深度的休眠模式。MSP430系列單片機(jī)提供了多種工作模式,如表1所列,可以對系統(tǒng)時鐘、輔助時鐘作靈活的開關(guān)控制。
一般地,采用最大化LPM3時間的方式來盡量降低功耗。MSP430系列單片機(jī)可快速方便地切換工作模式,通過中斷可以在6μs內(nèi)從低功耗模式中喚醒CPU以控制程序流程,由于CPU的運(yùn)算處理速度快、退出低功耗時間短,可保證CPU大部分時間處于空閑狀態(tài),降低單片機(jī)系統(tǒng)的功耗。
2.2 運(yùn)行狀態(tài)
運(yùn)行狀態(tài)下CMOS數(shù)字系統(tǒng)功耗可由公式(1)計算得出:
其中:P動是運(yùn)行狀態(tài)下CMOS數(shù)字系統(tǒng)功率,C是CMOS的負(fù)載電容,f是系統(tǒng)的時鐘頻率,Vcc是電源電壓。
可見,電源電壓對系統(tǒng)的功耗影響最大,然后是時鐘頻率,再就是負(fù)載電容。對使用者來說,負(fù)載電容一般是不可控的,那么要設(shè)計一個低功耗的單片機(jī)系統(tǒng),主要有兩個原則:盡可能降低電源電壓;盡可能降低時鐘頻率。其他方法基本都是圍繞這兩個原則實(shí)現(xiàn)。電源電壓與時鐘頻率如圖2所示。
2.2.1 電源電壓
相同主頻下電源電壓越高,功耗越高,需要設(shè)計合理的供電系統(tǒng),以及靈活的調(diào)整單片機(jī)內(nèi)核電壓來降低功耗。AM下Vcc與Icc典型值如表2所列?;顒幽J?AM)下,MSP430G2553單片機(jī)電源電流(Icc)隨電源電壓(Vcc)變化而變化。
2.2.2 時鐘頻率
MSP430G2553的時鐘系統(tǒng)為電池供電而特別設(shè)計。MSP430G2553單片機(jī)有不同的時鐘源,產(chǎn)生3種可調(diào)的時鐘頻率:低頻輔助時鐘(ACLK)高頻主系統(tǒng)時鐘(MCLK)和高頻子系統(tǒng)時鐘(SMCLK)。根據(jù)各個外圍模塊的實(shí)際需要、處理器速度的最高要求以及時鐘精度來權(quán)衡3個時鐘的頻率。對于一些低頻工作的外設(shè)可采用ACLK作為時鐘或信號源,而非統(tǒng)一使用MCLK,從而降低功耗;不論對于CPU還是外部設(shè)備,應(yīng)盡量降低運(yùn)行頻率,不影響功能時可設(shè)計自動關(guān)機(jī)。
2.2.3 I/O端口
對普通的I/O口,需要配置成輸出模式來避免外部浮動電壓的影響。CMOS輸入端不能有懸空的引腳,應(yīng)將所有輸入端接適當(dāng)?shù)碾娖健?br />
2.2.4 外部設(shè)備
對片上外部設(shè)備配置合適的工作模式,對系統(tǒng)中外部設(shè)備做合適的功耗管理,以減少功率消耗及降低CPU使用率。在具體的應(yīng)用中,建議禁止所有不用的外設(shè)模塊,可使用帶使能引腳的ADC轉(zhuǎn)換器、帶使能引腳的運(yùn)放等。
2.2.5 智能外設(shè)
充分使用MSP430G2553的智能外設(shè),使其可以獨(dú)立于CPU進(jìn)行工作,使系統(tǒng)更長時間處于低功耗模式。比如ADC10能夠?qū)崿F(xiàn)多通道的自動輪詢采樣,并能夠?qū)崿F(xiàn)對ADC轉(zhuǎn)換結(jié)果的自動搬移,通過合理配置寄存器,可以將CPU的負(fù)荷降到最低,從而達(dá)到降低功耗的目的。
2.2.6 其他
DMA與其他外設(shè)的聯(lián)動、定時器自動觸發(fā)ADC等功能可以實(shí)現(xiàn)片上不同模塊之間的智能化操作,并將系統(tǒng)功耗降低。
2.3 軟件編程
軟件設(shè)計的簡潔程度與CPU完成任務(wù)所需時間直接相關(guān)。MSP430G2553有統(tǒng)一的尋址空間,完全正交的指令系統(tǒng)和充足的通用寄存器,可以保證C語言編譯的高效率。但同時在系統(tǒng)設(shè)計上,需要軟件工程師進(jìn)行最簡潔的代碼設(shè)計,有以下幾點(diǎn):
①盡量使用局部變量,局部變量通常會被分配到通用寄存器,有很高的指令效率;
②盡量使用無符號數(shù);
③用指針對結(jié)構(gòu)體和聯(lián)合體尋址;
④在使用fox循環(huán)時對counter作數(shù)據(jù)遞減;
⑤盡量采用快速查表而不是算法計算,盡量采用計算分支,而不是測試標(biāo)志位等。
結(jié)語
通過選用MSP430G2553單片機(jī)并合理配置,可以達(dá)到系統(tǒng)的最佳功耗設(shè)計。MSP430G2553單片機(jī)在便攜式儀器、智能傳感器、測控設(shè)備等領(lǐng)域有良好的應(yīng)用前景,符合“綠色環(huán)??沙掷m(xù)發(fā)展”的時代主題。