文獻標識碼: A
DOI:10.16157/j.issn.0258-7998.2017.03.034
中文引用格式: 宋云雷,劉興輝,閻斌,等. 一種支持外部控制的動態電源管理方法[J].電子技術應用,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 引言
超大規模數字集成電路(Very Large Scale Integrated Circuit,VLSI)設計中,功耗已成為制約設計發展的一個重要因素,特別在集成電路工藝發展到深亞微米級甚至納米級后,芯片的靜態功耗占總功耗的比重越來越大[1-3]。現在電池供電的產品越來越普遍,比如電動汽車、無人機、移動POS機等。由于電池技術的發展速度比電子產品慢,如有效降低功耗,能節省能量,提高系統待機時間,還能夠延長電池的使用壽命[4-6]。
近年來,研究人員在降低功耗的技術方面取得了很大進展。門控時鐘技術就是目前最常用的低功耗設計技術之一。門控時鐘技術在降低VLSI的動態功耗方面有顯著作用,但對降低靜態功耗基本沒有作用[7,8]。動態電壓頻率調節技術根據系統不同的進程任務,動態調節工作電壓和頻率,一定程度上降低了系統的動態功耗和靜態功耗,但對于不需要工作的模塊,其靜態功耗還有降低的空間[9,10]。傳統的電源門控技術能夠有效降低系統的靜態功耗,通過內部操作系統或軟件執行預測關閉或預測喚醒策略對可控電源域進行主動控制,但不能根據外部應用場景,由外部設備實時對可控電源域進行控制[11,12]。文獻[13]提出一種基于串口控制器的外部喚醒方法,但該喚醒方法是喚醒系統的工作時鐘,而不能喚醒指定電源域。
為降低微控制器(MCU)系統功耗,節省硬件資源,本文提出了一種支持外部控制的動態電源管理方法。該方法不僅支持內部軟件通過執行預測關閉和預測喚醒等策略對MCU系統內部可控電源域進行控制,而且還擴展支持外部設備對MCU系統內部可控電源域進行實時控制,及時降低MCU系統功耗。為實現外部設備對MCU系統內部可控電源域的實時控制,設計集成了通信電路。該通信電路的通信端口與外部喚醒端口共用一個IO端口,節省了寶貴的硬件資源。
1 多電源域架構
圖1為采用動態電源管理方法的MCU系統的多電源域示意圖。根據模塊功能,將MCU系統劃分為若干個電源域。PMU模塊為動態電源管理模塊,是本文實現動態電源管理方法的功能模塊,處于常開電源域中。PMU模塊的時鐘來自時鐘產生單元,因此時鐘產生單元需要放在常開電源域中。虛線框內為可控電源域,受PMU模塊控制。圖1中,其他外設放入一個虛線框內,不代表其他所有外設在同一個電源域,這要根據具體功能需求具體設計。
2 動態電源管理方法實現
根據CMOS集成電路理論,CMOS電路的系統功耗模型:
式中,P是MCU系統的總功耗;Pdynamic是MCU系統的動態功耗;Pstatic是MCU系統的靜態功耗;Ceff是等效負載電容值;Vdd是工作電壓;fclock是系統工作頻率; Istatic是靜態電流的總和。
由式(1)可知,通過減小或關閉工作電壓可以降低MCU系統的動態功耗和靜態功耗。PMU模塊就是根據MCU系統的實際工作情況對相應模塊的電源域進行靈活開啟或關閉,以降低功耗。圖2為PMU模塊的功能結構圖。PMU模塊主要包括軟件控制電路、通信控制電路和控制執行電路。PMU模塊支持軟件配置產生控制指令,同時支持外部設備產生控制指令;控制執行電路根據接收到的控制指令對指定電源域進行上電或掉電操作。
2.1 軟件配置產生控制指令
外部端口功能配置為外部觸發源,指令源選擇單元選擇軟件產生的控制指令。此時,PMU模塊為軟件管理可控電源域的功能,軟件控制電路工作。軟件控制電路的功能主要包括軟件配置產生控制指令、預測計時、控制指令生效的觸發源選擇等。
通過寫控制指令產生寄存器,產生控制指令;在合適的觸發源觸發時,控制指令被送入控制執行電路。其中,觸發源包括內部立即觸發源、計時單元觸發源和外部觸發源。
以計時單元作為觸發源為例。首先配置控制指令產生寄存器,產生控制指令;接著,選擇計時單元作為觸發源;而后,配置計時單元的計時長度。當計時單元計滿時,產生觸發源,該觸發源使得上述產生的控制指令生效,同時控制指令經過指令源選擇單元被送入控制執行電路。
此外,內部立即觸發源是由寫立即觸發寄存器產生觸發信號;外部觸發源是由外部設備產生的觸發信號。對于三個觸發源,可以選擇其中一個或幾個作為觸發源,具體根據應用需求進行配置。
2.2 外部設備產生控制指令
外部端口功能配置為通信功能,指令源選擇單元選擇通信電路產生的控制指令。此時,PMU模塊為外部設備管理可控電源域的功能,通信控制電路工作。通信控制電路的主要功能是接收外部設備產生的控制指令,并對接收到的指令進行解析。
該通信控制電路中的指令接收單元采用異步串行通信的方式,這樣只需要一個IO端口就能夠實現外部設備對MCU系統中的可控電源域進行動態管理,節省了硬件IO資源。
指令接收單元通過采用異步串行接收的方式實現,接收外部設備產生的控制指令,并將接收到的控制指令送入指令解析單元。指令解析單元對接收的控制指令進行解析,產生控制執行電路能夠識別的有效控制指令。
當應用場景不需要外部設備進行控制時,關閉通信控制電路的工作時鐘,以降低該部分電路的功耗。為保證外部設備對MCU系統內部可控電源域控制的安全性,在指令解析階段屏蔽掉不允許受外部設備控制的可控電源域。
假定MCU系統中可控電源域個數為n,外部設備能夠控制的可控電源域個數為m(m≤n),則外部設備與PMU模塊中的通信電路之間通信的幀格式如圖3所示。
2.3 控制執行電路的實現
控制執行電路的主要功能是接收經指令源選擇后的控制指令,并根據該控制指令對相應的可控電源域進行動態管理。
對電源域的電源網絡進行動態管理需要嚴格的時序控制順序,一般采用硬件有限狀態機(FSM)實現[14]。圖4給出可控電源域掉電和上電的時序圖,該圖中信號的時序由硬件FSM實現。為確保可控電源域掉電和上電的安全性,增加了使能信號ena_pg。只有該信號高有效時,才能夠對可控電源域進行管理。
一幀控制指令數據中,1 bit對應一個可控電源域,“1”表示喚醒,“0”表示關閉。當控制執行電路接收到的控制指令中的某個bit為“0”,且對應電源域為上電狀態時,FSM產生sleep信號,隨后進入掉電時序過程。掉電過程中,先對電源域之間的信號隔離;待確保隔離后,對該電源域的工作時鐘進行門控;隨后,保存必要寄存器的狀態;最后關閉該電源域的供電。可控電源域的供電關閉后,功耗隨之降低。控制指令中的某個bit為“1”,且對應電源域對掉電狀態時,FSM產生wakeup信號,隨后進入上電時序過程。可控電源域上電過程是掉電過程的逆過程。
該控制執行電路以獨立FSM的方式對各個可控電源域進行管理,即每個FSM專門管理一個指定的可控電源域。
3 仿真結果及分析
本文用Synopsys公司的Prime Time PX工具對該動態管理方法對降低功耗的效果進行驗證,并與傳統的門控時鐘方法進行比較。采用驅動電機的通用MCU作為降低功耗的對象,該通用MCU以布局布線后的網表形式進行功耗仿真。仿真時,采用0.13 μm的TSMC工藝庫,工作電壓為1.5 V,MCU的工作時鐘頻率為10 MHz。
仿真中,PMU模塊執行外部設備管理可控電源域的功能。在驅動電機的工作過程中,MCU的脈寬調制模塊(PWM)產生脈寬可調制的波形,用于驅動電機;電機狀態檢測及反饋單元通過串口(UART)將需要對電機進行調整的命令發送給MCU,MCU根據接收到的調整命令對PWM模塊產生的波形進行修正,以達到對電機的完美驅動。當電機需要切開工作狀態時,電機狀態監測及反饋單元產生控制指令,發送給PMU。基于MCU驅動電機的方案原理圖如圖5所示。在該方案中,PMU能夠控制的電源域包括UART、PWM、CPU和存儲單元所在的電源域。為排除其他單元的影響,以下分析只考慮該MCU系統中PMU、PWM、UART、CPU和存儲單元。
外部設備通過PMU模塊中的通信控制電路實現對內部指定電源域的控制。該通信過程影響著MCU系統的響應時間。在上述方案中,外部可控制的電源域共4個,因此,通信的指令幀格式設定為7 bit。不同工作頻率下,系統響應時間見圖6。PMU模塊的功耗與其工作時鐘頻率密切相關,圖6中同時給出PMU模塊通信時的功耗與工作頻率的關系。
根據降低功耗的原則,通常選擇降低工作頻率,以降低PMU模塊的功耗。但降低PMU模塊的工作頻率,會導致系統響應時間增加。在上述方案中,PMU模塊的工作時鐘配置為500 kHz,響應時間為216 μs,工作時的功耗為4.06 μW。
考慮以下三種工作情況:PWM調節過程、PWM穩定工作和待機。在PWM調節過程階段,外部設備通過UART與MCU系統通信,對PWM進行調節,PWM、UART、CPU和存儲單元均在工作;在PWM穩定工作階段,電機工作在穩定狀態,UART、CPU和存儲單元所在電源域被關閉,只有PWM模塊在工作;在待機狀態時,UART、CPU、存儲單元和PWM所在電源域均被關閉。
表1給出采用傳統門控時鐘方法和動態電源管理方法的MCU系統在不同工作情況下的總功耗。傳統的門控時鐘方法在PWM調節過程中,開啟PWM、UART、CPU和存儲單元的工作時鐘;在PWM穩定工作時,保持PWM工作時鐘開啟,關閉其他模塊的工作時鐘;在待機狀態時,關閉所有模塊的工作時鐘。其中,PMU模塊的工作時鐘始終開啟。
由表1可知,在PWM調節過程中,兩種低功耗方法對系統總功耗的降低沒有貢獻。在PWM穩定工作時,采用傳統門控時鐘方法,系統總功耗降低了6.22%;而采用動態功耗管理方法,系統總功耗降低了6.50%。在待機時,采用傳統門控時鐘方法,系統總功耗降低了97.72%;而采用動態功耗管理方法,系統總功耗降低了99.98%。
表2給出采用傳統門控時鐘方法和動態電源管理方法的MCU系統在不同工作情況下的總靜態功耗。
由表2可知,在PWM調節過程中,兩種低功耗方法在一定程度上增大了系統總靜態功耗,增加比例分別為:2.78%和5.96%。這是由于兩種方法均增加了邏輯門。在PWM穩定工作時,采用傳統門控時鐘方法,系統總靜態功耗降低了0.06%;而采用動態功耗管理方法,系統總靜態功耗降低了27.43%。在待機時,采用傳統門控時鐘方法,系統總靜態功耗降低了2.24%;而采用動態功耗管理方法,系統總靜態功耗降低了98.18%。
由以上分析可知,與傳統的門控時鐘方法相比,本文提出的動態電源管理方法在降低系統靜態功耗方面有顯著作用。
4 結論
提出了一種支持外部控制的動態電源管理方法。該動態電源管理方法支持內部軟件控制MCU系統內部電源域,同時支持外部設備對MCU系統內部電源域的控制。外部設備能夠根據實際應用場景,實時對MCU系統內部指定電源域進行動態管理,在降低靜態功耗方面具有靈活性和高效性。與外部進行通信的端口與外部觸發源端口共用一個IO端口,沒有增加硬件IO資源消耗,節省了寶貴的硬件IO資源。隨著MCU系統功能復雜度的增加,對MCU系統進行多電源域劃分,并能夠根據外部應用場景實時對相應電源域進行上電或斷電操作,在降低系統功耗方面將會發揮重大作用。
參考文獻
[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] 孫大鷹,徐申,徐玉珉,等.應用于低功耗嵌入式的功耗動態管理策略設計[J].東南大學學報:自然科學版,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] 王斌,李寶魁.一種串口控制器及基于其的微控制器系統的喚醒方法:CN,CN104597790[P].2015.
[14] KEATING M,FLYNN D,AITKEN R,et al.Low Power Methodology Manual.USA:Synopsys,Inc.& ARM Limited,2007.
作者信息:
宋云雷1,劉興輝1,閻 斌2,金傳恩2
(1.遼寧大學 物理學院,遼寧 沈陽110036;2.合肥科盛微電子科技有限公司,安徽 合肥230088)