許燕
(陜西國防工業(yè)職業(yè)技術(shù)學(xué)院,西安 710300)
隨著電子科學(xué)技術(shù)的發(fā)展,在人們的生產(chǎn)生活領(lǐng)域,基于單片機(jī)系統(tǒng)設(shè)計(jì)的電子產(chǎn)品被廣泛應(yīng)用,同時對單片機(jī)系統(tǒng)的能耗功率設(shè)計(jì)提出了更高的要求,單片機(jī)低功耗設(shè)計(jì)越來越受到人們關(guān)注,單片機(jī)低功耗設(shè)計(jì)符合社會節(jié)能要求,可以大幅度提高電子產(chǎn)品的使用壽命,大大提高產(chǎn)品競爭力。由此看出,單片機(jī)的低功耗設(shè)計(jì)不但具有很好的經(jīng)濟(jì)效益,而且具有較大的社會效益。
(1)CPU內(nèi)核簡單為宜原則
在單片機(jī)系統(tǒng)設(shè)計(jì)中,CPU的選擇不能一味的追求性能。8位機(jī)就夠用,一定要遵循夠用就好的原則。隨著科技的發(fā)展,當(dāng)前的單片機(jī)運(yùn)行速度越來越快,但是性能的不斷提升一定會帶來能量的消耗。相對復(fù)雜的CPU集成度也一定高,由于片內(nèi)晶體管多,總漏電流會加大,所以當(dāng)設(shè)備處于stop狀態(tài)的時候,也會產(chǎn)生漏電現(xiàn)象,所以CPU的選擇,簡單實(shí)用就好,不但可以降低功耗而且可以降低成本。
(2)電壓系統(tǒng)“夠用就好”原則
降低單片機(jī)供電電壓能夠很好的降低使用功率,目前,單片機(jī)的供電電壓已經(jīng)從原來的5V降至1.8V。低電壓供電可以有效的降低系統(tǒng)工作電流,但是由于晶體管的尺寸在不斷減小,這也是降低功耗非常不利的一方面。所以選擇低電壓系統(tǒng)時一定要慎重。系統(tǒng)中的其他電子元件在低電壓的情況下要確保正常工作。通過這種途徑可以很大程度上解決系統(tǒng)的低功耗問題。
(3)選擇低功耗電路原則
單片機(jī)低功耗系統(tǒng)的設(shè)計(jì),要選擇在低功耗的情況下,保持高效率的電路,目前低功耗系統(tǒng)使用的大多是HCMOS集成電路,可以將很多集成電路共同聯(lián)結(jié)在一個封裝內(nèi)。這樣可以減少總線電容,從而容納更多的信號。除此之外,降低晶振頻率也能有效的降低整機(jī)電流,但是晶振頻率降低有時會影響系統(tǒng)的運(yùn)行速度,會受到外部電路時序、計(jì)數(shù)器測量頻率、串行通訊頻率等的限制,所以在晶振頻率值選擇時,一定要考慮到系統(tǒng)信息處理的工作速度。
在單片機(jī)低功耗系統(tǒng)設(shè)計(jì)中,要合理的運(yùn)用掉電、睡眠以及中斷,進(jìn)一步實(shí)現(xiàn)電子產(chǎn)品的低功耗運(yùn)行,睡眠模式與掉電模式可以通過CPU與系統(tǒng)的關(guān)斷來達(dá)到降低功耗的目的。集中功率消耗較大的任務(wù),降低功耗時間,采用快速進(jìn)入掉電或睡眠狀態(tài),避免系統(tǒng)無謂的等待。在確保系統(tǒng)正常運(yùn)行的前提下降低采集速度、總線速度。
對于單片機(jī)本質(zhì)低功耗設(shè)計(jì)主要體現(xiàn)在對元器件的選擇和電路設(shè)計(jì)兩個方面。元器件的選擇要遵循頻率宜慢不宜快、系統(tǒng)宜靜不宜動、電壓宜低不宜高的原則,實(shí)現(xiàn)硬件系統(tǒng)的節(jié)能化。關(guān)于元器件節(jié)能控制的主要方法為:控制電源電壓、時鐘控制以及靜態(tài)控制。在電路的設(shè)計(jì)過程中,要采用低功耗的喚醒電路設(shè)計(jì),選擇集成度高的電子芯片來替代單一功能集成度低的電子芯片,在降低供電電壓的同時要加強(qiáng)電路的屏蔽與抗干擾能力設(shè)計(jì)。
3.1.1 選擇適當(dāng)?shù)恼袷幏绞?/p>
目前比較常用的振蕩器有晶體震蕩器、諧振器與RC振蕩器,3種振蕩器的喚醒時間各不相同,該設(shè)計(jì)選用晶體振蕩器,晶體振蕩器的喚醒時間在8.5 ms左右,單片機(jī)在工作的過程中,如果喚醒的時間過長,就會形成一個預(yù)工作階段,這時處理器就會消耗電能,但是程序還沒有運(yùn)行,所以導(dǎo)致電能消耗損失。為了進(jìn)一步節(jié)約能耗,在晶體振蕩器的回路中串上一個小電阻RS,如圖1所示。
圖1 晶體振蕩器電路圖
晶體的驅(qū)動功率為:P=U2/Re。其中U:芯片向晶體提供的電壓。Re:晶體的等效電阻。當(dāng)振蕩器回路中串入一個電阻之后,可以加到晶體的等效電阻。這樣一來,可以有效的降低晶體的功率消耗,而且可以穩(wěn)定晶體的振蕩頻率,延長晶體的使用壽命。
3.1.2 處理I/O管腳
在單片機(jī)低功耗系統(tǒng)的設(shè)計(jì)中,I/O管腳的處理尤為重要。設(shè)置為輸出的管腳可以驅(qū)動20-25 mA的電流,所以要對每一個輸出管腳進(jìn)行優(yōu)化,為了達(dá)到節(jié)能的效果,可以禁止內(nèi)部上拉,使外部較大的電阻做上位,這種做法可以做到在休眠狀態(tài)下節(jié)約能量,在受干擾的環(huán)境下,會由于內(nèi)部鎖存器的頻繁翻轉(zhuǎn),而增加電流的消耗。所以,沒有用的管腳,都可以設(shè)置為輸出,不能只是簡單的不接,一旦外界出現(xiàn)干擾信號就極易成為反復(fù)振蕩的輸入信號,造成不必要的功耗。
3.1.3 選擇合適的MCU以及待機(jī)模式
低功耗的MCU對于降低單片機(jī)的功耗具有十分重要的作用,一定要根據(jù)單片機(jī)系統(tǒng)被應(yīng)用的具體場合,從多種待機(jī)工作模式中選取最恰當(dāng)?shù)哪J剑畲罂赡艿氖筂CU處于低功耗狀態(tài)。MCU的工作頻率不同時,工作耗電的差異也會很大,另外,低電壓供電可以使系統(tǒng)的供電電流大大下降,降低單片機(jī)的供電電壓可以有效降低功耗。所以選擇合適的MCU以及系統(tǒng)電壓,對于降低功耗具有積極意義。
3.2.1 采取“中斷”方式降低功耗
系統(tǒng)在運(yùn)行的過程中,程序的中斷方式不同,對于應(yīng)用系統(tǒng)功耗的大小有很大區(qū)別,在“中斷”的形式下,系統(tǒng)處理器可以處于空閑狀態(tài),而如果在查詢的形式下,CPU對于I/O寄存器就會不停的訪問,產(chǎn)生額外的功耗。
3.2.2 間歇式運(yùn)行I/O模塊
I/O模塊在間歇式運(yùn)行時一定要注意關(guān)閉電源,目前單片機(jī)應(yīng)用系統(tǒng)所采用的驅(qū)動一般功率較大,所以要通過一個I/O引腳來進(jìn)行掌控,當(dāng)系統(tǒng)無需通信時,及時的關(guān)閉驅(qū)動。對于簡單封裝或沒有引出的單片機(jī),要注意I/O引腳的初始化。
3.2.3 降低CPU的運(yùn)算量
在實(shí)際操作中,關(guān)于減少CPU的運(yùn)算量的方法有很多,可以將運(yùn)行算好的結(jié)果提前植入到Flash當(dāng)中,在使用時可以通過查詢的方式來替代運(yùn)算,從而減少CPU運(yùn)算量。許多單片機(jī)已經(jīng)具備快速尋址方式與查表指令,對一些難以避免的計(jì)算非常有效。增加分?jǐn)?shù)運(yùn)算或減少浮點(diǎn)數(shù)運(yùn)算的使用,盡可能使用一些短的數(shù)據(jù)類型。
3.2.4 選擇低功耗模式系統(tǒng)
低功耗模式主要指系統(tǒng)的等待或停止模式。這種模式下單片機(jī)的功率會遠(yuǎn)小于運(yùn)行時功率,在等待模式下,CPU會停止工作,但是單片機(jī)的外圍I/O模塊不會停止工作,系統(tǒng)的功耗降低也有限,如圖2所示。
圖2 HCS08單片機(jī)系統(tǒng)功能
以Freescale的HCS08單片機(jī)為例,給出不同運(yùn)行模式下的系統(tǒng)功耗。HCS08是8位單片機(jī),有多個系列,各系列I/O模塊數(shù)目有所不同,但低功耗模式下的電流消耗大致相同。
因此在讓系統(tǒng)進(jìn)入深度停止?fàn)顟B(tài)前,要將重要系統(tǒng)參數(shù)保存在非易失性存儲器中,如EEPROM中。深度停止模式關(guān)掉了所有的I/O,可能的喚醒方式也很有限,一般只能是復(fù)位或IRQ中斷等。保留的I/O模塊越多,系統(tǒng)允許的喚醒中斷源也就越多。單片機(jī)的功耗將根據(jù)保留喚醒方式的不同,降至1 μA至幾十μA之間。
低功耗系統(tǒng)產(chǎn)品的設(shè)計(jì),是一項(xiàng)綜合規(guī)劃的內(nèi)容,需要
涉及的內(nèi)容有很多,單片機(jī)低功耗硬件系統(tǒng)設(shè)計(jì),如圖3所示。
圖3 低功耗系統(tǒng)硬件設(shè)計(jì)
單片機(jī)的系統(tǒng)時鐘采用外接R1、C1阻容振蕩方式,不但能夠節(jié)約成本,也可以減少喚醒單片機(jī)的能耗。日期、小時、分鐘、秒等均采用定時器來完成,TMR1即便在單片機(jī)處于睡眠的狀態(tài)下,也能精確計(jì)時,喚醒單片機(jī)。適應(yīng)晶體XTL采用32 768 HZ的低頻晶體,在晶體回路中加入電阻R5,進(jìn)一步降低功耗。
系統(tǒng)芯片運(yùn)用5 V電源供電,掉電情況下采用2.4 V鋰電池,R6為限流電阻。單片機(jī)能夠通過該電阻對電池充電。在外部電源掉電時,電池BT1可以經(jīng)電阻R6和I/O口輸入端對二極管向單片機(jī)供電進(jìn)行保護(hù)。DI主要防止電池BT1向其他芯片放電。掉電時間較短的情況下,可以用膽電容來替代電池。
輸入口I1、I2、I3都接有上位電阻,上位電阻接到輸出端口上。輸出口O2接有二極管D2,二極管主要防止掉電后消耗較多電能。當(dāng)O2口輸出低電平時,二極管導(dǎo)通,三極管被截止。當(dāng)輸出高電平時,二極管截止,電源通過R7向三極管提供偏流,三極管飽和之后,繼電器線圈通電,常開融點(diǎn)閉合。
在當(dāng)今社會的發(fā)展中,低功耗的單片機(jī)應(yīng)用已經(jīng)成為單片機(jī)系統(tǒng)設(shè)計(jì)的主要發(fā)展方向,加強(qiáng)與推廣單片機(jī)低功耗設(shè)計(jì)的研究具有重要的現(xiàn)實(shí)意義。在以后的研究與設(shè)計(jì)中,通過對硬件系統(tǒng)及軟件系統(tǒng)的設(shè)計(jì)與創(chuàng)新,單片機(jī)應(yīng)用系統(tǒng)在不遠(yuǎn)的將來將會創(chuàng)造出更大的經(jīng)濟(jì)效益與社會效益。