簡介:
今天學習一下MSP430單片機的工作模式。
我們這節課的主要內容有:
·工作模式簡介
·低功耗模式
·低功耗設計
1,工作模式簡介
MSP430單片機在低功耗方面的表現是非常優秀的,非常適合手持設備的應用。MSP430通過軟件控制其時鐘系統可以工作在多種工作模式,包括一種活動模式和五種低功耗模式,通過這些工作模式,可合理的利用系統資源,實現整個應用系統的低功耗。
2,運行模式
MSP430的運行模式以先進的方式支持超低功率和超低功耗的各種要求。這是通過各模塊的智能化管理和CPU的狀態組合而成。一個中斷事件將系統從各種運行模式中喚醒,而RETI指令又使運行返回到中斷事件發生前的運行模式。
MSP430系列為超低功耗應用開發出采用不同功耗水平的運行模式。
用CMOS技術設計超低功耗系統有三個主要目的:
※解決運行速度和數據流量與低功耗設計的突出
※將各模塊的電流消耗降至最低
※閑置活動狀態至最低要求
3,電流與控制方式
我們先來看這張圖,這是MSP430F14x在不同工作模式下電流消耗的典型值。從這張圖中我們可以看出,在工作模式4(LPM4),單片機電流僅為0.1uA。
MSP430系列單片機是通過CPU中狀態寄存器SR中的SCG1、SCG0、OscOff和CPUOff四個位來實現工作模式控制的。
4,中斷控制位
四個控制位的作用是:
SCG1:當SCG1復位時,使能SMCLK;SCG1置位,則禁止SMCLK。
SCG0:當SCG0復位時,直流發生器被激活,只有在SCG0置位且DCOCLK信號沒有用于MCLK或SMCLK,直流發生器才能被禁止。
OscOff:當OscOff復位時,LFXT晶體振蕩器激活,只有當OscOff被置位且不用于MCLK或SMCLK時,LFXT晶體振蕩器才能被禁止,當使用振蕩器關閉選項OscOff時,需要考慮晶體振蕩器的設置時間。
CPUOff:當CPUOff復位,用于CPU的時鐘信號MCLK被激活,當CPU置位時,MCLK停止。
只要任意中斷被響應,上述控制位就被壓入堆棧保存,中斷處理之后,又可以恢復以前的工作方式。在中斷處理子程序執行期間,通過間接訪問堆棧數據,可以操作這些位,這樣在中斷返回后,MSP430單片機會以另一種功耗方式繼續運行。
5,各種工作模式下MSP430耗電情況
通過控制上述四個控制位,MSP430單片機可以從活動模式進入到響應的低功耗模式,而各種低功耗模式也可以通過中斷方式返回到活動模式,各種工作模式之間的關系及好點情況,我們看這張圖。
要實現整個MSP430單片機系統的低功耗運行,不僅要使CPU工作在低功耗模式,對其外圍模塊也要進行有效的管理降低其功耗。MSP430系列單片機各個模塊運行時完全獨立的,定時器、輸入/輸出端口、A/D轉換、看門狗、液晶顯示器等都可以在住CPU休眠的狀態下獨立運行。當需要主CPU工作時,任何一個模塊都可以通過中斷喚醒CPU,從而使系統以最低功耗運行。為了充分利用CPU低功耗性能,可以讓CPU工作于突發狀態。在通常情況下,根據需要使用軟件將CPU設定到某一低功耗工作模式下,在需要時使用中斷將CPU從休眠狀態中喚醒,完成工作之后又可以進入相應的休眠狀態。
6,MSP430的瞬時響應特性
如圖,我們可以看出MSP430的超低功耗的狀況。
MSP430的瞬時響應特性是系統超低功耗事件驅動方式的重要保證。
7,低功耗模式
7.1 工作模式
我們現在看到的是一張關于MSP430單片機工作模式的表格,里面一共有6種工作模式,分別是活動模式(AM),LPM0,LPM1,LPM2,LPM3,LPM4。這一節當中,我們將詳細的介紹著5種低功耗模式。
SFR中的各模塊允許位確定各自功耗控制器工作狀態的配置。由用戶程序定義外圍模塊的活動或停止。被禁止模塊的電流降到被禁止各部分的漏電流。模塊中唯一活動的是完成受控使模塊進入允許狀態或傳遞中斷請求(例如發生外部硬件中斷)給CPU的部分。
各模塊允許的選擇,有多達5種可能的省電模式:CPU關閉模式和4種系統時鐘發生器的運行組合。
7.2LPM0和LPM1
對SR中的CPUOff置位可選擇進入低功耗模式0或1。置位后CPU立即停止運行,系統內核的常規操作停止。CPU的操作暫停直至有任一中斷請求或復位發生。所有內部總線停止活動。系統時鐘發生器的繼續工作和時鐘信號MCLK及ACLK的活動取決于SR中的其他3位,即SCG0、SCG1和OscOoff。SCG1定義MCLK運行于ACLK的倍數或按DC0最近一次的控制信號運行。
被允許并得到MCLK或ACLK信號的外圍模塊處于活動狀態。I/O端口的全部引腳和RAM及寄存器保持不變。所有被允許的中斷事件可以從此狀態喚醒程序。
7.3 LPM2和LPM3
低功耗模式3和低功耗模式4,對SR中的CPUOff和SCG1置位可選擇進入低功耗模式2或3。置位后CPU和MCLK立即停止運行。它們暫停直至有任一中斷請求或復位發生。所有內部總線停止活動。SCG1定義MCLK在系統回到活動模式時運行于ACLK的倍數或按DCO最近一次的控制信號運行。
被允許并得到ACLK信號的外圍模塊處于活動狀態。工作時需要MCLK信號的外圍模塊因為MCLK信號停止活動而停止。I/O端口的全部引腳和RAM及寄存器保持不變。所有被允許的、不依賴于MCLK的中斷事件可以從此狀態喚醒。
7.4LPM4
LPM4也就是低功耗模式4,在這種模式下,全部活動部件停止,只有RAM、端口和寄存器的內容保持。只能由被允許的外部中斷喚醒。
在啟動LPM4前,軟件要考慮在這一低功耗模式期間系統需要的條件。最終的兩點是針對運行環境的,即對DC0和周期性操作的影響。運行環境定義的頻率合成數值應保持或校正。校正在周圍環境需要系統對頻率作大的改變時可能發生。當存在周期性操作應用時,應該考慮鎖相環可能失控,余留的時間片不足以將鎖相環保持在校正操作范圍之內。
7.5低功耗應用要點
當電流消耗是系統應用的重要指標時,應該考慮一些常規原則:
※將不用的FETI輸入端連接到Vss
※關閉LCD及模塊,可能時包括外部的模擬電壓發生器
※JTAG端口TMS、TCK和TDI不要連接到Vss
※CMOS輸入端不能有浮空的節點:將所有的輸入端接適當的電平
※選擇盡可能低的運行頻率-既針對內核,同樣也針對各外圍模塊
※如用了LCD,選擇盡可能弱的驅動能力,或者將它關閉
※充分利用中斷驅動軟件的特性-程序能快速地啟動執行。
8低功耗設計
一般來講MCU的功耗取決于三個方面,低功耗控制,低功耗工作模式選擇,低功耗軟件設計,本文將針對這三個方面進行闡述。我們首先要講的是低功耗控制。
8.1 低功耗的基本原則
針對MCU而言,有幾個基本的原則:
※工作頻率越低,MCU的功耗越小
※工作電壓越低,MCU的功耗越小
※工作的外設越少,MCU的功耗越小
首先是工作頻率越低,MCU的功耗越小;
我們在看數據手冊的時候,經常會看到一個參數就是每MHZ消耗的功耗。通常情況MCU會有三個參數,分別是運行模式功耗,空閑模式功耗和掉電模式功耗。從參數可以看出,MCU的功耗直接和你使用的工作頻率有關,在進行低功耗設計的時候一定要選擇合適的工作頻率。
其次我們要看的是工作電壓越低,MCU的功耗越小。廠家一般給出的都是MCU的最低工作電壓,事實上很多產品由于外設原因,電源原因,都不是工作在MCU的最低工作電壓上的,數據手冊上的參數僅供對比參考,不能作為絕對值進行計算。
最后我們要看的是工作的外設越少,MCU的功耗越小;這個條比較好理解。MCU的外設使用越多,功耗就越大。
另外,還有一個比較重要的原則,就是在FLASH中運行比在RAM中運行消耗更多的功耗。所以如果MCU的RAM夠大,可以把最常用的主循環和處理函數放在RAM中運行,這樣可以節約大于30%的功耗。
8.2 低功耗工作模式選擇
MSP430支持6種運行模式,AM, LPM0~4(低功耗模式)。而我們在選擇低功耗模式的時候,要根據自己系統的需要來確定,低功耗模式4是最省電的。我們在選擇工作模式的時候,需要根據CPU和時鐘狀態來確定工作模式。
8.3程序設計
好了,我們現在開看看程序,我們現在看到的這段程序是MSP430f149的程序框架,如果是其他系列的芯片,則需要適當的修改一下。這只是個main函數,并沒有給出中斷函數,當我們處在低功耗模式中時,中斷可以是系統從低功耗模式下跳出來,并執行中斷任務。
我們來看以下程序,進入低功耗在程序中其實很容易實現,我們看這句,這句便是進入低功耗模式的語句。若不想進入低功耗模式,則屏蔽本句。
我們接著來看這一句,這一句是對初中斷后退出低功耗模式。如果退出中斷后要保留低功耗模式的話,則不需要本句,將本句屏蔽。
8.4 進入頭文件
前面我們講過,控制低功耗狀態的是取決于SR中的四個控制位,即:SCG0、SCG1、OscOoff和CPUOff。那么,為什么我們在程序中進入低功耗時,并不需要配置這四位呢?在講這個之前,我需要給大家講一下,如何進入頭文件,看看頭文件中所包含的內容。
我們來看,首先,我們要選中我們要進的頭文件,我這里選中的是msp430x14x.h。點擊鼠標右鍵,選擇并點擊這里,我們便可以進入頭文件,查看里面所包含的的內容。在以后的學習中,我們會經常用到,在使用模塊化編程的時候也會用到,所以,學會這個方法很重要。好了,我們接下來進入msp430x14x.h中,看看里面所包含的內容,并為大家講解一下為什么在我們的程序中不需要對四個控制位進行配置。
8.5 頭文件中低功耗模式的定義
我們現在看到的就是頭文件中的一部分內容,可以很清楚的看到,頭文件中大部分是對一些命令的定義以及配置,這就是我們要寫頭文件的意義,這樣在我們編程的時候,許多最基礎的配置就不需要我們再寫了。我們重點來看看LPM低功耗模式的相關定義。
這部分的定義是針對匯編定義啊,這句話的意思就是針對匯編定義。由于我們是用C語言進行編程的,所以,這部分我們跳過不看。
我們直接來看針對C的定義。這部分便是針對C進行的定義。我們可以這里,是對LPM模式選擇的配置信息,比如說LPM0,我們以前講過是只有CPUOFF為1,其他為0。同樣的,其他模式的配置也是這個樣子的。
而這部分定義的內容,則回答了為什么我們可以用簡單的命令便可進入和退出任何一種低功耗模式。LPM0便是Enter LPM0。同樣的,其他的低功耗模式是用一樣的定義方式定義的,這里邊在贅述了。
上一篇:基于MSP430F149的點光源跟蹤系統設計
下一篇:最后一頁
推薦閱讀
史海拾趣
為了更好地服務中國市場,ebm-papst在中國不斷推進本地化生產。公司在上海和西安設立了研發中心和生產基地,配備了與德國同樣先進的實驗設備。這些本地化生產和研發設施使得ebm-papst能夠更快地響應中國市場的需求,提供更符合當地市場特點的產品和解決方案。同時,本地化生產也降低了公司的生產成本,提高了產品的競爭力。
隨著業務的發展和市場的擴大,ETA-USA開始在全球范圍內布局。公司先后在中國、歐洲等地設立了分公司或辦事處,以更好地服務當地客戶。這一全球擴張策略不僅增強了公司的市場競爭力,也為其帶來了更多的商業機會和合作伙伴。
為了進一步擴大市場份額,EOZ S.A.S公司積極實施國際化戰略。公司通過參加國際電子展、建立海外研發中心和生產基地等方式,加強與國際市場的聯系和合作。同時,EOZ S.A.S還針對不同國家和地區的消費者需求進行產品定制和本地化營銷,成功將產品打入多個國際市場并取得良好業績。
Dolphin Interconnect Solutions ASA深知創新是企業發展的根本動力。因此,公司不斷投入研發資源,鼓勵員工進行創新實踐。同時,Dolphin還注重人才培養和引進,建立了一支高素質、專業化的技術團隊。這些人才為公司的發展提供了源源不斷的創新動力。
在電子行業的激烈競爭中,Chiefdom Electronic Co Ltd憑借一項革命性的芯片技術,成功打破了市場的僵局。公司投入巨資研發,歷經數年努力,終于推出了具有高效能、低功耗特點的芯片產品。這一技術的推出,不僅為公司在智能手機、平板電腦等市場贏得了大量客戶,還使得公司在全球芯片市場占據了重要地位。隨著技術的不斷優化和升級,Chiefdom Electronic Co Ltd逐漸成為了行業內的技術領軍者。
在電子制造行業日益重視環保和可持續發展的背景下,EAO公司積極響應號召,致力于研發和生產環保型電子產品。公司投入大量資源研發新型環保材料,優化生產工藝,減少生產過程中的廢棄物排放。同時,EAO公司還建立了完善的電子垃圾回收體系,對廢棄電子產品進行專業處理,確保資源得到合理利用,減少對環境的負面影響。
DS1667內含兩個集成電路電位器,它可以通過計數法選擇電阻元件的辦法來調整,每個電位器由256個電阻元件組成,在每一個電阻段都有可連接到游標的抽頭。電阻陣列中游標的位置由一個8位寄存器來設定,該寄存器控制游標的輸出端連接在哪一個抽頭上。每 ...… 查看全部問答∨ |
關于網絡視頻監控的十大應用揭秘 IP監控解決方案變革了一些長久以來圍繞著網絡視頻監控的一些錯誤觀念。 什么是IP監控? IP是Internet Protocol(因特網協議)的縮寫,它是通過計算機網絡進行交流的最常用的協議之一。IP監控解決方案就是通 ...… 查看全部問答∨ |
注:看了國內某電子工程師考試題,覺得國內注重實踐,不知道是否知其然并知其所以然,因此小弟在此首次灌水,希望拋磚引玉,了解一下國內工程師的水平。 1。普通二極管和電力電子用的二極管在結構上有什么區別?提示:psn結構,s層的作用是什么? ...… 查看全部問答∨ |
|
Error: Quartus II Analysis & Synthesis was unsuccessful. 1 error, 0 warnings Error: Quartus II Analysis & Synthesis was unsuccessful. 1 error, 0 warnings Error: Top-level design entity "ctrl" is undef ...… 查看全部問答∨ |
|
typedef struct bGPIOx_CRL { unsigned int MODE0 :2; unsigned int CNF0 :2; unsigned int MODE1 :2; unsigned int CNF1 :2; unsigned int MODE2 :2; unsigned int CNF2 :2; unsigned int M ...… 查看全部問答∨ |
|
之前,與大家聊了那么多關于脈沖IV測試的內容;今天,為大家總結了進行脈沖IV測試的幾點注意事項:(好好收藏,一生享用!) 1、 確認連接:在連接到設備之后,執行任何脈沖測試前,使用scope-shot進行第一次測試以確認到DUT[1]的連接是正 ...… 查看全部問答∨ |
為什么我的Application UART驅動無法安裝??? 我用的MSP430 G2231,電腦里裝有CCS5.1,但為什么我把launchpad 接電腦usb上后無法安裝驅動啊???哪位大神能幫幫忙???跪謝。。。我試過右鍵點更新驅動,手動找到CCS5.1的安裝文件夾下的驅動,無法安裝,還試過裝TIUSBFET,CP2012之類的,都無效啊 ...… 查看全部問答∨ |