| 摘要:一種改進架構的高性能8051設計、外圍功能集成、選用合適的時鐘源以降低功耗;并介紹節省電能的軟件技術及采用待機模式降低功耗的技巧。 關鍵詞:停機模式 空閑模式 功率管理模式 便攜式產品的功能和性能日新月異。 消費者對產品性能的要求也越來越高,需要更強大的運算能力支持;另一方面,希望產品具有更低的功耗。 盡管已經出現了很多功耗處理器,但它們的性能通常很有限。Dallas公司的系列高速微控制器在性能和功耗之間取得了一個很好的折衷,采用了8051架構——世界上最流行的微控制器之一。簡單易用、豐富的I/O資源使這種微控制器深受設計者的喜愛,并被廣泛接受。它的流行勢頭已蔓延到了便攜式領域,在很多應用中都有其用武之地。 本文旨在探討使用8051控制器時,如何降低功率的消耗,重點介紹一種改進架構的高性能8051設計。 1 時鐘頻率 任何微控制器設計中,決定功耗的一個首要因素就是系統的時鐘頻率。互補金屬氧化物半導體(CMOS)工藝的器件功耗直接正比于時鐘頻率。因此,從省電的角度考慮,將處理器運行于盡可能低的頻率比較有利。 圖1表示一個普通的8051微控制器的典型功率曲線,一個被所有便攜系統設計得所熟知的關系。一般來講,電流隨頻率的變化曲線為線性,具有一定的DC偏移。這個靜態電流由片由的靜態電路所消耗,例如比較器、運算放大器等。其數值一般很小(<1mA),是一個不可忽略的固定吸收電流。 任何功率受限的設計都應該考慮采用盡可能慢的運行速度。決定最低系統頻率,也就是最低功耗的,有很多因素,包括期望得到的系統性能、 中斷響應延盡等。不管采用什么標準,最終目標是相同的:使器件的工作頻率盡可能地靠近應用的需求。 2 高速內核 要降低基于8051系統的功率消耗,最直接的辦法就是改善微控制器的效率。8051最初的設計采用了一個12時鐘周期、每機器周期兩次取指的架構。然而,高速微控制器采用的是每機器周期4個、甚至1個時鐘的內核。它們具有更高的運算效率,執行一個指令需要很少的時鐘周期,具有更快的運行速度和更高的時鐘頻率。 盡管高速核的優勢通常考慮其處理能力,它們在降低功耗方面有很重要的意義。當處理器的運行指令經過優化后,執行同一任務所需的時間很短。很多便攜式產品工作在猝發模式,其特點是只很短的活動時間,例如記錄環境數據或掃描一個條碼,而在隨后的很長時間內都處于非活動狀態。減少處理器的活動時間可以相應地降低功耗。 效率提升帶來的另一個好處是,獲得相同的性能所需的時鐘頻率可以更低。如果一個經過重新設計的內核采用4時鐘機器周期而非12時鐘,這就意味著完成同樣的工作,只需更低的晶振頻率。由于功率正比于晶振頻率,這樣,不必犧牲性能即可降低功耗。 圖2顯示三種微控制器以同樣的速度完成同一任務時的功耗情況。其中兩種是標準80C3X的衍生產品:一種是工作于每機器周期12個外部時鐘方式;另外一種是DS80C320微控制器,工作于4時鐘機器周期。測出各個器件的消耗電流,然后進行對比,保守地估計DS80C320具有250%(2.5倍)的速度提升。正如圖2所顯示的,每周期時鐘數減少后的處理器內核工作于同樣的吞吐率時,消耗的電流顯著降低,高速運行時尤其顯著。 3 集成化 將外圍功能集成于芯片內部是節省電能的方法之一。 在向芯片外部驅動一個信號時,每周期時鐘數減少后的處理器內核工作于同樣的吞吐率時,以便驅動外部負載和補償DC損耗。開關功率是數字信號過渡過程中消耗的功能。開關功率可根據下面的公式估算: PSW∝CV2/T (1) 其中C是接收門輸入電容和連線電容的總和,T是時鐘信號周期。一個CMOS門的典型輸入電容為10pF。盡管很難精確計算出系統的開關功率,但有一點是顯然的,每個額外的外部負載或引腳都會給微控制器造成額外的功耗。 基于微控制器的系統通常都會有一定數量的外圍器件,例如從餐部的UART和上電昨位電路到看門狗定時器。8051系列的優勢之一便是將大量的外圍功能集成于片內。除了減少元件數量、簡化設計外,外圍功能的集成化也有利于降低功耗。可以認為任何外圍器件的核心功能消耗的功率是相同的,與它位于處理器的內部還是外部沒有關系。然而,將功能放在片內無疑節省了驅動外部總線所需的開關功率。 3.1 內部程序存儲器 8051另外一個通常不被視作外設功能單元是程序存儲器。所有8051的衍生產品都包含了不同容量的片內程序存儲器。這是許多系統設計所期望的,以便減少外圍元件數量和印制板面積,同時改善了便攜系統的電源壽命。正如前面提到的,集成的程序存儲器由于免去了外部總線驅動,因而降低了功耗。采用片內存儲器還有另外一個省電的原因。8051架構必須采用一個74373類型的鎖存器,以便鎖存低字節地址。圖3顯示采用內部和外部程序存儲器時的功耗情況對比。前者采用DS87C520高速微控制器和一個74AC573鎖存器,以及一片27C256EPROM,訪問時間70ns。第二個系統采用同樣的微控制器,工作于內部存儲器。兩個系統均工作在11.0592MHz,執行一個簡單、普通的程序。從圖3可以明顯看到,高頻運行的系統中省掉外部EPROM和鎖存器后,可節省多達49mA的電流。 3.2 內部數據存儲器 如前所述,采用片內存儲器取代外部RAM能夠節省電能。80C32衍生產品具有擴充了的臨時存儲器(256字節),足夠小的程序的堆棧操作和數據存儲,不必外接RAM。 對于需要更多數據存儲器或設置外部堆棧的設計, 還需要額外的SRAM。雖然可以找到低功耗的SRAM,在考慮它所帶來的功耗時,還應將相關的74373系列鎖存器、驅動外部總線的容性損耗等一并考慮在內。 4 時鐘源 影響功耗的另一個重要的系統元素是時鐘源。標準8051設計通常采用內部振蕩器激勵一個外部石英晶體產生時鐘,或者采用外部晶體振蕩器。如果采用外部晶體振蕩器,時鐘的波形會影響到功耗。如果采用外部晶體振蕩器,時鐘的波形會影響到功耗。XTAL1引肚子內的輸入級用來將外部時鐘信號輸入8051內核,通常采用互補式驅動器。隨著輸入時鐘在高、低電平之間的跳動,驅動器中的互補對管會有一個短時間的同時開通過程,造成顯著的電流浪涌。對于矩 形波來說,高、低狀態之間的過渡過程非常短暫,兩管同時開通的時間最短。對于上升和下降時間比較長的波形,例如正弦或三角波,過渡過程比較長,驅動器兩管同時開通的時間也更長。這將會增加電流和功耗。 圖4表示電流消耗和波形的關系。時鐘源是一個可編程波形發生器,可以產生正弦波、三角波或方波。圖4顯示的電流是4個器件的平均值,包括傳統的和改進的高速處理核。比較發現電流消耗直接正比于時鐘波形的上升(和下降)時間。三角波具有最小的斜率,而矩形波斜率最大。采用矩形波時的電流平均要比三角波低0.75mA。這預示著在用外部時鐘振蕩器時,采用上升和下降時間更快的振蕩器將有利于降低電流功耗。這一點在較低頻率下尤為重要,此時器件需要花費更多的時間用于過渡過程。 有些8051衍生產品包含了一個片內的環形振蕩器。通常是一串反相器,脈沖在其中傳播。它可以提供一個2~4MHz的內部時鐘源,驅動器件。由于不需要使用晶體,這種振蕩器是功耗很低的時鐘源。從DS87C520高速微控制器的特性可以看出,工作于環形振蕩器時,能夠提供等同于7MHz8051的性能,而功耗僅有3.6mA。雖然環形振蕩器沒有壓電式晶體那樣穩定,它們的低拉耗以及可以忽略的上電延遲在功率管理方面占有顯要位置。 5 時鐘管理 微控制器的工作頻率是影響器件功耗最重要的一個因素。雖然系統的時鐘頻率主要取決于硬件配置,8051還是提供了一些有限的控制手段。這些手段減緩或終止器件全部或部分單元的工作時鐘。傳統的8051架構采用了兩種控制方法:空閑和停機。
5.1 改善停機模式 停機模式是8051設計得所能利用的最低功耗狀態。在該模式下,內部振蕩器停振,器件中止工作。脫離停機模式通常靠外部復位。某些變種也可以通過外部中斷退出停機模式。 停機模式有一個缺點,就是在晶振恢復工作的一個死時間內的功耗問題。晶體振蕩器的工作依賴于石英晶體的振動。物理層限性決定了晶體振蕩器必須有一個確定的時間,才能達到足夠的振蕩器幅度來驅動器件工作。這個預熱過程不管采用內部振蕩器還是外部振蕩器都會存在。時間大約在3~12ms,與晶體和振蕩器的性能有關。 預熱過程對于功耗的作用在于,在此階段器件不執行任何有用的工作,但仍要消耗功率。如果器件頻繁地進入和退出停機模式,或者退出停機模式后只執行很短時間的任務,這種效應會變得格外顯著。事實上,如果任務非常短(<5ms),晶振啟動期間消耗的能量甚至會超過執行任務本身的消耗。如果采用環形振蕩器來實現從停機模式到快速啟動,就可避免這種延遲。這將大幅降低退出停機模式時的功率消耗。
|