嵌入式軟件的能耗優(yōu)化 -----勞特巴赫TRACE32工具 的新技術(shù)創(chuàng)新
蘇州勞特巴赫技術(shù)有限公司 賀凌林
技術(shù)動(dòng)力:
開發(fā)由電池供電的設(shè)備,尤其是對(duì)設(shè)備的待機(jī)或操作時(shí)間要求比較嚴(yán)格的系統(tǒng),例如移動(dòng)電話,降低系統(tǒng)整體的能耗變得越來越重要。 因此采取全面的措施來降低電池能量的消耗是設(shè)計(jì)電池供電設(shè)備的重要部分。
典型的節(jié)能措施包括:
1 選擇有節(jié)能屬性的元件
2 提高系統(tǒng)集成度
3 調(diào)整CPU主頻
4 調(diào)整電源供給
5 選擇帶節(jié)能屬性的、高速緩沖存儲(chǔ)器和片上內(nèi)存的微控制器
然而,只有通過軟件全程的控制各個(gè)消耗電池能量的組件,充分的發(fā)揮其硬件的節(jié)能屬性,才能達(dá)到最佳的節(jié)能效果。能耗是電流,電壓和時(shí)間的乘積,控制軟件對(duì)這幾個(gè)參數(shù)都有很大的影響。因此,軟件工程師需要經(jīng)常不斷的嘗試確定這三個(gè)參數(shù)在不同的操作模式下的最佳配置,以達(dá)到最佳的節(jié)能目的。例如工程師可能會(huì)問自己如下的問題:
1 微處理器是否工作在正確的節(jié)能模式
2 程序變更會(huì)如何影響系統(tǒng)的能耗
3 是否會(huì)出現(xiàn)任何未預(yù)料的能耗峰值
回答諸如此類的問題,需要一個(gè)測(cè)試裝置。該裝置需要可以測(cè)量、記錄和分析控制軟件的程序和數(shù)據(jù)流程,以及電流和電壓梯度。同時(shí)也可以以一種簡(jiǎn)單的方式把所有的記錄信息相互關(guān)聯(lián)起來。 在2007年嵌入式世界年會(huì)上,作為全球第一款嵌入式軟件能耗分析工具生產(chǎn)廠商,勞特巴赫展示了一個(gè)強(qiáng)有力且易用的解決方案成功的解決了上述的所有問題。
技術(shù)要求:
為了可以定位出每行代碼的能耗量,需要收集如下的數(shù)據(jù)信息:
1 控制軟件的程序流,可以采用帶有實(shí)時(shí)跟蹤能力的調(diào)試器(PowerDebug)來采集該信息
2 程序運(yùn)行時(shí)的電流和電壓梯度,帶有模擬/數(shù)字探頭的邏輯分析設(shè)備是比較適合此目的的測(cè)量設(shè)備。
有了這些數(shù)據(jù),主要的任務(wù)就在于如何才能把程序流、電流和電壓梯度的信息關(guān)聯(lián)起來。但是如果使用來自不同設(shè)備生產(chǎn)廠商的設(shè)備,即使可以把相關(guān)信息關(guān)聯(lián)起來,實(shí)際操作也將是十分復(fù)雜的,綜合數(shù)據(jù)的分析和統(tǒng)計(jì)同樣也是相當(dāng)困難。
勞特巴赫嵌入式軟件能耗分析技術(shù)的創(chuàng)新核心就是提供上述問題的解決方案,并且開發(fā)出了適當(dāng)?shù)?,易用的信息顯示和分析方法。
解決方案:
勞特巴赫嵌入式軟件能耗測(cè)量方案,包括一個(gè)調(diào)試器模塊(PowerDebug)、實(shí)時(shí)跟蹤模塊(PowerTrace)和一個(gè)邏輯分析模塊(PowerIntergrator),每個(gè)模塊都集成了一個(gè)精確的時(shí)間計(jì)數(shù)器,所有模塊的記數(shù)器在程序開始時(shí)進(jìn)行同步。每個(gè)模塊的記錄都有對(duì)應(yīng)時(shí)間戳,因此各個(gè)模塊的記錄都可以通過時(shí)間戳關(guān)聯(lián)起來。這樣,就可以確定每行代碼的能耗。
為了獲取電流和電壓梯度數(shù)據(jù),TRACE32 PowerTrace II (跟蹤模塊) 或者 PowerIntegrator(邏輯分析模塊) 可以通過新型的Trace32 AnalogProbe 模塊擴(kuò)展實(shí)現(xiàn)如下功能:
1 實(shí)時(shí)記錄4條電壓通道和3條電流通道信息
2 針對(duì)電流、電壓或能耗的限制值和測(cè)量范圍實(shí)時(shí)生成觸發(fā)事件
為了測(cè)量電流,在被測(cè)電路上需要一個(gè)分流電阻。該電阻上的壓降取決于電阻的大小和通過該電阻的電流。Trace32 AnalogProbe 可以測(cè)量/記錄分流電阻上的電壓值。這是一種種被許多評(píng)估平臺(tái)普遍采用和支持的測(cè)量方式。
{{分頁}}
電流、電壓和分流電阻阻值都可以通過如下用戶界面進(jìn)行控制。由電流和電壓計(jì)算得出的能耗也可以在該用戶窗口進(jìn)行控制,另外,用戶可以將電壓設(shè)置為固定值進(jìn)行計(jì)算。
電流,電壓和能耗可以以表格和基于時(shí)間的曲線圖表示出來。所有基于時(shí)間的信息(程序流,圖表,電流,電壓,能耗)都能通過跟蹤信息同步起來。如果在其中一個(gè)窗口中選中/標(biāo)記某一位置,其他所有窗口都自動(dòng)的刷新窗口內(nèi)容,相應(yīng)時(shí)間位置信息也被選中/標(biāo)記出來。
在如下實(shí)例中,8 LEDs 被依次點(diǎn)亮,然后產(chǎn)生一個(gè)正弦電壓。如下面的電流-時(shí)間曲線圖(1)繪制出了電流值隨時(shí)間變化的波形,正弦電壓曲線如圖(2)所示。如果在電流圖(1)、電壓圖(2)或程序流圖(3)中,用黑色的垂直跟蹤線選中/標(biāo)記函數(shù)“LED3_on“,系統(tǒng)會(huì)自動(dòng)更新“Trace.List“窗口(4)中信息,顯示出相對(duì)應(yīng)的記錄,并且就通過藍(lán)色水平條標(biāo)記出來。
每次程序中止后,Trace32 軟件會(huì)自動(dòng)對(duì)記錄信息進(jìn)行統(tǒng)計(jì)分析,統(tǒng)計(jì)各個(gè)執(zhí)行函數(shù)消耗能量的最小值,最大值和平均值。以及每個(gè)函數(shù)絕對(duì)能耗及其占總能耗的百分比。通過這些統(tǒng)計(jì)數(shù)據(jù),可以方便地定位出耗能最大的程序代碼/函數(shù)。
數(shù)據(jù)統(tǒng)計(jì)分析可以顯示出每個(gè)函數(shù)運(yùn)行時(shí)的耗能量。如下圖(5)可以清楚地看出函數(shù)“LED8_on“運(yùn)行(所有LEDs都被點(diǎn)亮)時(shí)系統(tǒng)耗能量最大。
作為附加的功能,勞特巴赫還提供了觸發(fā)單元,可以通過定義電流、電壓或能量的限制值或范圍來定義觸發(fā)事件。這些觸發(fā)事件可以被觸發(fā)單元用來啟動(dòng)和中止跟蹤記錄(Selective trace)的控制,或者用這些觸發(fā)信號(hào)中止程序的運(yùn)行。這樣工程師可以方便快速的定位出相關(guān)參數(shù)出現(xiàn)峰值的原因。
總結(jié):
勞特巴赫完整的嵌入式軟件能耗分析測(cè)量方案為研發(fā)工程師檢測(cè)/定位程序代碼和系統(tǒng)電流/能耗之間的相互關(guān)系提供了一個(gè)強(qiáng)有力的、易用的工具。上述的新特性都已經(jīng)集成在當(dāng)前的軟件環(huán)境中。相關(guān)的分析硬件也可以方便地在原有工具上通過擴(kuò)展實(shí)現(xiàn)。同全球重要移動(dòng)電話生產(chǎn)廠商長(zhǎng)期緊密的合作,確保了勞特巴赫工具的實(shí)際應(yīng)用效果。通過集成新的創(chuàng)新方案,勞特巴赫再一次在嵌入式處理器開發(fā)工具領(lǐng)域證實(shí)了其創(chuàng)新能力。Trace32 AnalogProbe作為新型的解決方案擴(kuò)展模塊,可集成于既有的勞特巴赫模塊化開發(fā)工具的系統(tǒng)中,為客戶現(xiàn)有的TRACE32工具增添了新的價(jià)值。
評(píng)論