《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 電源技術(shù) > 設(shè)計(jì)應(yīng)用 > 一種支持外部控制的動態(tài)電源管理方法
一種支持外部控制的動態(tài)電源管理方法
2017年電子技術(shù)應(yīng)用第3期
宋云雷1,劉興輝1,閻 斌2,金傳恩2
1.遼寧大學(xué) 物理學(xué)院,遼寧 沈陽110036;2.合肥科盛微電子科技有限公司,安徽 合肥230088
摘要: 為降低微控制器(MCU)應(yīng)用系統(tǒng)的功耗,節(jié)省硬件資源,提出了一種新型的動態(tài)電源管理方法。該動態(tài)電源管理方法在支持內(nèi)部軟件控制MCU系統(tǒng)內(nèi)部電源域的基礎(chǔ)上,擴(kuò)展支持了外部設(shè)備對MCU系統(tǒng)內(nèi)部電源域的控制;外部設(shè)備能夠根據(jù)實(shí)際的應(yīng)用場景實(shí)時(shí)通過通信電路對MCU系統(tǒng)內(nèi)部電源域進(jìn)行開啟或關(guān)斷控制;通信電路使用的通信端口與外部喚醒端口復(fù)用一個(gè)IO端口。仿真結(jié)果表明,對比傳統(tǒng)門控時(shí)鐘的低功耗方法,采用該動態(tài)電源管理方法在降低驅(qū)動電機(jī)的通用MCU系統(tǒng)的靜態(tài)功耗方面有顯著作用:在脈寬調(diào)制模塊(PWM)穩(wěn)定工作和待機(jī)狀態(tài)時(shí),系統(tǒng)總靜態(tài)功耗分別降低了27.43%和98.18%。有效降低了MCU的系統(tǒng)功耗,節(jié)省了硬件資源,提高了對MCU內(nèi)部電源域控制的靈活性和高效性。
中圖分類號: TN43;TN47
文獻(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.
A novel method of dynamic power management for supporting external device control
Song Yunlei1,Liu Xinghui1,Yan Bin2,Jin Chuan′en2
1.College of Physics,Liaoning University,Shenyang 110036,China;2.Silicon Ark Technology Co.Ltd,Hefei 230088,China
Abstract: In order to reduce the power consumption of a MCU system, and to save the hardware resources, a novel method of dynamic power management is proposed. The dynamic power management method supports not only the software but also the external device to manage the power domain of the MCU system; according to the actual application scenario, the external device can power on or off the power domain of the MCU system through the communication circuit in real time; the communication IO port of the communication circuit is reused with the external wake-up IO port. Experimental results show that, compared with the traditional method of clock gating, the method of dynamic power management has a significant effect on reducing the static power consumption of a general MCU driving motor: during the pulse width modulation(PWM) module in stable operation and standby state, the total static power consumption of the MCU system is reduced by 27.43% and 98.18% respectively. The dynamic power management effectively reduces the power consumption of MCU, saves the hardware resources, and improves the flexibility and efficiency of the control of power domain in MCU.
Key words : internal power domain control;IO port reused;dynamic power management;low power MCU

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ì)。

dy3-t1.gif

2 動態(tài)電源管理方法實(shí)現(xiàn)

    根據(jù)CMOS集成電路理論,CMOS電路的系統(tǒng)功耗模型:

    dy3-gs1.gif

式中,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)行上電或掉電操作。

dy3-t2.gif

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所示。

dy3-t3.gif

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)行管理。

dy3-t4.gif

    一幀控制指令數(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和存儲單元。

dy3-t5.gif

    外部設(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)系。

dy3-t6.gif

    根據(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í)鐘始終開啟。

dy3-b1.gif

    由表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)功耗。

dy3-b2.gif

    由表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)

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