基于嵌入式DSP應(yīng)用的低功耗優(yōu)化策略
架構(gòu)
應(yīng)用范例如圖2所示。音頻信號(hào)經(jīng)過(guò)采樣通過(guò)多聲道緩沖串行端口(McBSP)回放到DSP。DSP DMA引擎向McBSP輸入或讀出采樣信號(hào)。立體聲音頻數(shù)據(jù)通過(guò)RxSplit任務(wù)分離為兩個(gè)數(shù)據(jù)流,并在Processing Task中進(jìn)行處理。DIP開(kāi)關(guān)用于選擇G726編碼/解碼處理或簡(jiǎn)單音量控制。兩個(gè)聲道隨后在TxJoin任務(wù)中組合,然后輸出至揚(yáng)聲器。
圖2:音頻應(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ì)決定包括:
1. 使用OS線程及阻塞原語(yǔ)(blocking primitive)使時(shí)鐘空閑;
2. 使用DMA提高后臺(tái)數(shù)據(jù)(background data)傳輸效率。只有在DMA塊中完成傳輸后即中斷CPU,而不是在每次從串行端口導(dǎo)入或讀出數(shù)據(jù)采樣時(shí);
3. 使用共享的外部時(shí)鐘控制串行端口(無(wú)需對(duì)串行端口進(jìn)行重新編程,即可進(jìn)行DSP CPU的頻率調(diào)節(jié));
4. 記錄一次回叫,以便為編解碼器驅(qū)動(dòng)程序設(shè)定鉤子機(jī)制,這樣當(dāng)應(yīng)用進(jìn)入深度睡眠模式時(shí)關(guān)斷編解碼器;
5. 在音頻質(zhì)量下降前使用校準(zhǔn)功能恢復(fù)設(shè)定點(diǎn)頻率(及電壓);
6. 使用電源管理器的時(shí)鐘適應(yīng)功能,使周期函數(shù)以特定速率工作跟隨頻率的調(diào)節(jié);
7. 在DSP再引導(dǎo)之間使用電源管理器“深度睡眠”接口。
本文結(jié)論
上面的低功耗設(shè)計(jì)策略的總體效果總結(jié)如表1所示,其中:
模式#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)核節(jié)電;
模式#4為設(shè)定點(diǎn)在1.4V的條件下降至144MHz時(shí)的功耗,在該模式下可進(jìn)行音頻處理,同時(shí)仍能滿足實(shí)時(shí)最低要求,從而實(shí)現(xiàn)52%的DSP內(nèi)核節(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ù)。利用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)行
評(píng)論