改善8051系統(tǒng)用電效率的微控制器 作者: 時(shí)間:2007-03-09 來(lái)源:網(wǎng)絡(luò) 加入技術(shù)交流群 掃碼加入和技術(shù)大咖面對(duì)面交流海量資料庫(kù)查詢(xún) 收藏 摘要:一種改進(jìn)架構(gòu)的高性能8051設(shè)計(jì)、外圍功能集成、選用合適的時(shí)鐘源以降低功耗;并介紹節(jié)省電能的軟件技術(shù)及采用待機(jī)模式降低功耗的技巧。關(guān)鍵詞:停機(jī)模式 空閑模式 功率管理模式 便攜式產(chǎn)品的功能和性能日新月異。消費(fèi)者對(duì)產(chǎn)品性能的要求也越來(lái)越高,需要更強(qiáng)大的運(yùn)算能力支持;另一方面,希望產(chǎn)品具有更低的功耗。 盡管已經(jīng)出現(xiàn)了很多功耗處理器,但它們的性能通常很有限。Dallas公司的系列高速微控制器在性能和功耗之間取得了一個(gè)很好的折衷,采用了8051架構(gòu)——世界上最流行的微控制器之一。簡(jiǎn)單易用、豐富的I/O資源使這種微控制器深受設(shè)計(jì)者的喜愛(ài),并被廣泛接受。它的流行勢(shì)頭已蔓延到了便攜式領(lǐng)域,在很多應(yīng)用中都有其用武之地。 本文旨在探討使用8051控制器時(shí),如何降低功率的消耗,重點(diǎn)介紹一種改進(jìn)架構(gòu)的高性能8051設(shè)計(jì)。 1 時(shí)鐘頻率 任何微控制器設(shè)計(jì)中,決定功耗的一個(gè)首要因素就是系統(tǒng)的時(shí)鐘頻率?;パa(bǔ)金屬氧化物半導(dǎo)體(CMOS)工藝的器件功耗直接正比于時(shí)鐘頻率。因此,從省電的角度考慮,將處理器運(yùn)行于盡可能低的頻率比較有利。 圖1表示一個(gè)普通的8051微控制器的典型功率曲線(xiàn),一個(gè)被所有便攜系統(tǒng)設(shè)計(jì)得所熟知的關(guān)系。一般來(lái)講,電流隨頻率的變化曲線(xiàn)為線(xiàn)性,具有一定的DC偏移。這個(gè)靜態(tài)電流由片由的靜態(tài)電路所消耗,例如比較器、運(yùn)算放大器等。其數(shù)值一般很?。?1mA),是一個(gè)不可忽略的固定吸收電流。 任何功率受限的設(shè)計(jì)都應(yīng)該考慮采用盡可能慢的運(yùn)行速度。決定最低系統(tǒng)頻率,也就是最低功耗的,有很多因素,包括期望得到的系統(tǒng)性能、中斷響應(yīng)延盡等。不管采用什么標(biāo)準(zhǔn),最終目標(biāo)是相同的:使器件的工作頻率盡可能地靠近應(yīng)用的需求。 2 高速內(nèi)核 要降低基于8051系統(tǒng)的功率消耗,最直接的辦法就是改善微控制器的效率。8051最初的設(shè)計(jì)采用了一個(gè)12時(shí)鐘周期、每機(jī)器周期兩次取指的架構(gòu)。然而,高速微控制器采用的是每機(jī)器周期4個(gè)、甚至1個(gè)時(shí)鐘的內(nèi)核。它們具有更高的運(yùn)算效率,執(zhí)行一個(gè)指令需要很少的時(shí)鐘周期,具有更快的運(yùn)行速度和更高的時(shí)鐘頻率。 盡管高速核的優(yōu)勢(shì)通??紤]其處理能力,它們?cè)诮档凸姆矫嬗泻苤匾囊饬x。當(dāng)處理器的運(yùn)行指令經(jīng)過(guò)優(yōu)化后,執(zhí)行同一任務(wù)所需的時(shí)間很短。很多便攜式產(chǎn)品工作在猝發(fā)模式,其特點(diǎn)是只很短的活動(dòng)時(shí)間,例如記錄環(huán)境數(shù)據(jù)或掃描一個(gè)條碼,而在隨后的很長(zhǎng)時(shí)間內(nèi)都處于非活動(dòng)狀態(tài)。減少處理器的活動(dòng)時(shí)間可以相應(yīng)地降低功耗。 效率提升帶來(lái)的另一個(gè)好處是,獲得相同的性能所需的時(shí)鐘頻率可以更低。如果一個(gè)經(jīng)過(guò)重新設(shè)計(jì)的內(nèi)核采用4時(shí)鐘機(jī)器周期而非12時(shí)鐘,這就意味著完成同樣的工作,只需更低的晶振頻率。由于功率正比于晶振頻率,這樣,不必犧牲性能即可降低功耗。 圖2顯示三種微控制器以同樣的速度完成同一任務(wù)時(shí)的功耗情況。其中兩種是標(biāo)準(zhǔn)80C3X的衍生產(chǎn)品:一種是工作于每機(jī)器周期12個(gè)外部時(shí)鐘方式;另外一種是DS80C320微控制器,工作于4時(shí)鐘機(jī)器周期。測(cè)出各個(gè)器件的消耗電流,然后進(jìn)行對(duì)比,保守地估計(jì)DS80C320具有250%(2.5倍)的速度提升。正如圖2所顯示的,每周期時(shí)鐘數(shù)減少后的處理器內(nèi)核工作于同樣的吞吐率時(shí),消耗的電流顯著降低,高速運(yùn)行時(shí)尤其顯著。 3 集成化 將外圍功能集成于芯片內(nèi)部是節(jié)省電能的方法之一。在向芯片外部驅(qū)動(dòng)一個(gè)信號(hào)時(shí),每周期時(shí)鐘數(shù)減少后的處理器內(nèi)核工作于同樣的吞吐率時(shí),以便驅(qū)動(dòng)外部負(fù)載和補(bǔ)償DC損耗。開(kāi)關(guān)功率是數(shù)字信號(hào)過(guò)渡過(guò)程中消耗的功能。開(kāi)關(guān)功率可根據(jù)下面的公式估算: PSW∝CV2/T (1) 其中C是接收門(mén)輸入電容和連線(xiàn)電容的總和,T是時(shí)鐘信號(hào)周期。一個(gè)CMOS門(mén)的典型輸入電容為10pF。盡管很難精確計(jì)算出系統(tǒng)的開(kāi)關(guān)功率,但有一點(diǎn)是顯然的,每個(gè)額外的外部負(fù)載或引腳都會(huì)給微控制器造成額外的功耗。 基于微控制器的系統(tǒng)通常都會(huì)有一定數(shù)量的外圍器件,例如從餐部的UART和上電昨位電路到看門(mén)狗定時(shí)器。8051系列的優(yōu)勢(shì)之一便是將大量的外圍功能集成于片內(nèi)。除了減少元件數(shù)量、簡(jiǎn)化設(shè)計(jì)外,外圍功能的集成化也有利于降低功耗。可以認(rèn)為任何外圍器件的核心功能消耗的功率是相同的,與它位于處理器的內(nèi)部還是外部沒(méi)有關(guān)系。然而,將功能放在片內(nèi)無(wú)疑節(jié)省了驅(qū)動(dòng)外部總線(xiàn)所需的開(kāi)關(guān)功率。 3.1 內(nèi)部程序存儲(chǔ)器 8051另外一個(gè)通常不被視作外設(shè)功能單元是程序存儲(chǔ)器。所有8051的衍生產(chǎn)品都包含了不同容量的片內(nèi)程序存儲(chǔ)器。這是許多系統(tǒng)設(shè)計(jì)所期望的,以便減少外圍元件數(shù)量和印制板面積,同時(shí)改善了便攜系統(tǒng)的電源壽命。正如前面提到的,集成的程序存儲(chǔ)器由于免去了外部總線(xiàn)驅(qū)動(dòng),因而降低了功耗。采用片內(nèi)存儲(chǔ)器還有另外一個(gè)省電的原因。8051架構(gòu)必須采用一個(gè)74373類(lèi)型的鎖存器,以便鎖存低字節(jié)地址。圖3顯示采用內(nèi)部和外部程序存儲(chǔ)器時(shí)的功耗情況對(duì)比。前者采用DS87C520高速微控制器和一個(gè)74AC573鎖存器,以及一片27C256EPROM,訪問(wèn)時(shí)間70ns。第二個(gè)系統(tǒng)采用同樣的微控制器,工作于內(nèi)部存儲(chǔ)器。兩個(gè)系統(tǒng)均工作在11.0592MHz,執(zhí)行一個(gè)簡(jiǎn)單、普通的程序。從圖3可以明顯看到,高頻運(yùn)行的系統(tǒng)中省掉外部EPROM和鎖存器后,可節(jié)省多達(dá)49mA的電流。 3.2 內(nèi)部數(shù)據(jù)存儲(chǔ)器 如前所述,采用片內(nèi)存儲(chǔ)器取代外部RAM能夠節(jié)省電能。80C32衍生產(chǎn)品具有擴(kuò)充了的臨時(shí)存儲(chǔ)器(256字節(jié)),足夠小的程序的堆棧操作和數(shù)據(jù)存儲(chǔ),不必外接RAM。 對(duì)于需要更多數(shù)據(jù)存儲(chǔ)器或設(shè)置外部堆棧的設(shè)計(jì),還需要額外的SRAM。雖然可以找到低功耗的SRAM,在考慮它所帶來(lái)的功耗時(shí),還應(yīng)將相關(guān)的74373系列鎖存器、驅(qū)動(dòng)外部總線(xiàn)的容性損耗等一并考慮在內(nèi)。 4 時(shí)鐘源 影響功耗的另一個(gè)重要的系統(tǒng)元素是時(shí)鐘源。標(biāo)準(zhǔn)8051設(shè)計(jì)通常采用內(nèi)部振蕩器激勵(lì)一個(gè)外部石英晶體產(chǎn)生時(shí)鐘,或者采用外部晶體振蕩器。如果采用外部晶體振蕩器,時(shí)鐘的波形會(huì)影響到功耗。如果采用外部晶體振蕩器,時(shí)鐘的波形會(huì)影響到功耗。XTAL1引肚子內(nèi)的輸入級(jí)用來(lái)將外部時(shí)鐘信號(hào)輸入8051內(nèi)核,通常采用互補(bǔ)式驅(qū)動(dòng)器。隨著輸入時(shí)鐘在高、低電平之間的跳動(dòng),驅(qū)動(dòng)器中的互補(bǔ)對(duì)管會(huì)有一個(gè)短時(shí)間的同時(shí)開(kāi)通過(guò)程,造成顯著的電流浪涌。對(duì)于矩 形波來(lái)說(shuō),高、低狀態(tài)之間的過(guò)渡過(guò)程非常短暫,兩管同時(shí)開(kāi)通的時(shí)間最短。對(duì)于上升和下降時(shí)間比較長(zhǎng)的波形,例如正弦或三角波,過(guò)渡過(guò)程比較長(zhǎng),驅(qū)動(dòng)器兩管同時(shí)開(kāi)通的時(shí)間也更長(zhǎng)。這將會(huì)增加電流和功耗。 圖4表示電流消耗和波形的關(guān)系。時(shí)鐘源是一個(gè)可編程波形發(fā)生器,可以產(chǎn)生正弦波、三角波或方波。圖4顯示的電流是4個(gè)器件的平均值,包括傳統(tǒng)的和改進(jìn)的高速處理核。比較發(fā)現(xiàn)電流消耗直接正比于時(shí)鐘波形的上升(和下降)時(shí)間。三角波具有最小的斜率,而矩形波斜率最大。采用矩形波時(shí)的電流平均要比三角波低0.75mA。這預(yù)示著在用外部時(shí)鐘振蕩器時(shí),采用上升和下降時(shí)間更快的振蕩器將有利于降低電流功耗。這一點(diǎn)在較低頻率下尤為重要,此時(shí)器件需要花費(fèi)更多的時(shí)間用于過(guò)渡過(guò)程。 有些8051衍生產(chǎn)品包含了一個(gè)片內(nèi)的環(huán)形振蕩器。通常是一串反相器,脈沖在其中傳播。它可以提供一個(gè)2~4MHz的內(nèi)部時(shí)鐘源,驅(qū)動(dòng)器件。由于不需要使用晶體,這種振蕩器是功耗很低的時(shí)鐘源。從DS87C520高速微控制器的特性可以看出,工作于環(huán)形振蕩器時(shí),能夠提供等同于7MHz8051的性能,而功耗僅有3.6mA。雖然環(huán)形振蕩器沒(méi)有壓電式晶體那樣穩(wěn)定,它們的低拉耗以及可以忽略的上電延遲在功率管理方面占有顯要位置。 5 時(shí)鐘管理 微控制器的工作頻率是影響器件功耗最重要的一個(gè)因素。雖然系統(tǒng)的時(shí)鐘頻率主要取決于硬件配置,8051還是提供了一些有限的控制手段。這些手段減緩或終止器件全部或部分單元的工作時(shí)鐘。傳統(tǒng)的8051架構(gòu)采用了兩種控制方法:空閑和停機(jī)。5.1 改善停機(jī)模式 停機(jī)模式是8051設(shè)計(jì)得所能利用的最低功耗狀態(tài)。在該模式下,內(nèi)部振蕩器停振,器件中止工作。脫離停機(jī)模式通常靠外部復(fù)位。某些變種也可以通過(guò)外部中斷退出停機(jī)模式。 停機(jī)模式有一個(gè)缺點(diǎn),就是在晶振恢復(fù)工作的一個(gè)死時(shí)間內(nèi)的功耗問(wèn)題。晶體振蕩器的工作依賴(lài)于石英晶體的振動(dòng)。物理層限性決定了晶體振蕩器必須有一個(gè)確定的時(shí)間,才能達(dá)到足夠的振蕩器幅度來(lái)驅(qū)動(dòng)器件工作。這個(gè)預(yù)熱過(guò)程不管采用內(nèi)部振蕩器還是外部振蕩器都會(huì)存在。時(shí)間大約在3~12ms,與晶體和振蕩器的性能有關(guān)。 預(yù)熱過(guò)程對(duì)于功耗的作用在于,在此階段器件不執(zhí)行任何有用的工作,但仍要消耗功率。如果器件頻繁地進(jìn)入和退出停機(jī)模式,或者退出停機(jī)模式后只執(zhí)行很短時(shí)間的任務(wù),這種效應(yīng)會(huì)變得格外顯著。事實(shí)上,如果任務(wù)非常短(<5ms),晶振啟動(dòng)期間消耗的能量甚至?xí)^(guò)執(zhí)行任務(wù)本身的消耗。如果采用環(huán)形振蕩器來(lái)實(shí)現(xiàn)從停機(jī)模式到快速啟動(dòng),就可避免這種延遲。這將大幅降低退出停機(jī)模式時(shí)的功率消耗。圖5表示兩個(gè)系統(tǒng)退出停機(jī)模式并執(zhí)行一個(gè)短任務(wù)時(shí)的工作情況。其中一個(gè)器件包含一個(gè)內(nèi)置的環(huán)形振蕩器,另一個(gè)使用傳統(tǒng)的外部晶振。沒(méi)有環(huán)形振蕩器的器件必須經(jīng)歷一個(gè)晶振預(yù)熱期。在此期間器件不斷地消耗功率,卻沒(méi)有做任何有用的工作。第二個(gè)器件是一片DS87C520高速微控制器,片內(nèi)包含一個(gè)環(huán)形振蕩器。這就允許器件在退出停機(jī)模式時(shí)能立即恢復(fù)工作。在本例中,程序執(zhí)行4ms以?xún)?nèi),間隔大約為2MHz。正如圖5所看到的,當(dāng)需要退出停機(jī)模式執(zhí)行短任務(wù)時(shí),采用環(huán)形振蕩器可以大幅減少能量消耗。 某些應(yīng)用中,在退出停機(jī)模式后不久,要求時(shí)鐘具有晶振的穩(wěn)定度。這種情況下,環(huán)形振蕩器仍不失其優(yōu)越性。緊隨著停機(jī)模式的退出,控制器應(yīng)該立即啟動(dòng)是晶體振蕩器。隨后可以在晶振的預(yù)熱期控制器初始化一些必要的數(shù)據(jù)或寄存器。多數(shù)高速微控制器可以用一個(gè)狀態(tài)位來(lái)標(biāo)示晶體振蕩器是否達(dá)到穩(wěn)定。一旦完成了晶振代碼的初始化進(jìn)程,軟件可以查詢(xún)狀態(tài)位,以決定是否著手高精度定時(shí)操作。 另外一個(gè)改善停機(jī)模式效率的方法是采用中斷而不是復(fù)位方式來(lái)喚醒控制器。這種方式使處理器能夠緊接著設(shè)置STOP位的指令立即恢復(fù)工作,而不是從復(fù)位向量重新啟動(dòng)。這樣就免去了對(duì)復(fù)位原因的判斷,允許處理器在最短的時(shí)間內(nèi)開(kāi)始有用的工作。 5.2 空閑模式 空閑模式是早期8051架構(gòu)使用的第二個(gè)時(shí)鐘管理模式。該模式中止了CPU的運(yùn)行,但片內(nèi)的通用定時(shí)器保持工作。在功率敏感的應(yīng)用中,這個(gè)定時(shí)器被用于周期性地喚醒處理器去執(zhí)行任務(wù),或者去判斷是否該執(zhí)行某個(gè)任務(wù)。 由于標(biāo)準(zhǔn)的8051定時(shí)器為16位,采用16MHz的時(shí)鐘頻率時(shí),最大定時(shí)周期只有31ms。如果需要更長(zhǎng)的周期,就需要定時(shí)器多次溢出。這會(huì)消耗額外的功率,因?yàn)樘幚砥鞅匦桀l繁地恢復(fù)全速工作來(lái)累積計(jì)數(shù),但沒(méi)有執(zhí)行任何有用的工作。 對(duì)于比較長(zhǎng)的周期,最好采用比較長(zhǎng)定時(shí)周期的內(nèi)部定時(shí)器。有些8051衍生產(chǎn)品包含了一個(gè)看門(mén)狗定時(shí)器,也可被用來(lái)喚醒處理器??撮T(mén)狗定時(shí)器可被編程為比較長(zhǎng)的定時(shí),可達(dá)256個(gè)時(shí)鐘周期。在16MHz的頻率下能夠提供4.2s的最長(zhǎng)延時(shí)。假設(shè)某應(yīng)用希望每幅3s從低功耗狀態(tài)喚醒,去執(zhí)行任務(wù)。如果采用內(nèi)部定時(shí)器去定時(shí),處理器將不得不退出空閑模式96閃而不作有用的工作。如果采用長(zhǎng)定時(shí)周期的看門(mén)狗定時(shí)器,則處理器只需要在執(zhí)行任務(wù)的時(shí)候退出空閑狀態(tài),完成任務(wù)后再次到低功耗狀態(tài)。 還有一個(gè)選擇就是采用帶有實(shí)時(shí)時(shí)鐘(RTC)的微處理器。DS87C530高速微處理器內(nèi)置的RC能夠產(chǎn)生周期長(zhǎng)達(dá)24小時(shí)的鬧鐘信號(hào)。由該鬧鐘產(chǎn)生的內(nèi)部中斷可將處理器從空閑或停機(jī)模式中喚醒。利用RTC退出停機(jī)模式對(duì)于需要長(zhǎng)時(shí)間掛起的系統(tǒng)來(lái)講是最為有效的方式。 6 功率管理模式 盡管空閑模式通過(guò)掛起運(yùn)行程序而使功耗得以降低,內(nèi)部定時(shí)器仍在以外部時(shí)鐘的頻率連續(xù)運(yùn)行。這會(huì)消耗掉數(shù)量可觀的功率。試想一下,是否可以讓定時(shí)器工作于基本上接近待機(jī)的狀態(tài)。 一個(gè)比較好的辦法是降低整個(gè)器件的時(shí)鐘頻率。這可以由一個(gè)內(nèi)部的時(shí)鐘分頻器來(lái)實(shí)現(xiàn),它將外部時(shí)鐘頻率分頻后再送入CPU。這種方案已在DS87C520高速微控制器中實(shí)現(xiàn)。該器件使用了兩種時(shí)鐘分頻系數(shù):功率管理模式1,輸入時(shí)鐘源被64分頻;功率管理模式2,輸入時(shí)鐘源被除以1024分頻。這些模式或以通過(guò)設(shè)置特殊功能寄存器中的對(duì)應(yīng)位來(lái)實(shí)現(xiàn)。 圖6對(duì)DS87C520高速微控制器的時(shí)鐘分頻器和時(shí)鐘控制模式加以對(duì)比。圖6中,全速模式(除以4)、功率管理模式1(除以64)、功率管理模式2(除以1024)、空閑模式及停機(jī)模式下的電流消耗形成鮮明對(duì)比。正如所料,停機(jī)模式吸收最低的電流,因?yàn)樗鶅?nèi)部時(shí)鐘都被關(guān)掉了。兩種功率管理模式消耗的電流比空閑模式還低。這不僅降低了器件的功耗,還說(shuō)明可以讓它以較低的水平持續(xù)運(yùn)行。在傳統(tǒng)的8051結(jié)構(gòu)中,任何類(lèi)型的CPU運(yùn)行只有兩個(gè)狀態(tài):“全部或者沒(méi)有”。處理器被迫頻繁地運(yùn)行于最高性能水平,盡管只在很短的時(shí)間內(nèi)得到高性能,這會(huì)增加一些不必要的功率浪費(fèi)。功率管理模式(PMM)的使用,使處理器(如系統(tǒng))能夠根據(jù)實(shí)際性能需求對(duì)其功耗進(jìn)行最優(yōu)化管理。 6.1 中斷和PMM的使用 采用內(nèi)部時(shí)鐘分頻器可能會(huì)帶來(lái)的問(wèn)題是,中斷延遲會(huì)大大增加;另外,內(nèi)部定時(shí)器的減慢會(huì)影響8051串口產(chǎn)生或同步標(biāo)準(zhǔn)波特率的能力。這會(huì)嚴(yán)重干擾處理器響應(yīng)外部激勵(lì)的能力。解決方案之一就是在外部中斷或串行口活動(dòng)被確認(rèn)后,自動(dòng)使處理器恢復(fù)到完全運(yùn)行狀態(tài)。這種方案已經(jīng)在DS87C520中得以實(shí)現(xiàn)。處理器的這種回切功能使其能夠迅速響應(yīng)外部中斷。緊隨著中斷回答,器件將自動(dòng)切回到全速(除以4)狀態(tài),并且不需要軟件參與。 串行口的工作方式十分相似。當(dāng)在串行口接收腳上檢測(cè)到下降沿(起始位)后,器件將自動(dòng)切回到全速運(yùn)行(除以4)。這個(gè)過(guò)程緊接著數(shù)據(jù)傳送起始,因而器件能夠以全速來(lái)正確地接收余下的傳送數(shù)據(jù)。對(duì)于傳統(tǒng)的8051結(jié)構(gòu),在低功耗配置中使用串口的唯一辦法是利用閑置模式。功率管理模式的使用提供了一種更低功耗的替代方案。 6.2 改進(jìn)突發(fā)工作模式 在低功耗設(shè)計(jì)中,覺(jué)見(jiàn)的工作模式是將處理器從停機(jī)模式中喚醒,執(zhí)行一個(gè)突發(fā)任務(wù),然后再加到停機(jī)模式。在這樣的系統(tǒng)中,降低功耗的一個(gè)手段是提高工作頻率。初看起來(lái),似乎匪夷所思。因?yàn)樵谡9ぷ髌陂g,高頻率系統(tǒng)要比低頻率系統(tǒng)消耗更多的功率。然而,系統(tǒng)工作時(shí)消耗的靜態(tài)電流與頻率無(wú)關(guān)。在一個(gè)最終設(shè)計(jì)中,通常評(píng)估的是其能耗,以便確定電池工作壽命。這一點(diǎn)在評(píng)估一個(gè)高性能微控制器時(shí)尤為關(guān)鍵,因?yàn)樗C合地考慮了處理時(shí)間和處理功率。對(duì)于一個(gè)給定系統(tǒng),如果它具有更小功率與時(shí)間乘積,那么它的能耗更低;而不必單獨(dú)考慮兩種參數(shù)。很多實(shí)例顯示,高速微控制器由于運(yùn)行時(shí)間更短,實(shí)際能耗更低;而處理時(shí)間更長(zhǎng)的低速處理器正好與此相反。 這一點(diǎn)可以通過(guò)圖6提到驗(yàn)證。假定從停機(jī)模式恢復(fù)后,DS87C520讀取一個(gè)I/O端口,經(jīng)過(guò)算術(shù)運(yùn)行后將結(jié)果從另一端口送出,這個(gè)過(guò)程需要500個(gè)機(jī)器周期的CPU時(shí)間。按圖6所示,電流消耗在10MHz時(shí)為12.4mA,30MHz時(shí)為34.6mA。表1歸納了在兩種速度下執(zhí)行讀任務(wù)時(shí)的能耗情況。從表1中可以看到,30MHz工作時(shí)的效率更高,能耗降低6%以上。表1 執(zhí)行一個(gè)500機(jī)器周期的任務(wù)時(shí)所消耗的能量和處理器速度對(duì)比 時(shí)鐘頻率機(jī)器周期所用機(jī)器周期總時(shí)間Icc電流時(shí)間積10MHz400ns500200ms12.41mA2.48mAs30MHz133ns3006.5ms34.66mA2.30mAs6.3 跑跑停停 在很多應(yīng)用中,停機(jī)模式以外的時(shí)間并不完全取決于運(yùn)行速度。很多情況下,處理器需要訪問(wèn)一個(gè)具有固定響應(yīng)時(shí)間的外圍設(shè)備,例如A/D轉(zhuǎn)換器或溫控器。此種情況下,處理器將有個(gè)突發(fā)動(dòng)作。一般是觸發(fā)某個(gè)過(guò)程,隨后的一段時(shí)間內(nèi),則只有很少的或根本沒(méi)任何操作。在這種時(shí)候,一種組合的功率節(jié)省技術(shù)會(huì)更為有效。 可以用一個(gè)實(shí)例來(lái)說(shuō)明在這樣一個(gè)系統(tǒng)中,采用具PWM的高速微處理器所帶來(lái)的好處。設(shè)想的DS87C520與一片DS1620數(shù)字溫度計(jì)/溫控器相接口。這個(gè)器件可使用標(biāo)準(zhǔn)8051串口的工作模式0串行訪問(wèn)。主機(jī)處理器在某個(gè)時(shí)刻通過(guò)外部中斷將DS87C520從停機(jī)模式喚醒,并要求它從DS1620中讀取溫度數(shù)據(jù)。獲得數(shù)據(jù)后,DS87C520會(huì)將其保存于內(nèi)部存儲(chǔ)器中,備隨后傳送。DS1620的工作類(lèi)似于很多A/D轉(zhuǎn)換器:發(fā)出一個(gè)命令后啟動(dòng)一次轉(zhuǎn)換,然后,經(jīng)過(guò)一定延遲后轉(zhuǎn)換完成,接著,數(shù)據(jù)就可以被移走了。對(duì)于DS1620來(lái)講,轉(zhuǎn)換時(shí)間接近于1秒鐘。通過(guò)查詢(xún)器件來(lái)確定轉(zhuǎn)換是否完成。DS87C520非常適合于此種任務(wù),因?yàn)樗梢苑浅Q杆俚貓?zhí)行啟動(dòng)和運(yùn)算功能。隨后,在等待轉(zhuǎn)換完成期間,微控制器可以將其置于PMM。在傳統(tǒng)8051中,轉(zhuǎn)換被啟動(dòng)后,可利用閑置模式將傳統(tǒng)8051置于低功耗狀態(tài)。在這種模式中,可利用內(nèi)部的16位定時(shí)器來(lái)測(cè)量轉(zhuǎn)換時(shí)間。工作于16MHz時(shí),傳統(tǒng)8051需要在轉(zhuǎn)換完成之前退出閑置模式多達(dá)32次。 本例可被進(jìn)一步改進(jìn)。因?yàn)镈S1620是作為一個(gè)同步器件進(jìn)行訪問(wèn)的,不要求高精度的定時(shí)操作。這樣,微控制器在啟動(dòng)轉(zhuǎn)換和讀取轉(zhuǎn)換結(jié)果時(shí),可工作于環(huán)形振蕩器。由于避免了穩(wěn)定外部晶振所需的“死時(shí)間”,這會(huì)進(jìn)一步節(jié)省功率。圖7展示了兩個(gè)8051系統(tǒng)執(zhí)行上述“跑跑停?!比蝿?wù)時(shí)的工作情況。正如圖7中所看到的,在緊隨著退出停機(jī)模式的程序運(yùn)行中,功率節(jié)省非常顯著。除了因采用PMM2代替空閑模式所帶來(lái)的功率節(jié)省外,晶體預(yù)熱時(shí)間的省略意味著程序可以更快地返回停機(jī)模式。在1秒鐘的轉(zhuǎn)換延遲期間,采用環(huán)振蕩器工作很大程度上減慢了處理器的速度,可節(jié)省很多功率。 8051系列微控制器一直是世界最流行的處理器之一。它的簡(jiǎn)單易用相對(duì)較高的性能對(duì)很多應(yīng)用十分理想,包括便攜式和手持式產(chǎn)品。Dallas高速微控制器的出現(xiàn),為現(xiàn)有的8051系統(tǒng)提供了一條改善用電效率、同時(shí)又無(wú)需再設(shè)計(jì)的新出路。
評(píng)論