文献标识码: 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)