《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計應(yīng)用 > 利用 CPLD 降低處理器功耗
利用 CPLD 降低處理器功耗
利用 CPLD 卸載系統(tǒng)微處理器的操作任務(wù),可延長處理器節(jié)電模式,從而顯著降低功耗
Mark Ng
摘要: 如今,降低總體系統(tǒng)功耗是設(shè)計便攜式手持電子設(shè)備的最關(guān)鍵因素之一。消費(fèi)者期望值的日益增長也就要求便攜式設(shè)備必須延長電池壽命并提高自身性能。對于便攜式系統(tǒng)設(shè)計人員和制造者來說,即使降低10mW 左右的功耗也是極其重要的。
關(guān)鍵詞: CPLD
Abstract:
Key words :

    如今,降低總體系統(tǒng)功耗是設(shè)計便攜式手持電子設(shè)備的最關(guān)鍵因素之一。消費(fèi)者期望值的日益增長也就要求便攜式設(shè)備必須延長電池壽命并提高自身性能。對于便攜式系統(tǒng)設(shè)計人員和制造者來說,即使降低10mW 左右的功耗也是極其重要的。 

    如今,設(shè)計人員可以采用多種設(shè)計方法來大大降低總體系統(tǒng)功耗,如: 

 

    降低工作電壓 

    優(yōu)化系統(tǒng)和 CPU 時鐘頻率 

    消除上電過程中大電流消耗的尖脈沖 

    有效管理系統(tǒng)電池的工作 

    有效管理系統(tǒng)器件的操作模式 

    盡量減少總線活動 

    降低總線電容 

    降低開關(guān)噪聲 

 

    這些只是設(shè)計方法中可用來降低任意終端應(yīng)用的功耗的幾個例子。 

    其中最重要的節(jié)電技法之一是管理系統(tǒng)中器件操作模式的能力。如今,許多制造商提供的器件都具有節(jié)電模式,即暫時將器件從其正常操作模式掛起。這些器件如果在特定時長內(nèi)不活動,可以選擇關(guān)閉電源或轉(zhuǎn)至非工作狀態(tài)。如今的許多微處理器和微控制器都具備這種功能。通過利用和管理 PCB 上功耗大戶(如處理器)的操作模式,可以顯著降低系統(tǒng)的總體功耗。 

    降低功耗不僅涉及正確管理器件的操作模式,還涉及到設(shè)計能利用器件可用操作模式的系統(tǒng)。卸載微處理器的操作任務(wù)可使微處理器在較長時間內(nèi)保持低功耗狀態(tài)。降低系統(tǒng)功耗的一種方法是讓低功耗可編程邏輯器件(如 CPLD)管理這些卸載的操作。本文講述這種方法以及可使處理器保持較長低功耗狀態(tài)的操作類型,以期降低系統(tǒng)功耗。 

 

微處理器操作模式 

    在某些便攜式應(yīng)用中,CPU 功耗可達(dá)總體系統(tǒng)功耗的 30%。圖 1 所示為無線上網(wǎng)機(jī)應(yīng)用中系統(tǒng)組件的典型功耗。 

    在正常工作狀態(tài)下,微處理器的功耗范圍可達(dá) 720μW 1W。微處理器的操作模式包括正常、運(yùn)行、睡眠、掛起、待機(jī)、停止和空閑等,因器件和制造商而異。各操作模式之間的功耗變化范圍可達(dá) 230mW。某些低功耗微處理器在正常操作模式下的功耗可少至 250mW。 

 

示例 

    注所提供的微處理器參考僅為示例,用來說明不同操作模式下的功耗。鑒于尚無確定功耗的標(biāo)準(zhǔn)方法,本文檔中的數(shù)據(jù)以制造商提供的數(shù)據(jù)為依據(jù),僅供參考。有關(guān)詳情,請見“參考文獻(xiàn)”。 

    下面舉例說明微處理器在不同操作模式下的功耗差異。圖 2 所示為 Intel StrongARM SA-1110 微處理器在不同操作模式下的功耗。圖 2 所示功耗數(shù)字的確定條件是:工作頻率 206 MHz,標(biāo)稱外部供電電壓 3.3 V,內(nèi)部供電電壓 1.8 V。 

    StrongARM 處理器的操作模式包括正常、空閑和睡眠。在正常操作模式下,CPU 滿負(fù)荷運(yùn)行,器件完全供電并接收有效時鐘。在空閑模式下,盡管仍然為 CPU 及其他組件供電,但對 CPU 的所有時鐘輸入都停止,僅保持對外設(shè)的時鐘輸入為有效。在睡眠模式下,停止向 CPU 及外設(shè)組件供電。在睡眠模式下除實時時鐘、中斷控制器、電源管理器和通用 I/O ,所有其他功能均停止。 

 

操作模式控制 

    帶節(jié)電模式的微處理器具有一個板上電源管理控制器。操作模式允許操作系統(tǒng)或軟件應(yīng)用程序?qū)?/span> CPU 暫時掛起。微處理器執(zhí)行一系列進(jìn)入節(jié)電狀態(tài)的指令。進(jìn)入斷電模式后,微處理器的若干元件仍可響應(yīng)系統(tǒng)中斷。 

    例如,StrongARM SA-1110 處理器的空閑模式節(jié)電效果顯著但仍保持對 LCD、存儲器和 I/O 控制器等模塊供電。即使對 CPU 的時鐘輸入已經(jīng)停止,外設(shè)模塊仍處于活動狀態(tài)??臻e模式仍會消耗 100mW 左右的可觀功率。處理器進(jìn)入睡眠模式后,僅為活動模塊供電,使其響應(yīng)中斷和喚醒信號請求。睡眠模式比空閑模式功耗更小,其所耗電流可低于 100mA。 

 

插入響應(yīng)和處理系統(tǒng)中斷的外部器件可以減少處理器的操作任務(wù)。通過讓微處理器保持盡可能長的斷電模式,即可顯著降低功耗。 

 

    必須發(fā)生某一事件才能使微處理器從斷電模式返回到正常操作模式。以下事件可喚醒處理器,但因制造商、器件和當(dāng)前操作模式而異 

 

    硬件復(fù)位 

    系統(tǒng)中斷 

    通用 I/O 中斷 

    實時時鐘中斷 

    OS 計時器中斷 

    外設(shè)中斷 

    外部喚醒信號 

 

    一旦識別出已啟動的喚醒事件,微處理器就會開始執(zhí)行從斷電狀態(tài)喚醒的一系列步驟。圖 3 所示為處理器從斷電模式蘇醒的一般流程。 

 

CPLD" title="CPLD">CPLD 設(shè)計 

    操作模式是在微處理器空閑特定時長后啟用。微處理器在接收到已啟動的中斷時會響應(yīng)該中斷請求。處理器在響應(yīng)中斷請求時會以運(yùn)行或正常模式操作。減少對處理器的中斷請求數(shù)可延長處理器處于節(jié)電狀態(tài)的時間。理想情況下,如果沒有任何需要執(zhí)行的指令,微處理器就會永遠(yuǎn)保持節(jié)電模式。插入響應(yīng)和處理系統(tǒng)中斷的外部器件可以減少處理器的操作任務(wù)。通過讓微處理器保持盡可能長的斷電模式,可顯著降低功耗。 

    使用低功耗可編程邏輯器件來輔助微處理器可以降低系統(tǒng)功耗并延長系統(tǒng)電池壽命。業(yè)界最新的 CPLD 產(chǎn)品可同時實現(xiàn)高性能和低功耗。典型低功耗 CPLD 的待機(jī)電流小于 100μA。圖 4 所示為用可再編程 CPLD 作為對輸入系統(tǒng)中斷的接口。利用外部數(shù)據(jù)采集器件卸載需要微處理器處理的中斷請求可降低總體系統(tǒng)功耗。 

系統(tǒng)中斷 

    根據(jù)處理器的最終應(yīng)用,有多種外部器件可以中斷處理器。這些中斷信號包括數(shù)據(jù)采集和數(shù)據(jù)處理兩種請求?,F(xiàn)在,通過分離對微處理器的數(shù)據(jù)處理請求,可以由外部 CPLD 來處理數(shù)據(jù)采集請求。利用 CPLD 來處理數(shù)據(jù)采集中斷可以卸載對微處理器的中斷請求,從而降低功耗。 

    是否可將數(shù)據(jù)采集中斷類型劃歸 CPLD 取決于最終應(yīng)用??梢詫⒁髮斎霐?shù)據(jù)予以響應(yīng)的外設(shè)或輸入數(shù)據(jù)劃為數(shù)據(jù)采集中斷請求類型。數(shù)據(jù)采集中斷包括 

    存儲器存取中斷 

    I2C、UART、SPI ISA 等通信接口 

    通用 I/O 中斷 

    LCD 接口中斷 

    這并非可由 CPLD 處理的中斷的完整列表,只是為系統(tǒng)設(shè)計提供一個起點。 

 

操作流程 

    圖 5 所示為 CPLD 設(shè)計的主要操作流程。CPLD 一旦識別出有效的外部中斷,就會自我判斷是否具有處理該中斷的功能。CPLD 處理該中斷之后,會向處理器發(fā)出一個中斷申請,請求其進(jìn)行所要求的數(shù)據(jù)處理。CPLD 如果不能處理該中斷,則將其傳遞給處理器。CPLD 還負(fù)責(zé)監(jiān)測處理器的操作狀態(tài)。 

功能 

    低功耗 CPLD 設(shè)計由處理中斷請求的中斷接口和控制器、處理中斷的功能以及處理器接口組成。下面分別詳述 CPLD 的各主要功能: 

    系統(tǒng)器件的中斷接口 

    中斷控制器 

    用于中斷處理的外設(shè)接口 

    微處理器中斷接口 

    微處理器操作模式接口 

中斷接口 

    CPLD 的中斷接口接收經(jīng)過微處理器識別的所有外部器件的中斷請求。該中斷接口判斷 CPLD 是否有能力處理相應(yīng)的中斷請求。CPLD 對請求數(shù)據(jù)接收和存儲功能的數(shù)據(jù)采集中斷進(jìn)行處理。CPLD 如果不能處理該中斷,則將其傳遞給微處理器。 

    CPLD 的中斷接口為所有中斷源提供屏蔽功能,并且具有判斷中斷源的能力??删幊踢壿嬆軌蜢`活地改變觸發(fā)模式,包括高低電平敏感觸發(fā)模式和升降沿敏感觸發(fā)模式。CPLD 的中斷控制寄存器與微處理器中的寄存器相似。 

中斷控制器 

    CPLD 的中斷控制器模擬系統(tǒng)微處理器中的功能。該中斷控制器判斷數(shù)據(jù)采集中斷來自哪個器件,然后啟動中斷處理。CPLD 處理本該由微處理器處理的數(shù)據(jù)采集中斷請求。 

    中斷控制器啟動處理請求的操作。由 CPLD 從遠(yuǎn)程器件接收數(shù)據(jù)的應(yīng)用就是這樣的例子。該器件請求將所傳送的數(shù)據(jù)寫入存儲器。CPLD 的中斷控制器識別出有效中斷,然后啟動存儲器接口來解譯數(shù)據(jù)。 

 

外設(shè)接口 

    CPLD 提供處理中斷請求所需的系統(tǒng)器件接口。所需器件接口取決于最終應(yīng)用。如果外部器件向 CPLD 發(fā)出中斷請求,要求對存儲元件進(jìn)行數(shù)據(jù)讀寫操作,則 CPLD 設(shè)計中就需具備該存儲器的接口。所需接口類型可以為存儲器接口、LCD 接口以及 PCI、UART、SPI ISA 等通信接口。 

 

微處理器中斷接口 

    像請求處理器提供服務(wù)的所有外部器件一樣,CPLD 也具有向微處理器發(fā)出中斷的功能。CPLD 必須能夠在完成數(shù)據(jù)采集操作之后向微處理器發(fā)出中斷。設(shè)計人員可以為來自 CPLD 的中斷請求設(shè)置優(yōu)先級,并可選擇該中斷是否喚醒處于斷電狀態(tài)的處理器。 

 

微處理器操作模式接口 

    CPLD 是否能識別處理器的操作狀態(tài)取決于系統(tǒng)微處理器。有些微處理器提供表示當(dāng)前操作模式的外部引腳。CPLD 可能會識別出處理器的當(dāng)前操作狀態(tài),并且確定是否向處理器發(fā)出執(zhí)行等待中斷的請求,這取決于 CPLD 和微處理器的設(shè)計。例如,如果 CPLD 接收到低優(yōu)先級中斷,而處理器無需從低功耗狀態(tài)轉(zhuǎn)至其他狀態(tài),則 CPLD 可以創(chuàng)建一個寄存器以指示將中斷掛起。然后,當(dāng)處理器蘇醒時,可由微處理器讀取掛起中斷的寄存器。 

優(yōu)點 

    圖 6 和圖 7 所示為可在一種典型電池供電器件中實現(xiàn)的節(jié)電效果;其中圖 7 所示為使用先進(jìn)的低功耗 CPLD,圖 6 所示為使用獨(dú)立的微處理器設(shè)計。與通過延長微處理器低功耗模式所實現(xiàn)的節(jié)電效果相比,CPLD 的功耗要求微不足道。典型低功耗 CPLD 的待機(jī)電流約為 100μA。操作功耗取決于應(yīng)用和時鐘頻率。對于充滿 16 位計數(shù)器和 50MHz 時鐘的 64 宏單元的 CPLD 來說,ICC 約為 10mA。請注意,所實現(xiàn)的實際節(jié)電效果取決于系統(tǒng)設(shè)計,包括微處理器類型和 CPLD 設(shè)計。 

    隨著用 CPLD 獲得節(jié)電效果,中斷響應(yīng)時間也縮短了。外設(shè)不必再等待微處理器從節(jié)電狀態(tài)蘇醒的延遲時間??梢詫崿F(xiàn)的其他設(shè)計節(jié)省項包括: 

    減少對處理器的中斷請求數(shù) 

    減少一定時長上的處理器喚醒周期數(shù) 

    在不影響吞吐量的情況下降低時鐘頻率 

    進(jìn)行數(shù)據(jù)處理操作時以較低頻率運(yùn)行處理器 

    進(jìn)行數(shù)據(jù)采集操作時以較高頻率運(yùn)行 CPLD 

 

結(jié)論 

    設(shè)計功耗敏感型應(yīng)用不僅涉及使用軟件進(jìn)行電源管理還涉及運(yùn)用硬件設(shè)計技巧。通過設(shè)計低功耗 CPLD 來延長微處理器的低功耗操作狀態(tài),可以顯著降低系統(tǒng)功耗。當(dāng)今市場上的最新 CPLD 可以為任何最終應(yīng)用提供低功耗和高速度的靈活組合應(yīng)用。 

 

參考文獻(xiàn) 

   《Intel StrongARM SA-1110 微處理器開發(fā)手冊》,2000 年 6 月。  

   《摩托羅拉半導(dǎo)體應(yīng)用指南》之“DragonBall 電源管理”,摩托羅拉公司,1998 年。 

   《Geode GX1 處理器系列低功耗集成 x86 解決方案》,National Semiconductor 公司,2000 年 10 月。 

   《微處理器報告》,1999 年 9 月。  

   《第 27 期微處理器/控制器年度報告》之“EDN 訪問”,2000 年 9 月。 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。