<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>
你的位置:首頁(yè) > 測試測量 > 正文

設計低功耗嵌入式系統需要考量的因素(一):一般設計考量

發(fā)布時(shí)間:2015-06-18 責任編輯:echolady

【導讀】在我們的生活中充斥著(zhù)各種微型供電設備及系統。著(zhù)寫(xiě)嵌入式系統需要長(cháng)期使用電源供電,但是頻繁更換的電源使得功耗更大。本文介紹了設計低功耗嵌入式系統需要考量的設計因素和利弊權衡。

及早規劃可以在優(yōu)化系統實(shí)現低功耗的同時(shí),減少對返工和/或代碼重新編寫(xiě)的需求。這些考量包括:

1. 應用層面的低功耗設計;

2. 了解功耗與性能之間的利弊權衡;

3. 使用可優(yōu)化功耗的軟硬件技巧。

嵌入式應用中的功耗因素

任何給定系統中的功耗都可分為兩大類(lèi):

i. 靜態(tài)功耗:靜態(tài)功耗指器件在未運行代碼、等待特定事件觸發(fā)系統喚醒至工作模式時(shí)所消耗的電源。靜態(tài)功耗的主要來(lái)源包括系統中流過(guò)的漏電流、模擬偏差、不能關(guān)閉的模塊以及運行RTC、看門(mén)狗定時(shí)器和中斷控制器等獨立代碼的模塊。該電流與器件的工作電壓成正比。工作電壓越高,漏電流就越大;

ii. 動(dòng)態(tài)功耗:系統處于工作狀態(tài),CPU執行程序代碼時(shí)所消耗的電源稱(chēng)為動(dòng)態(tài)功耗。系統的動(dòng)態(tài)電流取決于工作頻率、電壓以及有關(guān)總線(xiàn)與電路設計的寄生電容。計算方法為:

P = V2 * f * C

V為電壓、f為工作頻率、C為輸出端的寄生電容

靜態(tài)與動(dòng)態(tài)功耗的圖形表達:

設計低功耗嵌入式系統需要考量的因素
圖1
 
對于任何給定的晶體管,其靜態(tài)功耗在給定電源電壓下基本上是恒定的。靜態(tài)功耗源于漏電流(CMOS電路)或偏置電流(工作模擬電路),主要取決于系統類(lèi)型。

晶體管中的動(dòng)態(tài)功耗發(fā)生在電壓轉換過(guò)程中。在這些轉換過(guò)程中,CMOS對會(huì )進(jìn)入某個(gè)狀態(tài),在該狀態(tài)下CMOS對的器件均部分開(kāi)啟,充當電阻器,從而可形成一種分壓器電路。這種虛擬分壓器電路消耗的電源要比所定義邏輯電平下的漏電流高很多。這就是為什么動(dòng)態(tài)功耗與電路中的開(kāi)關(guān)頻率成正比的原因所在。因此在定義低功耗嵌入式系統時(shí),它是最根本的注意事項之一,即要盡量減少系統的開(kāi)關(guān)事件。

低功耗電池供電嵌入式應用的設計考量


1. 硬件考量:

a. 電池類(lèi)型:

在嵌入式應用中主要有以下類(lèi)型的電池:

i. )標準堿性電池

iii. )可充電電池: 可充電堿性電池,鋰離子電池

iii. )鈕扣電池

對于各種廣泛低功耗嵌入式應用而言,為系統充電不是合理的使用案例模型。這里無(wú)需為這些應用使用可充電電池。我們來(lái)比較一下另外兩種在低功耗應用中有用的電池以及在為設計選擇電池時(shí)需考慮的因素。

標準堿性電池:標準AA電池的典型容量大約為1500mAh,不僅可輕松提供數百mA的峰值電流,而且還能夠以50mA的恒定速率放盡電流。

堿性電池能為應用提供高峰值電流,因此系統能夠在并列使用其全部專(zhuān)用外設(定時(shí)器與通信模塊等)的同時(shí),在其最高時(shí)鐘頻率下運行,從而可在盡快完成各項任務(wù)后,快速進(jìn)入低功耗工作模式。

鈕扣電池:鈕扣電池具有極高的內部電阻,因此不能承受高峰值電流。在應用超過(guò)20mA的峰值電流時(shí),即便持續時(shí)間很短,其有效電壓也會(huì )大幅下降。因此對于使用鈕扣電池供電的設計而言,強烈建議設計使用能在2V或以下電壓下工作的組件。微控制器的掉電電壓應低至能避免在鈕扣電池提供高峰值電流時(shí)系統出現意外復位的水平。

此外,我們還需要采取預防措施來(lái)降低系統所需的峰值電流。降低峰值電流的途徑包括:

● 降低CPU時(shí)鐘頻率

● 通過(guò)隨時(shí)分配負載,避免一次性啟用所有內部模塊

● 在外部組件及內部模塊未使用時(shí),減少對它們的供電

b. 設置正確的微控制器:

要讓低功耗應用中的靜態(tài)功耗和動(dòng)態(tài)功耗保持最低,最重要的是選擇具有所需外設集的微控制器,其可在所需電源模式下工作。根據需要,系統設計人員可選擇合適的微控制器,該微控制器支持低功耗模式下其應用所需的外設集。

以需要LCD較長(cháng)時(shí)間工作的應用為例。通過(guò)選擇可在低功耗模式下運行該LCD的微控制器,開(kāi)發(fā)人員可最大限度降低功耗。這類(lèi)微控制器的典型實(shí)例就是賽普拉斯的PSoC 4,其可讓LCD顯示器以?xún)H3uA的流耗進(jìn)入深度睡眠模式。復雜應用的情況類(lèi)似,我們需要進(jìn)行利弊權衡,確定能以最低平均功耗完成每項任務(wù)的適當微控制器。
[page]
c. 選擇合適的無(wú)源組件:

上拉電阻器和下拉電阻器是支持接口開(kāi)關(guān)及I2C器件等的常用組件。有時(shí)在低功耗設計中,這些上拉及下拉電阻器消耗的電源比系統其它部分還大。要降低其功耗,需要使用更大的電阻值。這樣可降低流經(jīng)它們的電流量。但它同時(shí)會(huì )增大RC時(shí)間常數,因此會(huì )降低系統對高頻率信號的響應能力。

例如,為I2C線(xiàn)路使用高阻值上拉電阻器會(huì )降低I2C通信的速度,因為增大了I2C線(xiàn)路的壓擺率。因此這些電阻器值可決定影響最終設計的各種因素之間的權衡取舍。

同樣,在為設計選擇電容器時(shí),應避免電解電容器,因為它們具有極高的漏電流。薄膜電容器和陶瓷電容器能以合理的成本提供超低的漏電流,可考慮用于低功耗系統設計。

d. 審慎使用I/O:

避免在系統中隨機分配控制器I/O引腳。如果引腳隨機分布在不同端口,則需要對每個(gè)端口單獨處理,這樣會(huì )增加控制它們所需的寄存器寫(xiě)入數。為解決這一問(wèn)題,可以按最小端口數對輸入引腳和輸出引腳進(jìn)行分組,從而實(shí)現以最小的寄存器寫(xiě)入數完成讀取與寫(xiě)入。

在引腳用于驅動(dòng)LED和其它類(lèi)似負載的地方,應使用引腳的開(kāi)漏驅動(dòng)模式,這些負載的一端固定在VDD或接地上。這種驅動(dòng)模式可降低通過(guò)I/O引腳的漏電流,因此可降低功耗。

設計低功耗嵌入式系統需要考量的因素
圖2

e. 選擇正確的外設:

在系統設計中應使用支持低功耗模式、在工作模式下支持低功耗的外設組件,以降低設計的總體功耗。

f. 審慎使用系統時(shí)鐘:

定義系統時(shí)鐘的行為有助于降低系統功耗。遵循通用系統時(shí)鐘相關(guān)設計實(shí)踐可幫助在幾乎每個(gè)系統中實(shí)現低功耗。

● 在系統中使用低頻率時(shí)鐘降低動(dòng)態(tài)功耗。

● 在執行計算密集型任務(wù)時(shí)提升系統時(shí)鐘,可通過(guò)縮短完成任務(wù)的時(shí)間,降低平均功耗。

● 優(yōu)先使用系統時(shí)鐘,而非外部時(shí)鐘。

● 在CPU等待通信傳輸完成時(shí),應關(guān)閉CPU,只開(kāi)啟通信模塊的時(shí)鐘。在完成該任務(wù)后,它可獲得一個(gè)中斷信號,恢復代碼執行。

g. 電流門(mén)控:

一般情況下,熱敏電阻等無(wú)源傳感器工作在分壓器模式下,因此一直都在消耗系統電流。為降低這種情況下的功耗,我們可以在通過(guò)采樣傳感器網(wǎng)絡(luò )獲得相關(guān)數據之前為其提供電源,并在數據采樣完成后切斷電源。這在傳感器需要定期讀取的情況下才有用。

但當傳感器必須保持工作狀態(tài)才能檢測環(huán)境中的異?,F象時(shí),CPU可在整個(gè)傳感過(guò)程中保持低功耗模式。CPU一旦收到傳感器的中斷/數據信息,就會(huì )恢復工作模式。類(lèi)似邏輯可用于讀取開(kāi)關(guān)狀態(tài),以判斷它是處于開(kāi)啟還是關(guān)閉狀態(tài)。

設計低功耗嵌入式系統需要考量的因素
圖3

2. 固件考量:

a. 減少函數調用:

每次函數調用都將涉及多重冗余運算,比如堆棧上的添加與取出運算(用于重新加載程序的計數器和寄存器)。這些運算的每一次工作都會(huì )耗用多個(gè)時(shí)鐘周期,應盡量避免。對于簡(jiǎn)短函數而言,函數調用可采用能夠布置內聯(lián)代碼的宏命令替換。這有助于減少CPU加載,進(jìn)而降低相同運算所需的功耗。然而,每種方法都有其自身的優(yōu)缺點(diǎn)。宏命令需要更大的存儲器,這對寫(xiě)入高密度固件來(lái)說(shuō)是一個(gè)問(wèn)題,因為它可能會(huì )增大系統成本。

b. 為頻繁重復的輸入值使用查找表:

通常會(huì )有一部分輸入值的使用頻率大于其它輸入值。通過(guò)創(chuàng )建與這些輸入值對應的查找表,在遇到這些輸入其中之一時(shí),可縮短計算時(shí)間,進(jìn)而可降低功耗。

這種方法在當完成計算后需要查找值的應用中比較容易看到,比如電機應用中角度正弦與余弦的計算。在這類(lèi)應用中,會(huì )有一系列頻繁遇到的值(相比之下,其它值遇到的頻率較低)。正弦值或余弦值的計算需要較長(cháng)的時(shí)間,因此對于該頻繁重復的角度而言,其正弦及余弦的預計算值可存儲在查找表中。每次遇到這些角度中的一種時(shí),處理器便可查找該表,用在此找到的值進(jìn)行替代,不必計算。

c. 使用中斷,無(wú)需輪詢(xún):

在復雜的嵌入式系統中,CPU會(huì )花大部分時(shí)間來(lái)等待某項工作的完成,然后再進(jìn)入下一個(gè)步驟。當前提供的大多數SoC都提供能在無(wú)需CPU干預的情況下完成大多數任務(wù)的硬件模塊。在需要CPU干預時(shí),它們會(huì )以中斷的方式發(fā)出信號,喚醒CPU。例如一般在采樣數據完成后,ADC會(huì )發(fā)出中斷信號。這樣就無(wú)需輪詢(xún)來(lái)自ADC的數據。因此CPU可以進(jìn)入低功耗模式,只在數據準備處理時(shí)喚醒。

d. 自適應時(shí)鐘門(mén)控和電源門(mén)控

一個(gè)典型的系統會(huì )使用微控制器的多個(gè)模塊,但在任何給定時(shí)間點(diǎn)上,不會(huì )同時(shí)使用所有的模塊。因此可以對這些模塊的時(shí)鐘進(jìn)行門(mén)控,降低這些模塊的動(dòng)態(tài)功耗,從而節省電源。此外,這也有助于降低峰值電流需求,這是鈕扣電池供電設計的重要考慮因素。PSoC系列器件允許單獨禁用未使用的模塊。

這個(gè)部分我們討論了創(chuàng )建低功耗嵌入式系統的常見(jiàn)設計考量。在第2部分中,我們不僅將討論低功耗應用的實(shí)例、低功耗與系統性能的權衡取舍,而且還將提供使用上述技巧的低功耗系統設計實(shí)例。

相關(guān)閱讀:

黑客比你更懂嵌入式保護!怎么防范?
技術(shù)詳解:利用嵌入式降低電池功耗
技術(shù)經(jīng)驗:做嵌入式硬件設計需具備的基本功

要采購微控制器么,點(diǎn)這里了解一下價(jià)格!
特別推薦
技術(shù)文章更多>>
技術(shù)白皮書(shū)下載更多>>
熱門(mén)搜索
?

關(guān)閉

?

關(guān)閉

久久无码人妻精品一区二区三区_精品少妇人妻av无码中文字幕_98精品国产高清在线看入口_92精品国产自产在线观看481页
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<s id="eoqoe"><xmp id="eoqoe">
<button id="eoqoe"><strong id="eoqoe"></strong></button>
<wbr id="eoqoe"></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><strong id="eoqoe"></strong></wbr>
<wbr id="eoqoe"><label id="eoqoe"></label></wbr>
<button id="eoqoe"></button>
<wbr id="eoqoe"></wbr>