<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 電源與新能源 > 設計應用 > 淺析嵌入式系統設計中的低功耗技術(shù)

淺析嵌入式系統設計中的低功耗技術(shù)

作者: 時(shí)間:2013-11-20 來(lái)源:網(wǎng)絡(luò ) 收藏
可在不過(guò)多加重功耗負擔的前提下提高性能的技術(shù),但用一個(gè)芯片來(lái)處理多種任務(wù),已不是一個(gè)較好的選擇。一是因為這些功能對芯片處理功能的要求可能各不相同,二是因為一個(gè)負擔著(zhù)多任務(wù)的芯片需要很高的速度,這樣,降低功耗就變得很困難,這就使得多CPU 系統(MPCore) 成為一個(gè)必然的趨勢。多CPU 系統的一個(gè)明顯的優(yōu)勢是可針對不同的任務(wù)處理需要,用不同的CPU 來(lái)各盡其職,以將自身的優(yōu)勢充分發(fā)揮,從而給予系統最優(yōu)化的性能表現。另一個(gè)優(yōu)勢是對功耗的控制: 假如用單CPU來(lái)完成所有的功能,則不可避免地需要一個(gè)很高的CPU 速度,從而造成很高的功耗,浪費很多能源。多CPU 系統可以根據不同的任務(wù)來(lái)合理地啟動(dòng)、停止相應的CPU 以完成任務(wù),而在不需要的時(shí)候處于停歇狀態(tài),從而最大限度地控制功耗。  1.5 分區/分時(shí)供電技術(shù)

本文引用地址:http://dyxdggzs.com/article/227891.htm

  對于一個(gè)嵌入式系統來(lái)說(shuō),系統的工作量隨時(shí)都在改變,不可能所有的組件任何時(shí)刻都在工作,故可采用分區/分時(shí)供電技術(shù)來(lái)降低功耗,可利用開(kāi)關(guān)控制電源供電單元,在某一部分電路處于休眠狀態(tài)時(shí),關(guān)閉此部分電路的供電電源,僅對工作部分組件供電。其供電原理如圖1所示。

淺析嵌入式系統設計中的低功耗技術(shù)

圖1 分區分時(shí)技術(shù)原理圖

  2 軟件的低功耗設計

  2.1 優(yōu)化編譯器

  在嵌入式系統設計中,軟件起著(zhù)引導硬件活動(dòng)的主導作用,也對系統的能量消耗有很大的影響。過(guò)去幾年的研究主要是針對硬件部分,而現在,研究設計人員則更注重通過(guò)優(yōu)化軟件部分來(lái)降低系統功耗。要想對軟件進(jìn)行優(yōu)化,必須選擇正確的編譯方法,以降低程序執行的功耗。編譯器的作用就是將由高級語(yǔ)言編寫(xiě)的程序(如C/C++等),翻譯成能夠在目標機上執行的程序。同時(shí),也使得程序的可讀性和可維護性得到保證,提高了軟件開(kāi)發(fā)的效率。另外,將程序移植到新的目標機上,也只要用相應的編譯器對程序進(jìn)行重新編譯即可,而不必重新編寫(xiě)程序。但是,在某些情況下,這樣會(huì )影響程序的執行性能。編譯器的有效性以及它所生成的代碼效率,可以與匯編語(yǔ)言代碼相比較得出。事實(shí)上,在一個(gè)程序中,每一條指令都將激活微處理器中的某些硬件部件,因此,正確選擇指令可以降低處理器的功耗。通過(guò)優(yōu)化編譯器可以進(jìn)行有效的軟件低功率化,從而生成效率更高的代碼,以降低嵌入式設備的功耗。

  2.2 采用軟件代替硬件電路

  一般的硬件電路都存在功耗,所以,可以把具有數據運算處理功能的硬件電路用軟件來(lái)實(shí)現,例如濾波電路,指數、對數運算電路、抗干擾電路等。但是,任何事情都不是絕對的,部分硬件電路到底能否通過(guò)軟件來(lái)實(shí)現,此外,還要考慮處理大量的軟件數據,需要提高處理器的性能和功耗等,同時(shí)要考慮這是否合算。

  2.3 中斷驅動(dòng)技術(shù)設計

  把整個(gè)嵌入式系統軟件設計成多個(gè)事件來(lái)處理,而在系統上電初始化時(shí),主程序只進(jìn)行系統的初始化(包括寄存器、外部設備等),初始化完成后,進(jìn)入低功耗狀態(tài),然后把CPU控制的設備都接到中斷輸入端上。當外設發(fā)生了一個(gè)事件,即產(chǎn)生中斷信號,使CPU退出節電狀態(tài)而進(jìn)入事件處理,事件處理完成后,繼續進(jìn)入節電狀態(tài)。

  在嵌入式程序設計時(shí),一個(gè)程序到底使用中斷方式還是查詢(xún)方式,對于一些簡(jiǎn)單的應用并不那么重要,但在其低功耗特性上卻相去甚遠。使用中斷方式,微控制器可以什么都不做,甚至可以進(jìn)入等待模式或停止模式; 而在查詢(xún)方式下,微控制器必須不停地訪(fǎng)問(wèn)寄存器,這會(huì )帶來(lái)很多額外的功耗,所以,用軟件進(jìn)行設計時(shí),除非系統本身已要求采用查詢(xún)方式,否則應盡可能采用中斷方式進(jìn)行編程。  2.4 定時(shí)器延時(shí)程序的采用

  當軟件設計中需要用到延時(shí)程序時(shí),設計人員應多使用定時(shí)器延時(shí)方法來(lái)進(jìn)行設計。這是因為,通常嵌入式處理器進(jìn)入待機模式后,CPU會(huì )停止工作,而定時(shí)器可以正常工作,由于定時(shí)器的功耗很低,故當處理器調用延時(shí)程序后,嵌入式系統便可進(jìn)入待機模式,此時(shí)定時(shí)器可以繼續工作,定時(shí)時(shí)間一旦結束,即可喚醒CPU重新進(jìn)入工作,這樣不但降低了CPU功耗,還提高了CPU的工作效率。而如果采用查詢(xún)方式,則CPU會(huì )不斷地對系統進(jìn)行查詢(xún),由于CPU時(shí)刻工作,這樣不但效率低下,同時(shí)處理器功耗也很大。

  2.5 算法優(yōu)化

  優(yōu)化算法多出現在嵌入式DSP中,采用大量現成的公式和計算方法,可以節省系統內部運算的時(shí)間,減少功耗; 另外,在嵌入式系統允許的誤差情況下,也可以近似用比較簡(jiǎn)單的函數來(lái)取代復雜函數進(jìn)行運算,從而減少功率消耗。

  3 結束語(yǔ)

  嵌入式系統的設計涉及到硬件設計和軟件設計兩個(gè)方面,在實(shí)際系統應用時(shí),低功耗的設計并非是單方面的因素,需要綜合考慮各種可能的原因、條件和狀態(tài),應把硬件設計和軟件設計綜合起來(lái)進(jìn)行考慮,并對細節進(jìn)行認真的分析,同時(shí)對多種可能的方案和方法進(jìn)行計算和總結,這樣才可能取得較為滿(mǎn)意的效果,最終達到降低系統功耗的目的。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>