新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 嵌入式應(yīng)用中的能耗調(diào)試

嵌入式應(yīng)用中的能耗調(diào)試

作者: 時(shí)間:2011-02-04 來(lái)源:網(wǎng)絡(luò) 收藏

圖1 由于可以對(duì)代碼更改的作用進(jìn)行實(shí)時(shí)監(jiān)控,能耗調(diào)試得以簡(jiǎn)化


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

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

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


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


void pollLEUARTRx(void)
{while ( !( LEUART0 -> STATUS LEUART_STATUS_RXDATAV ) );}
高亮顯示的代碼行是輪詢循環(huán),它會(huì)檢查緩沖區(qū)是否接收到任何數(shù)據(jù)。剖析程序?qū)@示每個(gè)函數(shù)以及各個(gè)函數(shù)對(duì)總能耗的貢獻(xiàn)。在這里,代碼中唯一的函數(shù)是pollLEUARTRx(),所有的能耗都是由它產(chǎn)生的(見(jiàn)圖3)。



關(guān)鍵詞:

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉