雜談單片機(jī)低功耗設(shè)計(jì)
1.系統(tǒng)設(shè)計(jì)。好的系統(tǒng)設(shè)計(jì)是降低功耗的關(guān)鍵。 減少外圍器件,降低晶體頻率??梢圆捎脦cd,ad,實(shí)時(shí)時(shí)鐘功能的單片機(jī),即降低成本,又減少了故障率,可謂一舉兩得.HOLTEL,PHILIPS,PIC 都有此類單片機(jī)。 低的主頻也可以降低功耗,如ZILOG的單片機(jī)可以程序控制對(duì)主頻的分頻,在不忙時(shí)把頻率降低,需要時(shí)在提高。 HOLTEK的可以采用雙頻率工作,高主頻可以關(guān)閉,32768可以提供內(nèi)部精確計(jì)時(shí),還可以激活休眠的單片機(jī)工作。
2.降低系統(tǒng)電壓,可以降低功耗。
3.合理處理不用的IO口,最好設(shè)為輸入態(tài)。對(duì)外圍電路也要考慮,如光耦,盡量使其導(dǎo)通態(tài)斷開態(tài)。驅(qū)動(dòng)三極管的狀態(tài)。還有就是上拉,下拉電阻值,太小也會(huì)造成漏電。
Mega8的一個(gè)特點(diǎn)是帶有內(nèi)部的RC振蕩器,別小看他,他與晶振的不同之處在于他的起振時(shí)間很短,只要幾u(yù)S,而晶振一般要幾十mS,所以低功耗設(shè)計(jì)時(shí)一定要用,430的宣傳不是也講起動(dòng)時(shí)間6uS嗎,那一樣是指的RC振蕩開始工作的時(shí)間。我得設(shè)計(jì)靜態(tài)電流50uA,實(shí)際只是LCD模塊的電流,單片機(jī)平時(shí)處在掉電的狀態(tài)。每隔1S倍液晶模塊喚醒一次,作一次顯示的刷新工作,耗時(shí)約4mS,正常工作時(shí)如果有脈沖來(lái)的話,就作一些運(yùn)算,脈沖頻率50Hz,每次運(yùn)算不過(guò)200uS,這樣下來(lái),正極的功耗大大降低,加上一些外圍電路,平均在100uA以下。
低功耗設(shè)計(jì)現(xiàn)象一:我們這系統(tǒng)是220V供電,就不用在乎功耗問(wèn)題了點(diǎn)評(píng):低功耗設(shè)計(jì)并不僅僅是為了省電,更多的好處在于降低了電源模塊及散熱系統(tǒng)的成本、由于電流的減小也減少了電磁輻射和熱噪聲的干擾。隨著設(shè)備溫度的降低,器件壽命則相應(yīng)延長(zhǎng)(半導(dǎo)體器件的工作溫度每提高10度,壽命則縮短一半)。
現(xiàn)象二:這些總線信號(hào)都用電阻拉一下,感覺(jué)放心些點(diǎn)評(píng):信號(hào)需要上下拉的原因很多,但也不是個(gè)個(gè)都要拉。上下拉電阻拉一個(gè)單純的輸入信號(hào),電流也就幾十微安以下,但拉一個(gè)被驅(qū)動(dòng)了的信號(hào),其電流將達(dá)毫安級(jí),現(xiàn)在的系統(tǒng)常常是地址數(shù)據(jù)各32位,可能還有244/245隔離后的總線及其它信號(hào),都上拉的話,幾瓦的功耗就耗在這些電阻上了(不要用8毛錢一度電的觀念來(lái)對(duì)待這幾瓦的功耗)。
現(xiàn)象三:CPU和FPGA的這些不用的I/O口怎么處理呢?先讓它空著吧,以后再說(shuō)點(diǎn)評(píng):不用的I/O口如果懸空的話,受外界的一點(diǎn)點(diǎn)干擾就可能成為反復(fù)振蕩的輸入信號(hào)了,而MOS器件的功耗基本取決于門電路的翻轉(zhuǎn)次數(shù)。如果把它上拉的話,每個(gè)引腳也會(huì)有微安級(jí)的電流,所以最好的辦法是設(shè)成輸出(當(dāng)然外面不能接其它有驅(qū)動(dòng)的信號(hào))現(xiàn)象四:這款FPGA還剩這么多門用不完,可盡情發(fā)揮吧點(diǎn)評(píng):FGPA的功耗與被使用的觸發(fā)器數(shù)量及其翻轉(zhuǎn)次數(shù)成正比,所以同一型號(hào)的FPGA在不同電路不同時(shí)刻的功耗可能相差100倍。盡量減少高速翻轉(zhuǎn)的觸發(fā)器數(shù)量是降低FPGA功耗的根本方法。
現(xiàn)象五:這些小芯片的功耗都很低,不用考慮點(diǎn)評(píng):對(duì)于內(nèi)部不太復(fù)雜的芯片功耗是很難確定的,它主要由引腳上的電流確定,一個(gè)ABT16244,沒(méi)有負(fù)載的話耗電大概不到1毫安,但它的指標(biāo)是每個(gè)腳可驅(qū)動(dòng)60毫安的負(fù)載(如匹配幾十歐姆的電阻),即滿負(fù)荷的功耗最大可達(dá)60*16=960mA,當(dāng)然只是電源電流這么大,熱量都落到負(fù)載身上了。
現(xiàn)象六:存儲(chǔ)器有這么多控制信號(hào),我這塊板子只需要用OE和WE信號(hào)就可以了,片選就接地吧,這樣讀操作時(shí)數(shù)據(jù)出來(lái)得快多了。
點(diǎn)評(píng):大部分存儲(chǔ)器的功耗在片選有效時(shí)(不論OE和WE如何)將比片選無(wú)效時(shí)大100倍以上,所以應(yīng)盡可能使用CS來(lái)控制芯片,并且在滿足其它要求的情況下盡可能縮短片選脈沖的寬度。
現(xiàn)象七:這些信號(hào)怎么都有過(guò)沖啊?只要匹配得好,就可消除了點(diǎn)評(píng):除了少數(shù)特定信號(hào)外(如100BASE-T、CML),都是有過(guò)沖的,只要不是很大,并不一定都需要匹配,即使匹配也并非要匹配得最好。象TTL的輸出阻抗不到50歐姆,有的甚至20歐姆,如果也用這么大的匹配電阻的話,那電流就非常大了,功耗是無(wú)法接受的,另外信號(hào)幅度也將小得不能用,再說(shuō)一般信號(hào)在輸出高電平和輸出低電平時(shí)的輸出阻抗并不相同,也沒(méi)辦法做到完全匹配。所以對(duì)TTL、LVDS、422等信號(hào)的匹配只要做到過(guò)沖可以接受即可。
現(xiàn)象八:降低功耗都是硬件人員的事,與軟件沒(méi)關(guān)系點(diǎn)評(píng):硬件只是搭個(gè)舞臺(tái),唱戲的卻是軟件,總線上幾乎每一個(gè)芯片的訪問(wèn)、每一個(gè)信號(hào)的翻轉(zhuǎn)差不多都由軟件控制的,如果軟件能減少外存的訪問(wèn)次數(shù)(多使用寄存器變量、多使用內(nèi)部CACHE等)、及時(shí)響應(yīng)中斷(中斷往往是低電平有效并帶有上拉電阻)及其它爭(zhēng)對(duì)具體單板的特定措施都將對(duì)降低功耗作出很大的貢獻(xiàn)。
評(píng)論