国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

微控制器的功耗調(diào)試:找出能量泄漏,降低嵌入式系統(tǒng)功耗

發(fā)布時間:2011-5-19 15:43    發(fā)布者:Liming
關(guān)鍵詞: 功耗調(diào)試 , 能量 , 微控制器
功耗調(diào)試技術(shù)使軟件工程師得以了解嵌入式系統(tǒng)的軟件對系統(tǒng)功耗的影響。通過建立源代碼和功耗之間的聯(lián)系,使得測試和調(diào)整系統(tǒng)功耗成為可能,即所謂功耗調(diào)試。傳統(tǒng)上,降低功耗僅是硬件工程師的設(shè)計目標;然而在實際運行的系統(tǒng)中,功耗不僅取決于硬件的設(shè)計,而且還與硬件如何被使用有關(guān),而后者則是由系統(tǒng)軟件來控制的。


圖1:IAR Systems的C-SPY調(diào)試器能夠在不同的視圖中顯示靜態(tài)和動態(tài)的功耗數(shù)據(jù)。

        功耗調(diào)試技術(shù)基于對功耗進行采樣,并建立每個采樣數(shù)據(jù)與程序的指令序列(以及源代碼)之間的關(guān)聯(lián)。其中的難點之一在于實現(xiàn)高精度的采樣。理想情況下,對功耗的采樣頻率應該與系統(tǒng)時鐘相同,但系統(tǒng)中的電容性元件會降低此類測量的可靠性。從軟件工程師的角度來看,更感興趣的是功耗與源代碼以及程序運行期間的各種事件之間的聯(lián)系,而非個別的指令,因此所需的采樣分辨率將大大低于對每個指令進行采樣的頻率。
        對功耗的測量由調(diào)試工具完成。例如,IAR Embedded Workbench所支持的調(diào)試工具是IAR J-Link Ultra。它能夠測量芯片的供電電源經(jīng)過一個串聯(lián)小電阻之后的壓降,見圖2。該壓降是使用差分放大器進行測量,并通過模數(shù)轉(zhuǎn)換器進行采樣的。
圖2:IAR J-Link Ultra能夠測量芯片的供電電源經(jīng)過一個串聯(lián)小電阻之后的壓降。

          要提高功耗調(diào)試的精確性,關(guān)鍵在于建立指令跟蹤與功耗采樣之間的良好關(guān)聯(lián)。最佳的關(guān)聯(lián)僅當能夠進行完全的指令跟蹤時才能實現(xiàn),但其缺點在于并非所有芯片都能支持這一功能;即便支持,也通常需要特殊的調(diào)試工具。
        要在較低的精確性下達到較好的關(guān)聯(lián)度,可以使用一些現(xiàn)代片上調(diào)試架構(gòu)所支持的PC采樣功能。該功能周期性地對PC進行采樣,并給出每個采樣的時間戳。與此同時,調(diào)試工具使用模數(shù)轉(zhuǎn)換器對芯片的功耗進行采樣。通過比對功耗采樣值和PC采樣值的時間戳,調(diào)試器就能夠在同一根時間軸上顯示功耗數(shù)據(jù)以及中斷紀錄、變量監(jiān)控等圖形,并且將功耗數(shù)據(jù)與源代碼關(guān)聯(lián)起來,見圖3。
圖3:PC和功耗采樣校正。

       一般來說,功耗優(yōu)化與速度優(yōu)化是非常相似的。一個任務運行得越快,低功耗模式持續(xù)的時間就能越長。因此,將處理器的空閑時間最大化可以降低系統(tǒng)的功耗。
       想要找出系統(tǒng)中不必要的能耗以及在何處能夠降低這些能耗是有難度的。通常它們并非源代碼中顯而易見地暴露出來的缺陷,而更多地存在于對硬件使用方式的調(diào)整之中。
       等待設(shè)備的狀態(tài)
     一個導致不必要能耗的常見錯誤是使用輪詢來等待某個外設(shè)狀態(tài)的改變。下面的例子中,代碼一直不中斷地運行,直到狀態(tài)變量變?yōu)轭A期的值。
     while (USBD_GetState() < USBD_STATE_CONFIGURED);
      while ((BASE_PMC->MC_SR & MC_MCKRDY) != PMC_MCKRDY);
      另一種類似的代碼是在for或while循環(huán)中實現(xiàn)軟件延時,例如:
      i = 10000; // SW Delay
     do i--;   
    while (i != 0);
     這段代碼使得CPU一直忙于執(zhí)行除了計時之外沒有任何作用的指令。
      在上述這些情況中,可以通過改寫代碼來降低功耗。延時最好是通過硬件定時器來實現(xiàn)。CPU在設(shè)置好定時器中斷之后就可以進入低功耗模式直到被中斷喚醒。同樣,對外設(shè)狀態(tài)的輪詢?nèi)粲锌赡芤矐撏ㄟ^中斷來解決,或者使用定時器中斷從而使得CPU在兩次輪詢之間可以進入休眠。
       DMA vs polled I/O   
      傳統(tǒng)上,DMA被用于提高傳輸速度。在某些架構(gòu)中,CPU即使在DMA傳輸過程中也可以進入休眠模式。功耗調(diào)試使得開發(fā)者能夠試驗并通過調(diào)試器看到與傳統(tǒng)由CPU驅(qū)動的傳輸方式相比,DMA技術(shù)所帶來的效果。   
      低功耗模式   
     很多嵌入式應用都把大多數(shù)時間花費在等待某些事件發(fā)生。如果處理器在空閑時仍然全速運行,電池的壽命將在幾乎未作任何事情的情況下被消耗。所以在很多應用中,處理器僅在總計很少的時間里才被激活。通過將處理器在空閑時間里置于低功耗模式,電池的壽命將得到數(shù)量級的延長。
      一個好的方式是使用RTOS和面向任務的設(shè)計。可以定義一個最低優(yōu)先級,僅當沒有任何其他任務需要運行時才會被運行的任務。這個空閑任務將是實現(xiàn)功耗管理的理想場所。在實踐中,當空閑任務每次被激活時,都將處理器(或其部份)置于(可能的)多種低功耗模式之一。
     CPU頻率 理論上,CMOS MCU的功耗可由以下公式得出: P = f x U^2 x k 上式中的f是時鐘頻率,U是供電電壓,k是數(shù)。        功耗調(diào)試使得開發(fā)者能夠驗證功耗與時鐘頻率之間的關(guān)系。運行在50MHz且?guī)缀醪恍菝叩南到y(tǒng),當運行在100MHz時將在休眠模式下消耗約50%的時間。調(diào)試器中的功耗數(shù)據(jù)使得開發(fā)者能夠檢驗所期望的行為,以及當如果存在與時鐘頻率的非線性關(guān)系時,選擇功耗最低的工作頻率。
       中斷處理    
    圖4顯示了一個事件驅(qū)動系統(tǒng)的功耗示意圖,其在t0時處于非激活模式,消耗的電流為I0。在t1時系統(tǒng)被激活且電流上升為I1,對應于系統(tǒng)在激活模式下且有一個外設(shè)被使用時的功耗。在t2時,程序的運行被一個更高優(yōu)先級的中斷所掛起。已經(jīng)被激活的外設(shè)沒有被關(guān)閉,雖然高優(yōu)先級的線程中并未用到它們。更多的外設(shè)被新的線程所激活,導致電流在t2和t3之間升高為I2。在t3時,控制權(quán)重又回到低優(yōu)先級的線程。

圖4:顯示了一個事件驅(qū)動系統(tǒng)的功耗示意圖。

        該系統(tǒng)的功能可以非常出色,并且能夠在運行速度和代碼尺寸兩方面進行優(yōu)化。然而在功耗方面,還有更多的優(yōu)化可以實現(xiàn)。圖中黃 色的區(qū)域表示如果在t2和t3之間關(guān)閉不需要的外設(shè),或者對調(diào)這兩個線程的優(yōu)先級,所能夠節(jié)省的能量
        使用功耗調(diào)試,能夠更容易地發(fā)現(xiàn)當中斷發(fā)生時功耗的額外上升,并將其標識為異常。
       查找有沖突的硬件初始化   
     為了避免輸入端浮動,在通常的設(shè)計中會將未使用的MCU I/O管腳接地。如果軟件錯誤地將某個接地管腳配置為輸出邏輯“1”,高達25mA的電流會流向該管腳。這種非期望的高電流在功耗采樣圖形上很容易觀測到;同時還可以通過觀察系統(tǒng)啟動過程中的圖形來查找相關(guān)的初始化錯誤代碼。
      模擬干擾也可能對功耗調(diào)試產(chǎn)生影響。模數(shù)混合電路板有其自身的特性。板級的布局和走線對于抑制模擬噪聲、保證對低電平模擬信號的精確采樣十分重要。良好的混合信號電路需要對硬件進行仔細的考量和認真的設(shè)計。
      總結(jié)
      功耗調(diào)試使得嵌入式系統(tǒng)的開發(fā)者能夠深入了解他們的應用,并發(fā)現(xiàn)程序的代碼對功耗有何影響。基于這些信息,可以通過調(diào)整和優(yōu)化源代碼以最大限度地降低功耗。使用這種方法,工程師們能夠確保他們的設(shè)計已經(jīng)盡可能地節(jié)省能量,而又不會對系統(tǒng)性能產(chǎn)生不利的影響。

      作者:Lotta Frimanson and Anders Lundgren, Product Marketing, IAR Systems
本文地址:http://www.qingdxww.cn/thread-66105-1-1.html     【打印本頁】

本站部分文章為轉(zhuǎn)載或網(wǎng)友發(fā)布,目的在于傳遞和分享信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責;文章版權(quán)歸原作者及原出處所有,如涉及作品內(nèi)容、版權(quán)和其它問題,我們將根據(jù)著作權(quán)人的要求,第一時間更正或刪除。
youyou_zh 發(fā)表于 2011-5-20 20:01:26
BUCUO
您需要登錄后才可以發(fā)表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區(qū)
  • 更佳設(shè)計的解決方案——Microchip模擬開發(fā)生態(tài)系統(tǒng)
  • 想要避免發(fā)生災難,就用MPLAB SiC電源仿真器!
  • 你仿真過嗎?使用免費的MPLAB Mindi模擬仿真器降低設(shè)計風險
  • 深度體驗Microchip自動輔助駕駛應用方案——2025巡展開啟報名!
  • 貿(mào)澤電子(Mouser)專區(qū)

相關(guān)視頻

關(guān)于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯(lián)系我們
電子工程網(wǎng) © 版權(quán)所有   京ICP備16069177號 | 京公網(wǎng)安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜噜噜噜私人影院在线播放 | 在线观看日韩视频 | 国产欧美一区二区三区免费看 | 亚洲第一区在线观看 | 97精品在线播放 | 欧美在线一区视频 | 精品四虎免费观看国产高清 | 成人性a激情免费视频 | 国产小视频在线免费观看 | 老司机亚洲精品影视www | 亚洲欧美日韩不卡一区二区三区 | 日韩精品一区二区在线观看 | 天堂网www天堂在线网 | 亚欧在线观看 | 国产一区精品在线观看 | 一级不卡毛片 | 免费一级特黄3大片视频 | 国产三级日产三级 | 四虎日韩| 免费观看老外特级毛片 | 天天操网 | 中文字幕欧美视频 | 日韩在线不卡 | 韩国免费人成在线观看网站 | 特级毛片8级毛片免费观看 特级黄a三级三级三级 | 四虎在线精品免费高清在线 | 操操操操网 | 99久久影视 | 日韩免费福利视频 | 九九热香蕉视频 | 老年人tv老年人同性 | 亚洲精品免播放器在线观看 | 香蕉久久夜色精品国产2020 | 国产乱弄视频在线观看 | h视频免费网站 | 欧美福利社 | 国产精品va免费视频 | 免费视频一区二区三区四区 | 黄页成人免费网站 | jizz日本护士视频 | 国产第一页在线观看 |