<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è) > 設計應用 > 從應用層和后臺分析便攜式電子產(chǎn)品的節能技術(shù)

從應用層和后臺分析便攜式電子產(chǎn)品的節能技術(shù)

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

  
  電源管理技術(shù)
  
  的電源管理技術(shù)之間可能會(huì )產(chǎn)生相互影響,因此應用程序必須對其進(jìn)行處理,或者對于應用程序完全透明。即使它們對應用程序是透明的,軟件設計工程師也需要設置中斷或其他資源,以便為這些電源管理技術(shù)提供支持。這些軟件設計工程師也可能需要了解這些技術(shù)的實(shí)際運行,以免應用程序與電源管理技術(shù)之間出現意想不到的干擾。例如,不必要的顯示刷新或磁盤(pán)存取工作可能會(huì )對其中部分工作流程造成干擾,使已停止使用一段時(shí)間的顯示器背光系統或磁盤(pán)馬達無(wú)法關(guān)閉。


  
  圖3:自適應電壓調節功能降低了功耗。
  
  1.活動(dòng)監控程序
  
  許多系統設計所采用的外設如顯示器背光系統及磁盤(pán)馬達比微控制器更耗電。對于這類(lèi)設計來(lái)說(shuō),專(zhuān)門(mén)監控個(gè)別外設的活動(dòng)監控程序可以大幅改善系統的功效?;顒?dòng)監控程序有自己的計時(shí)器,受監控的外設無(wú)論進(jìn)行哪樣的工作,都可避免計時(shí)器超過(guò)其設定時(shí)限。如果計時(shí)器出現溢出或下溢(出現哪種情況取決于計時(shí)器的設置),會(huì )將外設關(guān)閉或將之置于低功率模式。
  
  典型的活動(dòng)監控程序利用實(shí)時(shí)操作系統(RTOS)提供的服務(wù)設定任務(wù),以便處理預定發(fā)生的事件,其中包括所有活動(dòng)監控程序的更新。有關(guān)的后臺任務(wù)必須提前設定,以便RTOS可以按照某一固定頻率定時(shí)調用任務(wù),一般來(lái)說(shuō)每10至100毫秒(ms)之內調用一次。一旦已發(fā)出任務(wù)調用,該任務(wù)將查找任何預計發(fā)生的、需要被執行的任務(wù),之后處于懸置狀態(tài),直至再發(fā)出調用。
  
  系統也可利用旗語(yǔ)(Semaphores)或任務(wù)之間的消息傳遞來(lái)告知某外設接入。當系統調用后臺任務(wù)時(shí),會(huì )先核查是否已收到信號。如果有關(guān)信號仍未收到,計數器會(huì )增加。如果計數器出現溢出,系統便會(huì )關(guān)閉外設;如果信號已收到,計數器便會(huì )進(jìn)行復位。
  
  設備驅動(dòng)程序可能會(huì )對復位信號進(jìn)行聲明(assert),這個(gè)信號用于對該設備進(jìn)行存取。當系統調用對設備進(jìn)行存取的驅動(dòng)程序函數時(shí),驅動(dòng)程序可以對后臺任務(wù)聲明這個(gè)信號。如果驅動(dòng)程序本身沒(méi)有這個(gè)功能,工程師可以先修改驅動(dòng)程序的源代碼,然后加以重新編譯,以提供這個(gè)功能,但這樣將使驅動(dòng)器不是標準的驅動(dòng)程序。如果必須確保相關(guān)源代碼及程序可與驅動(dòng)器程序庫的新版兼容,可以選擇一個(gè)具有較高可移植性的解決方案,這個(gè)方案將實(shí)現一套函數或宏,這套函數或宏發(fā)送復位信號,然后調用標準的驅動(dòng)器。
  
  活動(dòng)監控功能也可以利用硬件實(shí)現。外設進(jìn)行存取時(shí),計時(shí)器可以監控硬件的活動(dòng)信號。計時(shí)器是自由運行的計數器,每當受監控信號被聲明后,計時(shí)器便會(huì )復位。如果計時(shí)器出現溢位,便會(huì )向CPU發(fā)出中斷信號,中斷服務(wù)例行程序隨后便會(huì )關(guān)閉相關(guān)的外設。
  
  硬件監控器的響應可能比軟件監控程序快,但對于監控外設的監控程序來(lái)說(shuō),速度通常并不重要。即使利用軟件方案關(guān)閉顯示器背光系統會(huì )出現100ms的延遲,但對電池壽命來(lái)說(shuō),所產(chǎn)生的影響可以說(shuō)微不足道。而且,完全利用軟件進(jìn)行監控的解決方案也比較容易實(shí)現,因為活動(dòng)監控程序只需集中處理一項工作,而且工程師可以只理解源代碼,不必對硬件計時(shí)器的結構有任何了解。此外,軟件方案具有較高的可移植性,因為它不會(huì )局限于任何特定的硬件計時(shí)器實(shí)現。但軟件方案需要占用較多的CPU帶寬,如果系統需要經(jīng)常對受監控的外設進(jìn)行存取,這是一個(gè)需要慎重考慮的問(wèn)題。



評論


相關(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>