文獻(xiàn)標(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è)計(jì)中,功耗已成為制約設(shè)計(jì)發(fā)展的一個(gè)重要因素,特別在集成電路工藝發(fā)展到深亞微米級甚至納米級后,芯片的靜態(tài)功耗占總功耗的比重越來越大[1-3]?,F(xiàn)在電池供電的產(chǎn)品越來越普遍,比如電動汽車、無人機(jī)、移動POS機(jī)等。由于電池技術(shù)的發(fā)展速度比電子產(chǎn)品慢,如有效降低功耗,能節(jié)省能量,提高系統(tǒng)待機(jī)時(shí)間,還能夠延長電池的使用壽命[4-6]。
近年來,研究人員在降低功耗的技術(shù)方面取得了很大進(jìn)展。門控時(shí)鐘技術(shù)就是目前最常用的低功耗設(shè)計(jì)技術(shù)之一。門控時(shí)鐘技術(shù)在降低VLSI的動態(tài)功耗方面有顯著作用,但對降低靜態(tài)功耗基本沒有作用[7,8]。動態(tài)電壓頻率調(diào)節(jié)技術(shù)根據(jù)系統(tǒng)不同的進(jìn)程任務(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ìn)行主動控制,但不能根據(jù)外部應(yīng)用場景,由外部設(shè)備實(shí)時(shí)對可控電源域進(jìn)行控制[11,12]。文獻(xiàn)[13]提出一種基于串口控制器的外部喚醒方法,但該喚醒方法是喚醒系統(tǒng)的工作時(shí)鐘,而不能喚醒指定電源域。
為降低微控制器(MCU)系統(tǒng)功耗,節(jié)省硬件資源,本文提出了一種支持外部控制的動態(tài)電源管理方法。該方法不僅支持內(nèi)部軟件通過執(zhí)行預(yù)測關(guān)閉和預(yù)測喚醒等策略對MCU系統(tǒng)內(nèi)部可控電源域進(jìn)行控制,而且還擴(kuò)展支持外部設(shè)備對MCU系統(tǒng)內(nèi)部可控電源域進(jìn)行實(shí)時(shí)控制,及時(shí)降低MCU系統(tǒng)功耗。為實(shí)現(xiàn)外部設(shè)備對MCU系統(tǒng)內(nèi)部可控電源域的實(shí)時(shí)控制,設(shè)計(jì)集成了通信電路。該通信電路的通信端口與外部喚醒端口共用一個(gè)IO端口,節(jié)省了寶貴的硬件資源。
1 多電源域架構(gòu)
圖1為采用動態(tài)電源管理方法的MCU系統(tǒng)的多電源域示意圖。根據(jù)模塊功能,將MCU系統(tǒng)劃分為若干個(gè)電源域。PMU模塊為動態(tài)電源管理模塊,是本文實(shí)現(xiàn)動態(tài)電源管理方法的功能模塊,處于常開電源域中。PMU模塊的時(shí)鐘來自時(shí)鐘產(chǎn)生單元,因此時(shí)鐘產(chǎn)生單元需要放在常開電源域中。虛線框內(nèi)為可控電源域,受PMU模塊控制。圖1中,其他外設(shè)放入一個(gè)虛線框內(nèi),不代表其他所有外設(shè)在同一個(gè)電源域,這要根據(jù)具體功能需求具體設(shè)計(jì)。
2 動態(tài)電源管理方法實(shí)現(xiàn)
根據(jù)CMOS集成電路理論,CMOS電路的系統(tǒng)功耗模型:
式中,P是MCU系統(tǒng)的總功耗;Pdynamic是MCU系統(tǒng)的動態(tài)功耗;Pstatic是MCU系統(tǒng)的靜態(tài)功耗;Ceff是等效負(fù)載電容值;Vdd是工作電壓;fclock是系統(tǒng)工作頻率; Istatic是靜態(tài)電流的總和。
由式(1)可知,通過減小或關(guān)閉工作電壓可以降低MCU系統(tǒng)的動態(tài)功耗和靜態(tài)功耗。PMU模塊就是根據(jù)MCU系統(tǒng)的實(shí)際工作情況對相應(yīng)模塊的電源域進(jìn)行靈活開啟或關(guān)閉,以降低功耗。圖2為PMU模塊的功能結(jié)構(gòu)圖。PMU模塊主要包括軟件控制電路、通信控制電路和控制執(zhí)行電路。PMU模塊支持軟件配置產(chǎn)生控制指令,同時(shí)支持外部設(shè)備產(chǎn)生控制指令;控制執(zhí)行電路根據(jù)接收到的控制指令對指定電源域進(jìn)行上電或掉電操作。
2.1 軟件配置產(chǎn)生控制指令
外部端口功能配置為外部觸發(fā)源,指令源選擇單元選擇軟件產(chǎn)生的控制指令。此時(shí),PMU模塊為軟件管理可控電源域的功能,軟件控制電路工作。軟件控制電路的功能主要包括軟件配置產(chǎn)生控制指令、預(yù)測計(jì)時(shí)、控制指令生效的觸發(fā)源選擇等。
通過寫控制指令產(chǎn)生寄存器,產(chǎn)生控制指令;在合適的觸發(fā)源觸發(fā)時(shí),控制指令被送入控制執(zhí)行電路。其中,觸發(fā)源包括內(nèi)部立即觸發(fā)源、計(jì)時(shí)單元觸發(fā)源和外部觸發(fā)源。
以計(jì)時(shí)單元作為觸發(fā)源為例。首先配置控制指令產(chǎn)生寄存器,產(chǎn)生控制指令;接著,選擇計(jì)時(shí)單元作為觸發(fā)源;而后,配置計(jì)時(shí)單元的計(jì)時(shí)長度。當(dāng)計(jì)時(shí)單元計(jì)滿時(shí),產(chǎn)生觸發(fā)源,該觸發(fā)源使得上述產(chǎn)生的控制指令生效,同時(shí)控制指令經(jīng)過指令源選擇單元被送入控制執(zhí)行電路。
此外,內(nèi)部立即觸發(fā)源是由寫立即觸發(fā)寄存器產(chǎn)生觸發(fā)信號;外部觸發(fā)源是由外部設(shè)備產(chǎn)生的觸發(fā)信號。對于三個(gè)觸發(fā)源,可以選擇其中一個(gè)或幾個(gè)作為觸發(fā)源,具體根據(jù)應(yīng)用需求進(jìn)行配置。
2.2 外部設(shè)備產(chǎn)生控制指令
外部端口功能配置為通信功能,指令源選擇單元選擇通信電路產(chǎn)生的控制指令。此時(shí),PMU模塊為外部設(shè)備管理可控電源域的功能,通信控制電路工作。通信控制電路的主要功能是接收外部設(shè)備產(chǎn)生的控制指令,并對接收到的指令進(jìn)行解析。
該通信控制電路中的指令接收單元采用異步串行通信的方式,這樣只需要一個(gè)IO端口就能夠?qū)崿F(xiàn)外部設(shè)備對MCU系統(tǒng)中的可控電源域進(jìn)行動態(tài)管理,節(jié)省了硬件IO資源。
指令接收單元通過采用異步串行接收的方式實(shí)現(xiàn),接收外部設(shè)備產(chǎn)生的控制指令,并將接收到的控制指令送入指令解析單元。指令解析單元對接收的控制指令進(jìn)行解析,產(chǎn)生控制執(zhí)行電路能夠識別的有效控制指令。
當(dāng)應(yīng)用場景不需要外部設(shè)備進(jìn)行控制時(shí),關(guān)閉通信控制電路的工作時(shí)鐘,以降低該部分電路的功耗。為保證外部設(shè)備對MCU系統(tǒng)內(nèi)部可控電源域控制的安全性,在指令解析階段屏蔽掉不允許受外部設(shè)備控制的可控電源域。
假定MCU系統(tǒng)中可控電源域個(gè)數(shù)為n,外部設(shè)備能夠控制的可控電源域個(gè)數(shù)為m(m≤n),則外部設(shè)備與PMU模塊中的通信電路之間通信的幀格式如圖3所示。
2.3 控制執(zhí)行電路的實(shí)現(xiàn)
控制執(zhí)行電路的主要功能是接收經(jīng)指令源選擇后的控制指令,并根據(jù)該控制指令對相應(yīng)的可控電源域進(jìn)行動態(tài)管理。
對電源域的電源網(wǎng)絡(luò)進(jìn)行動態(tài)管理需要嚴(yán)格的時(shí)序控制順序,一般采用硬件有限狀態(tài)機(jī)(FSM)實(shí)現(xiàn)[14]。圖4給出可控電源域掉電和上電的時(shí)序圖,該圖中信號的時(shí)序由硬件FSM實(shí)現(xiàn)。為確??煽仉娫从虻綦姾蜕想姷陌踩?,增加了使能信號ena_pg。只有該信號高有效時(shí),才能夠?qū)煽仉娫从蜻M(jìn)行管理。
一幀控制指令數(shù)據(jù)中,1 bit對應(yīng)一個(gè)可控電源域,“1”表示喚醒,“0”表示關(guān)閉。當(dāng)控制執(zhí)行電路接收到的控制指令中的某個(gè)bit為“0”,且對應(yīng)電源域?yàn)樯想姞顟B(tài)時(shí),F(xiàn)SM產(chǎn)生sleep信號,隨后進(jìn)入掉電時(shí)序過程。掉電過程中,先對電源域之間的信號隔離;待確保隔離后,對該電源域的工作時(shí)鐘進(jìn)行門控;隨后,保存必要寄存器的狀態(tài);最后關(guān)閉該電源域的供電??煽仉娫从虻墓╇婈P(guān)閉后,功耗隨之降低??刂浦噶钪械哪硞€(gè)bit為“1”,且對應(yīng)電源域?qū)Φ綦姞顟B(tài)時(shí),F(xiàn)SM產(chǎn)生wakeup信號,隨后進(jìn)入上電時(shí)序過程。可控電源域上電過程是掉電過程的逆過程。
該控制執(zhí)行電路以獨(dú)立FSM的方式對各個(gè)可控電源域進(jìn)行管理,即每個(gè)FSM專門管理一個(gè)指定的可控電源域。
3 仿真結(jié)果及分析
本文用Synopsys公司的Prime Time PX工具對該動態(tài)管理方法對降低功耗的效果進(jìn)行驗(yàn)證,并與傳統(tǒng)的門控時(shí)鐘方法進(jìn)行比較。采用驅(qū)動電機(jī)的通用MCU作為降低功耗的對象,該通用MCU以布局布線后的網(wǎng)表形式進(jìn)行功耗仿真。仿真時(shí),采用0.13 μm的TSMC工藝庫,工作電壓為1.5 V,MCU的工作時(shí)鐘頻率為10 MHz。
仿真中,PMU模塊執(zhí)行外部設(shè)備管理可控電源域的功能。在驅(qū)動電機(jī)的工作過程中,MCU的脈寬調(diào)制模塊(PWM)產(chǎn)生脈寬可調(diào)制的波形,用于驅(qū)動電機(jī);電機(jī)狀態(tài)檢測及反饋單元通過串口(UART)將需要對電機(jī)進(jìn)行調(diào)整的命令發(fā)送給MCU,MCU根據(jù)接收到的調(diào)整命令對PWM模塊產(chǎn)生的波形進(jìn)行修正,以達(dá)到對電機(jī)的完美驅(qū)動。當(dāng)電機(jī)需要切開工作狀態(tài)時(shí),電機(jī)狀態(tài)監(jiān)測及反饋單元產(chǎn)生控制指令,發(fā)送給PMU?;贛CU驅(qū)動電機(jī)的方案原理圖如圖5所示。在該方案中,PMU能夠控制的電源域包括UART、PWM、CPU和存儲單元所在的電源域。為排除其他單元的影響,以下分析只考慮該MCU系統(tǒng)中PMU、PWM、UART、CPU和存儲單元。
外部設(shè)備通過PMU模塊中的通信控制電路實(shí)現(xiàn)對內(nèi)部指定電源域的控制。該通信過程影響著MCU系統(tǒng)的響應(yīng)時(shí)間。在上述方案中,外部可控制的電源域共4個(gè),因此,通信的指令幀格式設(shè)定為7 bit。不同工作頻率下,系統(tǒng)響應(yīng)時(shí)間見圖6。PMU模塊的功耗與其工作時(shí)鐘頻率密切相關(guān),圖6中同時(shí)給出PMU模塊通信時(shí)的功耗與工作頻率的關(guān)系。
根據(jù)降低功耗的原則,通常選擇降低工作頻率,以降低PMU模塊的功耗。但降低PMU模塊的工作頻率,會導(dǎo)致系統(tǒng)響應(yīng)時(shí)間增加。在上述方案中,PMU模塊的工作時(shí)鐘配置為500 kHz,響應(yīng)時(shí)間為216 μs,工作時(shí)的功耗為4.06 μW。
考慮以下三種工作情況:PWM調(diào)節(jié)過程、PWM穩(wěn)定工作和待機(jī)。在PWM調(diào)節(jié)過程階段,外部設(shè)備通過UART與MCU系統(tǒng)通信,對PWM進(jìn)行調(diào)節(jié),PWM、UART、CPU和存儲單元均在工作;在PWM穩(wěn)定工作階段,電機(jī)工作在穩(wěn)定狀態(tài),UART、CPU和存儲單元所在電源域被關(guān)閉,只有PWM模塊在工作;在待機(jī)狀態(tài)時(shí),UART、CPU、存儲單元和PWM所在電源域均被關(guān)閉。
表1給出采用傳統(tǒng)門控時(shí)鐘方法和動態(tài)電源管理方法的MCU系統(tǒng)在不同工作情況下的總功耗。傳統(tǒng)的門控時(shí)鐘方法在PWM調(diào)節(jié)過程中,開啟PWM、UART、CPU和存儲單元的工作時(shí)鐘;在PWM穩(wěn)定工作時(shí),保持PWM工作時(shí)鐘開啟,關(guān)閉其他模塊的工作時(shí)鐘;在待機(jī)狀態(tài)時(shí),關(guān)閉所有模塊的工作時(shí)鐘。其中,PMU模塊的工作時(shí)鐘始終開啟。
由表1可知,在PWM調(diào)節(jié)過程中,兩種低功耗方法對系統(tǒng)總功耗的降低沒有貢獻(xiàn)。在PWM穩(wěn)定工作時(shí),采用傳統(tǒng)門控時(shí)鐘方法,系統(tǒng)總功耗降低了6.22%;而采用動態(tài)功耗管理方法,系統(tǒng)總功耗降低了6.50%。在待機(jī)時(shí),采用傳統(tǒng)門控時(shí)鐘方法,系統(tǒng)總功耗降低了97.72%;而采用動態(tài)功耗管理方法,系統(tǒng)總功耗降低了99.98%。
表2給出采用傳統(tǒng)門控時(shí)鐘方法和動態(tài)電源管理方法的MCU系統(tǒng)在不同工作情況下的總靜態(tài)功耗。
由表2可知,在PWM調(diào)節(jié)過程中,兩種低功耗方法在一定程度上增大了系統(tǒng)總靜態(tài)功耗,增加比例分別為:2.78%和5.96%。這是由于兩種方法均增加了邏輯門。在PWM穩(wěn)定工作時(shí),采用傳統(tǒng)門控時(shí)鐘方法,系統(tǒng)總靜態(tài)功耗降低了0.06%;而采用動態(tài)功耗管理方法,系統(tǒng)總靜態(tài)功耗降低了27.43%。在待機(jī)時(shí),采用傳統(tǒng)門控時(shí)鐘方法,系統(tǒng)總靜態(tài)功耗降低了2.24%;而采用動態(tài)功耗管理方法,系統(tǒng)總靜態(tài)功耗降低了98.18%。
由以上分析可知,與傳統(tǒng)的門控時(shí)鐘方法相比,本文提出的動態(tài)電源管理方法在降低系統(tǒng)靜態(tài)功耗方面有顯著作用。
4 結(jié)論
提出了一種支持外部控制的動態(tài)電源管理方法。該動態(tài)電源管理方法支持內(nèi)部軟件控制MCU系統(tǒng)內(nèi)部電源域,同時(shí)支持外部設(shè)備對MCU系統(tǒng)內(nèi)部電源域的控制。外部設(shè)備能夠根據(jù)實(shí)際應(yīng)用場景,實(shí)時(shí)對MCU系統(tǒng)內(nèi)部指定電源域進(jìn)行動態(tài)管理,在降低靜態(tài)功耗方面具有靈活性和高效性。與外部進(jìn)行通信的端口與外部觸發(fā)源端口共用一個(gè)IO端口,沒有增加硬件IO資源消耗,節(jié)省了寶貴的硬件IO資源。隨著MCU系統(tǒng)功能復(fù)雜度的增加,對MCU系統(tǒng)進(jìn)行多電源域劃分,并能夠根據(jù)外部應(yīng)用場景實(shí)時(shí)對相應(yīng)電源域進(jìn)行上電或斷電操作,在降低系統(tǒng)功耗方面將會發(fā)揮重大作用。
參考文獻(xiàn)
[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ì)[J].東南大學(xué)學(xué)報(bào):自然科學(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)