2. 如何測(cè)量MSP430的功耗?
就如何測(cè)量MSP430功耗,,我來(lái)分享一下我個(gè)人的經(jīng)驗(yàn),。
一、未使用的GPIO的處理
為了使MSP430最大限度的達(dá)到低功耗,,對(duì)于MSP430未使用的GPIO而言,,應(yīng)該將其設(shè)置為輸出;或者是設(shè)置為輸入,,但是將管腳的電平固定,,可以通過(guò)外部電路將管腳連接至Vcc或者GND,也可使能內(nèi)部上下拉電阻,將管腳電平固定,。
對(duì)于MSP430而言,,大部分情況下,測(cè)量到的功耗與datasheet不符均是由對(duì)MSP430未使用的GPIO處理不當(dāng)引起的,。默認(rèn)情況下,,MSP430的GPIO是作為輸入的,其等效電路如下圖所示,,為推挽模式:
當(dāng)GPIO管腳配置為輸入管腳且外部電平處于浮動(dòng)狀態(tài)時(shí)(0
如果要與別家的MCU比較功耗時(shí),切記一定要在相同的前提條件下比較才有意義,。而MSP430的BOR功能在7種LPM mode下均是打開(kāi)的,,且?guī)缀跏橇愎牡摹?/p>
為了更準(zhǔn)確的測(cè)量整個(gè)用戶(hù)應(yīng)用的功耗并且使得最大限度的降低整個(gè)應(yīng)用的功耗,,建議先對(duì)MSP430處于LPM4/LPM3模式下時(shí),,板子的整體功耗進(jìn)行測(cè)量,。在LPM4,LPM3模式下,將MSP430功耗與數(shù)據(jù)手冊(cè)調(diào)至一致后,,在此基礎(chǔ)上,,再進(jìn)行其他情況下功耗的測(cè)量。
1.低功耗測(cè)試程序的編寫(xiě)
a. LPM4 低功耗測(cè)試程序編寫(xiě)
LPM4低功耗測(cè)試程序的編寫(xiě),,建議參考Wolverine MSP430FR5969 LPM4 code example,如下圖所示,,注意事項(xiàng)主要有:當(dāng)作為輸入時(shí),,將GPIO狀態(tài)固定, 不讓其受外部浮動(dòng)電平的影響。示例中,,GPIO設(shè)置為輸入,,但是使能其內(nèi)部下拉電阻將GPIO的狀態(tài)固定了。當(dāng)然也可以直接將GPIO配置為輸出,。另外,,注意將不必要的模塊均關(guān)掉,以避免不必要的功耗增加,。例如:MSP430FR5739, 在LPM4下,,記得將參考源REF關(guān)閉。
REFCTL0 |= REFTCOFF;
REFCTL0 &= ~REFON;
b. LPM3 低功耗測(cè)試程序編寫(xiě)
首先需要明白,,對(duì)于LPM3 mode下功耗的測(cè)試,,需要選定ACLK的時(shí)鐘源, 是內(nèi)部VLO還是LFXT1。因?yàn)樵贚PM3下,,MSP430的系統(tǒng)時(shí)鐘只有ACLK可用,,MCLK和SMCLK均不可用。而當(dāng)ACLK的時(shí)鐘源選擇不同時(shí),,LPM3 mode下,,MSP430的功耗是不同的。以MSP430G2553為例,,其數(shù)據(jù)手冊(cè)中寫(xiě)明,,LPM3下,ACLK=LFXT1時(shí),,功耗約為0.7uA;而LPM3下,,ACLK=VLO時(shí),功耗約為0.5uA,。
另外,,在測(cè)量時(shí),為確保程序成功跑到LPM3模式下,。最好能夠在進(jìn)入LPM3之前有個(gè)指示,,譬如讓某個(gè)LED燈亮0.5s再滅掉,。一定要記得進(jìn)入LPM3時(shí),滅掉LED, 因?yàn)橐粋€(gè)LED燈亮,,本身就很耗電的,,有時(shí)會(huì)高達(dá)2mA。而為什么要有指示呢,?是因?yàn)楫?dāng)采用LFXT1作為ACLK時(shí)鐘源時(shí),,在程序中需要check LFXT1是否成功起振,萬(wàn)一用戶(hù)忘記焊LFXT1,,或者是低頻晶體沒(méi)有起振,,那么就會(huì)導(dǎo)致程序一直處于check flag,而不會(huì)進(jìn)入LPM3。在這些情況下,,如果沒(méi)有指示,,當(dāng)對(duì)功耗測(cè)量時(shí),就會(huì)發(fā)現(xiàn)測(cè)量結(jié)果與數(shù)據(jù)手冊(cè)上LPM3下的功耗不符,。
另外,,切記判斷LFXT1是否起振,千萬(wàn)不要直接用示波器測(cè)量低頻晶體的管腳,,因?yàn)長(zhǎng)FXT1本身是非常脆弱的,,一旦外部有波動(dòng),就會(huì)停振,。建議將LFXT1作為ACLK時(shí)鐘源,,然后將ACLK從對(duì)應(yīng)管交輸出后,用示波器進(jìn)行觀察,。
2. MSP430低功耗的測(cè)量硬件注意事項(xiàng)
為保證功耗測(cè)試的準(zhǔn)確性,,請(qǐng)盡量少接外圍電路,除非是想測(cè)量特定外設(shè)的功耗,。如果使用MSP430 value line的launchpad進(jìn)行測(cè)量時(shí),,記得將其EMULATION部分的5個(gè)跳線去掉,直接從板下端的Vcc, GND進(jìn)行供電和功耗測(cè)量,。因?yàn)槿绻蝗サ舻脑?huà),,EMULATION部分的電路也會(huì)耗電的。
如果硬件電路時(shí)用戶(hù)自己設(shè)計(jì)的,,測(cè)量LPM3,LPM4下面的功耗時(shí),,最好不要焊接MSP430相關(guān)的其他電路。如果已經(jīng)焊接了的話(huà),,那么MSP430 GPIO的狀態(tài)配置一定要根據(jù)外部硬件電路的設(shè)計(jì)來(lái)配置,。如果功耗大于MSP430數(shù)據(jù)手冊(cè)上處于LPMx的功耗的話(huà),可以嘗試更改GPIO的配置,,來(lái)時(shí)系統(tǒng)功耗達(dá)到最低,。
無(wú)論何種情況下,,MSP430的功耗測(cè)量,一定要注意前提條件,。對(duì)想要測(cè)試的MSP430的工作狀態(tài)進(jìn)行規(guī)劃,,確定此時(shí)MSP430工作的供電電壓,溫度,,主頻,,可用資源等,然后再測(cè)量,。使用Power Supply 輸出固定電壓給測(cè)試板,,例如3V。
1. 固定工作模式(固定功耗的測(cè)量)
如果用戶(hù)程序的編寫(xiě),,MSP430一直處于某種固定的模式下的話(huà),即其功耗是固定的話(huà),,可以將萬(wàn)用表調(diào)至測(cè)試電流檔直接串聯(lián)進(jìn)入供電線路,,即可直接觀察到此時(shí)電流值。
我曾經(jīng)用過(guò)測(cè)量精度為6位半的儀器:Agilent 34401A Digit Multimeter 和 RIGOL DM3061 Digital Multimeter,,均可以精確的測(cè)量到MSP430FR5969處于LPM3下0.7uA的電流,。
2. MSP430在active和LPMx mode下切換時(shí)功耗以及上電初始化功耗的測(cè)量
雖然高級(jí)萬(wàn)用表,有對(duì)電流進(jìn)行累計(jì)測(cè)量求平均的功能,,但是其測(cè)量結(jié)果還是不夠精確,,并且一般而言,用戶(hù)的程序在開(kāi)始一般都有初始化過(guò)程,,有時(shí)初始化過(guò)程還分很多段,,當(dāng)用戶(hù)想要測(cè)量初始化過(guò)程不同時(shí)間段對(duì)應(yīng)的功耗時(shí),將萬(wàn)用表串聯(lián)入供電線路就無(wú)法完成這個(gè)功能了,。此時(shí),,建議用戶(hù)使用示波器測(cè)量串聯(lián)入供電線路精密電阻兩端的電壓的方法,來(lái)對(duì)系統(tǒng)的功耗有個(gè)更直觀,,精確且有說(shuō)服力的測(cè)量,。具體的方法是,用一個(gè)約為10~20歐的精密電阻(誤差為1%甚至更低)串聯(lián)入供電線路中,,然后用示波器直接觀察此電阻兩端電壓的變化,,測(cè)出各個(gè)階段,各個(gè)工作模式下電阻兩端的電壓值,,而后處于電阻值即可得到對(duì)應(yīng)的工作電流,。
上面僅是個(gè)人經(jīng)驗(yàn)分享,若大家有補(bǔ)充和更正,,歡迎發(fā)表您的意見(jiàn),。O(∩_∩)O~
三、測(cè)量MSP430處于LPM4/LPM3 mode下的功耗
四.MSP430功耗的測(cè)量