一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

功耗調(diào)試技術降低功耗對于電路與系統(tǒng)應用的影響

電子設計 ? 來源:網(wǎng)絡整理 ? 作者:佚名 ? 2020-01-15 08:05 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

功耗調(diào)試技術使軟件工程師得以了解嵌入式系統(tǒng)的軟件對系統(tǒng)功耗的影響。通過建立源代碼和功耗之間的聯(lián)系,使得測試和調(diào)整系統(tǒng)功耗成為可能,即所謂功耗調(diào)試。傳統(tǒng)上,降低功耗僅是硬件工程師的設計目標;然而在實際運行的系統(tǒng)中,功耗不僅取決于硬件的設計,而且還與硬件如何被使用有關,而后者則是由系統(tǒng)軟件來控制的。

圖1:IAR Systems的C-SPY調(diào)試器能夠在不同的視圖中顯示靜態(tài)和動態(tài)的功耗數(shù)據(jù)。

功耗調(diào)試技術基于對功耗進行采樣,并建立每個采樣數(shù)據(jù)與程序的指令序列(以及源代碼)之間的關聯(lián)。其中的難點之一在于實現(xiàn)高精度的采樣。理想情況下,對功耗的采樣頻率應該與系統(tǒng)時鐘相同,但系統(tǒng)中的電容性元件會降低此類測量的可靠性。從軟件工程師的角度來看,更感興趣的是功耗與源代碼以及程序運行期間的各種事件之間的聯(lián)系,而非個別的指令,因此所需的采樣分辨率將大大低于對每個指令進行采樣的頻率。

對功耗的測量由調(diào)試工具完成。例如,IAR Embedded Workbench所支持的調(diào)試工具是IAR J-Link Ultra。它能夠測量芯片的供電電源經(jīng)過一個串聯(lián)小電阻之后的壓降,見圖2。該壓降是使用差分放大器進行測量,并通過模數(shù)轉換器進行采樣的。

圖2:IAR J-Link Ultra能夠測量芯片的供電電源經(jīng)過一個串聯(lián)小電阻之后的壓降。

要提高功耗調(diào)試的精確性,關鍵在于建立指令跟蹤與功耗采樣之間的良好關聯(lián)。最佳的關聯(lián)僅當能夠進行完全的指令跟蹤時才能實現(xiàn),但其缺點在于并非所有芯片都能支持這一功能;即便支持,也通常需要特殊的調(diào)試工具。

要在較低的精確性下達到較好的關聯(lián)度,可以使用一些現(xiàn)代片上調(diào)試架構所支持的PC采樣功能。該功能周期性地對PC進行采樣,并給出每個采樣的時間戳。與此同時,調(diào)試工具使用模數(shù)轉換器對芯片的功耗進行采樣。通過比對功耗采樣值和PC采樣值的時間戳,調(diào)試器就能夠在同一根時間軸上顯示功耗數(shù)據(jù)以及中斷紀錄、變量監(jiān)控等圖形,并且將功耗數(shù)據(jù)與源代碼關聯(lián)起來,見圖3。

圖3:PC和功耗采樣校正。

一般來說,功耗優(yōu)化與速度優(yōu)化是非常相似的。一個任務運行得越快,低功耗模式持續(xù)的時間就能越長。因此,將處理器的空閑時間最大化可以降低系統(tǒng)的功耗。

想要找出系統(tǒng)中不必要的能耗以及在何處能夠降低這些能耗是有難度的。通常它們并非源代碼中顯而易見地暴露出來的缺陷,而更多地存在于對硬件使用方式的調(diào)整之中。

等待設備的狀態(tài)

一個導致不必要能耗的常見錯誤是使用輪詢來等待某個外設狀態(tài)的改變。下面的例子中,代碼一直不中斷地運行,直到狀態(tài)變量變?yōu)轭A期的值。

while (USBD_GetState() 《 USBD_STATE_CONFIGURED);

while ((BASE_PMC-》

MC_SR & MC_MCKRDY) != PMC_MCKRDY);

另一種類似的代碼是在for或while循環(huán)中實現(xiàn)軟件延時,例如:

i = 10000; // SW Delay

do i--;

while (i != 0);

這段代碼使得CPU一直忙于執(zhí)行除了計時之外沒有任何作用的指令。

在上述這些情況中,可以通過改寫代碼來降低功耗。延時最好是通過硬件定時器來實現(xiàn)。CPU在設置好定時器中斷之后就可以進入低功耗模式直到被中斷喚醒。同樣,對外設狀態(tài)的輪詢?nèi)粲锌赡芤矐撏ㄟ^中斷來解決,或者使用定時器中斷從而使得CPU在兩次輪詢之間可以進入休眠。

DMA vs polled I/O

傳統(tǒng)上,DMA被用于提高傳輸速度。在某些架構中,CPU即使在DMA傳輸過程中也可以進入休眠模式。功耗調(diào)試使得開發(fā)者能夠試驗并通過調(diào)試器看到與傳統(tǒng)由CPU驅動的傳輸方式相比,DMA技術所帶來的效果。

低功耗模式

很多嵌入式應用都把大多數(shù)時間花費在等待某些事件發(fā)生。如果處理器在空閑時仍然全速運行,電池的壽命將在幾乎未作任何事情的情況下被消耗。所以在很多應用中,處理器僅在總計很少的時間里才被激活。通過將處理器在空閑時間里置于低功耗模式,電池的壽命將得到數(shù)量級的延長。

一個好的方式是使用RTOS和面向任務的設計??梢远x一個最低優(yōu)先級,僅當沒有任何其他任務需要運行時才會被運行的任務。這個空閑任務將是實現(xiàn)功耗管理的理想場所。在實踐中,當空閑任務每次被激活時,都將處理器(或其部份)置于(可能的)多種低功耗模式之一。

CPU頻率 理論上,CMOS MCU的功耗可由以下公式得出: P = f x U^2 x k 上式中的f是時鐘頻率,U是供電電壓,k是數(shù)。 功耗調(diào)試使得開發(fā)者能夠驗證功耗與時鐘頻率之間的關系。運行在50MHz且?guī)缀醪恍菝叩南到y(tǒng),當運行在100MHz時將在休眠模式下消耗約50%的時間。調(diào)試器中的功耗數(shù)據(jù)使得開發(fā)者能夠檢驗所期望的行為,以及當如果存在與時鐘頻率的非線性關系時,選擇功耗最低的工作頻率。

中斷處理

圖4顯示了一個事件驅動系統(tǒng)的功耗示意圖,其在t0時處于非激活模式,消耗的電流為I0。在t1時系統(tǒng)被激活且電流上升為I1,對應于系統(tǒng)在激活模式下且有一個外設被使用時的功耗。在t2時,程序的運行被一個更高優(yōu)先級的中斷所掛起。已經(jīng)被激活的外設沒有被關閉,雖然高優(yōu)先級的線程中并未用到它們。更多的外設被新的線程所激活,導致電流在t2和t3之間升高為I2。在t3時,控制權重又回到低優(yōu)先級的線程。

圖4:顯示了一個事件驅動系統(tǒng)的功耗示意圖。

該系統(tǒng)的功能可以非常出色,并且能夠在運行速度和代碼尺寸兩方面進行優(yōu)化。然而在功耗方面,還有更多的優(yōu)化可以實現(xiàn)。圖中黃 色的區(qū)域表示如果在t2和t3之間關閉不需要的外設,或者對調(diào)這兩個線程的優(yōu)先級,所能夠節(jié)省的能量。

使用功耗調(diào)試,能夠更容易地發(fā)現(xiàn)當中斷發(fā)生時功耗的額外上升,并將其標識為異常。

查找有沖突的硬件初始化

為了避免輸入端浮動,在通常的設計中會將未使用的MCU I/O管腳接地。如果軟件錯誤地將某個接地管腳配置為輸出邏輯“1”,高達25mA的電流會流向該管腳。這種非期望的高電流在功耗采樣圖形上很容易觀測到;同時還可以通過觀察系統(tǒng)啟動過程中的圖形來查找相關的初始化錯誤代碼。

模擬干擾也可能對功耗調(diào)試產(chǎn)生影響。模數(shù)混合電路板有其自身的特性。板級的布局和走線對于抑制模擬噪聲、保證對低電平模擬信號的精確采樣十分重要。良好的混合信號電路需要對硬件進行仔細的考量和認真的設計。

總結

功耗調(diào)試使得嵌入式系統(tǒng)的開發(fā)者能夠深入了解他們的應用,并發(fā)現(xiàn)程序的代碼對功耗有何影響?;谶@些信息,可以通過調(diào)整和優(yōu)化源代碼以最大限度地降低功耗。使用這種方法,工程師們能夠確保他們的設計已經(jīng)盡可能地節(jié)省能量,而又不會對系統(tǒng)性能產(chǎn)生不利的影響。

責任編輯:gt


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 電源
    +關注

    關注

    185

    文章

    18372

    瀏覽量

    256301
  • 嵌入式
    +關注

    關注

    5152

    文章

    19675

    瀏覽量

    317572
  • 功耗
    +關注

    關注

    1

    文章

    836

    瀏覽量

    32674
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關推薦
    熱點推薦

    降低電路漏電功耗低功耗設計方法

    概念: Power/Ground Gating是集成電路中通過關掉那些不使用的模塊的電源或者地來降低電路漏電功耗低功耗設計方法。該方法能
    的頭像 發(fā)表于 09-16 16:04 ?1.2w次閱讀
    <b class='flag-5'>降低</b><b class='flag-5'>電路</b>漏電<b class='flag-5'>功耗</b>的<b class='flag-5'>低功耗</b>設計方法

    stm32g070怎么調(diào)試才能降低功耗

    stm32g070,單芯片的最小系統(tǒng)板使用官方例程進入standy 模式后電量70ua左右,和手冊的1,2個ua不符,已經(jīng)確定是芯片的功耗的,不知道該怎么調(diào)試才能降低功耗
    發(fā)表于 03-28 06:46

    降低低功耗藍牙的功耗

    Nokia的無線技術聯(lián)盟的基礎成員后,它便是這個小組的領頭羊。 然而規(guī)格的發(fā)布讓任何的公司都企圖設計低功耗藍牙收發(fā)器,但只有RF silicon vendor有可能實現(xiàn),因為RF技術對于
    發(fā)表于 03-29 09:36

    嵌入式系統(tǒng)中的低功耗設計

    設計  3.1編譯低功耗優(yōu)化技術  編譯技術降低系統(tǒng)功耗是基于這樣的事實:
    發(fā)表于 01-21 11:22

    低功耗藍牙怎么低功耗?如何界定

    的自放電特性也需要予以考慮,常溫下儲存,每年容量損失小于 2%。這些因素在計算工作時間時也需要予以考慮。 低功耗藍牙如何實現(xiàn)低功耗和傳統(tǒng)藍牙技術相比,低功耗藍牙
    發(fā)表于 02-06 15:32

    如何利用FPGA滿足電信應用中的降低功耗要求?

    復雜器件專業(yè)技術相結合,將為系統(tǒng)供應商提供低功耗的芯片方案,供他們在此基礎上持續(xù)提高帶寬容量,并完成更智能的處理。此外,TPACK提供的芯片解決方案可以導入到最新的FPGA中,進一步降低功耗
    發(fā)表于 07-31 07:13

    芯片設計中的低功耗技術介紹

    傳輸級)低功耗技術系統(tǒng)低功耗技術、算法級低功耗技術
    發(fā)表于 07-07 11:40

    低功耗的嵌入式應用的實現(xiàn):降低系統(tǒng)中電池功耗

    應用的平均電流消耗來實現(xiàn)。由于電池重量過大會影響系統(tǒng)的機械約束和成本,因此系統(tǒng)設計人員只能將電池電量提高到一個限值。在電池化學技術的全新發(fā)展不斷提高電池電荷密度的同時,我們還亟需想辦法繼續(xù)降低
    發(fā)表于 08-20 12:30

    低功耗MCU如何降低功耗

    低功耗是MCU的一項非常重要的指標,比如某些可穿戴的設備,其攜帶的電量有限,如果整個電路消耗的電量特別大就會經(jīng)常出現(xiàn)電量不足的情況。 平時我們在做產(chǎn)品的時候,基本的功能實現(xiàn)很簡單,但只要涉及到關于
    發(fā)表于 11-12 13:57

    濾波放大器如何降低功耗

    。圖3. 對于50%的平場信號,由于電容阻斷了輸出和負載之間的直流連接,因此,OPA360應用電路可有效降低功耗。圖3a. OPA360輸出波形中的藍色線段表示50%平場信號的近似平均直流電平。利用
    發(fā)表于 12-17 09:52

    請問如何利用FPGA設計技術降低功耗?

    如何利用FPGA設計技術降低功耗?
    發(fā)表于 04-13 06:16

    低功耗設計相關資料推薦

    和NMOS都導通時所引起的功耗;低功耗設計方法在設計一個系統(tǒng)時必須清楚性能和功耗的關系,也就是說需要明白你的系統(tǒng)是需要在盡可能
    發(fā)表于 11-11 06:03

    低功耗藍牙芯片的應用可顯著降低功耗和成本

    低功耗藍牙是藍牙技術聯(lián)盟設計和銷售的一種個人局域網(wǎng)技術,相較經(jīng)典藍牙,低功耗藍牙旨在保持同等通信范圍的同時顯著降低功耗和成本。 在設計初始階
    發(fā)表于 03-05 15:31 ?1478次閱讀

    FreeRTOS如何降低功耗

    。FreeRTOS 就是通過在處理器處理空閑任務的時候將處理器設置為低功耗模式來降低能耗。一般會在空閑任務的鉤子函數(shù)中執(zhí)行低功耗相關處理,比如設置處理器進入低功耗模式、關閉其他外設時鐘
    的頭像 發(fā)表于 07-30 11:18 ?1311次閱讀

    SEGGER調(diào)試低功耗模式

    低功耗模式是現(xiàn)代嵌入式系統(tǒng)設計中一個非常重要的考慮因素。為了延長電池續(xù)航時間、降低能耗以及滿足可持續(xù)發(fā)展的需求,嵌入式系統(tǒng)需要能夠有效地進入低功耗
    的頭像 發(fā)表于 01-02 16:36 ?970次閱讀