- 電源管理操作的靜態配置。PWRM 支持 DSP/BIOS 配置工具為一些電源管理操作提供設計時選項。例如,開發人員可配置閑置功能,插入 DSP/BIOS 閑置環路中,以自動閑置 DSP 緩存及 CPU;或配置節電功能,在導入時自動調用,以便閑置不必要的外設或子系統。
- 電源管理 API:PWRM 提供了 API,使開發人員能夠閑置特定的時鐘域,以調用定制睡眠模式,并動態更改 DSP CPU 的操作電壓及頻率。憑借新型API系列,應用還可指定是否應將電壓與頻率同時縮放,是否可在電壓降低轉換過程中繼續執行,以及V/F 設置點屬性及等待時間的查詢。
- 電源事件的注冊和通知:為協調整個應用過程中的 V/F 縮放、睡眠模式以及其他電源事件,PWRM 引入了新的注冊及通知機制,使處理電源事件(如"將更改 V/F 設置點"、"已更改 V/F 設置點"、"將進入睡眠模式"、"退出睡眠模式"、"電源故障"等)的實體(如應用代碼、外設驅動器、打包的內容以及操作系統時鐘模塊等)能夠就其處理的特定電源事件進行注冊以獲得有關通知。
PWRM 帶給 DSP/BIOS 的關鍵特性是"中央注冊系統 (central registry)",使處理電源事件的代碼可就其需要獲得通知的特定電源事件進行注冊,以獲得有關通知,并能夠在其不再需要通知時不進行注冊。圖2顯示了注冊與通知概念:
圖2 電源事件通知概念
在該例中,客戶注冊并獲得關于特定 V/F 電源縮放事件通知。圖中編號列出的步驟為:
- 應用代碼進行注冊,以獲得 V/F 設置點更改通知。例如,DSP 就不同的設置點要求不同的外部存儲器接口 (EMIF) 設置,因此應用寄存器便可控制電源管理器 (PWRM) 代碼,進而 EMIF 設置則可隨著設置點的更改而改變。作為注冊的一部分,應用代碼在事件發生時告知:PWRM 要調用的特定的通知功能;作為通知一部分傳遞的針對不同客戶的參數;以及控件代碼能夠操作的 V/F 設置點(從而使 PWRM 不會試圖啟動無支持的設置點更改)。
- 采用串行端口及DMA 傳輸數據寄存器的 DSP/BIOS 編碼譯碼器驅動器將獲得 V/F 設置點更改通知。 在該應用中,在較低 V/F 設置點上沒有 MP3 譯碼發生。因此在沒有執行 MP3 回放時,驅動器可閑置串行端口以及 DMA 時鐘域,并設置外部編碼譯碼器為低功率模式。
- 與此類似,文件系統管理器也注冊到 PWRM,以便獲得設置點更改的通知,因為其管理著存儲媒體。
- 應用決定更改 V/F 設置點(如 MP3 播放器模式的更改),并調用PWRM API以啟動設置點更改。
- PWRM 確認新的設置點就所有已注冊客戶啟用,并隨后將待進行的設置點更改通知給所有已注冊的客戶。
- PWRM 向 PSL 發出調用,以更改電壓及頻率設置點。為了安全地更改 V/F 設置點,PSL 將適當寫入時鐘生成及電壓穩壓硬件。
- 在設置點更改后,PWRM 將通知客戶設置點已發生更改。
電源管理器的配置
DSP/BIO 實現了內核對象的靜態與動態創建。例如,任務在設計時利用圖形配置工具可靜態創建,也可在運行時通過 TSK_create() API 調用動態創建。電源管理器的許多配置參數涉及到設計時間決策;因此電源管理的靜態配置被添加至 DSP/BIOS 圖形配置工具使用的配置文件。以下電源管理器參數是可靜態配置的:
- 電源管理器啟用/禁用
- 應用是否需要在導入時調用特定的用戶功能以減小功耗
- 應用是否需要就頻率縮放事件對 BIOS 時鐘進行再編程
- 應用是否需要在 CPU 空閑時自動閑置時鐘域
- 電壓與頻率縮放啟用/禁用
- 導入時CPU頻率值
- 導入時CPU電壓值
- 電壓縮放啟用/禁用
- 應用是否需要在電壓下降時等待
- 應用是否需要在 DSP 進入深度睡眠狀態時閑置時鐘域
- 哪些中斷可將 DSP 退出深度睡眠模式
圖 3 所示的屏幕截面圖反映了配置過程,顯示了電源管理器一般屬性的配置列表。
圖3、配置電源管理器一般屬性
除了電源管理器靜態配置屬性之外,以下屬性是在運行時通過導出的電源管理器 API 動態再配置的:
- 當 CPU 空閑時,時鐘域自動處于空閑狀態
- 與頻率一起啟用電壓縮放
- 在電壓降低時等待
總結
在實時嵌入式系統中可部署一些設計及運行時電源管理技術。一般來說,有些技術對廣泛系列的系統均是適用的,而另外一些技術則只適用于專門的應用。例如,顯示了某些技術如何被整合到 DSP/BIOS RTOS 系統中,同時應用開發商還能夠就其應用的要求選擇合適的技術。
[1]





