TI DSP應(yīng)用系統(tǒng)低功耗設(shè)計(jì)方案
電源管理器 API
表 4 對(duì)運(yùn)行時(shí)應(yīng)用編程接口進(jìn)行了匯總。
函 數(shù) | 功 能 |
PWRM_changeSetpoint | 對(duì)最新的 V/F 設(shè)定點(diǎn)進(jìn)行初始化更改 |
PWRM_configure | 為 PWRM 設(shè)置新的配置參數(shù) |
PWRM_getCapabilities | 在該平臺(tái)上獲取有關(guān) PWRM 性能的信息 |
PWRM_getCurrentSetpoint | 獲取當(dāng)前的有效設(shè)定點(diǎn) |
PWRM_getNumSetpoints | 獲取該平臺(tái)上可用設(shè)定點(diǎn)的數(shù)量 |
PWRM_getSetpointInfo | 獲取設(shè)定點(diǎn)的相應(yīng)頻率及電壓值 |
PWRM_getTransitionLatency | 獲取兩個(gè)設(shè)定點(diǎn)之間比例縮放的時(shí)延 |
PWRM_idleClocks | 使特定時(shí)鐘域立即進(jìn)入空閑模式 |
函 數(shù) | 功 能 |
PWRM_changeSetpoint | 對(duì)最新的 V/F 設(shè)定點(diǎn)進(jìn)行初始化更改 |
PWRM_configure | 為 PWRM 設(shè)置新的配置參數(shù) |
PWRM_getCapabilities | 在該平臺(tái)上獲取有關(guān) PWRM 性能的信息 |
PWRM_getCurrentSetpoint | 獲取當(dāng)前的有效設(shè)定點(diǎn) |
PWRM_getNumSetpoints | 獲取該平臺(tái)上可用設(shè)定點(diǎn)的數(shù)量 |
PWRM_getSetpointInfo | 獲取設(shè)定點(diǎn)的相應(yīng)頻率及電壓值 |
PWRM_getTransitionLatency | 獲取兩個(gè)設(shè)定點(diǎn)之間比例縮放的時(shí)延 |
PWRM_idleClocks | 使特定時(shí)鐘域立即進(jìn)入空閑模式 |
PWRM_registerNotify | 注冊(cè)可在發(fā)生特定功耗事件時(shí)進(jìn)行調(diào)用的函數(shù) |
PWRM_sleepDSP | 將 DSP 轉(zhuǎn)換至新的睡眠狀態(tài) |
PWRM_releaseDependency | 解除此前聲明的資源依賴性 |
PWRM_setDependency | 聲明對(duì)電源的可管理資源具有依賴性 |
PWRM_unregisterNotify | 未注冊(cè)來(lái)自 PWRM 的事件通知 |
表 4. 電源管理運(yùn)行時(shí) API 的匯總
戰(zhàn)略實(shí)施
由于已經(jīng)建立了提高電源效率的基礎(chǔ),下一步工作就應(yīng)該進(jìn)行戰(zhàn)略定義,以便開(kāi)發(fā)低功耗應(yīng)用,并充分利用 OS 中的部分技術(shù)及支持。
所建議的策略包括以下 11 個(gè)步驟。該戰(zhàn)略具有可重復(fù)性:
當(dāng)無(wú)法滿足電源管理目標(biāo),也就是說(shuō)需要采用額外的運(yùn)行時(shí)方案才能滿足應(yīng)用電源預(yù)算時(shí),就可重復(fù)訪問(wèn)這些步驟。
- 從初始就考慮到電源效率;
- 選擇低功耗組件;
- 對(duì)電源進(jìn)行建模和估測(cè),并進(jìn)行相應(yīng)的硬件測(cè)試;
- 針對(duì)電源管理和測(cè)量設(shè)計(jì)具備鉤子機(jī)制的 HW;
- 構(gòu)建可大幅提高工作效率的 SW;
- 啟用簡(jiǎn)單的電源管理“開(kāi)/關(guān)機(jī)切換”特性;
- 在無(wú)需電源管理的情況下也可率先進(jìn)入工作;
- 重復(fù)開(kāi)啟“開(kāi)機(jī)”特性,并測(cè)量功耗開(kāi)銷 (payoff);
- 開(kāi)啟代碼生成優(yōu)化功能、重置代碼及數(shù)據(jù),并調(diào)整 “熱點(diǎn)” 監(jiān)測(cè);
- 進(jìn)行校準(zhǔn),以實(shí)現(xiàn)頻率及電壓的最小化;
- 激活所有的電源管理特性,并進(jìn)行相應(yīng)部署。
表 5 對(duì)上述戰(zhàn)略進(jìn)行了非常詳盡的匯總說(shuō)明。我們將在下文討論如何高效應(yīng)用上述策略。
表 5. 低功耗應(yīng)用開(kāi)發(fā)的詳細(xì)策略
音頻應(yīng)用范例
選用現(xiàn)成的 DSP 評(píng)估板 5509A EVM PLUS 板作為測(cè)試平臺(tái),該評(píng)估板不僅支持 V/F 縮放 ,還包含針對(duì) DSP 內(nèi)核與總體系統(tǒng)電源測(cè)量的鉤子機(jī)制。
需要注意的是,EVM 作為易于使用的評(píng)估平臺(tái),并未在出廠時(shí)提供最佳功耗配置。另外,在評(píng)估效果時(shí)應(yīng)謹(jǐn)記由于其易于配置,所以 EVM 上測(cè)量的總體系統(tǒng)電源數(shù)量就應(yīng)多于通常情況下部署的平臺(tái)。EVM 還能以 DSP 內(nèi)核級(jí)與系統(tǒng)級(jí)兩種方法測(cè)量各種技術(shù)的有效性。
步驟 1 無(wú)需解釋。步驟 2 及 4 基本上都由這種特殊 EVM 完成,這充分表明了該平臺(tái)的廣泛適用性。步驟 3(試驗(yàn))在 EVM 上進(jìn)行,目的是測(cè)量各種技術(shù)的效果(如片上與片外存取的內(nèi)核及系統(tǒng)電源、DMA 與 CPU 傳輸?shù)谋容^、空閑外設(shè)及時(shí)鐘域的作用等等)。
架構(gòu)
應(yīng)用范例如圖 2 所示。如欲獲得該應(yīng)用的詳細(xì)信息(包括獨(dú)立的應(yīng)用手冊(cè)及源代碼),請(qǐng)查閱參考資料 15。
圖 2. 音頻應(yīng)用
音頻信號(hào)經(jīng)過(guò)采樣通過(guò)多信道緩沖串行端口 (McBSPs) 回放到 DSP。DSP DMA 引擎向McBSP 輸入或讀出采樣信號(hào)。立體聲音頻數(shù)據(jù)通過(guò) RxSplit 任務(wù)與 Processing Task(正在處理的任務(wù))分離為兩個(gè)數(shù)據(jù)流。DIP 開(kāi)關(guān)用于選擇 G726 編碼/解碼處理或簡(jiǎn)單音量控制。兩個(gè)通道隨后在 TxJoin 任務(wù)中組合,然后輸出至揚(yáng)聲器。
Control(控制)任務(wù)被周期性觸發(fā),檢查 DIP 開(kāi)關(guān)以確定是否需要進(jìn)行模式切換(如改變處理模式或進(jìn)入睡眠狀態(tài))。根據(jù)應(yīng)用模式的不同,Control(控制)任務(wù)可能會(huì)檢查 CPU 負(fù)載,如果合適還會(huì)更改 V/F 設(shè)定點(diǎn)。
與電源相關(guān)的關(guān)鍵設(shè)計(jì)決定包括:
- 使用 OS 線程及阻塞原語(yǔ) (blocking primitive) 空閑時(shí)鐘;
- 使用 DMA 提高后臺(tái)數(shù)據(jù) (background data) 傳輸效率。在 DMA 塊中完成傳輸(而不是每次數(shù)據(jù)采樣都從串行端口導(dǎo)入或讀出)后即中斷 CPU;
- 使用共享的外部時(shí)鐘控制串行端口(無(wú)需對(duì)串行端口進(jìn)行重新編程,即可進(jìn)行 DSP CPU 的頻率縮放);
- 注冊(cè)回叫以便為編解碼器驅(qū)動(dòng)程序設(shè)定鉤子機(jī)制,當(dāng)應(yīng)用進(jìn)入深度睡眠模式時(shí)關(guān)斷編解碼器;
- 在音頻質(zhì)量下降前使用校準(zhǔn)功能恢復(fù)設(shè)定點(diǎn)頻率(及電壓);
- 使用電源管理器的時(shí)鐘適應(yīng)功能,使周期函數(shù)在頻率縮放后繼續(xù)以特定速率工作;
- 使用 DSP 再引導(dǎo)間的電源管理器“深度睡眠”接口。
結(jié)論
總體效果總結(jié)如表 6 所示。前后模式的主要差異用黑體表示。
設(shè)置 | DSP 內(nèi)核 (mW) | DSP 節(jié)省 (%) | 電路板 (mW) | 電路板節(jié)省 (%) |
1. CPU 工作頻率為 192MHz、電壓為1.6v | 207.8 | -- | 2219 | -- |
2. CPU 工作頻率為192MHz、電壓為 1.6v | 203.3 | 2.17 | 1789 | |
3. CPU 工作頻率為192MHz、電壓為1.6v | 155.2 | 1663 | 25.1 | |
4. CPU 工作頻率為144MHz、電壓為 1.4v | 99.5 | 1605 | 27.7 | |
5. DSP 處于深度睡眠(完全空閑)狀態(tài) | 0.361 | 1352 |
表 6. 節(jié)電效果
- 模式 #1 為基準(zhǔn)測(cè)量,全部使用片外代碼。
- 模式 #2 消除所有片上代碼,DSP 級(jí)節(jié)電效果較小,但板級(jí)節(jié)電達(dá)到 19%。
- 模式 #3 包括一些引導(dǎo)時(shí)間節(jié)電配置(如關(guān)閉 DSP 的 CLKOUT 信號(hào)、未用計(jì)時(shí)器的自動(dòng)空閑配置以及關(guān)閉板上 LED)及在 BIOS 空閑環(huán)路中的閑置,從而可實(shí)現(xiàn)25% 的 DSP 內(nèi)核級(jí)節(jié)電。
- 模式 #4 為設(shè)定點(diǎn)在 1.4v 下降至 144MHz 時(shí)的功耗,在該模式下可進(jìn)行音頻處理,同時(shí)仍能滿足實(shí)時(shí)最低要求,從而實(shí)現(xiàn) 52% 的 DSP 內(nèi)核級(jí)節(jié)電。
- 模式 #5 為應(yīng)用處于待機(jī)模式下的功耗,該模式配置包括外部編解碼器關(guān)斷、設(shè)定點(diǎn)支持以最小電壓最大頻率快速啟動(dòng)驅(qū)動(dòng)、DSP 處于門控鐘深度睡眠模式,該模式下的待機(jī)功耗僅為 361μW。
設(shè)計(jì)人員可根據(jù)特定應(yīng)用的要求選擇適用的技術(shù),從而更有利于支持 RTOS 集成高回報(bào)技術(shù)。借助 OS 的這種支持功能,設(shè)計(jì)人員能夠以低開(kāi)銷方便安全地提高應(yīng)用電源效率。
本文討論的電源優(yōu)化策略是一種從嵌入式項(xiàng)目之初即可用于降低與調(diào)節(jié)應(yīng)用功耗的通用模型。當(dāng)測(cè)量功耗無(wú)法滿足要求或需要采用額外的運(yùn)行時(shí)技術(shù)時(shí),上述策略可重復(fù)使用,先期步驟也可重復(fù)進(jìn)行。例如,在音頻應(yīng)用中采用這種策略,僅需幾種高回報(bào)的節(jié)電技術(shù),即可節(jié)省大量電能。
評(píng)論