国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

MSP430FR單片機的超低功耗設計方法和原則

2018-08-08 07:33:38,,,,,
關鍵詞:低功耗功耗時鐘

,,,,,

(東方電子股份有限公司,煙臺 264001)

引 言

MSP430FR是美國德州儀器(TI)公司推出的新一代超低功耗系列單片機,由于其具有超低功耗的性能和可以高速、耐久讀寫數(shù)據(jù)的內置FRAM,非常適合應用于電力儀表等低功耗儀器儀表領域。在對功耗要求很苛刻的領域,如何合理開發(fā)使用MSP430FR系列單片機成為實現(xiàn)超低功耗的關鍵。本文以MSP430FR6972單片機為例,詳細介紹了MSP430FR系列單片機的超低功耗開發(fā)、設計原則。

1 MSP430FR系列單片機概述

MSP430FR系列單片機是16位單片機,采用了精簡指令集(RISC)結構,具有靈活可控的時鐘和豐富的片內外設,每個片內外設都可以單獨控制,從而實現(xiàn)多種不同功能的低功耗模式[1]。以MSP430FR6972單片機為例,其具有7種低功耗模式(如表1所列),其中,LPM3模式是在LPM2模式基礎上關閉了芯片內部的鎖頻環(huán);LPM3.5模式及LPM4.5模式是在LPM3與LPM4模式基礎上進一步關閉了芯片內部RAM的供電。LPM3.5和LPM4.5模式下,一些寄存器將會失效,未保存的數(shù)據(jù)及動態(tài)變量會丟失,因此在進入這兩種模式時一定要將有用的數(shù)據(jù)或變量保存到鐵電中,等到CPU從該模式恢復后,再將保存的數(shù)據(jù)讀出,重新賦給相應的變量。單片機會根據(jù)不同的運行模式關閉或打開CPU、時鐘及相應的外設,從而保證在最低功耗下實現(xiàn)相應的功能。

表1 MSP430FR6972運行模式及功耗(T=25 ℃,f=1 MHz,Vcc=3.0 V)

MSP430FR系列單片機與其他MSP430系列單片機的最大不同是采用內置FRAM取代Flash來存儲程序與數(shù)據(jù),數(shù)據(jù)寫入速度是Flash的100多倍。由于FRAM無需預擦除段并且可以實現(xiàn)位級數(shù)據(jù)存取,簡化了代碼開發(fā),從而能夠在功耗不變的情況下實現(xiàn)實時數(shù)據(jù)記錄。此外,相較于Flash,MS430FR芯片中的FRAM可提供超過100億次的寫入周期耐久性。

2 MSP430FR系列單片機超低功耗設計原則

單片機的超低功耗設計包括硬件、軟件兩個方面。在進行超低功耗設計時要綜合考慮硬件和軟件的設計,使其達到最優(yōu)的低功耗狀態(tài)。

2.1 硬件設計原則

2.1.1 供電電壓及時鐘頻率設置

MCU是由若干CMOS門電路組成,CMOS的功耗計算公式如下:

P=Pstart+PQ+Pdyn

(1)

(2)

其中,Pstart是由擴散區(qū)和襯底之間的反向偏置漏電流產(chǎn)生的靜態(tài)功耗,PQ是動態(tài)情況下P管和N管同時導通時的短路電流產(chǎn)生的動態(tài)功耗,Pdyn是開關電流產(chǎn)生的動態(tài)功耗。這三項中Pdyn大約占電路功耗的80%,是CMOS電路的主要功耗[3]。在式(2)中CL為CMOS的負載電容,f為系統(tǒng)時鐘頻率,Vcc為芯片的電源電壓。由此可知,電源電壓Vcc對系統(tǒng)CMOS電路功耗影響最大,其次是時鐘頻率f和負載電容CL。因此,為了能夠實現(xiàn)超低功耗,在滿足應用要求的前提下,要盡可能降低芯片的供電電壓。

圖1 I/O電平不固定情況下的電流消耗

一般而言,時鐘頻率越大,功耗越大。但另一方面,時鐘頻率與工作時間成反比,時鐘頻率越高,完成一段代碼的執(zhí)行時間越短,CPU處于空閑或睡眠狀態(tài)的時間就越長。因此,并不一定是頻率越高功耗就越大。在有些應用中,提高主頻反而可以使平均功耗降低,頻率的確定需要根據(jù)實際應用中的項目需求而定。例如,以不同頻率執(zhí)行相同代碼,其功耗大小如表2所列,從表中可以看出對于如下代碼,頻率在8 MHz時CPU消耗的平均功耗最小。

void main(void){

InitSoftWDog(0,0,0);

InitGpio();

InitSYSClock ();

while(1){

Pin1_0(1);//P1.0引腳置高

The three arrive at a marine life institute(海洋生物研究所)first.Here they meet Hank.Hank becomes their guide(向導).But the trip is not always a bed of roses(一帆風順).

CodeA();

CodeB();

CodeC();

Pin1_0(0);//P1.0引腳置低

}

}

表2 不同頻率下執(zhí)行相同代碼的功耗

2.1.2 I/O口設置

默認情況下,MSP430FR系列單片機的I/O口為輸入狀態(tài),且內部的上、下拉電阻未使能。因此,I/O口的電平不確定,從而容易產(chǎn)生寄生電流[2],如圖1所示。在默認狀況下,P1.0口的電壓處于不穩(wěn)定狀態(tài),當P1.0口的電壓為1.7 V左右時,寄生電流能夠超過40 μA。但P1.0端口電壓為3.0 V或者0 V時,電流幾乎為0。

為此,在進行產(chǎn)品設計時,硬件上可以通過將未用的I/O接到Vcc或者GND上,使其端口電平固定,從而避免產(chǎn)生寄生電流。若硬件上未進行相應處理,軟件上可以通過將未用的I/O口設置為輸出高電平或低電平,使其端口電平固定;或者將未用I/O口設置為輸入狀態(tài),并通過軟件設置內部上拉電阻或下拉電阻,使端口的電平保持固定,避免產(chǎn)生寄生電流。

2.1.3 外部設備

MSP430FR系列單片機內部包含了豐富的低功耗外設,如DMA、ADC等器件,合理利用這些低功耗外設能夠更好地降低系統(tǒng)的功耗。例如在相同情況下搬移1312個字節(jié), MSP430FR6972的DMA模塊與memcpy()函數(shù)所消耗的時間及功耗對比如表3所列。DMA可以在更短的時間內,用更低的功耗實現(xiàn)數(shù)據(jù)的搬移,且DMA進行數(shù)據(jù)搬移時并不會占用CPU,CPU可以繼續(xù)執(zhí)行其他指令。

表3 DMA模塊與memcpy()函數(shù)功能對比

2.2 軟件設計原則

典型的低功耗CPU的工作模式如圖2所示,CPU大部分時間處于空閑或休眠狀態(tài),僅有部分外設在工作,此時電流消耗很小。只有定時事件完成或有其他事件觸發(fā)時,CPU才會進入運行狀態(tài)執(zhí)行相應的工作,工作完成后CPU再次進入空閑或休眠狀態(tài),繼續(xù)等待定時或其他事件的觸發(fā),這樣系統(tǒng)整體的平均功耗就會很低[4]。例如采用MSP430FR6972芯片實現(xiàn)串口數(shù)據(jù)接收功能,可以選擇ACLK作為片內串口模塊的時鐘源,這樣芯片可以長時間處于LPM3模式下接收串口數(shù)據(jù),當要處理接收數(shù)據(jù)時再進入Active模式進行數(shù)據(jù)處理,從而使單片機功耗保持最佳。

圖2 典型的低功耗CPU的工作模式

此外,在軟件編程上盡可能地提升代碼的執(zhí)行效率,縮短CPU的活躍時間,也可以更好地降低功耗。例如盡量使用無符號數(shù),盡可能采用快速查表法來代替復雜的計算等。

2.2.1 ULP Advisor代碼分析

TI公司提供了ULP (Ultra-Low Power) Advisor分析工具,用于指導開發(fā)人員編寫有效的代碼,以充分利用MSP430微控制器的獨特超低功耗特性[5]。ULP Advisor功能可以在 IAR或CCS編譯器中通過設置啟用。

ULP包含了15條編程規(guī)則,在編譯時,ULP Advisor會提供通知和備注,以突出顯示代碼中可以進一步優(yōu)化的區(qū)域,如圖3所示,ULP Advisor提示for循環(huán)的代碼可以優(yōu)化。點擊圖3中messages對話框中的TI ULP Advisor報警信息,就會彈出如圖4所示的詳細說明,并包括優(yōu)化代碼的例子。從詳細說明中可知,MSP430單片機內進行非零值比較時需要執(zhí)行兩條匯編指令,而與零比較只需執(zhí)行一條匯編指令,所以可以將for(ii = 0; ii <20; ii++)改為for(ii =20; ii>0; ii--),提高代碼的執(zhí)行效率,從而節(jié)省功耗。

圖3 ULP Advisor告警信息

圖4 ULP Advisor詳細說明

2.2.2 Energy Trace功耗分析

在進行單片機超低功耗設計時,輔助的測量方法有很多種??蓪⒏呔入娏鞅泶牍╇娀芈窚y量功耗,或者在供電回路中串聯(lián)一個精密電阻(誤差為1%,甚至更低),用示波器實時測量電阻兩端的電壓等方法。

為了能夠更好地在程序設計過程中了解功耗,可以采用TI公司的Energy Trace工具。Energy Trace工具主要用于Debug模式,其可以實時記錄MSP430單片機的實時功耗、內部外設和芯片運行的狀態(tài)(見圖5)、程序里功能函數(shù)執(zhí)行的次數(shù)及每個功能函數(shù)的功耗,生成log信息并以圖表的形式實時展示出來[5]。

Energy Trace工具可以對比利用ULP Advisor工具調整后和調整前的代碼的實時功耗情況,如圖6所示。通過將ULP Advisor和Energy Trace結合使用,可以幫助軟件人員在程序設計調試中更好地優(yōu)化代碼,從而保證功耗做到最低。

圖5 芯片內部外設及運行模式實時追蹤

圖6 Energy Trace功耗跟蹤及對比分析

結 語

猜你喜歡
低功耗功耗時鐘
別樣的“時鐘”
一種高速低功耗比較器設計
古代的時鐘
揭開GPU功耗的面紗
個人電腦(2016年12期)2017-02-13 15:24:40
有趣的時鐘
數(shù)字電路功耗的分析及優(yōu)化
電子制作(2016年19期)2016-08-24 07:49:54
時鐘會開“花”
“功耗”說了算 MCU Cortex-M系列占優(yōu)
電子世界(2015年22期)2015-12-29 02:49:44
IGBT模型優(yōu)化及其在Buck變換器中的功耗分析
電源技術(2015年11期)2015-08-22 08:51:02
ADI推出三款超低功耗多通道ADC
苏尼特左旗| 临朐县| 绥棱县| 青浦区| 高碑店市| 康保县| 搜索| 马尔康县| 青川县| 绩溪县| 雅江县| 英超| 博野县| 定南县| 西充县| 新闻| 邮箱| 乐平市| 枣庄市| 汨罗市| 潼关县| 景宁| 定兴县| 堆龙德庆县| 叶城县| 井研县| 双城市| 高陵县| 西平县| 达拉特旗| 班戈县| 珲春市| 昌宁县| 广丰县| 越西县| 中阳县| 长沙县| 嵩明县| 雅安市| 永登县| 福贡县|