雜談單片機低功耗設計
用51做低功耗,太累了低功耗多得是,像PIC、EMC輕松做到20uA以下,51有POWER DOWN,但只能復位喚醒,有少數可用INT喚醒,太麻煩。有些有雙晶體的單片機,做低功耗最簡單,平時用32768工作也只有20uA,這種單片機一般帶有LCD。EMC內有PLL單片機做功耗系統很方便,象78565,567,功能強價格低samgsung的單片機可以做到565匠人也用過。平時進IDLE模式,功耗只有幾個UA分級供電和外部喚醒確是一種可行的辦法 在分級供電中要注意的是如果電源是小電流的穩(wěn)壓器件最好有一個比較大的蓄電電路,要不然單片機喚醒和上電時可能會起動不了,而且可能會進入一個不希望的振蕩期,比如單片機要起振,電流增大,這時電源供不起,電壓就下降,引起的是單片機又停振電壓又回升!所以一個合理的電源管理電路就顯得很關鍵,這方面的專業(yè)IC將是未來一個很有前途的產業(yè)!這個IC應有一個內部低速的定時器和一個專門的蓄電管理電路,當電路進入低功耗后應該將蓄電電路沖滿以備喚醒和大功耗時用,這種電路主要用于小電流供電的環(huán)境,它可以為小電流供電環(huán)境提供一個短時間的大電流工作。 另外單片機的耗電除了核本身的耗電外,大多是IO口的耗電,大家可以通過降低主頻,將IO口置在比較合適的狀態(tài)來達到一個比較省心又省力的方式。而且不全理的頻繁喚醒有時會帶來更多的電耗!
用TI的單片機MSP430系列非常省電。正常工作時幾百微安,掉電時約1微安87LPC76X低功耗51,32k時20uA使用雙振的單片機,在系統不忙的時候使用32768的晶振,同時進入SLEEP這樣處理通常耗電都在幾個uA.在處理SLEEP喚醒后的程序需要小心處理,特別是臺灣的單片機。ATMEL89C52 Powerdown mode下最少是40微安。常用的485,232,modem,flash都不是低功耗可關斷的。
高速51: C8051FXXX在1M指令流下,VDD僅僅1.5mA用IO口控制RC振蕩頻率?
用RC振蕩方式,并將IOSI口接一個電阻到IO口上。通過切換IO口的電平來切換頻率,方法如下:
功耗,在電池供電的儀器儀表中是一個重要的考慮因素。PIC16C××系列單片機本身的功耗較低(在5V,4MHz振蕩頻率時工作電流小于2mA)。為進一步降低功耗,在保證滿足工作要求的前提下,可采用降低工作頻率的方法,工作頻率的下降可大大降低功耗(如PIC16C××在3V,32kHz下工作,其電流可減小到15μA),但較低的工作頻率可能導致部分子程序(如數學計算)需占用較多的時間。在這種情況下,當單片機的振蕩方式采用RC電路形式時,可以采用中途提高工作頻率的辦法來解決。體做法是在閑置的一個I/O腳(如RB1)和OSC1管腳之間跨接一電阻(R1),如圖1所示。低速狀態(tài)置RB1=0。需進行快速運算時先置RB1=1,由于充電時,電容電壓上升得快,工作頻率增高,運算時間減少,運算結束又置RB1=0,進入低速、低功耗狀態(tài)。工作頻率的變化量依R1的阻值而定(注意R1不能選得太小,以防振蕩電路不起振,一般選取大于5kΩ)。
改用C8051Fxxx,20MHz 僅僅10mA,若降到1MHz,可以做到1~2mA;或是干脆采用MSP430,一般1mA,稍稍采取措施,馬上可以接近零功耗。
大家不要以為更換CPU是很難的事情,我們僅僅用2周就更換成功CPU先天不足,51低功耗沒前途的msp430,m16等有很多低功耗單片機,功能強,又是精簡指令,全天uA級工作成本也是關鍵,不一定非要低功耗器件。要很好的利用單片機的中斷和休眠功能,單片機盡可能的處于休眠等待狀態(tài),同時注意空閑IO口的狀態(tài),輸出的最好置低,輸入的要視外圍電路而定,不用的腳要處理好,不是簡單不接就可以的另外,外圍電路可以做分區(qū)域的電源開關,不用時,關閉電源,并將與其相連的單片機的IO口置低,減少信號線饋電。不知說的對不對。
剛開始做電池產品時,只有8031 ,考慮用PSEN什么的控制外部RAM,休眠方式,但是還是在十毫安級。 現在好了,有許多型號單片機本身就是低功耗,為了減少體積,還要追求更低。
評論