錢光明
摘要:分析了低功耗嵌入式裝置中的電流特點(diǎn),綜述了常用的能量測量方法,提出了一種多電容輪流放電法。
關(guān)鍵詞:嵌入式;被測裝置;累積型能量測量;電流鏡
中圖分類號:TP311
文獻(xiàn)標(biāo)識碼:A
文章編號:1009-3044(2017)10-0208-02
1.引言
在許多嵌入式設(shè)計中,低能耗是一個很重要的指標(biāo),特別是電池供電場合。一方面我們希望電池一次工作盡量長的時間;另一方面,盡量低的功耗也有利于設(shè)備散熱和溫升的限制,這不但在無人測量時安全性更好一些,而且對某些受溫升影響的測量來講也是福音。那么,我們?nèi)绾螠y量和預(yù)測一個嵌入式系統(tǒng)的功耗呢?顯然這是一個非常重要的問題。
2.系統(tǒng)特點(diǎn)
(1)式表明:測量電流是關(guān)鍵。不過,嵌入式系統(tǒng)中,電流i往往變化多端。其中一個主要特點(diǎn)是變化范圍大。如一個移動通信模塊的電流待機(jī)時可低至幾mA,而撥號搜索時可達(dá)2000mA。一個WIFI模塊睡眠時可以只有幾u(yù)A,而打開無線發(fā)射電路外發(fā)信號時可達(dá)幾百mA。我們的測量方法能否快速適應(yīng)這樣的大范圍變化,實(shí)現(xiàn)精確測量呢?另外,電流的變化還受干擾和元器件特性的分散性影響。比如,兩個同一型號的CPU,在同一工作頻率下的工作電流可能不完全一樣。還有,不同的程序指令牽涉到的硬件常常有所差別,電流和能量需求就不一樣,即使是完成同樣功能的不同程序。那么,到底有哪些測量方法可選呢?
3.能耗測量方法
3.1分檔次單獨(dú)測量
如果被測裝置在每一個等級的工作電流能夠穩(wěn)定一段時間,該方法就比較適合。例如,一個PIC單片機(jī)睡眠時電流可以穩(wěn)定在幾u(yù)a,等它睡眠后用數(shù)字萬用表的uA檔來測量就可以。喚醒后電流如果能穩(wěn)定在幾mA,換成mA檔來測量便可,或是考慮自動換檔的電流表。但是,不睡眠時,很多嵌入式裝置的工作電流并不是穩(wěn)定在某一數(shù)值,而是有較大范圍的變動,如20mA-30mA,此時該方法就顯得力不從心。實(shí)驗(yàn)證明:許多場合睡眠電流好測量,喚醒后的工作電流難以精確測得。
3.2高速采樣存儲
對于變動較快的工作電流,可以考慮此法。先對電流盡量高速地采樣,然后再A/D轉(zhuǎn)換和,或存儲。不過這樣的測量裝置一般造價較高,比如用高帶寬存儲示波器。存儲時需要大容量的RAM。例如,一個采樣速率為10MHz的裝置,如果每采樣點(diǎn)用8位存儲,存儲一秒鐘的數(shù)據(jù)就需10MB的RAM。并且,在采樣及MD轉(zhuǎn)換等環(huán)節(jié)都可能帶來誤差。一般來說,越是高速,就越是挑戰(zhàn)測量精度。另外,因?yàn)椴蓸铀俾什豢赡軣o限高,對于變化速率高于采樣速率的電流,一些變動點(diǎn)也會采集不到,所以仍然存在方法誤差。
該方法屬于累積型能量測量,只要C1、C2和C3取值不是太小,測量速率并不要求很高,而且只測量電容剩余電壓。因?yàn)榇笕萘康碾娙萃ǔ:茈y保證高精度,所以一般這里只取nF級。不過,雖然每個電容放電時間短,但總會使被測裝置的供電電壓有一定的波動,必須保證這一波動在允許范圍內(nèi)。假定一個單片機(jī)可以在2.7V-3.3V之間正常工作,那么該波動不要使電壓低于2.7V。顯然,該方法是在電源電壓波動的情況下測得的能耗,與準(zhǔn)確穩(wěn)定于某一固定值時的所得肯定有所區(qū)別。不過,只要波動不太大,測量結(jié)果還是有價值的。為了減小波動,可考慮采用更多數(shù)量的電容輪流放電。實(shí)際上,電池電壓本來也會隨時間而降低,即使恒壓測量也并不完全反映實(shí)際情況。
3.4電流鏡技術(shù)
電流鏡本質(zhì)上只是一種電流取樣方法。它要與其他測量方法配合才能完成整個測量過程。比如,有的接電容充放電電路,有的再直接通過電阻轉(zhuǎn)換為電壓測量。常用的電流取樣方法一般有兩種:一是將取樣電阻直接串在被測電路中,將被測電流轉(zhuǎn)換為電壓測量;二是被測電流拷貝法,即電流鏡。
從原理上講,方法一總會對被測系統(tǒng)造成一定的影響。設(shè)取樣電阻為Rs,其上壓降為U/s=iRs。Rs越大,造成的電壓降Us就越大,被測裝置供電電壓降低就越多。一般要根據(jù)預(yù)測的電流檔次來選擇Rs。例如,若i在1vA-10pA范圍,選Rs為100Ω,U/s將不超過1mV,一般對被測設(shè)備影響較小,而如果i在1uA~10mA變化還選Rs為100Q,Us將達(dá)1V。1V的壓降在許多嵌入式場合造成的影響決不能忽視。雖然可考慮換檔,但如果換檔的速度跟不上電流變化的速度,不但會造成誤差,嚴(yán)重的甚至?xí)绊懙奖粶y設(shè)備的正常工作。有一個觀念:似乎只要測量,就要取樣,只要取樣,對被測系統(tǒng)就要造成一定影響,有的甚至影響巨大,例如量子測量會導(dǎo)致被測量子波包塌縮。不過,如果采用圖2所示的電流鏡取樣,這一觀念會受到較大沖擊。電流鏡由幾個性能非常相似的三極管組成(往往制造在同一基片上),如圖中的T1和T2。T1負(fù)責(zé)給被測裝置供電,設(shè)電流為iwork。由于極相似的發(fā)射結(jié)特性,T2往測量電路提供的電流icopy=iwork,即電流拷貝。這樣,理論上“測量”將不影響“被測”。不過,這一誘人的特征一般只在小電流范圍被認(rèn)可,如10mA以下。較大范圍的應(yīng)用場合來說,電流鏡也顯得力不從心。
4.結(jié)束語
不管用哪種取樣方法,不管取樣后采用什么后續(xù)測量電路,都有一定的應(yīng)用限制。另外,一般電池都有一定的自放電效應(yīng),單純采用上面的方法不好測量,必須對測量結(jié)果進(jìn)行一定的校正。不同的電池自放電過程往往有所不同,并且常與使用環(huán)境有關(guān)。對于低功耗嵌入式裝置,尤其是長期工作的裝置,這一點(diǎn)是必須考慮的。
雖然耗電量的精確測量不容易,但如果只是比對哪個方法哪個裝置更省電,往往要好辦一些。例如,用同一批次的兩組電池給兩組被測裝置供電,一段時間(如半年)后,再測量這兩組電池還剩多少電量,一比較便知哪個裝置更省電,雖然也會有些誤差。可以采用專用芯片來測量電池剩余電量,也可采用一些簡單方法,如對一般堿性電池可采用簡單的放電法:接上一定大小的負(fù)載,如300mA負(fù)載放電,看看電壓會降下多少mV。