設計低功耗嵌入式係統需要考量的因素(一):一般設計考量
發布時間:2015-06-18 責任編輯:echolady
【導讀】在(zai)我(wo)們(men)的(de)生(sheng)活(huo)中(zhong)充(chong)斥(chi)著(zhe)各(ge)種(zhong)微(wei)型(xing)供(gong)電(dian)設(she)備(bei)及(ji)係(xi)統(tong)。著(zhe)寫(xie)嵌(qian)入(ru)式(shi)係(xi)統(tong)需(xu)要(yao)長(chang)期(qi)使(shi)用(yong)電(dian)源(yuan)供(gong)電(dian),但(dan)是(shi)頻(pin)繁(fan)更(geng)換(huan)的(de)電(dian)源(yuan)使(shi)得(de)功(gong)耗(hao)更(geng)大(da)。本(ben)文(wen)介(jie)紹(shao)了(le)設(she)計(ji)低(di)功(gong)耗(hao)嵌(qian)入(ru)式(shi)係(xi)統(tong)需(xu)要(yao)考(kao)量(liang)的(de)設(she)計(ji)因(yin)素(su)和(he)利(li)弊(bi)權(quan)衡(heng)。
及早規劃可以在優化係統實現低功耗的同時,減少對返工和/或代碼重新編寫的需求。這些考量包括:
1. 應用層麵的低功耗設計;
2. 了解功耗與性能之間的利弊權衡;
3. 使用可優化功耗的軟硬件技巧。
嵌入式應用中的功耗因素
任何給定係統中的功耗都可分為兩大類:
i. 靜態功耗:靜態功耗指器件在未運行代碼、等待特定事件觸發係統喚醒至工作模式時所消耗的電源。靜態功耗的主要來源包括係統中流過的漏電流、模擬偏差、不能關閉的模塊以及運行RTC、看門狗定時器和中斷控製器等獨立代碼的模塊。該電流與器件的工作電壓成正比。工作電壓越高,漏電流就越大;
ii. 動態功耗:係統處於工作狀態,CPU執行程序代碼時所消耗的電源稱為動態功耗。係統的動態電流取決於工作頻率、電壓以及有關總線與電路設計的寄生電容。計算方法為:
P = V2 * f * C
V為電壓、f為工作頻率、C為輸出端的寄生電容
靜態與動態功耗的圖形表達:

圖1
對於任何給定的晶體管,其靜態功耗在給定電源電壓下基本上是恒定的。靜態功耗源於漏電流(CMOS電路)或偏置電流(工作模擬電路),主要取決於係統類型。晶體管中的動態功耗發生在電壓轉換過程中。在這些轉換過程中,CMOS對會進入某個狀態,在該狀態下CMOS對(dui)的(de)器(qi)件(jian)均(jun)部(bu)分(fen)開(kai)啟(qi),充(chong)當(dang)電(dian)阻(zu)器(qi),從(cong)而(er)可(ke)形(xing)成(cheng)一(yi)種(zhong)分(fen)壓(ya)器(qi)電(dian)路(lu)。這(zhe)種(zhong)虛(xu)擬(ni)分(fen)壓(ya)器(qi)電(dian)路(lu)消(xiao)耗(hao)的(de)電(dian)源(yuan)要(yao)比(bi)所(suo)定(ding)義(yi)邏(luo)輯(ji)電(dian)平(ping)下(xia)的(de)漏(lou)電(dian)流(liu)高(gao)很(hen)多(duo)。這(zhe)就(jiu)是(shi)為(wei)什(shen)麼(me)動(dong)態(tai)功(gong)耗(hao)與(yu)電(dian)路(lu)中(zhong)的(de)開(kai)關(guan)頻(pin)率(lv)成(cheng)正(zheng)比(bi)的(de)原(yuan)因(yin)所(suo)在(zai)。因(yin)此(ci)在(zai)定(ding)義(yi)低(di)功(gong)耗(hao)嵌(qian)入(ru)式(shi)係(xi)統(tong)時(shi),它(ta)是(shi)最(zui)根(gen)本(ben)的(de)注(zhu)意(yi)事(shi)項(xiang)之(zhi)一(yi),即(ji)要(yao)盡(jin)量(liang)減(jian)少(shao)係(xi)統(tong)的(de)開(kai)關(guan)事(shi)件(jian)。
低功耗電池供電嵌入式應用的設計考量
1. 硬件考量:
a. 電池類型:
在嵌入式應用中主要有以下類型的電池:
i. )標準堿性電池
iii. )可充電電池: 可充電堿性電池,鋰離子電池
iii. )鈕扣電池
對(dui)於(yu)各(ge)種(zhong)廣(guang)泛(fan)低(di)功(gong)耗(hao)嵌(qian)入(ru)式(shi)應(ying)用(yong)而(er)言(yan),為(wei)係(xi)統(tong)充(chong)電(dian)不(bu)是(shi)合(he)理(li)的(de)使(shi)用(yong)案(an)例(li)模(mo)型(xing)。這(zhe)裏(li)無(wu)需(xu)為(wei)這(zhe)些(xie)應(ying)用(yong)使(shi)用(yong)可(ke)充(chong)電(dian)電(dian)池(chi)。我(wo)們(men)來(lai)比(bi)較(jiao)一(yi)下(xia)另(ling)外(wai)兩(liang)種(zhong)在(zai)低(di)功(gong)耗(hao)應(ying)用(yong)中(zhong)有(you)用(yong)的(de)電(dian)池(chi)以(yi)及(ji)在(zai)為(wei)設(she)計(ji)選(xuan)擇(ze)電(dian)池(chi)時(shi)需(xu)考(kao)慮(lv)的(de)因(yin)素(su)。
標準堿性電池:標準AA電池的典型容量大約為1500mAh,不僅可輕鬆提供數百mA的峰值電流,而且還能夠以50mA的恒定速率放盡電流。
堿性電池能為應用提供高峰值電流,因此係統能夠在並列使用其全部專用外設(定時器與通信模塊等)的同時,在其最高時鍾頻率下運行,從而可在盡快完成各項任務後,快速進入低功耗工作模式。
鈕扣電池:鈕扣電池具有極高的內部電阻,因此不能承受高峰值電流。在應用超過20mA的峰值電流時,即便持續時間很短,其有效電壓也會大幅下降。因此對於使用鈕扣電池供電的設計而言,強烈建議設計使用能在2V或以下電壓下工作的組件。微控製器的掉電電壓應低至能避免在鈕扣電池提供高峰值電流時係統出現意外複位的水平。
此外,我們還需要采取預防措施來降低係統所需的峰值電流。降低峰值電流的途徑包括:
● 降低CPU時鍾頻率
● 通過隨時分配負載,避免一次性啟用所有內部模塊
● 在外部組件及內部模塊未使用時,減少對它們的供電
b. 設置正確的微控製器:
要yao讓rang低di功gong耗hao應ying用yong中zhong的de靜jing態tai功gong耗hao和he動dong態tai功gong耗hao保bao持chi最zui低di,最zui重zhong要yao的de是shi選xuan擇ze具ju有you所suo需xu外wai設she集ji的de微wei控kong製zhi器qi,其qi可ke在zai所suo需xu電dian源yuan模mo式shi下xia工gong作zuo。根gen據ju需xu要yao,係xi統tong設she計ji人ren員yuan可ke選xuan擇ze合he適shi的de微wei控kong製zhi器qi,該gai微wei控kong製zhi器qi支zhi持chi低di功gong耗hao模mo式shi下xia其qi應ying用yong所suo需xu的de外wai設she集ji。
以需要LCD較長時間工作的應用為例。通過選擇可在低功耗模式下運行該LCD的微控製器,開發人員可最大限度降低功耗。這類微控製器的典型實例就是賽普拉斯的PSoC 4,其可讓LCD顯示器以僅3uA的流耗進入深度睡眠模式。複雜應用的情況類似,我們需要進行利弊權衡,確定能以最低平均功耗完成每項任務的適當微控製器。
[page]
c. 選擇合適的無源組件:
上拉電阻器和下拉電阻器是支持接口開關及I2C器qi件jian等deng的de常chang用yong組zu件jian。有you時shi在zai低di功gong耗hao設she計ji中zhong,這zhe些xie上shang拉la及ji下xia拉la電dian阻zu器qi消xiao耗hao的de電dian源yuan比bi係xi統tong其qi它ta部bu分fen還hai大da。要yao降jiang低di其qi功gong耗hao,需xu要yao使shi用yong更geng大da的de電dian阻zu值zhi。這zhe樣yang可ke降jiang低di流liu經jing它ta們men的de電dian流liu量liang。但dan它ta同tong時shi會hui增zeng大daRC時間常數,因此會降低係統對高頻率信號的響應能力。
例如,為I2C線路使用高阻值上拉電阻器會降低I2C通信的速度,因為增大了I2C線路的壓擺率。因此這些電阻器值可決定影響最終設計的各種因素之間的權衡取舍。
同tong樣yang,在zai為wei設she計ji選xuan擇ze電dian容rong器qi時shi,應ying避bi免mian電dian解jie電dian容rong器qi,因yin為wei它ta們men具ju有you極ji高gao的de漏lou電dian流liu。薄bo膜mo電dian容rong器qi和he陶tao瓷ci電dian容rong器qi能neng以yi合he理li的de成cheng本ben提ti供gong超chao低di的de漏lou電dian流liu,可ke考kao慮lv用yong於yu低di功gong耗hao係xi統tong設she計ji。
d. 審慎使用I/O:
避免在係統中隨機分配控製器I/O引(yin)腳(jiao)。如(ru)果(guo)引(yin)腳(jiao)隨(sui)機(ji)分(fen)布(bu)在(zai)不(bu)同(tong)端(duan)口(kou),則(ze)需(xu)要(yao)對(dui)每(mei)個(ge)端(duan)口(kou)單(dan)獨(du)處(chu)理(li),這(zhe)樣(yang)會(hui)增(zeng)加(jia)控(kong)製(zhi)它(ta)們(men)所(suo)需(xu)的(de)寄(ji)存(cun)器(qi)寫(xie)入(ru)數(shu)。為(wei)解(jie)決(jue)這(zhe)一(yi)問(wen)題(ti),可(ke)以(yi)按(an)最(zui)小(xiao)端(duan)口(kou)數(shu)對(dui)輸(shu)入(ru)引(yin)腳(jiao)和(he)輸(shu)出(chu)引(yin)腳(jiao)進(jin)行(xing)分(fen)組(zu),從(cong)而(er)實(shi)現(xian)以(yi)最(zui)小(xiao)的(de)寄(ji)存(cun)器(qi)寫(xie)入(ru)數(shu)完(wan)成(cheng)讀(du)取(qu)與(yu)寫(xie)入(ru)。
在引腳用於驅動LED和其它類似負載的地方,應使用引腳的開漏驅動模式,這些負載的一端固定在VDD或接地上。這種驅動模式可降低通過I/O引腳的漏電流,因此可降低功耗。

圖2
e. 選擇正確的外設:
在係統設計中應使用支持低功耗模式、在工作模式下支持低功耗的外設組件,以降低設計的總體功耗。
f. 審慎使用係統時鍾:
定義係統時鍾的行為有助於降低係統功耗。遵循通用係統時鍾相關設計實踐可幫助在幾乎每個係統中實現低功耗。
● 在係統中使用低頻率時鍾降低動態功耗。
● 在執行計算密集型任務時提升係統時鍾,可通過縮短完成任務的時間,降低平均功耗。
● 優先使用係統時鍾,而非外部時鍾。
● 在CPU等待通信傳輸完成時,應關閉CPU,隻開啟通信模塊的時鍾。在完成該任務後,它可獲得一個中斷信號,恢複代碼執行。
g. 電流門控:
一yi般ban情qing況kuang下xia,熱re敏min電dian阻zu等deng無wu源yuan傳chuan感gan器qi工gong作zuo在zai分fen壓ya器qi模mo式shi下xia,因yin此ci一yi直zhi都dou在zai消xiao耗hao係xi統tong電dian流liu。為wei降jiang低di這zhe種zhong情qing況kuang下xia的de功gong耗hao,我wo們men可ke以yi在zai通tong過guo采cai樣yang傳chuan感gan器qi網wang絡luo獲huo得de相xiang關guan數shu據ju之zhi前qian為wei其qi提ti供gong電dian源yuan,並bing在zai數shu據ju采cai樣yang完wan成cheng後hou切qie斷duan電dian源yuan。這zhe在zai傳chuan感gan器qi需xu要yao定ding期qi讀du取qu的de情qing況kuang下xia才cai有you用yong。
但當傳感器必須保持工作狀態才能檢測環境中的異常現象時,CPU可在整個傳感過程中保持低功耗模式。CPU一旦收到傳感器的中斷/數據信息,就會恢複工作模式。類似邏輯可用於讀取開關狀態,以判斷它是處於開啟還是關閉狀態。

圖3
2. 固件考量:
a. 減少函數調用:
每次函數調用都將涉及多重冗餘運算,比如堆棧上的添加與取出運算(用於重新加載程序的計數器和寄存器)。zhexieyunsuandemeiyicigongzuodouhuihaoyongduogeshizhongzhouqi,yingjinliangbimian。duiyujianduanhanshueryan,hanshutiaoyongkecaiyongnenggoubuzhineiliandaimadehongminglingtihuan。zheyouzhuyujianshaoCPUjiazai,jinerjiangdixiangtongyunsuansuoxudegonghao。raner,meizhongfangfadouyouqizishendeyouquedian。hongminglingxuyaogengdadecunchuqi,zheduixierugaomidugujianlaishuoshiyigewenti,yinweitakenenghuizengdaxitongchengben。
b. 為頻繁重複的輸入值使用查找表:
通tong常chang會hui有you一yi部bu分fen輸shu入ru值zhi的de使shi用yong頻pin率lv大da於yu其qi它ta輸shu入ru值zhi。通tong過guo創chuang建jian與yu這zhe些xie輸shu入ru值zhi對dui應ying的de查zha找zhao表biao,在zai遇yu到dao這zhe些xie輸shu入ru其qi中zhong之zhi一yi時shi,可ke縮suo短duan計ji算suan時shi間jian,進jin而er可ke降jiang低di功gong耗hao。
這(zhe)種(zhong)方(fang)法(fa)在(zai)當(dang)完(wan)成(cheng)計(ji)算(suan)後(hou)需(xu)要(yao)查(zha)找(zhao)值(zhi)的(de)應(ying)用(yong)中(zhong)比(bi)較(jiao)容(rong)易(yi)看(kan)到(dao),比(bi)如(ru)電(dian)機(ji)應(ying)用(yong)中(zhong)角(jiao)度(du)正(zheng)弦(xian)與(yu)餘(yu)弦(xian)的(de)計(ji)算(suan)。在(zai)這(zhe)類(lei)應(ying)用(yong)中(zhong),會(hui)有(you)一(yi)係(xi)列(lie)頻(pin)繁(fan)遇(yu)到(dao)的(de)值(zhi)(相比之下,其它值遇到的頻率較低)。正(zheng)弦(xian)值(zhi)或(huo)餘(yu)弦(xian)值(zhi)的(de)計(ji)算(suan)需(xu)要(yao)較(jiao)長(chang)的(de)時(shi)間(jian),因(yin)此(ci)對(dui)於(yu)該(gai)頻(pin)繁(fan)重(zhong)複(fu)的(de)角(jiao)度(du)而(er)言(yan),其(qi)正(zheng)弦(xian)及(ji)餘(yu)弦(xian)的(de)預(yu)計(ji)算(suan)值(zhi)可(ke)存(cun)儲(chu)在(zai)查(zha)找(zhao)表(biao)中(zhong)。每(mei)次(ci)遇(yu)到(dao)這(zhe)些(xie)角(jiao)度(du)中(zhong)的(de)一(yi)種(zhong)時(shi),處(chu)理(li)器(qi)便(bian)可(ke)查(zha)找(zhao)該(gai)表(biao),用(yong)在(zai)此(ci)找(zhao)到(dao)的(de)值(zhi)進(jin)行(xing)替(ti)代(dai),不(bu)必(bi)計(ji)算(suan)。
c. 使用中斷,無需輪詢:
在複雜的嵌入式係統中,CPU會花大部分時間來等待某項工作的完成,然後再進入下一個步驟。當前提供的大多數SoC都提供能在無需CPU幹預的情況下完成大多數任務的硬件模塊。在需要CPU幹預時,它們會以中斷的方式發出信號,喚醒CPU。例如一般在采樣數據完成後,ADC會發出中斷信號。這樣就無需輪詢來自ADC的數據。因此CPU可以進入低功耗模式,隻在數據準備處理時喚醒。
d. 自適應時鍾門控和電源門控
一(yi)個(ge)典(dian)型(xing)的(de)係(xi)統(tong)會(hui)使(shi)用(yong)微(wei)控(kong)製(zhi)器(qi)的(de)多(duo)個(ge)模(mo)塊(kuai),但(dan)在(zai)任(ren)何(he)給(gei)定(ding)時(shi)間(jian)點(dian)上(shang),不(bu)會(hui)同(tong)時(shi)使(shi)用(yong)所(suo)有(you)的(de)模(mo)塊(kuai)。因(yin)此(ci)可(ke)以(yi)對(dui)這(zhe)些(xie)模(mo)塊(kuai)的(de)時(shi)鍾(zhong)進(jin)行(xing)門(men)控(kong),降(jiang)低(di)這(zhe)些(xie)模(mo)塊(kuai)的(de)動(dong)態(tai)功(gong)耗(hao),從(cong)而(er)節(jie)省(sheng)電(dian)源(yuan)。此(ci)外(wai),這(zhe)也(ye)有(you)助(zhu)於(yu)降(jiang)低(di)峰(feng)值(zhi)電(dian)流(liu)需(xu)求(qiu),這(zhe)是(shi)鈕(niu)扣(kou)電(dian)池(chi)供(gong)電(dian)設(she)計(ji)的(de)重(zhong)要(yao)考(kao)慮(lv)因(yin)素(su)。PSoC係列器件允許單獨禁用未使用的模塊。
這個部分我們討論了創建低功耗嵌入式係統的常見設計考量。在第2部分中,我們不僅將討論低功耗應用的實例、低功耗與係統性能的權衡取舍,而且還將提供使用上述技巧的低功耗係統設計實例。
相關閱讀:
黑客比你更懂嵌入式保護!怎麼防範?
技術詳解:利用嵌入式降低電池功耗
技術經驗:做嵌入式硬件設計需具備的基本功
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 築基AI4S:摩爾線程全功能GPU加速中國生命科學自主生態
- 一秒檢測,成本降至萬分之一,光引科技把幾十萬的台式光譜儀“搬”到了手腕上
- AI服務器電源機櫃Power Rack HVDC MW級測試方案
- 突破工藝邊界,奎芯科技LPDDR5X IP矽驗證通過,速率達9600Mbps
- 通過直接、準確、自動測量超低範圍的氯殘留來推動反滲透膜保護
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
微波功率管
微波開關
微波連接器
微波器件
微波三極管
微波振蕩器
微電機
微調電容
微動開關
微蜂窩
位置傳感器
溫度保險絲
溫度傳感器
溫控開關
溫控可控矽
聞泰
穩壓電源
穩壓二極管
穩壓管
無焊端子
無線充電
無線監控
無源濾波器
五金工具
物聯網
顯示模塊
顯微鏡結構
線圈
線繞電位器
線繞電阻




