DSP電源管理技術(shù)加快設(shè)計進度
許多電池供電的手持系統(tǒng)都要求具備數(shù)字信號處理功能,設(shè)計這種產(chǎn)品時,我們必須高度重視功耗問題。
選擇具備所有必需的計算能力且還能滿足設(shè)計功耗要求的DSP,使設(shè)計要么取得顯著成功,要么徹底失敗,設(shè)計小組不得不進行昂貴的再設(shè)計。
不過,大多數(shù)設(shè)計工程師已經(jīng)痛苦地了解到,傳統(tǒng) DSP 功耗估算方法最多也只能獲得近似值,因此我們需要用軟件來管理功耗并估算功耗的新技術(shù)。
數(shù)據(jù)表不夠用
以前,設(shè)計小組選擇處理器時首先要查看備選DSP的數(shù)據(jù)表。以 mA/MIP 或mA/MHz 為單位的測量值通常與芯片的最大 IDD 配套提供。幾乎所有數(shù)據(jù)表都提供上述信息。
上述數(shù)據(jù)的問題在于,功耗很大程度上取決于應(yīng)用本身,而數(shù)據(jù)表中的統(tǒng)計數(shù)據(jù)往往不能完全符合實際應(yīng)用。
半導(dǎo)體公司認(rèn)識到上述問題,通常只給出基本情況,供估算功耗數(shù)值參考。舉例來說,常見的 TI DSP 會給出以下工作情況:CPU 執(zhí)行 75% 雙 MAC 和 25% ADD,數(shù)據(jù)總線活動適中(正弦波形圖表)。CPU 及 CLKGEN (DPLL) 域處于工作狀態(tài)中。
除非設(shè)計小組的應(yīng)用情況與上述描述一致,否則數(shù)據(jù)表中的數(shù)據(jù)僅用于比較同一制造商推出的類似芯片。事實上,其他半導(dǎo)體公司很可能會在不同情況下測量功耗。
還有一些情況會使得數(shù)據(jù)表上的數(shù)據(jù)更加值得懷疑,這對那些面臨嚴(yán)格功耗限制的設(shè)計人員提出了更嚴(yán)峻的挑戰(zhàn)。
DSP是復(fù)雜的芯片,其包括休眠模式和斷電模式等節(jié)電功能。上述功能會將單次估算中的誤差加以放大。
數(shù)據(jù)表未考慮到功耗實際上由兩部分組成:工作在內(nèi)核電壓源上的處理器和工作在 I/O 電源上的外設(shè)都涉及功耗問題。
設(shè)計小組希望用不同的實施方法和平臺比較功耗。
由于面臨上述挑戰(zhàn),設(shè)計小組往往需要構(gòu)建原型板,并根據(jù)不同處理器、實施方法及平臺等因素對功耗加以估算。上述方法盡管要花很多時間而且成本不菲,但至少還能為我們提供比較精確的數(shù)據(jù)。
變量測量
我們對估算不同情況及實施方法下的功耗所用的方法已經(jīng)有了較好的了解。只有經(jīng)過細(xì)分,并根據(jù)實際測量得出的數(shù)據(jù)才會更加有用。具體過程通常如下:
將芯片分為子系統(tǒng);
獨立執(zhí)行每個子系統(tǒng);
用減法分析來確定每個子系統(tǒng)的功耗;
確定每個子系統(tǒng)的最大功耗及閑置功耗;
用內(nèi)插法估算子系統(tǒng)功耗;
最后用疊加法估算芯片功耗。
我們通常將經(jīng)測量得出的數(shù)據(jù)連同制造商給出的數(shù)據(jù)(如內(nèi)核電壓)制成電子數(shù)據(jù)表,并通過適當(dāng)運算進行估算。如圖 1 所示,右側(cè)的灰白部分即為功耗估算結(jié)果。
圖1. 電子數(shù)據(jù)表有一定的用處,但仍不能反映實際情況。
這種方法與數(shù)據(jù)表值比較法相比盡管有一定改進,但仍需進一步完善。舉例來說,我們不妨假設(shè)主要用于過濾應(yīng)用的 DSP,其工作時間約占 20%,待機時間約占80%。
目前的 DSP 需要考慮到占空比問題,這有助于節(jié)電。舉例來說,芯片不工作時,電壓可降至待機數(shù)值。頻率在 CMOS 功耗中起主要作用,如果芯片不參與過濾工作,那么我們就能降低頻率。
電源優(yōu)化技術(shù)
TI 等半導(dǎo)體廠商努力推出芯片級電源控制技術(shù)。以前設(shè)計小組是無法應(yīng)用這種特性的?,F(xiàn)在,設(shè)計人員能通過軟件發(fā)揮電源優(yōu)化技術(shù)的優(yōu)勢。
為了說明如何實現(xiàn)上述工作,我們不妨先來看看設(shè)計小組能采用哪些優(yōu)化性能的方法。
在芯片自身內(nèi)部,系統(tǒng)設(shè)計人員能采用深度休眠模式、動態(tài)電壓和頻率縮放等技術(shù),而且還能在芯片閑置時關(guān)閉不必要的資源。
我們還能在系統(tǒng)啟動過程中節(jié)約大量電力。通常說來,啟動過程中會開啟所有系統(tǒng),不過我們可以讓那些應(yīng)用及啟動過程中不用的部分關(guān)閉或保持閑置狀態(tài)。
我們在軟件代碼優(yōu)化時也要想到功耗問題。通常的規(guī)律是,我們應(yīng)以盡可能小的占用空間集成盡可能多的必需功能,這樣可以縮減存儲器的占用面積。不過,由于應(yīng)用不得不更頻繁的執(zhí)行代碼,這種做法往往會導(dǎo)致功耗的加大。
編寫代碼時還應(yīng)減少指令存取的數(shù)量,并優(yōu)化緩存和內(nèi)部指令緩沖。上述措施都有助于節(jié)約DSP的工作模式時間,并最大化閑置時間,以此來降低頻率和電壓。
我們還能用其他技術(shù)來實現(xiàn)系統(tǒng)級控制,包括:
認(rèn)真選擇組件
盡可能減少組件數(shù)量
首先采用內(nèi)部存儲器來最小化芯片間的功率損耗
對于啟動或低速運算以及偶爾用到的功能采用外部存儲器
啟動后給啟動存儲器斷電
新一代電源控制技術(shù)
通常說來,半導(dǎo)體廠商在芯片中內(nèi)置的節(jié)電功能會自動工作,舉例來說,芯片進入閑置狀態(tài)后電壓和頻率就會自動降低。
不過,我們現(xiàn)在有了更尖端的技術(shù),系統(tǒng)設(shè)計人員現(xiàn)在能對 DSP BIOS 進行工作,從而進一步加強電源管理。
自動的電壓或頻率縮放是一種有用的特性。不過 DSP 的內(nèi)核電壓快速變動往往會對外設(shè)造成意料不到的影響。操作系統(tǒng)的時基可能會因頻率變動而受到影響,有些外設(shè)驅(qū)動程序可能需要了解頻率和電源狀態(tài)的變化,這樣才能繼續(xù)有效工作。
操作系統(tǒng)調(diào)度程序的有效性也會因為頻率縮放而受影響。通常說來,系統(tǒng)應(yīng)進行協(xié)調(diào),以確保安全的電壓和頻率控制,適當(dāng)?shù)剡M入閑置狀態(tài)。
半導(dǎo)體廠商通過創(chuàng)建DSP BIOS功率調(diào)整程序庫,可實現(xiàn)更高級的功耗控制,同時還能確保避免因電壓和頻率縮放而發(fā)生問題。通過GPIO引腳向外設(shè)發(fā)送消息,我們還能將上述控制技術(shù)從芯片延伸到外設(shè)。
圖2顯示了功率調(diào)整例程的實例(如下圖中的 PSL),設(shè)計人員通過代碼編寫,可從程序庫中直接調(diào)用。 [!--empirenews.page--]
我們不妨假設(shè) DSP 正在運行非常復(fù)雜的算法。通常說來,內(nèi)核電壓為 1.6V,頻率為 200 MHz,如圖 2 中左側(cè)藍(lán)線所示。不過,當(dāng)未運行算法時,我們可用功率調(diào)整程序庫將頻率降至 72 MHz。
一般來說,內(nèi)核電壓會保持為1.6V。不過我們也可用功率調(diào)整程序庫安全地將電壓降至1.2V,從而在算法不運行期間使功耗進一步降低 30 mW。
TI 率先在其TMS320VC5509A DSP中采用功率調(diào)整程序庫,這就是本例所用的DSP。
圖2. 功率調(diào)整程序庫功能實現(xiàn)功耗微調(diào)。
新一代功耗估算技術(shù)
除了上述各種功耗工具的幫助之外,設(shè)計人員還需要想辦法估算整個系統(tǒng)的功率。解決這一問題的最新方法需要將半導(dǎo)體公司提供的軟件與虛擬儀表廠商(如美國國家儀器公司National Instruments)提供的硬件進行集成。
在采用這種方法時,開發(fā)人員可利用美國國家儀器公司提供的 LabView 來監(jiān)控實際應(yīng)用過程中芯片的執(zhí)行情況。TI 在數(shù)據(jù)表中提供了有關(guān) TMS320VC5509 的豐富功率測試數(shù)據(jù)。
采用 LabView 和 C55 電源優(yōu)化 DSK (C55 Power Optimization DSP Starter Kit),設(shè)計小組能嘗試采用不同的實施方案,并用類似于圖 3 所示的 GUI 工具對功耗加以調(diào)節(jié)。
圖3. 調(diào)節(jié)DSP 內(nèi)核、I/O及電路板功耗。
我們可用上述工具包探索各種設(shè)計方案,并分別測得 DSP 內(nèi)核、DSP I/O 以及包括閃存存儲器、編解碼器及其他外設(shè)在內(nèi)的整個電路板的高精度功耗。
通過結(jié)合采用上述創(chuàng)新方法來控制芯片功耗并估算系統(tǒng)功耗,設(shè)計人員能夠獲得一種功能強大的新型方法,適用于功耗要求嚴(yán)格的 DSP 應(yīng)用。