嵌入式產(chǎn)品的低功耗調試是一件較麻煩的事情,因為它既涉及到硬件又涉及到軟件,影響因素非常多。但是又十分重要,因為它關系到產(chǎn)品的實際使用時長。作為整個系統(tǒng)的大腦, MCU通常對功耗的影響較大,MCU的功耗分為運行時的功耗和休眠時的功耗,運行功耗通常為mA級別,休眠功耗通常為uA級別。整個系統(tǒng)的功耗可以用平均電流來衡量,取決于運行時長t1及運行電流i1、和休眠時長t2及休眠電流i2,即:i=(i1t1+i2t2)/(t1+t2)。
實際產(chǎn)品的功耗狀態(tài)可能并不是上圖中簡單的兩種狀態(tài),可能由多種不同狀態(tài)組合,但是原理是一樣的。
對于一般的應用,因為運行功耗相比休眠功耗要高出幾個數(shù)量級、且大部分時間處于休眠狀態(tài),所以對平均功耗影響較大的是運行時長和休眠電流。
如何去觀察和測試動態(tài)變化的電流呢?
萬用表適合測量直流,只需要選擇電流檔位將萬用表串聯(lián)接入電路即可。需要注意并不是所有的萬用表都能測uA級的電流。比如福祿克這款萬用表最小只能測到1mA電流。
但是當電流不斷變化時,萬用表就不太合適了,它沒法動態(tài)跟蹤電流的整個變化過程,同時無法方便的查看一段時間內(nèi)的平均電流。實際調試過程中,需要看到這些才能更好的去優(yōu)化。
安捷倫有一些專用的儀器可以分析功耗,但是比較貴,個人一般不適合購買。推薦一款我最近在用的功耗分析儀,我買的型號是英加850L5這一款,價格945元,用著還不錯。我之前還買過一款合宙的CC表,非常小巧,不過測試下來精度不是很好,就沒用了。
首先它的精度精很準,比如我先用它測試了一款MCU進入到低功耗時的電流值,
和萬用表測試結果幾乎一致
它真正方便的是可以動態(tài)的觀察整個功耗曲線,比如ADC每隔100ms喚醒一次采集4路ADC,通過搭配的上位機可以觀察到詳細的功耗曲線,各種時間統(tǒng)計下的平均功耗。
如果需要看其中的細節(jié),可以通過放大波形就可以:
還有一些比如藍牙類的應用,可以用它來方便的查看各種不同狀態(tài)下的功耗情況
如果不用這種儀器,用示波器也是可以的,只是不如這個方便。
工欲善其事,必先利其器。如果要細致的研究功耗情況,還是最好擁有這樣一臺功耗調試工具。
關注公眾號,掃碼加入嵌入式交流群: