新聞中心

EEPW首頁(yè) > 汽車電子 > 設(shè)計(jì)應(yīng)用 > DSP 系統(tǒng)電源管理技術(shù)

DSP 系統(tǒng)電源管理技術(shù)

——
作者: 時(shí)間:2005-08-21 來(lái)源: 收藏
管理技術(shù)

本文引用地址:http://m.butianyuan.cn/article/7700.htm

在便攜式應(yīng)用中,低功耗是產(chǎn)品能否獨(dú)樹(shù)一幟的關(guān)鍵所在,其決定著產(chǎn)品的尺寸大小與操作時(shí)間。舉例來(lái)說(shuō),如果您在跨越大洋的飛行時(shí)選擇便攜式DVD播放器作為消遣,那么電池壽命將會(huì)成為您的首選標(biāo)準(zhǔn)之一。在本文中,我們將集中討論許多更為常用的基于軟件的技術(shù)。首先,我們從講解某些可用于嵌入式系統(tǒng)的管理技術(shù)開(kāi)始,并談?wù)勂湓趯?shí)時(shí)應(yīng)用中會(huì)遇到的諸多難題。效率既由硬件設(shè)計(jì)與組件選擇決定,同時(shí)也由基于軟件的運(yùn)行時(shí)電源管理技術(shù)決定。本文后半部分將集中展示如何將技術(shù)子集成到用于數(shù)字信號(hào)處理器 ()的實(shí)時(shí)操作系統(tǒng) (RTOS) 中,從而使應(yīng)用開(kāi)發(fā)人員選擇出可滿足其應(yīng)用要求的專用技術(shù)。我們將以德州儀器公司 (TI) 的 (TI) /BIOS? 操作系統(tǒng)為作為實(shí)例,顯示運(yùn)行時(shí)電源管理軟件技術(shù)的實(shí)施方法。

運(yùn)行時(shí)電源管理技術(shù)

盡管我們討論的是某些可擴(kuò)大標(biāo)準(zhǔn)多線程讀取操作系統(tǒng) (OS) 的特定電源管理技術(shù),但應(yīng)當(dāng)強(qiáng)調(diào)指出的是,采用搶先式 (preemptive) 的多線程讀取OS本身常常能夠?qū)崿F(xiàn)顯著的電源節(jié)約。不利用OS的實(shí)時(shí)應(yīng)用常常要求應(yīng)用周期性探詢接口以檢測(cè)事件。從電源角度看,這樣的效率是相當(dāng)?shù)偷摹J褂肙S可使應(yīng)用能夠利用中斷驅(qū)動(dòng)模式,其中程序就會(huì)在需要的時(shí)候開(kāi)始執(zhí)行,以響應(yīng)外部事件。此外,當(dāng)基于OS的應(yīng)用沒(méi)有可做的事情時(shí),其就會(huì)進(jìn)入空閑線程,這時(shí)則可啟動(dòng)低功率操作模式,以減少功耗。

但是,操作系統(tǒng)除了能簡(jiǎn)單地為DSP內(nèi)核啟用空閑模式之外,其還需要提供復(fù)雜得多的電源管理支持。在實(shí)踐中,大量功率被周邊設(shè)備所消耗,可能是片上器件,也可能是外部設(shè)備,此外存儲(chǔ)器也會(huì)消耗大量功率。任何電源管理方法都應(yīng)當(dāng)具備管理外設(shè)功耗的支持,這是至關(guān)重要的。此外,電壓與功耗之間的平方關(guān)系意味著,更高效的方法是在要求較低電壓的較低時(shí)鐘速率上執(zhí)行代碼,而不是先以最高的時(shí)鐘速率執(zhí)行而后再轉(zhuǎn)為空閑。我們將概括講解在操作系統(tǒng)中實(shí)施電源管理支持的眾多機(jī)遇:

系統(tǒng)上電行為:處理器及其片上外設(shè)一般均以最高時(shí)鐘速率全面上電啟動(dòng)。不可避免的是,有些資源的供電啟動(dòng)還尚不需要,或者根本就不會(huì)在應(yīng)用過(guò)程中用到。舉例而言,MP3播放器就很少使用其USB端口與PC進(jìn)行通信。在啟動(dòng)時(shí),操作系統(tǒng)必須為應(yīng)用提供一種調(diào)節(jié)系統(tǒng)的機(jī)制,從而關(guān)閉不必要的電源消耗器件或使之處于空閑狀態(tài)。

空閑模式:CMOS電路中的有效功耗只有在當(dāng)電路進(jìn)行時(shí)鐘計(jì)時(shí)的情況下才發(fā)生。通過(guò)關(guān)閉不需要的時(shí)鐘,可以消除不必要的有效功耗。在等待外部事件時(shí),大多數(shù)DSP都融入了暫時(shí)終止CPU有效功耗的機(jī)制。CPU時(shí)鐘的"閑置"通常由"停止"或"閑置"指令觸發(fā),其在應(yīng)用或操作系統(tǒng)閑置時(shí)進(jìn)行調(diào)用。一些DSP進(jìn)行多個(gè)時(shí)鐘域分區(qū),可以使這些域分別處于空閑狀態(tài),以中止未使用模塊中的有效功耗。例如,在 TI 的TMS320C5510 DSP 中,可以有選擇性地使6個(gè)時(shí)鐘域閑置,其中包括CPU、高速緩存、DMA、外設(shè)時(shí)鐘、時(shí)鐘生成器,以及外部存儲(chǔ)器接口。

除了支持閑置DSP及其片上外設(shè)之外,操作系統(tǒng)還必須提供用于閑置外部周邊設(shè)備的機(jī)制。例如,一些編碼譯碼器具備可以被激活的內(nèi)置低功率模式。我們面臨的一個(gè)挑戰(zhàn)是類似看門狗定時(shí)器這樣的外設(shè)。通常情況下,看門狗定時(shí)器應(yīng)根據(jù)預(yù)定義的時(shí)間間隔提供服務(wù),以避免其激活。這樣,減緩或中止處理的電源管理技術(shù)就可能無(wú)意中導(dǎo)致應(yīng)用故障。因此,該OS應(yīng)當(dāng)使應(yīng)用在睡眠模式期間禁用此類外設(shè)。

斷電:盡管空閑模式消除了有效功耗,但靜態(tài)功耗即便在電路不進(jìn)行切換的情況下也會(huì)出現(xiàn),這主要是由于逆向偏壓泄漏 (reverse-bias leakage) 造成的。如果系統(tǒng)包括的某個(gè)模塊不必隨時(shí)供電,那么我們就可以通過(guò)讓操作系統(tǒng)僅在需要時(shí)才為子系統(tǒng)上電,從而減少功耗。到目前為止,嵌入式系統(tǒng)開(kāi)發(fā)商對(duì)最小化靜態(tài)功耗投入的工作極少,因?yàn)镃MOS電路的靜態(tài)功耗非常低。但是,新型、具有更高性能的晶體管使電流泄漏顯著增加,這就要求我們對(duì)可降低靜態(tài)功耗及更復(fù)雜的睡眠模式給予新的關(guān)注。

電壓與頻率縮放 (frequency scaling) 有效功耗與切換頻率成線性比例,但與電源電壓成平方比。以較低的頻率運(yùn)行應(yīng)用與在全時(shí)鐘頻率上運(yùn)行該應(yīng)用并轉(zhuǎn)入閑置相比,談不上節(jié)約了多少功率。但是,如果頻率與平臺(tái)上可用的更低操作電壓兼容的話,那么我們就可能通過(guò)降低電壓來(lái)實(shí)現(xiàn)顯著的節(jié)約,這正是由于上述平方關(guān)系的緣故。這也使人們就如何通過(guò)電壓縮放來(lái)節(jié)約功率進(jìn)行了大量的學(xué)術(shù)研究。

盡管電壓縮放是一種潛在的、非常誘人的、降低功耗的方法,但在現(xiàn)實(shí)世界的應(yīng)用中我們對(duì)其加以利用時(shí)應(yīng)當(dāng)小心。這是由于我們需要完全了解該系統(tǒng)是否仍能滿足它的實(shí)時(shí)最后期限。降低電壓(進(jìn)而降低 CPU 頻率)將改變給定任務(wù)的執(zhí)行時(shí)間,從而有可能導(dǎo)致人物錯(cuò)過(guò)實(shí)時(shí)最后期限。即便新頻率與最后期限兼容,但如果開(kāi)關(guān)頻率及電壓的等待時(shí)間太長(zhǎng),還是會(huì)出現(xiàn)問(wèn)題。影響等待時(shí)間的因素包括如下:

  • 對(duì)穩(wěn)壓器進(jìn)行再編程所需時(shí)間
  • DSP 能否在電壓更改期間繼續(xù)執(zhí)行其他任何代碼
  • 需要對(duì)外設(shè)進(jìn)行再編程,如串行端口或外部存儲(chǔ)器接口,與接收不同始終來(lái)源的周邊外設(shè)相接。例如,CPU 時(shí)鐘速率降低可能要求減少訪問(wèn)外部存儲(chǔ)器的等待狀態(tài)數(shù)量。
  • 對(duì)用于生成操作系統(tǒng)時(shí)鐘報(bào)時(shí)信號(hào)的計(jì)時(shí)器進(jìn)行再編程的可能性,將影響操作系統(tǒng)時(shí)基的絕對(duì)正確性。

盡管電壓縮放實(shí)際等待時(shí)間會(huì)根據(jù)所選 DSP 以及需要再編程外設(shè)的數(shù)量而不同,但在許多系統(tǒng)中,等待時(shí)間僅為幾百微秒甚至幾毫秒。在許多實(shí)時(shí)應(yīng)用中,這將使電壓縮放不切實(shí)際。盡管存在上述弱點(diǎn),但僅在某些可事先預(yù)見(jiàn)的模式下,那些需要完全處理功率的應(yīng)用,還是有可能利用電壓縮放的。例如,便攜式音樂(lè)播放機(jī)可利用 DSP 進(jìn)行 MP3 譯碼及用戶接口要求的一般控制處理。如果僅 MP3 譯碼要求完全時(shí)鐘速率,那么 DSP 便可在執(zhí)行用戶接口功能時(shí)降低其電壓,而僅在音樂(lè)數(shù)據(jù)開(kāi)始流向 DSP 時(shí)才以完全功率工作。

在 DSP RTOS 中實(shí)施電源管理

上述電源管理技術(shù)的一個(gè)子集已包括在DSP 的 RTOS 中。為了更好地說(shuō)明如何將電源管理構(gòu)建到 RTOS 中,我們將更詳細(xì)地對(duì)實(shí)施進(jìn)行總體討論。

正如我們?cè)谇懊嬗懻撝锌吹降哪菢樱囟ㄏ到y(tǒng)減小功耗的方法主要取決于應(yīng)用的性質(zhì)以及DSP 和周邊外設(shè)提供的選項(xiàng)。因此,關(guān)鍵的設(shè)計(jì)目標(biāo)就是高效性及靈活性。盡管下面所描述的實(shí)施是就特定 RTOS 而言的,但其概念可簡(jiǎn)單地運(yùn)用其它操作系統(tǒng),甚至用于無(wú)操作系統(tǒng)的應(yīng)用環(huán)境。

電源管理器 (PWRM) 的要求

首款電源管理器實(shí)施的關(guān)鍵要求如下:

  1. 電源管理動(dòng)作是應(yīng)用觸發(fā)而不是操作系統(tǒng)觸發(fā)的。更改 DSP 操作模式或功能的主要決策由應(yīng)用作出,并由PWRM調(diào)用推動(dòng)執(zhí)行。但操作系統(tǒng)可以(也應(yīng)當(dāng))自動(dòng)采取行動(dòng)以節(jié)電,只要該行動(dòng)不影響應(yīng)用即可。例如,PWRM 應(yīng)當(dāng)在 CPU 閑置時(shí)自動(dòng)閑置 CPU 時(shí)鐘。
  2. 電源管理動(dòng)作由應(yīng)用的控制部分觸發(fā),但應(yīng)當(dāng)對(duì)大部分應(yīng)用代碼均為透明的。例如,具有極高價(jià)值的、優(yōu)化的 DSP 算法不必重寫便可在管理的電源環(huán)境中工作。
  3. 電源管理器必須支持電壓與頻率 (V/F) 縮放,還必須充分利用芯片閑置與睡眠模式。
  4. 電源管理器必須協(xié)調(diào)整個(gè)應(yīng)用過(guò)程中的電源事件處理(如應(yīng)用代碼、驅(qū)動(dòng)器以及操作系統(tǒng)本身),并在特定事件發(fā)生時(shí)向已注冊(cè)要求獲得通知的客戶發(fā)出通知。
  5. 電源管理特性必須在任何線程環(huán)境中可用,還必須對(duì)特定客戶的多個(gè)實(shí)例可用(如一個(gè)編碼譯碼器驅(qū)動(dòng)器的多個(gè)實(shí)例)。
  6. 在向客戶發(fā)出電源事件通知時(shí),電源管理器必須支持事件處理的延遲完成,并在等待延遲客戶的完成信號(hào)同時(shí)通知其他客戶。
  7. 電源管理器必須對(duì)具有不同功能的不同平臺(tái)是可擴(kuò)展的和便攜性的。

電源管理模塊 (PWRM)

稱作 PWRM 的電源管理器作為 DSP/BIOS 的一個(gè)附屬模塊被添加,如圖1所示。

從概念上說(shuō),電源管理器與內(nèi)核并行;其并非系統(tǒng)中的另一項(xiàng)任務(wù),而是作為一系列在應(yīng)用控制線程以及器件驅(qū)動(dòng)器環(huán)境中執(zhí)行的 API 而存在的。無(wú)需進(jìn)行內(nèi)核修改便可合并到 PWRM 中;但在 CPU 時(shí)鐘與操作系統(tǒng)計(jì)時(shí)器時(shí)鐘相聯(lián)結(jié)的平臺(tái)上,DSP/BIOS 時(shí)鐘模塊(CLK) 要進(jìn)行補(bǔ)充例行程序,以使其根據(jù)頻率縮放事件調(diào)整操作系統(tǒng)時(shí)鐘(作為 PWRM 的客戶)。PWRM寫入并讀取時(shí)鐘空閑配置寄存器,并通過(guò)控制 CPU 時(shí)鐘速率及穩(wěn)壓電路的針對(duì)不同平臺(tái)的功率擴(kuò)展庫(kù) (PSL) 直接與DSP硬件相連接。PSL 將 PWRM 及應(yīng)用的其他部分與頻率及電壓控制硬件的低級(jí)實(shí)施細(xì)節(jié)相隔離。

電源管理器的作用在于管理 DSP/BIOS 應(yīng)用中所有與電源相關(guān)的事項(xiàng),既有應(yīng)用開(kāi)發(fā)人員靜態(tài)配置的,也有在運(yùn)行時(shí)動(dòng)態(tài)調(diào)用的:

  • 電源管理操作的靜態(tài)配置。PWRM 支持 DSP/BIOS 配置工具為一些電源管理操作提供設(shè)計(jì)時(shí)選項(xiàng)。例如,開(kāi)發(fā)人員可配置閑置功能,插入 DSP/BIOS 閑置環(huán)路中,以自動(dòng)閑置 DSP 緩存及 CPU;或配置節(jié)電功能,在導(dǎo)入時(shí)自動(dòng)調(diào)用,以便閑置不必要的外設(shè)或子系統(tǒng)。
  • 電源管理 API:PWRM 提供了 API,使開(kāi)發(fā)人員能夠閑置特定的時(shí)鐘域,以調(diào)用定制睡眠模式,并動(dòng)態(tài)更改 DSP CPU 的操作電壓及頻率。憑借新型API系列,應(yīng)用還可指定是否應(yīng)將電壓與頻率同時(shí)縮放,是否可在電壓降低轉(zhuǎn)換過(guò)程中繼續(xù)執(zhí)行,以及V/F 設(shè)置點(diǎn)屬性及等待時(shí)間的查詢。
  • 電源事件的注冊(cè)和通知:為協(xié)調(diào)整個(gè)應(yīng)用過(guò)程中的 V/F 縮放、睡眠模式以及其他電源事件,PWRM 引入了新的注冊(cè)及通知機(jī)制,使處理電源事件(如"將更改 V/F 設(shè)置點(diǎn)"、"已更改 V/F 設(shè)置點(diǎn)"、"將進(jìn)入睡眠模式"、"退出睡眠模式"、"電源故障"等)的實(shí)體(如應(yīng)用代碼、外設(shè)驅(qū)動(dòng)器、打包的內(nèi)容以及操作系統(tǒng)時(shí)鐘模塊等)能夠就其處理的特定電源事件進(jìn)行注冊(cè)以獲得有關(guān)通知。

PWRM 帶給 DSP/BIOS 的關(guān)鍵特性是"中央注冊(cè)系統(tǒng) (central registry)",使處理電源事件的代碼可就其需要獲得通知的特定電源事件進(jìn)行注冊(cè),以獲得有關(guān)通知,并能夠在其不再需要通知時(shí)不進(jìn)行注冊(cè)。圖2顯示了注冊(cè)與通知概念:


圖2 電源事件通知概念

在該例中,客戶注冊(cè)并獲得關(guān)于特定 V/F 電源縮放事件通知。圖中編號(hào)列出的步驟為:

  1. 應(yīng)用代碼進(jìn)行注冊(cè),以獲得 V/F 設(shè)置點(diǎn)更改通知。例如,DSP 就不同的設(shè)置點(diǎn)要求不同的外部存儲(chǔ)器接口 (EMIF) 設(shè)置,因此應(yīng)用寄存器便可控制電源管理器 (PWRM) 代碼,進(jìn)而 EMIF 設(shè)置則可隨著設(shè)置點(diǎn)的更改而改變。作為注冊(cè)的一部分,應(yīng)用代碼在事件發(fā)生時(shí)告知:PWRM 要調(diào)用的特定的通知功能;作為通知一部分傳遞的針對(duì)不同客戶的參數(shù);以及控件代碼能夠操作的 V/F 設(shè)置點(diǎn)(從而使 PWRM 不會(huì)試圖啟動(dòng)無(wú)支持的設(shè)置點(diǎn)更改)。
  2. 采用串行端口及DMA 傳輸數(shù)據(jù)寄存器的 DSP/BIOS 編碼譯碼器驅(qū)動(dòng)器將獲得 V/F 設(shè)置點(diǎn)更改通知。 在該應(yīng)用中,在較低 V/F 設(shè)置點(diǎn)上沒(méi)有 MP3 譯碼發(fā)生。因此在沒(méi)有執(zhí)行 MP3 回放時(shí),驅(qū)動(dòng)器可閑置串行端口以及 DMA 時(shí)鐘域,并設(shè)置外部編碼譯碼器為低功率模式。
  3. 與此類似,文件系統(tǒng)管理器也注冊(cè)到 PWRM,以便獲得設(shè)置點(diǎn)更改的通知,因?yàn)槠涔芾碇鎯?chǔ)媒體。
  4. 應(yīng)用決定更改 V/F 設(shè)置點(diǎn)(如 MP3 播放器模式的更改),并調(diào)用PWRM API以啟動(dòng)設(shè)置點(diǎn)更改。
  5. PWRM 確認(rèn)新的設(shè)置點(diǎn)就所有已注冊(cè)客戶啟用,并隨后將待進(jìn)行的設(shè)置點(diǎn)更改通知給所有已注冊(cè)的客戶。
  6. PWRM 向 PSL 發(fā)出調(diào)用,以更改電壓及頻率設(shè)置點(diǎn)。為了安全地更改 V/F 設(shè)置點(diǎn),PSL 將適當(dāng)寫入時(shí)鐘生成及電壓穩(wěn)壓硬件。
  7. 在設(shè)置點(diǎn)更改后,PWRM 將通知客戶設(shè)置點(diǎn)已發(fā)生更改。

電源管理器的配置

DSP/BIO 實(shí)現(xiàn)了內(nèi)核對(duì)象的靜態(tài)與動(dòng)態(tài)創(chuàng)建。例如,任務(wù)在設(shè)計(jì)時(shí)利用圖形配置工具可靜態(tài)創(chuàng)建,也可在運(yùn)行時(shí)通過(guò) TSK_create() API 調(diào)用動(dòng)態(tài)創(chuàng)建。電源管理器的許多配置參數(shù)涉及到設(shè)計(jì)時(shí)間決策;因此電源管理的靜態(tài)配置被添加至 DSP/BIOS 圖形配置工具使用的配置文件。以下電源管理器參數(shù)是可靜態(tài)配置的:

  1. 電源管理器啟用/禁用
  2. 應(yīng)用是否需要在導(dǎo)入時(shí)調(diào)用特定的用戶功能以減小功耗
  3. 應(yīng)用是否需要就頻率縮放事件對(duì) BIOS 時(shí)鐘進(jìn)行再編程
  4. 應(yīng)用是否需要在 CPU 空閑時(shí)自動(dòng)閑置時(shí)鐘域
  5. 電壓與頻率縮放啟用/禁用
  6. 導(dǎo)入時(shí)CPU頻率值
  7. 導(dǎo)入時(shí)CPU電壓值
  8. 電壓縮放啟用/禁用
  9. 應(yīng)用是否需要在電壓下降時(shí)等待
  10. 應(yīng)用是否需要在 DSP 進(jìn)入深度睡眠狀態(tài)時(shí)閑置時(shí)鐘域
  11. 哪些中斷可將 DSP 退出深度睡眠模式

圖 3 所示的屏幕截面圖反映了配置過(guò)程,顯示了電源管理器一般屬性的配置列表。


圖3、配置電源管理器一般屬性

除了電源管理器靜態(tài)配置屬性之外,以下屬性是在運(yùn)行時(shí)通過(guò)導(dǎo)出的電源管理器 API 動(dòng)態(tài)再配置的:

  1. 當(dāng) CPU 空閑時(shí),時(shí)鐘域自動(dòng)處于空閑狀態(tài)
  2. 與頻率一起啟用電壓縮放
  3. 在電壓降低時(shí)等待

總結(jié)

在實(shí)時(shí)嵌入式系統(tǒng)中可部署一些設(shè)計(jì)及運(yùn)行時(shí)電源管理技術(shù)。一般來(lái)說(shuō),有些技術(shù)對(duì)廣泛系列的系統(tǒng)均是適用的,而另外一些技術(shù)則只適用于專門的應(yīng)用。例如,顯示了某些技術(shù)如何被整合到 DSP/BIOS RTOS 系統(tǒng)中,同時(shí)應(yīng)用開(kāi)發(fā)商還能夠就其應(yīng)用的要求選擇合適的技術(shù)。



關(guān)鍵詞: DSP 系統(tǒng)電源 模擬IC 電源

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉