如今,降低總體系統(tǒng)功耗是設計便攜式手持電子設備的最關(guān)鍵因素之一。消費者期望值的日益增長也就要求便攜式設備必須延長電池壽命并提高自身性能。對于便攜式系統(tǒng)設計人員和制造者來說,即使降低10mW 左右的功耗也是極其重要的。
如今,設計人員可以采用多種設計方法來大大降低總體系統(tǒng)功耗,如:
降低工作電壓
優(yōu)化系統(tǒng)和 CPU 時鐘頻率
消除上電過程中大電流消耗的尖脈沖
有效管理系統(tǒng)電池的工作
有效管理系統(tǒng)器件的操作模式
盡量減少總線活動
降低總線電容
降低開關(guān)噪聲
這些只是設計方法中可用來降低任意終端應用的功耗的幾個例子。
其中最重要的節(jié)電技法之一是管理系統(tǒng)中器件操作模式的能力。如今,許多制造商提供的器件都具有節(jié)電模式,即暫時將器件從其正常操作模式掛起。這些器件如果在特定時長內(nèi)不活動,可以選擇關(guān)閉電源或轉(zhuǎn)至非工作狀態(tài)。如今的許多微處理器和微控制器都具備這種功能。通過利用和管理 PCB 上功耗大戶(如處理器)的操作模式,可以顯著降低系統(tǒng)的總體功耗。
降低功耗不僅涉及正確管理器件的操作模式,還涉及到設計能利用器件可用操作模式的系統(tǒng)。卸載微處理器的操作任務可使微處理器在較長時間內(nèi)保持低功耗狀態(tài)。降低系統(tǒng)功耗的一種方法是讓低功耗可編程邏輯器件(如 CPLD)管理這些卸載的操作。本文講述這種方法以及可使處理器保持較長低功耗狀態(tài)的操作類型,以期降低系統(tǒng)功耗。
微處理器操作模式
在某些便攜式應用中,CPU 功耗可達總體系統(tǒng)功耗的 30%。圖 1 所示為無線上網(wǎng)機應用中系統(tǒng)組件的典型功耗。
在正常工作狀態(tài)下,微處理器的功耗范圍可達 720μW 到 1W。微處理器的操作模式包括正常、運行、睡眠、掛起、待機、停止和空閑等,因器件和制造商而異。各操作模式之間的功耗變化范圍可達 230mW。某些低功耗微處理器在正常操作模式下的功耗可少至 250mW。
示例
注:所提供的微處理器參考僅為示例,用來說明不同操作模式下的功耗。鑒于尚無確定功耗的標準方法,本文檔中的數(shù)據(jù)以制造商提供的數(shù)據(jù)為依據(jù),僅供參考。有關(guān)詳情,請見“參考文獻”。
下面舉例說明微處理器在不同操作模式下的功耗差異。圖 2 所示為 Intel StrongARM SA-1110 微處理器在不同操作模式下的功耗。圖 2 所示功耗數(shù)字的確定條件是:工作頻率 206 MHz,標稱外部供電電壓 3.3 V,內(nèi)部供電電壓 1.8 V。
StrongARM 處理器的操作模式包括正常、空閑和睡眠。在正常操作模式下,CPU 滿負荷運行,器件完全供電并接收有效時鐘。在空閑模式下,盡管仍然為 CPU 及其他組件供電,但對 CPU 的所有時鐘輸入都停止,僅保持對外設的時鐘輸入為有效。在睡眠模式下,停止向 CPU 及外設組件供電。在睡眠模式下,除實時時鐘、中斷控制器、電源管理器和通用 I/O 外,所有其他功能均停止。
操作模式控制
帶節(jié)電模式的微處理器具有一個板上電源管理控制器。操作模式允許操作系統(tǒng)或軟件應用程序?qū)?CPU 暫時掛起。微處理器執(zhí)行一系列進入節(jié)電狀態(tài)的指令。進入斷電模式后,微處理器的若干元件仍可響應系統(tǒng)中斷。
例如,StrongARM SA-1110 處理器的空閑模式節(jié)電效果顯著,但仍保持對 LCD、存儲器和 I/O 控制器等模塊供電。即使對 CPU 的時鐘輸入已經(jīng)停止,外設模塊仍處于活動狀態(tài)??臻e模式仍會消耗 100mW 左右的可觀功率。處理器進入睡眠模式后,僅為活動模塊供電,使其響應中斷和喚醒信號請求。睡眠模式比空閑模式功耗更小,其所耗電流可低于 100mA。
插入響應和處理系統(tǒng)中斷的外部器件可以減少處理器的操作任務。通過讓微處理器保持盡可能長的斷電模式,即可顯著降低功耗。
必須發(fā)生某一事件才能使微處理器從斷電模式返回到正常操作模式。以下事件可喚醒處理器,但因制造商、器件和當前操作模式而異:
硬件復位
系統(tǒng)中斷
通用 I/O 中斷
實時時鐘中斷
OS 計時器中斷
外設中斷
外部喚醒信號
一旦識別出已啟動的喚醒事件,微處理器就會開始執(zhí)行從斷電狀態(tài)喚醒的一系列步驟。圖 3 所示為處理器從斷電模式蘇醒的一般流程。
CPLD 設計
操作模式是在微處理器空閑特定時長后啟用。微處理器在接收到已啟動的中斷時會響應該中斷請求。處理器在響應中斷請求時會以運行或正常模式操作。減少對處理器的中斷請求數(shù)可延長處理器處于節(jié)電狀態(tài)的時間。理想情況下,如果沒有任何需要執(zhí)行的指令,微處理器就會永遠保持節(jié)電模式。插入響應和處理系統(tǒng)中斷的外部器件可以減少處理器的操作任務。通過讓微處理器保持盡可能長的斷電模式,可顯著降低功耗。
使用低功耗可編程邏輯器件來輔助微處理器可以降低系統(tǒng)功耗并延長系統(tǒng)電池壽命。業(yè)界最新的 CPLD 產(chǎn)品可同時實現(xiàn)高性能和低功耗。典型低功耗 CPLD 的待機電流小于 100μA。圖 4 所示為用可再編程 CPLD 作為對輸入系統(tǒng)中斷的接口。利用外部數(shù)據(jù)采集器件卸載需要微處理器處理的中斷請求可降低總體系統(tǒng)功耗。
系統(tǒng)中斷
根據(jù)處理器的最終應用,有多種外部器件可以中斷處理器。這些中斷信號包括數(shù)據(jù)采集和數(shù)據(jù)處理兩種請求?,F(xiàn)在,通過分離對微處理器的數(shù)據(jù)處理請求,可以由外部 CPLD 來處理數(shù)據(jù)采集請求。利用 CPLD 來處理數(shù)據(jù)采集中斷可以卸載對微處理器的中斷請求,從而降低功耗。
是否可將數(shù)據(jù)采集中斷類型劃歸 CPLD 取決于最終應用??梢詫⒁髮斎霐?shù)據(jù)予以響應的外設或輸入數(shù)據(jù)劃為數(shù)據(jù)采集中斷請求類型。數(shù)據(jù)采集中斷包括:
存儲器存取中斷
I2C、UART、SPI 和 ISA 等通信接口
通用 I/O 中斷
LCD 接口中斷
這并非可由 CPLD 處理的中斷的完整列表,只是為系統(tǒng)設計提供一個起點。
操作流程
圖 5 所示為 CPLD 設計的主要操作流程。CPLD 一旦識別出有效的外部中斷,就會自我判斷是否具有處理該中斷的功能。CPLD 處理該中斷之后,會向處理器發(fā)出一個中斷申請,請求其進行所要求的數(shù)據(jù)處理。CPLD 如果不能處理該中斷,則將其傳遞給處理器。CPLD 還負責監(jiān)測處理器的操作狀態(tài)。
功能
低功耗 CPLD 設計由處理中斷請求的中斷接口和控制器、處理中斷的功能以及處理器接口組成。下面分別詳述 CPLD 的各主要功能:
系統(tǒng)器件的中斷接口
中斷控制器
用于中斷處理的外設接口
微處理器中斷接口
微處理器操作模式接口
中斷接口
CPLD 的中斷接口接收經(jīng)過微處理器識別的所有外部器件的中斷請求。該中斷接口判斷 CPLD 是否有能力處理相應的中斷請求。CPLD 對請求數(shù)據(jù)接收和存儲功能的數(shù)據(jù)采集中斷進行處理。CPLD 如果不能處理該中斷,則將其傳遞給微處理器。
CPLD 的中斷接口為所有中斷源提供屏蔽功能,并且具有判斷中斷源的能力。可編程邏輯能夠靈活地改變觸發(fā)模式,包括高低電平敏感觸發(fā)模式和升降沿敏感觸發(fā)模式。CPLD 的中斷控制寄存器與微處理器中的寄存器相似。
中斷控制器
CPLD 的中斷控制器模擬系統(tǒng)微處理器中的功能。該中斷控制器判斷數(shù)據(jù)采集中斷來自哪個器件,然后啟動中斷處理。CPLD 處理本該由微處理器處理的數(shù)據(jù)采集中斷請求。
中斷控制器啟動處理請求的操作。由 CPLD 從遠程器件接收數(shù)據(jù)的應用就是這樣的例子。該器件請求將所傳送的數(shù)據(jù)寫入存儲器。CPLD 的中斷控制器識別出有效中斷,然后啟動存儲器接口來解譯數(shù)據(jù)。
外設接口
CPLD 提供處理中斷請求所需的系統(tǒng)器件接口。所需器件接口取決于最終應用。如果外部器件向 CPLD 發(fā)出中斷請求,要求對存儲元件進行數(shù)據(jù)讀寫操作,則 CPLD 設計中就需具備該存儲器的接口。所需接口類型可以為存儲器接口、LCD 接口以及 PCI、UART、SPI 和 ISA 等通信接口。
微處理器中斷接口
像請求處理器提供服務的所有外部器件一樣,CPLD 也具有向微處理器發(fā)出中斷的功能。CPLD 必須能夠在完成數(shù)據(jù)采集操作之后向微處理器發(fā)出中斷。設計人員可以為來自 CPLD 的中斷請求設置優(yōu)先級,并可選擇該中斷是否喚醒處于斷電狀態(tài)的處理器。
微處理器操作模式接口
CPLD 是否能識別處理器的操作狀態(tài)取決于系統(tǒng)微處理器。有些微處理器提供表示當前操作模式的外部引腳。CPLD 可能會識別出處理器的當前操作狀態(tài),并且確定是否向處理器發(fā)出執(zhí)行等待中斷的請求,這取決于 CPLD 和微處理器的設計。例如,如果 CPLD 接收到低優(yōu)先級中斷,而處理器無需從低功耗狀態(tài)轉(zhuǎn)至其他狀態(tài),則 CPLD 可以創(chuàng)建一個寄存器以指示將中斷掛起。然后,當處理器蘇醒時,可由微處理器讀取掛起中斷的寄存器。
優(yōu)點
圖 6 和圖 7 所示為可在一種典型電池供電器件中實現(xiàn)的節(jié)電效果;其中圖 7 所示為使用先進的低功耗 CPLD,圖 6 所示為使用獨立的微處理器設計。與通過延長微處理器低功耗模式所實現(xiàn)的節(jié)電效果相比,CPLD 的功耗要求微不足道。典型低功耗 CPLD 的待機電流約為 100μA。操作功耗取決于應用和時鐘頻率。對于充滿 16 位計數(shù)器和 50MHz 時鐘的 64 宏單元的 CPLD 來說,ICC 約為 10mA。請注意,所實現(xiàn)的實際節(jié)電效果取決于系統(tǒng)設計,包括微處理器類型和 CPLD 設計。
隨著用 CPLD 獲得節(jié)電效果,中斷響應時間也縮短了。外設不必再等待微處理器從節(jié)電狀態(tài)蘇醒的延遲時間??梢詫崿F(xiàn)的其他設計節(jié)省項包括:
減少對處理器的中斷請求數(shù)
減少一定時長上的處理器喚醒周期數(shù)
在不影響吞吐量的情況下降低時鐘頻率
進行數(shù)據(jù)處理操作時以較低頻率運行處理器
進行數(shù)據(jù)采集操作時以較高頻率運行 CPLD
結(jié)論
設計功耗敏感型應用不僅涉及使用軟件進行電源管理,還涉及運用硬件設計技巧。通過設計低功耗 CPLD 來延長微處理器的低功耗操作狀態(tài),可以顯著降低系統(tǒng)功耗。當今市場上的最新 CPLD 可以為任何最終應用提供低功耗和高速度的靈活組合應用。
參考文獻
《Intel StrongARM SA-1110 微處理器開發(fā)手冊》,2000 年 6 月。
《摩托羅拉半導體應用指南》之“DragonBall 電源管理”,摩托羅拉公司,1998 年。
《Geode GX1 處理器系列低功耗集成 x86 解決方案》,National Semiconductor 公司,2000 年 10 月。
《微處理器報告》,1999 年 9 月。
《第 27 期微處理器/控制器年度報告》之“EDN 訪問”,2000 年 9 月。