文獻標(biāo)識碼: A
DOI:10.16157/j.issn.0258-7998.2017.03.034
中文引用格式: 宋云雷,劉興輝,,閻斌,,等. 一種支持外部控制的動態(tài)電源管理方法[J].電子技術(shù)應(yīng)用,2017,,43(3):137-140,,144.
英文引用格式: Song Yunlei,Liu Xinghui,,Yan Bin,,et al. A novel method of dynamic power management for supporting external device control[J].Application of Electronic Technique,2017,,43(3):137-140,,144.
0 引言
超大規(guī)模數(shù)字集成電路(Very Large Scale Integrated Circuit,,VLSI)設(shè)計中,功耗已成為制約設(shè)計發(fā)展的一個重要因素,,特別在集成電路工藝發(fā)展到深亞微米級甚至納米級后,,芯片的靜態(tài)功耗占總功耗的比重越來越大[1-3]。現(xiàn)在電池供電的產(chǎn)品越來越普遍,,比如電動汽車、無人機,、移動POS機等,。由于電池技術(shù)的發(fā)展速度比電子產(chǎn)品慢,如有效降低功耗,,能節(jié)省能量,,提高系統(tǒng)待機時間,還能夠延長電池的使用壽命[4-6],。
近年來,,研究人員在降低功耗的技術(shù)方面取得了很大進展。門控時鐘技術(shù)就是目前最常用的低功耗設(shè)計技術(shù)之一,。門控時鐘技術(shù)在降低VLSI的動態(tài)功耗方面有顯著作用,,但對降低靜態(tài)功耗基本沒有作用[7,8],。動態(tài)電壓頻率調(diào)節(jié)技術(shù)根據(jù)系統(tǒng)不同的進程任務(wù),,動態(tài)調(diào)節(jié)工作電壓和頻率,一定程度上降低了系統(tǒng)的動態(tài)功耗和靜態(tài)功耗,,但對于不需要工作的模塊,,其靜態(tài)功耗還有降低的空間[9,10],。傳統(tǒng)的電源門控技術(shù)能夠有效降低系統(tǒng)的靜態(tài)功耗,,通過內(nèi)部操作系統(tǒng)或軟件執(zhí)行預(yù)測關(guān)閉或預(yù)測喚醒策略對可控電源域進行主動控制,,但不能根據(jù)外部應(yīng)用場景,由外部設(shè)備實時對可控電源域進行控制[11,,12],。文獻[13]提出一種基于串口控制器的外部喚醒方法,但該喚醒方法是喚醒系統(tǒng)的工作時鐘,,而不能喚醒指定電源域,。
為降低微控制器(MCU)系統(tǒng)功耗,節(jié)省硬件資源,,本文提出了一種支持外部控制的動態(tài)電源管理方法,。該方法不僅支持內(nèi)部軟件通過執(zhí)行預(yù)測關(guān)閉和預(yù)測喚醒等策略對MCU系統(tǒng)內(nèi)部可控電源域進行控制,而且還擴展支持外部設(shè)備對MCU系統(tǒng)內(nèi)部可控電源域進行實時控制,,及時降低MCU系統(tǒng)功耗,。為實現(xiàn)外部設(shè)備對MCU系統(tǒng)內(nèi)部可控電源域的實時控制,設(shè)計集成了通信電路,。該通信電路的通信端口與外部喚醒端口共用一個IO端口,,節(jié)省了寶貴的硬件資源。
1 多電源域架構(gòu)
圖1為采用動態(tài)電源管理方法的MCU系統(tǒng)的多電源域示意圖,。根據(jù)模塊功能,,將MCU系統(tǒng)劃分為若干個電源域。PMU模塊為動態(tài)電源管理模塊,,是本文實現(xiàn)動態(tài)電源管理方法的功能模塊,,處于常開電源域中。PMU模塊的時鐘來自時鐘產(chǎn)生單元,,因此時鐘產(chǎn)生單元需要放在常開電源域中,。虛線框內(nèi)為可控電源域,受PMU模塊控制,。圖1中,,其他外設(shè)放入一個虛線框內(nèi),不代表其他所有外設(shè)在同一個電源域,,這要根據(jù)具體功能需求具體設(shè)計,。
2 動態(tài)電源管理方法實現(xiàn)
根據(jù)CMOS集成電路理論,CMOS電路的系統(tǒng)功耗模型:
式中,,P是MCU系統(tǒng)的總功耗,;Pdynamic是MCU系統(tǒng)的動態(tài)功耗;Pstatic是MCU系統(tǒng)的靜態(tài)功耗,;Ceff是等效負載電容值,;Vdd是工作電壓;fclock是系統(tǒng)工作頻率,; Istatic是靜態(tài)電流的總和,。
由式(1)可知,,通過減小或關(guān)閉工作電壓可以降低MCU系統(tǒng)的動態(tài)功耗和靜態(tài)功耗。PMU模塊就是根據(jù)MCU系統(tǒng)的實際工作情況對相應(yīng)模塊的電源域進行靈活開啟或關(guān)閉,,以降低功耗,。圖2為PMU模塊的功能結(jié)構(gòu)圖。PMU模塊主要包括軟件控制電路,、通信控制電路和控制執(zhí)行電路,。PMU模塊支持軟件配置產(chǎn)生控制指令,同時支持外部設(shè)備產(chǎn)生控制指令,;控制執(zhí)行電路根據(jù)接收到的控制指令對指定電源域進行上電或掉電操作,。
2.1 軟件配置產(chǎn)生控制指令
外部端口功能配置為外部觸發(fā)源,指令源選擇單元選擇軟件產(chǎn)生的控制指令,。此時,,PMU模塊為軟件管理可控電源域的功能,軟件控制電路工作,。軟件控制電路的功能主要包括軟件配置產(chǎn)生控制指令,、預(yù)測計時、控制指令生效的觸發(fā)源選擇等,。
通過寫控制指令產(chǎn)生寄存器,,產(chǎn)生控制指令;在合適的觸發(fā)源觸發(fā)時,,控制指令被送入控制執(zhí)行電路,。其中,觸發(fā)源包括內(nèi)部立即觸發(fā)源,、計時單元觸發(fā)源和外部觸發(fā)源。
以計時單元作為觸發(fā)源為例,。首先配置控制指令產(chǎn)生寄存器,,產(chǎn)生控制指令;接著,,選擇計時單元作為觸發(fā)源,;而后,配置計時單元的計時長度,。當(dāng)計時單元計滿時,,產(chǎn)生觸發(fā)源,該觸發(fā)源使得上述產(chǎn)生的控制指令生效,,同時控制指令經(jīng)過指令源選擇單元被送入控制執(zhí)行電路,。
此外,內(nèi)部立即觸發(fā)源是由寫立即觸發(fā)寄存器產(chǎn)生觸發(fā)信號,;外部觸發(fā)源是由外部設(shè)備產(chǎn)生的觸發(fā)信號,。對于三個觸發(fā)源,,可以選擇其中一個或幾個作為觸發(fā)源,具體根據(jù)應(yīng)用需求進行配置,。
2.2 外部設(shè)備產(chǎn)生控制指令
外部端口功能配置為通信功能,,指令源選擇單元選擇通信電路產(chǎn)生的控制指令。此時,,PMU模塊為外部設(shè)備管理可控電源域的功能,,通信控制電路工作。通信控制電路的主要功能是接收外部設(shè)備產(chǎn)生的控制指令,,并對接收到的指令進行解析,。
該通信控制電路中的指令接收單元采用異步串行通信的方式,這樣只需要一個IO端口就能夠?qū)崿F(xiàn)外部設(shè)備對MCU系統(tǒng)中的可控電源域進行動態(tài)管理,,節(jié)省了硬件IO資源,。
指令接收單元通過采用異步串行接收的方式實現(xiàn),接收外部設(shè)備產(chǎn)生的控制指令,,并將接收到的控制指令送入指令解析單元,。指令解析單元對接收的控制指令進行解析,產(chǎn)生控制執(zhí)行電路能夠識別的有效控制指令,。
當(dāng)應(yīng)用場景不需要外部設(shè)備進行控制時,,關(guān)閉通信控制電路的工作時鐘,以降低該部分電路的功耗,。為保證外部設(shè)備對MCU系統(tǒng)內(nèi)部可控電源域控制的安全性,,在指令解析階段屏蔽掉不允許受外部設(shè)備控制的可控電源域。
假定MCU系統(tǒng)中可控電源域個數(shù)為n,,外部設(shè)備能夠控制的可控電源域個數(shù)為m(m≤n),,則外部設(shè)備與PMU模塊中的通信電路之間通信的幀格式如圖3所示。
2.3 控制執(zhí)行電路的實現(xiàn)
控制執(zhí)行電路的主要功能是接收經(jīng)指令源選擇后的控制指令,,并根據(jù)該控制指令對相應(yīng)的可控電源域進行動態(tài)管理,。
對電源域的電源網(wǎng)絡(luò)進行動態(tài)管理需要嚴格的時序控制順序,一般采用硬件有限狀態(tài)機(FSM)實現(xiàn)[14],。圖4給出可控電源域掉電和上電的時序圖,,該圖中信號的時序由硬件FSM實現(xiàn)。為確??煽仉娫从虻綦姾蜕想姷陌踩?,增加了使能信號ena_pg。只有該信號高有效時,,才能夠?qū)煽仉娫从蜻M行管理,。
一幀控制指令數(shù)據(jù)中,1 bit對應(yīng)一個可控電源域,,“1”表示喚醒,,“0”表示關(guān)閉,。當(dāng)控制執(zhí)行電路接收到的控制指令中的某個bit為“0”,且對應(yīng)電源域為上電狀態(tài)時,,F(xiàn)SM產(chǎn)生sleep信號,,隨后進入掉電時序過程。掉電過程中,,先對電源域之間的信號隔離,;待確保隔離后,對該電源域的工作時鐘進行門控,;隨后,,保存必要寄存器的狀態(tài);最后關(guān)閉該電源域的供電,??煽仉娫从虻墓╇婈P(guān)閉后,功耗隨之降低,??刂浦噶钪械哪硞€bit為“1”,且對應(yīng)電源域?qū)Φ綦姞顟B(tài)時,,F(xiàn)SM產(chǎn)生wakeup信號,,隨后進入上電時序過程??煽仉娫从蛏想娺^程是掉電過程的逆過程,。
該控制執(zhí)行電路以獨立FSM的方式對各個可控電源域進行管理,即每個FSM專門管理一個指定的可控電源域,。
3 仿真結(jié)果及分析
本文用Synopsys公司的Prime Time PX工具對該動態(tài)管理方法對降低功耗的效果進行驗證,,并與傳統(tǒng)的門控時鐘方法進行比較。采用驅(qū)動電機的通用MCU作為降低功耗的對象,,該通用MCU以布局布線后的網(wǎng)表形式進行功耗仿真,。仿真時,采用0.13 μm的TSMC工藝庫,,工作電壓為1.5 V,MCU的工作時鐘頻率為10 MHz,。
仿真中,,PMU模塊執(zhí)行外部設(shè)備管理可控電源域的功能。在驅(qū)動電機的工作過程中,,MCU的脈寬調(diào)制模塊(PWM)產(chǎn)生脈寬可調(diào)制的波形,,用于驅(qū)動電機;電機狀態(tài)檢測及反饋單元通過串口(UART)將需要對電機進行調(diào)整的命令發(fā)送給MCU,,MCU根據(jù)接收到的調(diào)整命令對PWM模塊產(chǎn)生的波形進行修正,,以達到對電機的完美驅(qū)動,。當(dāng)電機需要切開工作狀態(tài)時,電機狀態(tài)監(jiān)測及反饋單元產(chǎn)生控制指令,,發(fā)送給PMU,。基于MCU驅(qū)動電機的方案原理圖如圖5所示,。在該方案中,,PMU能夠控制的電源域包括UART、PWM,、CPU和存儲單元所在的電源域,。為排除其他單元的影響,以下分析只考慮該MCU系統(tǒng)中PMU,、PWM,、UART、CPU和存儲單元,。
外部設(shè)備通過PMU模塊中的通信控制電路實現(xiàn)對內(nèi)部指定電源域的控制,。該通信過程影響著MCU系統(tǒng)的響應(yīng)時間。在上述方案中,,外部可控制的電源域共4個,,因此,通信的指令幀格式設(shè)定為7 bit,。不同工作頻率下,,系統(tǒng)響應(yīng)時間見圖6。PMU模塊的功耗與其工作時鐘頻率密切相關(guān),,圖6中同時給出PMU模塊通信時的功耗與工作頻率的關(guān)系,。
根據(jù)降低功耗的原則,通常選擇降低工作頻率,,以降低PMU模塊的功耗,。但降低PMU模塊的工作頻率,會導(dǎo)致系統(tǒng)響應(yīng)時間增加,。在上述方案中,,PMU模塊的工作時鐘配置為500 kHz,響應(yīng)時間為216 μs,,工作時的功耗為4.06 μW,。
考慮以下三種工作情況:PWM調(diào)節(jié)過程、PWM穩(wěn)定工作和待機,。在PWM調(diào)節(jié)過程階段,,外部設(shè)備通過UART與MCU系統(tǒng)通信,對PWM進行調(diào)節(jié),PWM,、UART,、CPU和存儲單元均在工作;在PWM穩(wěn)定工作階段,,電機工作在穩(wěn)定狀態(tài),,UART、CPU和存儲單元所在電源域被關(guān)閉,,只有PWM模塊在工作,;在待機狀態(tài)時,UART,、CPU,、存儲單元和PWM所在電源域均被關(guān)閉。
表1給出采用傳統(tǒng)門控時鐘方法和動態(tài)電源管理方法的MCU系統(tǒng)在不同工作情況下的總功耗,。傳統(tǒng)的門控時鐘方法在PWM調(diào)節(jié)過程中,,開啟PWM、UART,、CPU和存儲單元的工作時鐘,;在PWM穩(wěn)定工作時,保持PWM工作時鐘開啟,,關(guān)閉其他模塊的工作時鐘,;在待機狀態(tài)時,關(guān)閉所有模塊的工作時鐘,。其中,,PMU模塊的工作時鐘始終開啟。
由表1可知,,在PWM調(diào)節(jié)過程中,,兩種低功耗方法對系統(tǒng)總功耗的降低沒有貢獻。在PWM穩(wěn)定工作時,,采用傳統(tǒng)門控時鐘方法,,系統(tǒng)總功耗降低了6.22%;而采用動態(tài)功耗管理方法,,系統(tǒng)總功耗降低了6.50%,。在待機時,采用傳統(tǒng)門控時鐘方法,,系統(tǒng)總功耗降低了97.72%,;而采用動態(tài)功耗管理方法,系統(tǒng)總功耗降低了99.98%,。
表2給出采用傳統(tǒng)門控時鐘方法和動態(tài)電源管理方法的MCU系統(tǒng)在不同工作情況下的總靜態(tài)功耗,。
由表2可知,,在PWM調(diào)節(jié)過程中,,兩種低功耗方法在一定程度上增大了系統(tǒng)總靜態(tài)功耗,,增加比例分別為:2.78%和5.96%。這是由于兩種方法均增加了邏輯門,。在PWM穩(wěn)定工作時,,采用傳統(tǒng)門控時鐘方法,系統(tǒng)總靜態(tài)功耗降低了0.06%,;而采用動態(tài)功耗管理方法,,系統(tǒng)總靜態(tài)功耗降低了27.43%。在待機時,,采用傳統(tǒng)門控時鐘方法,,系統(tǒng)總靜態(tài)功耗降低了2.24%;而采用動態(tài)功耗管理方法,,系統(tǒng)總靜態(tài)功耗降低了98.18%,。
由以上分析可知,與傳統(tǒng)的門控時鐘方法相比,,本文提出的動態(tài)電源管理方法在降低系統(tǒng)靜態(tài)功耗方面有顯著作用,。
4 結(jié)論
提出了一種支持外部控制的動態(tài)電源管理方法。該動態(tài)電源管理方法支持內(nèi)部軟件控制MCU系統(tǒng)內(nèi)部電源域,,同時支持外部設(shè)備對MCU系統(tǒng)內(nèi)部電源域的控制,。外部設(shè)備能夠根據(jù)實際應(yīng)用場景,實時對MCU系統(tǒng)內(nèi)部指定電源域進行動態(tài)管理,,在降低靜態(tài)功耗方面具有靈活性和高效性,。與外部進行通信的端口與外部觸發(fā)源端口共用一個IO端口,沒有增加硬件IO資源消耗,,節(jié)省了寶貴的硬件IO資源,。隨著MCU系統(tǒng)功能復(fù)雜度的增加,對MCU系統(tǒng)進行多電源域劃分,,并能夠根據(jù)外部應(yīng)用場景實時對相應(yīng)電源域進行上電或斷電操作,,在降低系統(tǒng)功耗方面將會發(fā)揮重大作用。
參考文獻
[1] MORGENSHTEIN A.Short-circuit power reduction by using high-threshold transistors[J].Journal of Power Electronics & Applications,,2012,,2(4):69-78.
[2] SATO T,SHIBATA Y.Optimizing power heterogeneous functional units for dynamic and static power reduction[J].Electronics,,2014,,3(4):661-674.
[3] MESSARIS I,KARAGIORGOS N,,CHAOURANI P,,et al.Static gate power consumption model based on power contributors[C]//Design of Circuits and Integrated Circuits(DCIS),2014,Conference on IEEE,,2014:1-5.
[4] Adany R,,Aurbach D,Kraus S.Switching algorithms for extending battery life in electric vehicles[J].Journal of Power Sources,,2013,,231(1):50-59.
[5] KIM M W,YUN D G,,LEE J M,,et al.Battery life time extension method using selective data reception on smart phone[J].Icoin,2012:468-471.
[6] Yuksel T,,Michalek J.Development of a simulation model to analyze the effect of thermal management on battery life[C]//SAE 2012 World Congress & Exhibition,,2012:8-18.
[7] SHINDE J,SALANKAR S S.Clock gating-a power optimizing technique for VLSI circuits[C]//India Conference(INDICON),,2011 Annual IEEE,,2011:1-4.
[8] SAINT-LAURENT M,MOHD B J,,BASSETT P.Clock gating system and method:US,,US7902878[P].2011.
[9] 孫大鷹,徐申,,徐玉珉,,等.應(yīng)用于低功耗嵌入式的功耗動態(tài)管理策略設(shè)計[J].東南大學(xué)學(xué)報:自然科學(xué)版,2013,,43(4):695-700.
[10] SALEHI M E,,SAMADI M,NAJIBI M,,et al.Dynamic voltage and frequency scheduling for embedded processors considering power/performance tradeoffs[J].IEEE Trans on VLSI System,,2011,19(10):1931-1935.
[11] SRIVASTAVA M B,,CHANDRAKASAN A P,,BRODERSEN R W.Predictive system shutdown and other architectural techniques for energy efficient programmable computation[J].IEEE Trans on VLSI System,1996,,4(1):42-55.
[12] BENINI L,,HODGSON R,SIEGEL R.System-level power estimation and optimization[J].Proc Low Power Electronic and Design IEEE.Monterey,,1998:173-178.
[13] 王斌,,李寶魁.一種串口控制器及基于其的微控制器系統(tǒng)的喚醒方法:CN,CN104597790[P].2015.
[14] KEATING M,,F(xiàn)LYNN D,,AITKEN R,,et al.Low Power Methodology Manual.USA:Synopsys,Inc.& ARM Limited,,2007.
作者信息:
宋云雷1,,劉興輝1,閻 斌2,,金傳恩2
(1.遼寧大學(xué) 物理學(xué)院,遼寧 沈陽110036,;2.合肥科盛微電子科技有限公司,,安徽 合肥230088)