• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 電源與新能源 > 設計應用 > 在μC/OS―II上實現動態電壓調節技術

    在μC/OS―II上實現動態電壓調節技術

    作者: 時間:2009-05-08 來源:網絡 收藏

    //變量leastNxtSusTime表示距離最近一個任務就緒的時間

    //變量readyTaskRequireTime表示就緒任務共需要的執行時間獲取任務TCB;


    根據FlexibleRatio設置處理器的頻率
    由于系統并不是時刻都需要地去改變處理器的頻率和,當且僅當系統中任務的就緒隊列發生變化的時候才需要重新計算處理器的頻率和。因此,這部分代碼需要在任務的切換過程中和中斷返回時執行。在本實驗中,這部分代碼寫在μC/擴展文件os_cpu_c.c中的TaskSwHook()函數中,同時在IntCtxSw()中也用了這個函數。
    3.4 設置處理器的頻率和
    由于設置處理器的頻率和電壓是與操作系統所運行的硬件平臺相關的,不同的處理器設置處理器頻率和電壓的方法不盡相同,所以本實驗在改進μC/OS―的時候并沒有將這部分代碼寫入內核,而是提供了擴展接口setCPUAtSpecifledVolAndFreq(voltage,frequency)供移植時使用。該函數用于設置處理器的電壓和頻率為指定的電壓和頻率。其中,參數voltage和frequency分別表示電壓和頻率。
    3.5 快速查詢頻率和電壓
    因為目前大多數的處理器并不支持連續地設置處理器的頻率,它們僅支持離散地設置處理器的頻率,所以按照公式(8)計算出來的頻率處理器可能并不支持。本實驗在過程引入了頻率查詢表快速查詢高于計算結果的,且處理器支持的最低頻率。它的結構如下:


    根據計算出的FlexibleRatio,即可直接在查詢表中查詢到相應的頻率值;但是計算出的FlexibleRatio多為小數,故在實際應用時常將該表設計得比實際大10倍。查詢的時候先將FlexibleRatio乘以10后取整,然后再查表。
    3.6 可裁減設計
    為保持與μC/0S―本身可裁減特性的一致,新加入的DVS功能可以在os_cfg.h中通過宏定義變量0S_PM_DVS_EN來啟用和關閉。OS_PM_DVS_EN為1表示開啟DVS功能,為O表示關閉。


    4 測試實驗
    改進后的μC/0S―II使用ARM Develop Suit V1.2編譯后,在華邦的W90P710開發板上測試運行。W90P710開發板支持4個等級的頻率調整。有關μC/OS-II在這塊板子上的移植請查閱參考文獻。

    采用功率計HIOK13332測量改進前后μC/OS―II在板子上運行時的功耗。本測試案例創建了兩個任務。這兩個任務的屬性如表1所列。

    實驗結果表明,使用DVS功能與不使用DVS功能相比,處理器的功耗下降41%。


    5 結 論
    本文的創新之處在于提出了一個DVS的模型,并在保持μC/OS―II原有的基于搶占的靜態優先級調度基礎上,在遵循可裁減、可移植的前提下,在其內核中加入了支持電壓管理的代碼配置和函數接口。經測試,改進后的μC/OS―II可以在W90P710上順利運行。雖然本實驗是針對離散的頻率和電壓進行的,但改進的μC/0S―II仍然可以支持連續電壓和頻率下的管理。通過以上改進,μC/0S―II在實際應用中可以節省更多的能耗,設備的使用時間會更加長久。


    上一頁 1 2 3 下一頁

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 永修县| 潍坊市| 手游| 安庆市| 慈溪市| 姚安县| 抚州市| 纳雍县| 藁城市| 嘉祥县| 正安县| 定结县| 曲靖市| 石阡县| 永修县| 江都市| 特克斯县| 旬邑县| 娱乐| 南澳县| 梁平县| 东城区| 达拉特旗| 湘乡市| 铁力市| 哈尔滨市| 靖远县| 安达市| 长阳| 贡觉县| 景洪市| 蓬莱市| 友谊县| 台江县| 闵行区| 府谷县| 突泉县| 宜川县| 股票| 犍为县| 泾阳县|