<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > MCU軟件優(yōu)化之能源調試

MCU軟件優(yōu)化之能源調試

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

  現在人們更加重視可配置和可編程的解決方案,主要是因為在微控制器中,能源消耗很大程度上直接來(lái)自于處理內核和許多外圍設備的活動(dòng),這也是為什么現在半導體產(chǎn)業(yè)對'超低功耗'微控制器解決方案的需求量急劇增加的原因。

  傳統上,在大多數能源敏感的應用中人們一直采用8位或16位的設備,因為這些設備的內核很小,門(mén)相對較少, 泄漏電流的水平較低。然而今天的應用要求的處理能力要比8位或16位內核所能集合的更強大。

  過(guò)去人們普遍假定32位內核產(chǎn)生的電流在節能模式下就會(huì )有益于能量敏感的應用。今天看來(lái)這是一種誤解。利用現有的全套低功耗設計技術(shù), 32位內核才可以實(shí)現低功耗模式,節能效果和8位內核一樣好,甚至更好。

  Energy Micro生產(chǎn)的EFM32 Gecko微控制器是一種新的節能設備,是專(zhuān)門(mén)開(kāi)發(fā)來(lái)用在操作所有階段的產(chǎn)品,可減少電流和時(shí)間(即: 真正的能量)。圖1簡(jiǎn)要說(shuō)明了與尺寸較小的處理器內核相比,這種以ARM Cortex?- M3為基礎的設備完成任務(wù)的時(shí)間更快,更能在低功耗模式下花更多的時(shí)間,從而進(jìn)一步降低平均功耗。

  


  圖1:一個(gè)節能內核可通過(guò)完整的喚醒/操作/返回睡眠周期節省幾個(gè)不同區域的能量。藍色區域表示一個(gè)更強大的32位內核完成任務(wù)所節省的能量,所需的周期比一個(gè)8位內核需要的少,在活躍和睡眠模式下消耗的電流也較少。

  如圖2所示,Gecko已證明了它所消耗的能量?jì)H為8位、16位或32位解決方案所需能量的四分之一。這一性能在很大程度上是通過(guò)一個(gè)低能量的外圍設備套裝組合實(shí)現的,這個(gè)組合包括外圍反射系統(使得外圍設備圍繞內核自動(dòng)運作)、五個(gè)不同的和分級的低能量模式和非??焖俚膯拘褧r(shí)間。

  

《國際電子商情》

  Energy Micro的ARM ?Cortex?- M3芯片結構是以EFM32 Gecko微控制器為基礎的。

  要實(shí)現目標應用中盡可能低的能源消耗,我們不能忽視應用源代碼所發(fā)揮的關(guān)鍵作用。如果電池壽命被充分最大化了, 源代碼的設計就要盡量使用低能量的外圍設備和低能量模式。

  由于源代碼庫規模的增長(cháng),源代碼變得越來(lái)越難以識別,例如,當需要中斷服務(wù)程序來(lái)取代循環(huán)時(shí):一個(gè)簡(jiǎn)單的代碼疏忽可能會(huì )導致處理器繼續保持全面活躍,同時(shí)等待某個(gè)外部事件的發(fā)生,而不是進(jìn)入節能睡眠模式。

  在檢查代碼或在理想條件下進(jìn)行測試時(shí),這種偽隨機事件很容易被忽略,而且在浸泡試驗中很難捕捉到它。同樣,即使是最有經(jīng)驗的工程師可能也無(wú)法獨自從一張純粹的代碼列表中識別出消耗了不定量能源的代碼。

  雖然通過(guò)萬(wàn)用表閱讀或示波器跟蹤可能會(huì )測出給定時(shí)間內的能耗平均水平,它卻不能測出特定事件所消耗的電流。同樣,邏輯分析儀可以顯示某個(gè)特別程序開(kāi)始運行的時(shí)間和次數,但卻不能將此與電涌聯(lián)系起來(lái)。

  利用創(chuàng )新科技,Energy Micro開(kāi)發(fā)了一種克服這些限制的解決方案,該方案不僅提供了所用的瞬時(shí)能量水平,也將信息與當時(shí)實(shí)際采用的代碼聯(lián)系了起來(lái)。

  energyAware Profiler是用于PC的一種'能量調試'工具,它采用了現有的EFM32 Gecko開(kāi)發(fā)工具包中的專(zhuān)用Advanced Energy Monitoring (先進(jìn)能源監控AEM)系統。AEM能顯示開(kāi)發(fā)工具包里印刷線(xiàn)路板上液晶顯示器應用的實(shí)時(shí)耗電量,如圖3所示,在運用Profiler軟件時(shí),的真正能量才得以實(shí)現。

  

《國際電子商情》

  圖3:節能的EFM32 Gecko微控制器開(kāi)發(fā)工具包里有Advanced Energy Monitoring (先進(jìn)能源監控)。

  該軟件通過(guò)USB接口在Windows和開(kāi)發(fā)工具包界面上運行。來(lái)自開(kāi)發(fā)工具包里的基本數據使PC顯示出運行在目標上的應用代碼的實(shí)時(shí)能量剖面。

  默認配置顯示出時(shí)間推移中的能量水平,使工程師能識別出某個(gè)關(guān)注區域里使用的能源可能比預期的高了。隨著(zhù)時(shí)間的推移, 系統推斷出的電池供電應用的預期壽命指標比通過(guò)一張數據表中估算出最好和最差情況下的數據更準確。

  在與energyAware Profiler一同使用時(shí),AEM系統采用一個(gè)基于A(yíng)RM的串行接口收集應用中的其它信息。傳遞給它的數據采用AEM系統的硬件進(jìn)行解碼,然后再傳到PC上。這項活動(dòng)的非侵入性意味著(zhù)目標的能源剖面不以任何方式改變。

  其它數據包括重要的調試信息,包括Program Counter(程序計數器),它使energyAware Profiler能及時(shí)識別在某個(gè)特定時(shí)刻采用的實(shí)際源代碼,如能量圖所示。這會(huì )立刻向工程師指出該程序產(chǎn)生高能耗的任何區域,將代碼進(jìn)行優(yōu)化以降低整體能源消耗。見(jiàn)圖4。

  

MCU軟件優(yōu)化之能源調試

  圖4:energyAware Profiler同時(shí)提供三個(gè)角度、一張實(shí)時(shí)電流消耗圖、一張設備代碼列表和一個(gè)單獨應用功能的能量剖面。

  該圖通過(guò)寬度和高度的軌跡和快速的量級來(lái)代表能量的使用。下面是獨立的峰值 – 很容易通過(guò)使用示波器來(lái)監控電源的電流進(jìn)行識別- 實(shí)際上可能并不需要進(jìn)一步調查,而長(cháng)期以來(lái)相對較少的活動(dòng)其實(shí)也代表無(wú)用循環(huán)可以輕易被中斷驅動(dòng)的事件所取代,這將使設備進(jìn)入一個(gè)節能睡眠模式的過(guò)渡期。

  通過(guò)查看這些與源代碼緊密相關(guān)的圖表資料,工程師很快就能夠在一個(gè)項目中識別、放棄和優(yōu)先考慮具體的程序,避免不必要的能源使用量。這很容易轉化為一個(gè)量級的低能源消耗,因此,是更為有效的應用。

  在為一個(gè)設備或應用設定額定功率時(shí),參考數據表對工程隊而言是司空見(jiàn)慣的。然而,正如我們之前提到的,能源和功率根本不一樣,很多低功耗設備使用更多的能源,因為它們在一個(gè)較長(cháng)時(shí)期內很活躍。由于這個(gè)原因,我們不能忽視電源管理的時(shí)間軸,但很少能以一個(gè)可靠的方式實(shí)現它。

  顯然在這種情況下該軟件的剖面是至關(guān)重要的??上Т蠖鄶档能浖こ處煵⑽瓷羁桃庾R到哪個(gè)代碼具有公開(kāi)的“能源效率”。這不是批評,而是觀(guān)察的結果,我們不能把軟件看成先天資源不足,說(shuō)它超出了傳統的時(shí)鐘周期和記憶的條件。不過(guò),今天每個(gè)時(shí)鐘周期仍在消耗能源, 減少消耗是工程師們開(kāi)發(fā)超低能源應用時(shí)所要面對的主要挑戰。

  此外,減少時(shí)鐘周期直接關(guān)系到使用較少的能量,正確優(yōu)化時(shí)鐘周期提供了較佳的整體能量剖面。很明顯,一個(gè)功能上正確的程序不一定能通過(guò)設計優(yōu)化能源效率。

  為EFM32 Gecko MCU開(kāi)發(fā)的energyAware Profiler技術(shù)有一個(gè)從0.1μA至100mA的動(dòng)態(tài)范圍,應用的精細調試與功能調試同時(shí)進(jìn)行,從而將開(kāi)發(fā)時(shí)間的結果最大化了。

  以及軟件描述在超低功耗應用和技術(shù)中變得越來(lái)越關(guān)鍵。雖然EFM32 Gecko MCU是一種固有的低功率技術(shù),隨著(zhù)時(shí)間的推移, 保持較低的能源消耗與應用的性能之間有著(zhù)內在的聯(lián)系。這使得它在短期內受面向應用的條件限制,很難模擬。雖然數據表可能會(huì )幫助一位工程師了解在一定條件下某個(gè)設備使用的能源數量,但是只有當應用程序真的實(shí)際運行了,該數據表的數字才真的會(huì )得到檢驗。



關(guān)鍵詞: MCU 軟件優(yōu)化 能源調試

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>