《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 嵌入式應用中的能耗調試參考
嵌入式應用中的能耗調試參考
摘要: 擁有低功耗MCU本身并不意味著能耗會更低:關鍵在于優化軟件,不僅僅是功能性方面,而且還要顧及能源效率方面。全面控制MCU周邊的硬件并優化軟件和外設的總體使用率對于降低系統能耗而言是至關重要的因素。軟件并不總被看作能量的消耗者,但每個時鐘周期都會消耗電能,盡量減少它們,就能降低能耗。
Abstract:
Key words :

在越來越多的嵌入式" title="嵌入式">嵌入式系統應用中,節能和效率已成為開發人員最優先考慮的因素。這種情況可能是出于以下原因:政府管制、增加電池壽命的需求或者僅僅是需要降低用電量。


為順應這種趨勢,出現了越來越多的“超低功耗”微控制器。不過,至少到近期為止,還沒有出現能夠與之配套的、為開發人員提供對系統能耗" title="能耗">能耗的詳細監控的工具。


擁有低功耗MCU本身并不意味著能耗會更低:關鍵在于優化軟件,不僅僅是功能性方面,而且還要顧及能源效率方面。全面控制MCU周邊的硬件并優化軟件和外設的總體使用率對于降低系統能耗而言是至關重要的因素。軟件并不總被看作能量的消耗者,但每個時鐘周期都會消耗電能,盡量減少它們,就能降低能耗。


節能型的嵌入式系統開發可以看作一種三段循環:硬件調試、軟件功能調試和軟件能耗調試。

節能型的軟件開發
在開發MCU軟件時,需要考慮的主要問題通常是降低存儲器使用量以及盡可能縮減代碼規模。為了實現節能,一種非常常見的方案是使其在盡可能長的時間里處于睡眠模式,但這并不是唯一的節能方式。高能源效率的MCU通常提供了其他功能,以達到更低的能耗。除了使用這些MCU所提供的睡眠模式之外,高效地使用上述的其他功能才是節能的真正訣竅。


隨著開發過程的前移,代碼變得更長,而優化能源效率則變成了一項更為復雜的任務。識別可以用中斷服務例程代替的非必要等待周期或者外設誤用等錯誤,都變得越來越困難。如果這些“能源漏洞”沒有在開發階段被識別并加以解決,那么就幾乎不可能在現場或實驗室測試中檢測到它們。


要查明系統需要使用多少電能,最常見的方法是在一段特定時間內對電流進行采樣,求平均值并外推到更長的時間周期。這種類型的測量可以使用萬用表或示波器來完成,但通常都不可能將結果與代碼例程關聯起來。


另一方面,邏輯分析儀可以用于記錄例程,但通常無法將其關聯到能耗。為了估計電池壽命,使用外推獲得的結果不應該與真實使用情況相差太遠,但是,當目標旨在優化代碼的能源效率時,這種方法的用處很有限。

一種更富有成效的方法
現在,通過使用以圖形化方式實時顯示能耗信息、并能夠給出任何給定時刻的電流和實際運行代碼之間關聯的軟件和硬件工具,就可能顯著地縮短開發時間并減少工作量。你可以使用電源軌上的電流傳感器來監視能耗。


在確定的時間間隔處,就可以對電流進行采樣,完成A/D轉換,然后通過USB端口來傳送這一信息——同電壓和計時一起。此外,MCU會發送程序計數器(PC)采樣,這樣,就可以在主機計算機上將代碼和電流關聯起來。

降低1000倍
高級功率監控(AEM)系統就是現有工具的一個例子,它是Energy Micro公司EFM32 Gecko(壁虎)MCU的入門工具箱和開發工具箱的一部分。與電流消耗量有關的實時信息將顯示在LCD顯示屏上(如果使用DVK),或者將任何一種工具箱通過USB連接到PC上,然后顯示在該公司的energyAware Profiler上。圖1給出了一種常見的energyAware Profiler顯示。這種工具將以圖形化方式表示出電流與時間的關系。

圖1 由于可以對代碼更改的作用進行實時監控,能耗調試得以簡化


下面的這個例子將演示如何使用能耗概要分析并結合EFM32 MCU的特性以節省能耗。在圖2中,使用了LEUART模塊。它支持波特率高達9600的UART通信,同時將能耗保持在最小值。

圖2 運行模式下的LEUART RX輪詢(a),睡眠模式下觸發的LEUART RX中斷(b)

從接收緩沖區獲取數據的一種常見方式是對其進行輪詢,直到獲得有效數據,然后讀取緩沖區。要這樣做,MCU必須處于運行模式,這會造成相對較高的電流使用量。


這一循環的剖析曲線如圖2a所示,是3.33mA的恒定電流消耗量。通過單擊圖表,就能高亮顯示造成電源消耗的函數。


void pollLEUARTRx(void)
{while ( !( LEUART0 -> STATUS & LEUART_STATUS_RXDATAV ) );}
高亮顯示的代碼行是輪詢循環,它會檢查緩沖區是否接收到任何數據。剖析程序將顯示每個函數以及各個函數對總能耗的貢獻。在這里,代碼中唯一的函數是pollLEUARTRx(),所有的能耗都是由它產生的(見圖3)。

圖3 能耗函數

為了避免對RX緩沖區進行輪詢,一種常見的變通方法是啟用RX中斷并將MCU置于睡眠模式。完成之后,很容易看到能耗節省是巨大的。當我們關閉處理器,電流降至1.40mA(見圖2b)。現在,當LEUART接收到數據,它就會被喚醒并通過TX緩沖區將其傳送回去。


當中斷被觸發時,電流尖峰將達到2.5mA,而剖析程序會精確定位到中斷例程(見圖4a)。不過,電流將在這個尖峰值保留較長的一段時間,而通過點擊圖表,就可能會發現在使用UART通信時的另一種常見錯誤。

圖4 帶有LEUART TX輪詢的LEUART RX中斷(a),在接收字節之間處于睡眠模式下的EFM32(b),以及深睡眠模式下的EFM32(c)


void pollLEUARTTX(void)
{while ( !( LEUART0 -> STATUS & LEUART_STATUS_TXC) );}


在發送數據之后,用戶會設置一個while循環以等待傳輸完成。無疑,這會使處理器過長時間保持在運行模式之下。這段循環可以被中斷所取代,一旦傳輸完成,中斷就會喚醒處理器。通過這樣做,就將再次降低電流消耗量(見圖4b)。


現在,在每個接收到的字節之間,處理器都進入睡眠模式,降低了電流。字節傳輸的完成無須處理器的干預,所以就不需要輪詢緩沖區以獲知傳輸何時完成。將循環替換為中斷例程是一種更優雅、更節能的解決方案,正如這兩種方法的不同剖析圖所示。

深睡眠
EFM32 MCU的LEUART模塊可以在深睡眠模式下工作。在這種模式下,高頻振蕩器被關閉,但低頻振蕩器(RC或晶振)仍在運行并給LEUART提供時鐘。如果將EFM32置于深睡眠模式并重復上述例子,能耗將降至微安量級。


為了能夠直觀地顯示這些電流數值,剖析程序從線性坐標切換到對數坐標。在深睡眠模式下,電流現在是1μA,而接收到幀時的尖峰值是80μA(見圖4c)。從第一種方法到最后一種配置,節能倍數超過了1000。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
一本色道久久综合精品竹菊 | 亚洲精品在线视频| 亚洲欧美另类国产| 亚洲精选国产| 亚洲欧洲日夜超级视频| **性色生活片久久毛片| 国外视频精品毛片| 国产最新精品精品你懂的| 国产精品一区久久久久| 国产精品久久久久一区二区| 欧美日韩激情小视频| 欧美精品成人| 欧美激情一区在线观看| 欧美极品欧美精品欧美视频| 欧美成年人视频| 欧美激情视频网站| 欧美精品免费播放| 欧美精品三级日韩久久| 欧美日韩mp4| 欧美日韩一区三区| 欧美亚洲成人网| 国产精品久久久爽爽爽麻豆色哟哟| 欧美亚一区二区| 国产精品夜夜夜| 国产午夜精品美女视频明星a级| 国产日韩欧美亚洲| 国内精品模特av私拍在线观看| 国产一区二区毛片| 在线成人黄色| 91久久在线观看| 亚洲麻豆av| 亚洲一区二区三区精品视频| 亚洲自拍电影| 久久岛国电影| 亚洲精品日韩综合观看成人91| 99精品免费| 午夜精品久久| 久久蜜臀精品av| 欧美电影在线播放| 欧美午夜精品一区二区三区| 国产精品女主播一区二区三区| 国产欧美日韩伦理| 在线免费日韩片| 中文在线不卡| 久久成人在线| av不卡免费看| 久久成人免费日本黄色| 你懂的视频一区二区| 欧美日韩国产在线观看| 国产精品青草综合久久久久99| 国产无一区二区| 亚洲激精日韩激精欧美精品| 中文国产成人精品| 久久国产主播| 中国女人久久久| 久久国产精品一区二区三区四区| 免费h精品视频在线播放| 欧美三区在线视频| 狠狠色综合色综合网络| 日韩亚洲一区二区| 久久成人精品无人区| 在线亚洲免费| 久久久久国产精品人| 欧美日韩国产色站一区二区三区| 国产精品日日摸夜夜添夜夜av| 伊人成综合网伊人222| 亚洲深夜福利网站| 亚洲国产专区校园欧美| 亚洲男同1069视频| 欧美freesex8一10精品| 国产精品久久午夜夜伦鲁鲁| 在线观看av一区| 亚洲在线中文字幕| 亚洲区中文字幕| 欧美呦呦网站| 欧美日韩一区综合| 永久久久久久| 午夜精品一区二区在线观看| 亚洲另类一区二区| 久久精品夜色噜噜亚洲aⅴ| 欧美午夜大胆人体| 亚洲国产91| 欧美在线视频一区二区三区| 亚洲图片欧美午夜| 欧美激情aⅴ一区二区三区| 国产一区二区久久| 亚洲免费在线视频| 中文日韩在线| 欧美xart系列高清| 狠狠色丁香久久综合频道| 亚洲欧美日产图| 亚洲图片欧美日产| 欧美剧在线免费观看网站| 精品99一区二区| 欧美诱惑福利视频| 欧美一区影院| 国产精品久久久久久久电影| 亚洲老司机av| 99re亚洲国产精品| 欧美国产日本韩| 影音先锋另类| 久久国产精彩视频| 欧美亚洲专区| 国产精品天天看| 在线一区二区三区四区五区| 日韩午夜在线观看视频| 你懂的视频一区二区| 一区免费观看视频| 久久精品99| 久久精品最新地址| 国产亚洲一区二区在线观看 | 亚洲小说春色综合另类电影| av成人福利| 欧美麻豆久久久久久中文| 亚洲高清激情| 亚洲精品国产日韩| 欧美成人精品一区二区| 亚洲第一免费播放区| 亚洲电影免费观看高清完整版在线观看 | 在线日韩av片| 亚洲高清不卡一区| 久热精品视频在线观看一区| 国产一区二区三区av电影| 欧美一级专区| 久久免费高清视频| 黄色成人在线网站| 亚洲国产精品va在线看黑人| 久久美女性网| 伊人婷婷久久| 亚洲精品免费网站| 欧美精品在线一区| 亚洲精品欧洲| 亚洲一区激情| 国产精品久久一区主播| 亚洲综合视频一区| 久久国产精品亚洲77777| 国产一区二区三区奇米久涩| 久久成人免费| 欧美va天堂| 日韩天堂av| 亚洲欧美日韩在线| 国产亚洲欧美日韩美女| 久久精品国产77777蜜臀| 老司机午夜免费精品视频| 亚洲福利免费| 中日韩高清电影网| 国产精品免费aⅴ片在线观看| 亚洲欧美中文在线视频| 久久久久久日产精品| 在线免费观看视频一区| 亚洲伦理在线观看| 国产精品mv在线观看| 午夜精品福利视频| 美脚丝袜一区二区三区在线观看| 亚洲激情中文1区| 亚洲一区国产| 国产一区再线| 亚洲乱码久久| 国产精品五区| 亚洲电影在线看| 欧美精品在线看| 亚洲主播在线播放| 免费黄网站欧美| 一区二区三区四区蜜桃| 久久久www成人免费无遮挡大片 | 亚洲啪啪91| 欧美亚洲综合久久| 在线精品视频免费观看| 亚洲天堂免费在线观看视频| 国产欧美一区二区视频| 91久久久久久久久| 欧美日韩国产系列| 欧美一区二视频在线免费观看| 欧美成人一区二区| 亚洲一区二区三区精品动漫| 麻豆精品91| 国产精品99久久久久久宅男 | 久久精品国产精品| 亚洲三级电影全部在线观看高清| 欧美一级片在线播放| 亚洲国产精品久久人人爱蜜臀 | 欧美.com| 亚洲综合国产激情另类一区| 麻豆精品传媒视频| 亚洲调教视频在线观看| 美女啪啪无遮挡免费久久网站| 亚洲色无码播放| 另类欧美日韩国产在线| 一本到12不卡视频在线dvd| 久久精品在线| 一本色道久久综合亚洲91| 久久在线播放| 亚洲尤物在线视频观看| 欧美激情国产日韩| 午夜久久资源| 国产精品xnxxcom| 日韩视频久久| 狠狠噜噜久久| 欧美一区二区三区日韩| 夜色激情一区二区|