單片機系統(tǒng)低功耗設計策略
發(fā)布時間:2008/6/3 0:00:00 訪問次數(shù):1208
    
    
    在嵌入式應用中,系統(tǒng)的功耗越來越受到人們的重視,這一點對于需要電池供電的便攜式系統(tǒng)尤其明顯。降低系統(tǒng)功耗,延長電池的壽命,就是降低系統(tǒng)的運行成本。對于以單片機為核心的嵌入式應用,系統(tǒng)功耗的最小化需要從軟、硬件設計兩方面入手。
    
    隨著越來越多的嵌入式應用使用了實時操作系統(tǒng),如何在操作系統(tǒng)層面上降低系統(tǒng)功耗也成為一個值得關注的問題。限于篇幅,本文僅從硬件設計和應用軟件設計兩個方面討論。
    
    1 硬件設計
    
    選用具有低功耗特性的單片機可以大大降低系統(tǒng)功耗?梢詮墓╇婋妷骸纹瑱C內(nèi)部結構設計、系統(tǒng)時鐘設計和低功耗模式等幾方面考察一款單片機的低功耗特性。
    
    1.1 選用盡量簡單的cpu內(nèi)核
    
    在選擇cpu內(nèi)核時切忌一味追求性能。8位機夠用,就沒有必要選用16位機,選擇的原則應該是“夠用就好”,F(xiàn)在單片機的運行速度越來越快,但性能的提升往往帶來功耗的增加。一個復雜的cpu集成度高、功能強,但片內(nèi)晶體管多,總漏電流大,即使進入stop狀態(tài),漏電流也變得不可忽視;而簡單的cpu內(nèi)核不僅功耗低,成本也低。
    
    1.2 選擇低電壓供電的系統(tǒng)
    
    降低單片機的供電電壓可以有效地降低其功耗。當前,單片機從與ttl兼容的5 v供電降低到3.3 v、3 v、2 v乃至1.8 v供電。供電電壓降下來,要歸功于半導體工藝的發(fā)展。從原來的3 μm工藝到現(xiàn)在的0.25、0.18、0.13 μm工藝, cmos電路的門限電平閾值不斷降低。低電壓供電可以大大降低系統(tǒng)的工作電流,但是由于晶體管的尺寸不斷減小,管子的漏電流有增大的趨勢,這也是對降低功耗不利的一個方面! ∧壳埃瑔纹瑱C系統(tǒng)的電源電壓仍以5 v為主,而過去5年中,3 v供電的單片機系統(tǒng)數(shù)量增加了1倍,2 v供電的系統(tǒng)也在不斷增加。再過五年,低電壓供電的單片機數(shù)量可能會超過5 v電壓供電的單片機。如此看來,供電電壓降低將是未來單片機發(fā)展的一個重要趨勢。
    
    1.3 選擇帶有低功耗模式的系統(tǒng)
    
    低功耗模式指的是系統(tǒng)的等待和停止模式。處于這類模式下的單片機功耗將大大小于運行模式下的功耗。過去傳統(tǒng)的單片機,在運行模式下有wait和stop兩條指令,可以使單片機進入等待或停止狀態(tài),以達到省電的目的。
    
    等待模式下,cpu停止工作,但系統(tǒng)時鐘并不停止,單片機的外圍i/o模塊也不停止工作;系統(tǒng)功耗一般降低有限,相當于工作模式的50%~70%!
    
    停止模式下,系統(tǒng)時鐘也將停止,由外部事件中斷重新啟動時鐘系統(tǒng)時鐘,進而喚醒cpu繼續(xù)工作,cpu消耗電流可降到μa級。在停止模式下,cpu本身實際上已經(jīng)不消耗什么電流,要想進一步減小系統(tǒng)功耗,就要盡量將單片機的各個i/o模塊關掉。隨著i/o模塊的逐個關閉,系統(tǒng)的功耗越來越小,進入停止模式的深度也越來越深。進入深度停止模式無異于關機,這時的單片機耗電可以小于20 na。其中特別要提示的是,片內(nèi)ram停止供電后,ram中存儲的數(shù)據(jù)會丟失,也就是說,喚醒cpu后要重新對系統(tǒng)作初始化。因此在讓系統(tǒng)進入深度停止狀態(tài)前,要將重要系統(tǒng)參數(shù)保存在非易失性存儲器中,如eeprom中。深度停止模式關掉了所有的i/o,可能的喚醒方式也很有限,一般只能是復位或irq中斷等!
    
    保留的i/o模塊越多,系統(tǒng)允許的喚醒中斷源也就越多。單片機的功耗將根據(jù)保留喚醒方式的不同,降至1μa至幾十μa之間。例如,用戶可以保留外部鍵盤中斷,保留異步串行口(sci)接收數(shù)據(jù)中斷等來喚醒cpu。保留的喚醒方式越多,系統(tǒng)耗電也就會多一些。其他可能的喚醒方式還有實時鐘喚醒、看門狗喚醒等。停機狀態(tài)較淺的情況下,外部晶振電路還是工作的!
    
    圖1以freescale的hcs08單片機為例,給出不同運行模式下的系統(tǒng)功耗。hcs08是8位單片機,有多個系列,各系列i/o模塊數(shù)目有所不同,但低功耗模式下的電流消耗大致相同!
    
    
  &
    
    
    在嵌入式應用中,系統(tǒng)的功耗越來越受到人們的重視,這一點對于需要電池供電的便攜式系統(tǒng)尤其明顯。降低系統(tǒng)功耗,延長電池的壽命,就是降低系統(tǒng)的運行成本。對于以單片機為核心的嵌入式應用,系統(tǒng)功耗的最小化需要從軟、硬件設計兩方面入手。
    
    隨著越來越多的嵌入式應用使用了實時操作系統(tǒng),如何在操作系統(tǒng)層面上降低系統(tǒng)功耗也成為一個值得關注的問題。限于篇幅,本文僅從硬件設計和應用軟件設計兩個方面討論。
    
    1 硬件設計
    
    選用具有低功耗特性的單片機可以大大降低系統(tǒng)功耗?梢詮墓╇婋妷骸纹瑱C內(nèi)部結構設計、系統(tǒng)時鐘設計和低功耗模式等幾方面考察一款單片機的低功耗特性。
    
    1.1 選用盡量簡單的cpu內(nèi)核
    
    在選擇cpu內(nèi)核時切忌一味追求性能。8位機夠用,就沒有必要選用16位機,選擇的原則應該是“夠用就好”,F(xiàn)在單片機的運行速度越來越快,但性能的提升往往帶來功耗的增加。一個復雜的cpu集成度高、功能強,但片內(nèi)晶體管多,總漏電流大,即使進入stop狀態(tài),漏電流也變得不可忽視;而簡單的cpu內(nèi)核不僅功耗低,成本也低。
    
    1.2 選擇低電壓供電的系統(tǒng)
    
    降低單片機的供電電壓可以有效地降低其功耗。當前,單片機從與ttl兼容的5 v供電降低到3.3 v、3 v、2 v乃至1.8 v供電。供電電壓降下來,要歸功于半導體工藝的發(fā)展。從原來的3 μm工藝到現(xiàn)在的0.25、0.18、0.13 μm工藝, cmos電路的門限電平閾值不斷降低。低電壓供電可以大大降低系統(tǒng)的工作電流,但是由于晶體管的尺寸不斷減小,管子的漏電流有增大的趨勢,這也是對降低功耗不利的一個方面。 目前,單片機系統(tǒng)的電源電壓仍以5 v為主,而過去5年中,3 v供電的單片機系統(tǒng)數(shù)量增加了1倍,2 v供電的系統(tǒng)也在不斷增加。再過五年,低電壓供電的單片機數(shù)量可能會超過5 v電壓供電的單片機。如此看來,供電電壓降低將是未來單片機發(fā)展的一個重要趨勢。
    
    1.3 選擇帶有低功耗模式的系統(tǒng)
    
    低功耗模式指的是系統(tǒng)的等待和停止模式。處于這類模式下的單片機功耗將大大小于運行模式下的功耗。過去傳統(tǒng)的單片機,在運行模式下有wait和stop兩條指令,可以使單片機進入等待或停止狀態(tài),以達到省電的目的!
    
    等待模式下,cpu停止工作,但系統(tǒng)時鐘并不停止,單片機的外圍i/o模塊也不停止工作;系統(tǒng)功耗一般降低有限,相當于工作模式的50%~70%!
    
    停止模式下,系統(tǒng)時鐘也將停止,由外部事件中斷重新啟動時鐘系統(tǒng)時鐘,進而喚醒cpu繼續(xù)工作,cpu消耗電流可降到μa級。在停止模式下,cpu本身實際上已經(jīng)不消耗什么電流,要想進一步減小系統(tǒng)功耗,就要盡量將單片機的各個i/o模塊關掉。隨著i/o模塊的逐個關閉,系統(tǒng)的功耗越來越小,進入停止模式的深度也越來越深。進入深度停止模式無異于關機,這時的單片機耗電可以小于20 na。其中特別要提示的是,片內(nèi)ram停止供電后,ram中存儲的數(shù)據(jù)會丟失,也就是說,喚醒cpu后要重新對系統(tǒng)作初始化。因此在讓系統(tǒng)進入深度停止狀態(tài)前,要將重要系統(tǒng)參數(shù)保存在非易失性存儲器中,如eeprom中。深度停止模式關掉了所有的i/o,可能的喚醒方式也很有限,一般只能是復位或irq中斷等!
    
    保留的i/o模塊越多,系統(tǒng)允許的喚醒中斷源也就越多。單片機的功耗將根據(jù)保留喚醒方式的不同,降至1μa至幾十μa之間。例如,用戶可以保留外部鍵盤中斷,保留異步串行口(sci)接收數(shù)據(jù)中斷等來喚醒cpu。保留的喚醒方式越多,系統(tǒng)耗電也就會多一些。其他可能的喚醒方式還有實時鐘喚醒、看門狗喚醒等。停機狀態(tài)較淺的情況下,外部晶振電路還是工作的!
    
    圖1以freescale的hcs08單片機為例,給出不同運行模式下的系統(tǒng)功耗。hcs08是8位單片機,有多個系列,各系列i/o模塊數(shù)目有所不同,但低功耗模式下的電流消耗大致相同。
    
    
  &