如何優(yōu)化嵌入式DSP應(yīng)用的功耗
架構(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 處于門控時(shí)鐘深度睡眠模式,該模式下的待機(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é)省大量電能。
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評(píng)論