新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于嵌入式DSP應用的低功耗優化策略

        基于嵌入式DSP應用的低功耗優化策略

        作者: 時間:2010-04-15 來源:網絡 收藏

           RTOS如何滿足低設計要求

          一部分最重要的并得到普遍認可的技術方法可以融合到RTOS中,相關的技術包括:閑置、關閉活動電源、器件驅動程序通知、內存管理、電壓/頻率調節。然而,由于設計目標不盡相同,將這些技術構建到RTOS中并不容易。設計師需要在這些方法中做出選擇,設計的關鍵目標就是高效性、靈活性以及與操作系統本身的松散關系。

          TI的/BIOS操作系統的電源管理器(PWRM)非常適于用作現有RTOS的電源管理模塊。盡管以下描述的設計實現是針對/BIOS,但其概念可很容易地運用到其他操作系統,甚至用于無操作系統的環境。

          電源管理器的要求

          電源管理器設計的關鍵要求如下:

          1. 管理決策必須由觸發,而不是操作系統觸發;

          2. 電源管理活動應當針對大部分代碼透明;

          3. 電源管理器必須支持電壓與頻率(V/F)調節,并充分利用芯片的空閑與睡眠模式;

          4. 電源管理器必須在應用代碼、驅動程序以及操作系統本身范圍內協調電源事件處理,并在發生特定事件時向客戶端發出通知;

          5. 電源管理特性必須在任何線程環境中可用,并且還必須對特定客戶端的多個實例可用(如一個器件驅動程序的多個實例);

          6. 在向客戶端發出電源事件通知時,電源管理器必須支持事件處理的延遲完成,并在等待延遲客戶端的完成信號的同時通知其他客戶端;

          7. 對具有不同功能的不同平臺,電源管理器必須是可擴展的和可移植的。

          為滿足上述的關鍵要求,可將電源管理器作為DSP/BIOS的附屬模塊添加,如圖1所示。電源管理器位于內核之外,它不是系統中的一項任務,而是一組可在應用控制線程以及器件驅動程序環境中執行的API。

          圖1. 電源管理器分區

          這意味著無需修改內核,但在CPU時鐘與操作系統定時器時鐘相結合的平臺上,DSP/BIOS時鐘模塊(CLK)需要補充例程(routine),這對頻率縮放非常重要,因為這些例程能夠使OS時鐘適應PWRM的客戶端。

          電源管理器通過寫入并讀取時鐘空閑配置寄存器,并通過控制CPU時鐘速率及穩壓電路的特定平臺功率擴展庫(PSL),直接與DSP硬件相連接。PSL將電源管理器及應用的其他部分與頻率和電壓控制硬件的低層實現細節相隔離。

          電源管理器擁有若干個與應用相關的任務。由設計工程師對其進行靜態配置,并在運行時進行動態調用:

          1.空閑時鐘域―電源管理器提供的接口可使特定時鐘域處于空閑狀態,從而降低。此外,它還可以在OS空閑循環的適當點提供能自動使DSP CPU和高速緩存處于空閑狀態的機制。

          2.降低引導時間的―電源管理器包含一個鉤子機制(hook mechanism),這使開發人員能夠設定省函數,以便在引導時間實現自動調用。

          3.電壓及頻率(V/F)調節―電源管理器提供的接口可使應用程序動態更改DSP內核的工作電壓及頻率。因此,應用程序可利用該特性根據相關的處理要求相應調整功耗。電源管理器API可設定應用中的電壓是否應隨同頻率進行調節,以及在降壓轉換過程中是否可繼續執行任務,轉換時延由負載而定,有可能會較長;如果處理器在降壓轉換期間工作正常,則允許繼續執行應用;此外,電源管理器還包含用于查詢V/F設定點屬性及時延的API。

          4.睡眠模式―電源管理器包含的配置及運行時接口使開發人員可產生自定義睡眠模式,以便在非工作狀態期間節省電能。

          5.電源事件的注冊及通知―為了調整整個應用中的V/F調節比例、睡眠模式以及其他事件,電源管理擁有一套記錄及通知機制,以使諸如應用代碼、外設驅動程序、打包的內容以及OS時鐘模塊能針對會影響到他們的特定事件進行記錄,以便通知。這些電源事件如“即將更改 V/F 設定點”、“完成更改V/F 設定點”、“進入睡眠模式”、“從睡眠模式中喚醒”以及出現“電源故障”等。通知進程(notification process)是電源管理器的重要特性。當無需通知時可使用“未登記”功能。

          實施

          上面已經建立了提高電源效率的基礎,下一步工作就應該確定開發高效率應用的,并充分利用OS中的部分方法及支持。

          所建議的包括以下11個步驟。該策略具有可重復性:當無法滿足電源管理目標,或者需要采用額外的運行時方法才能滿足應用的電源預算時,就可重復這些步驟。

          1. 從最初就考慮到電源效率;

          2. 選擇低功耗組件;

          3. 對電源進行建模和估測,并進行相應的硬件測試;

          4. 針對電源管理和測量設計具備鉤子機制的硬件;

          5. 構建可大幅提高工作效率的軟件;

          6. 啟用簡單的電源管理開/關機切換;

          7. 在無電源管理的情況下也可先進入工作;

          8. 重復開啟“開機”特性,并測量功耗開銷(payoff);

          9. 開啟代碼生成功能、重置代碼及數據,并調整“熱點”監測;

          10. 進行校準,以實現頻率及電壓的最低;

          11. 激活并應用所有的電源管理特性。

          選用現成的DSP*估板5509A EVM PLUS板作為測試平臺,該*估板不僅支持V/F調節,還包含針對DSP內核與總體系統電源測量的鉤子機制。

          需要注意的是,EVM作為易于使用的*估平臺,并未在出廠時提供最佳功耗配置。另外,在*估效果時應謹記由于其易于配置,所以EVM上測量的總體系統電源數量就應多于通常情況下部署的平臺。EVM還能以DSP內核級與系統級兩種方法測量各種技術的有效性。

          步驟1無需解釋。步驟2及4基本上都由這種特殊EVM完成,這充分表明了該平臺的廣泛適用性。步驟3(試驗)在EVM上進行,目的是測量各種技術的效果(如片上與片外存取的內核及系統電源、DMA與CPU傳輸的比較、空閑外設及時鐘域的作用等等)。

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


        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 海城市| 尖扎县| 万全县| 壶关县| 潜江市| 花垣县| 修水县| 江油市| 永清县| 丽水市| 平昌县| 滦南县| 安吉县| 沅江市| 察雅县| 视频| 绥棱县| 寿光市| 孝感市| 江油市| 永嘉县| 藁城市| 唐海县| 会理县| 大连市| 彰化县| 峨眉山市| 荥阳市| 新密市| 中卫市| 清远市| 塔河县| 京山县| 手游| 乌兰察布市| 长宁县| 滦南县| 泗洪县| 沅江市| 荆门市| 梧州市|