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

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 嵌入式系統(tǒng)的低功耗軟件設計

          嵌入式系統(tǒng)的低功耗軟件設計

          作者: 時間:2012-05-07 來源:網絡 收藏


          部分接口函數詳細代碼設計

          由于通過控制各個模塊的時鐘頻率以及電源開關可以達到省電效果,比如說SD存儲器的開關,不用SD存儲器的時候就可以關掉,或是不需要高速存取的時候,就可以把SD存儲器的頻率降低,以求省電。下面以LCD模塊的代碼為例來說明LCD省電的詳細思路。其他模塊的代碼設計思想與其一致,這里不再贅述。

          #define POWER_SAVING_TIME (60*1000) // 間隔時間
          #define LCD_CONTROLLER_POWER 0x22400000 //LCD控制寄存器的地址
          extern unsigned int System_Time; //全局變量存儲系統(tǒng)時間
          unsigned int Last_Keystroke_Time; //最后的觸發(fā)事件的時間
          void Sys_SetAlarm(unsigned int T); //設置當前任務時間
          void User_Press_A_Key(void) //當有外部事件觸發(fā)將調用此函數
          { if(*(unsigned int *)(LCD_CONTROLLER_POWER) == 0) {
          *(unsigned int *)(LCD_CONTROLLER_POWER) = 1;
          }
          }
          Void User_Input_Task(void) //當有觸發(fā)事件到來執(zhí)行該函數
          {
          static unsigned int previous_key_time;
          previous_key_time = Last_Keystroke_Time;
          while(1) {
          Sys_SetAlarm(POWER_SAVING_TIME);
          if(previous_key_time == Last_Keystroke_Time) {
          /*一分鐘內沒有任何外部事件觸發(fā),將關閉LCD */
          *(unsigned int *)(LCD_CONTROLLER_POWER) = 0;
          }
          else
          previous_key_time = Last_Keystroke_Time;
          }
          }

          省電性能測試總結


          圖5 整個多媒體芯片系統(tǒng)的轉化流程示意圖

          嵌入式系統(tǒng)目前在多個行業(yè)得到廣泛應用,是其性能指標之一?;诠膶崿F(xiàn)設計硬件平臺后,實現(xiàn)主要從軟件方面來解決。本文基于嵌入式系統(tǒng)特征及其功能實現(xiàn),采用程序優(yōu)化技術來降。經過測試,整合多媒體芯片的無線終端平均功耗下降了50%。其中在正常待機時,電流為400mA左右,而在睡眠時降到了200mA左右;如果應用深度睡眠(關閉SC6600、QCP1880和所有設備,維持一個32kHz的時鐘)電流甚至可以降到10~20mA,完全滿足長時間待機。實驗表明,利用本軟件構架,可以對無線終端實行之有效的省電管理?,F(xiàn)已用于諸多無線移動多媒體終端項目(智能電話等),效果理想。由于限于篇幅,不再贅述。


          上一頁 1 2 3 下一頁

          關鍵詞: 低功耗 休眠 喚醒

          評論


          相關推薦

          技術專區(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); })();