低功耗設(shè)計并不僅僅是為了省電,更多的好處在于降低了電源模塊及散熱系統(tǒng)的成本,、由于電流的減小也減少了電磁輻射和熱噪聲的干擾,。隨著設(shè)備溫度的降低,器件壽命則相應(yīng)延長(半導體器件的工作溫度每提高10度,,壽命則縮短一半)
1,、降低功耗從MCU選型開始,開始選型的時候就應(yīng)該考慮選擇低功耗的MCU,比如MSP430一類的為低功耗設(shè)計的CPU,。不建議使用51,,一方面是因為51速度慢,另外一方面是因為51的IO是有上拉電阻的,,雖然當IO為高電平是上拉電阻不費電,,但是下拉電流的時候卻也有不小的功耗產(chǎn)生。還有一點就是51的運算速度實在是太慢了,,很多運算用51都需要很高的主頻而主頻高了就意味著高的功耗,。
2、選擇器件用電電壓,,很明顯降低器件的用電電壓能夠明顯的降低器件的耗電比如說ATmega8和ATmega88雖然芯片大致內(nèi)部結(jié)構(gòu)一致但是后者可以工作在1.8V的超低電壓下,,而前者就不行。
3,、盡量降低器件的工作頻率,,大家都知道CMOS電路的工作電流主要來自于開關(guān)轉(zhuǎn)換時對后一級輸入端的電容充放電,如果能夠降低MCU的工作頻率自然耗電也就下來了,,要知道當AVR工作在32.768Hz時和工作在20Mhz時的工作電流差異可不是一般的小啊
4,、盡量使用中斷讓處理器進入更深的睡眠,眾所周知睡眠模式和掉電模式能夠大大的降低MCU的工作電流,,聰明的單片機設(shè)計師能夠充分的利用MCU的中斷功能讓MCU周期性的工作和睡眠從而大大的降低MCU的工作電流,。
5、盡量關(guān)閉MCU內(nèi)部不用的資源,,不用的東西干嗎開著呢,,比如ATmega8內(nèi)部的模擬比較器,默認是開著的,,還有ATmega88內(nèi)部的大多數(shù)資源都可以在不用的時候用軟件關(guān)閉,。
6、盡量使用VMOS做為外部功率擴展器件,,道理很簡單VMOS驅(qū)動的時候是電壓型器件,,驅(qū)動是幾乎不產(chǎn)生功耗,要比普通的晶體管省電多了,,而且由于VMOS的導通內(nèi)阻低通常只有幾十個毫歐,,在小電流的時候器件自身發(fā)熱也小,尤其是小電流是效率遠比 傳統(tǒng)晶體管要高的多的多,,這里還是建議使用高速VMOS,,因為高速VMOS用于開關(guān)速度相當高的PWM時效率會更高。
7,、片外IC的電源最好都能由MCU的IO控制,,比如說我們常用的24C02,,由于它是掉電記憶的,所以我們完全可以在它不工作的時候?qū)λP(guān)電源,,以節(jié)約電流還有比如說我們常用的6116的SRAM我們完全可以用單片機來控制它的片選端口來控制它的工作與休眠從而節(jié)約電流,。大部分存儲器的功耗在片選有效時(不論OE和WE如何)將比片選無效時大100倍以上,所以應(yīng)盡可能使用CS來控制芯片,,并且在滿足其它要求的情況下盡可能縮短片選脈沖的寬度,。
8,、使用PWM方式驅(qū)動LED器件,,從而省略限流電阻,要知道當器件選定后它的內(nèi) 阻也就已經(jīng)確定,,而當電源電壓也確定的時候,,就可以通過占空比來確定器件上的電壓從而節(jié)約了限流電阻同時也就節(jié)約了限流電阻上面的功耗,如果用戶使用的是電池,,我們完全還可以不定期的對電池電壓進行檢測然后改變占空比,,從而恒定負載上面的電壓,達到電源的最大利用率,。
9,、慎用信號的上拉或下拉電阻。信號需要上下拉的原因很多,,但也不是個個都要拉,。上下拉電阻拉一個單純的輸入信號,電流也就幾十微安以下,,但拉一個被驅(qū)動了的信號,,其電流將達毫安級,現(xiàn)在的系統(tǒng)常常是地址數(shù)據(jù)各32位,,可能還有244/245隔離后的總線及其它信號,,都上拉的話,幾瓦的功耗就耗在這些電阻上了,。
10,、CPU和FPGA的閑置I/O口處理。不用的I/O口如果懸空的話,,受外界的一點點干擾就可能成為反復振蕩的輸入信號了,,而MOS器件的功耗基本取決于門電路的翻轉(zhuǎn)次數(shù)。如果把它上拉的話,,每個引腳也會有微安級的電流,,所以最好的辦法是設(shè)成輸出,當然外面不能接其它有驅(qū)動的信號,。
11,、FGPA的功耗控制,。FGPA的功耗與被使用的觸發(fā)器數(shù)量及其翻轉(zhuǎn)次數(shù)成正比,所以同一型號的FPGA在不同電路不同時刻的功耗可能相差100倍,。盡量減少高速翻轉(zhuǎn)的觸發(fā)器數(shù)量是降低FPGA功耗的根本方法,。
12、軟件與硬件配合來降低功耗,,總線上幾乎每一個芯片的訪問,、每一個信號的翻轉(zhuǎn)差不多都由軟件控制的,如果軟件能減少外存的訪問次數(shù),,多使用寄存器變量,、多使用內(nèi)部CACHE,及時響應(yīng)中斷(中斷往往是低電平有效并帶有上拉電阻)及其它針對具體硬件所采取的特定措施都將對降低功耗作出很大的貢獻,。