<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > μCOS-II實時操作系統(tǒng)在μ′nSPTM中的低功耗研究

          μCOS-II實時操作系統(tǒng)在μ′nSPTM中的低功耗研究

          作者: 時間:2009-07-01 來源:網(wǎng)絡 收藏
          在本文中采用的具體方法有兩種:
          方案一:系統(tǒng)在空閑狀態(tài)下關閉時鐘,進入低狀態(tài)。但這種方法會使停止運行而無法進行任務調(diào)度,故需要定時器周期性地喚醒CPU。CPU被喚醒之后重新判斷是否有任務處于就緒態(tài),如果有就執(zhí)行該任務;如果沒有則再次進入空閑狀態(tài)并關閉時鐘進入低狀態(tài)。其工作時序見圖2。其中用戶任務工作在高狀態(tài),空閑任務則關閉時鐘,處于低功耗狀態(tài)。

          本文引用地址:http://www.ex-cimer.com/article/152443.htm

          方案二:系統(tǒng)在空閑狀態(tài)下不關閉實時時鐘,而是進入最低的工作頻率,此時處理器處于低功耗工作狀態(tài),仍然可以進行任務調(diào)度。當有用戶任務時,由用戶任務先把實時時鐘頻率升高,然后再運行用戶代碼。其工作時序見圖3。其中每次進入用戶任務之前,先將實時時鐘頻率升高,用戶任務運行結束進入空閑狀態(tài)時,再將實時時鐘頻率降低。

          測試和方案對比:
          首先在處理器μ′處理器上移植μCOS-Ⅱ?qū)崟r。運行正常后測試用的用戶任務是以1 Hz的頻率點亮LED指示燈。表2是測試數(shù)據(jù)(外電壓4.82 V,穩(wěn)壓后處理器電壓3.3 V)。

          測試結論:
          雖然以整機電流進行測試不能完全反映處理器的工作情況,但從以上數(shù)據(jù)可以知道,采用兩種方案確實可以降低系統(tǒng)功耗,而且方案一的效果更好,但需要占用一個定時器,在測試中發(fā)現(xiàn)當任務增加后功耗很快達到方案二水平,且有時不能正常喚醒;方案二很穩(wěn)定,而且不需要定時器,用戶可以根據(jù)任務的運算量設定不同的時鐘頻率,如需要大的運算任務,可在進入用戶任務之前將時鐘頻率設置為較高值,反之設置為較低值。以上采用的方法只是動態(tài)地改變系統(tǒng)的頻率,沒有動態(tài)地改變電壓水平,因此在降低嵌入式系統(tǒng)功耗方面依然有進一步的潛力。但動態(tài)改變電壓水平需要更多硬件支持,在目前廣泛使用的中低端處理器中,通過擴展實時操作系統(tǒng)內(nèi)核動態(tài)地改變系統(tǒng)的頻率對降低嵌入式系統(tǒng)功耗是大有裨益的。

          4 結 語
          在嵌入式系統(tǒng)設計中,由于普遍存在CPU高速運行功能和有限任務處理要求的巨大差異,會形成系統(tǒng)在時間與空間上巨大的無效操作。如果能夠根據(jù)系統(tǒng)的工作狀態(tài)自動地進行功耗管理,使系統(tǒng)工作于系統(tǒng)狀態(tài)相適應的功耗模式,故能極大地降低系統(tǒng)功耗,延長電池待機時間。這些工作對嵌入式開發(fā)有重大的意義。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          p2p機相關文章:p2p原理



          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();