CN106371549A - 一种应用于mcu***的超低功耗时钟控制方法 - Google Patents
一种应用于mcu***的超低功耗时钟控制方法 Download PDFInfo
- Publication number
- CN106371549A CN106371549A CN201610858267.3A CN201610858267A CN106371549A CN 106371549 A CN106371549 A CN 106371549A CN 201610858267 A CN201610858267 A CN 201610858267A CN 106371549 A CN106371549 A CN 106371549A
- Authority
- CN
- China
- Prior art keywords
- clock
- power consumption
- clkper
- ick
- idle
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3237—Power saving characterised by the action undertaken by disabling clock generation or distribution
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
- G06F1/32—Means for saving power
- G06F1/3203—Power management, i.e. event-based initiation of a power-saving mode
- G06F1/3234—Power saving characterised by the action undertaken
- G06F1/3287—Power saving characterised by the action undertaken by switching off individual functional units in the computer system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Power Sources (AREA)
Abstract
本发明公开了一种应用于MCU***的超低功耗时钟控制方法,包括MCU***,整个MCU***里有两个时钟clkcpu和clkper,***低功耗模式包括IDLE和STOP模式,当***进入IDLE模式时,时钟clkcpu关闭而时钟clkper打开,CPU进入休眠状态,此时只有外部设备正在工作;当***进入STOP模式时,时钟clkcpu和时钟clkper同时关闭,CPU进入深度睡眠,此时CPU和外部设备均停止工作。本发明通过一种门控时钟和深度睡眠的方式,降低***功耗,提高整体稳定性,延长电池使用寿命。在微处理器设计中,大部分功耗来自于时钟,时钟会带来不断的充放电,因此通过降低时钟的活动性,将对整个***的功耗带来极大的影响;此发明从***时钟源进行时钟门控,关闭整个MCU的工作时钟,同时,让***进入深度睡眠状态。
Description
技术领域
本发明涉及一种控制方法,具体是一种应用于MCU***的超低功耗时钟控制方法。
背景技术
目前,低功耗设计主要从芯片设计和***设计两方面考虑。功耗增加将会导致***温度过高,从而可靠性的下降。同时,R8051MCU被广泛应用于便携式和移动性的产品中,这类的产品没有充足的电源供应,往往仅靠电池来供电。所以,如何通过降低功耗来提高***稳定性和延长电池使用寿命的问题,便显得更加迫切。
发明内容
本发明的目的在于提供一种应用于MCU***的超低功耗时钟控制方法,以解决上述背景技术中提出的问题。
为实现上述目的,本发明提供如下技术方案:
一种应用于MCU***的超低功耗时钟控制方法,包括MCU***,整个MCU***里有两个时钟clkcpu和clkper,***低功耗模式包括IDLE和STOP模式,当***进入IDLE模式时,时钟clkcpu关闭而时钟clkper打开,CPU进入休眠状态,此时只有外部设备正在工作;当***进入STOP模式时,时钟clkcpu和时钟clkper同时关闭,CPU进入深度睡眠,此时CPU和外部设备均停止工作。
作为本发明进一步的方案:通过编程让CPU进入IDLE或者STOP模式,当处于IDLE模式时,外部设备仍然在工作,外部设备的中断信号可以唤醒CPU,重启工作;当处于STOP模式时,通过IO口翻转,异步唤醒CPU,重启工作。
作为本发明进一步的方案:IDLE模式不关闭ick_en信号,也不关闭时钟clkper。
作为本发明进一步的方案:还包括用来控制STOP和IDLE状态的电路,当执行了进入STOP或IDLE的指令时,STOP或IDLE的寄存器被置1;当IO口翻转时,将产生脉冲io_change_pulse,从而清零STOP或IDLE的寄存器;同时,也将产生clkper_en和clkcpu_en。
作为本发明进一步的方案:还包括锁存控制电路,生成的clkper_en和clkcpu_en送到锁存控制电路,通过两个门控锁存器,控制clkper和clkcpu两个时钟。
作为本发明进一步的方案:还包括IO翻转判断电路,所述IO翻转判断电路生成io_change_pulse和clk_resume_s,io_change_pulse用来清除STOP和IDLE寄存器的信号,而clk_resume_s则用来控制门控时钟的开关信号clkper_en和clkcpu_en。
作为本发明再进一步的方案:还包括ick_en信号生成电路,ick_en信号送给模拟电路,模拟电路通过这个信号来开关ick的生成电路,当clkper_en为0或ick_en_s为0时,在ick下降沿到来时,ick_en等于0,模拟即刻关闭ick,当clkper_en或ick_en_s从0变1时,采用异步的方式,寄存器带有异步置位端SN,通过sync_level模块生成的ick_wakeup_rst_n送给异步复位端SN,从而重启ick。
与现有技术相比,本发明的有益效果是:本发明通过一种门控时钟和深度睡眠的方式,降低***功耗,提高整体稳定性,延长电池使用寿命。在微处理器设计中,大部分功耗来自于时钟,时钟会带来不断的充放电,因此通过降低时钟的活动性,将对整个***的功耗带来极大的影响;此发明从***时钟源进行时钟门控,关闭整个MCU的工作时钟,同时,让***进入深度睡眠状态。
附图说明
图1为应用于MCU***的超低功耗时钟控制方法的信号时序图;
图2为应用于MCU***的超低功耗时钟控制方法中控制STOP和IDLE状态的电路;
图3为应用于MCU***的超低功耗时钟控制方法中锁存控制电路;
图4为应用于MCU***的超低功耗时钟控制方法中IO翻转判断电路;
图5为应用于MCU***的超低功耗时钟控制方法中ick_en信号生成电路。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
请参阅图1~5,本发明实施例中,整个MCU***里有两个时钟clkcpu和clkper,***低功耗模式包括IDLE和STOP模式。当***进入IDLE模式时,clkcpu关闭而clkper打开,CPU进入休眠状态,此时只有外部设备正在工作;当***进入STOP模式时,clkcpu和clkper同时关闭,CPU进入深度睡眠,此时CPU和外部设备均停止工作。
软件通过编程让CPU进入IDLE或者STOP模式。当处于IDLE模式时,外部设备仍然在工作,外部设备的中断信号可以唤醒CPU,重启工作;当处于STOP模式时,由于内部所有时钟都关闭,包括模拟电路时钟产生电路也被ick_en信号关闭,所以这里通过IO口翻转,异步唤醒CPU,重启工作。
由于STOP模式下***还关闭了模拟时钟振荡器,相比IDLE模式更进一步地降低了功耗。IDLE和STOP在电路的区别主要在于IDLE不关闭ick_en信号,也不关闭clkper,其他控制大同小异,想了解更多请看电路设计原理图。
这里简述一下STOP模式下的工作流程。
描述工作流程之前先介绍一下电路设计原理图的组成与作用。电路大概可分为4个部分组成。
第一部分如图2所示,这部分电路主要用来控制STOP和IDLE状态的电路,当执行了进入STOP或IDLE的指令时,STOP或IDLE的寄存器被置1;当IO口翻转时,将产生脉冲io_change_pulse,从而清零STOP或IDLE的寄存器;同时,也将产生clkper_en和clkcpu_en。
第二部分如图3所示,前面生成的clkper_en和clkcpu_en送到这里,通过两个门控锁存器,控制clkper和clkcpu两个时钟。
第三部分如图4所示,这部分的作用是判断IO翻转,生成io_change_pulse和clk_resume_s(clk_resume_s之所以是由三个信号拼成,是为了确保***已经清零了STOP和IDLE信号,从而保证了唤醒的正常工作),io_change_pulse用来清除STOP和IDLE寄存器的信号,而clk_resume_s则用来控制门控时钟的开关信号clkper_en和clkcpu_en(电路里面包含sync_level模块,是用来实现信号同步)。
最后一部分如图5所示,这部分的主要作用则是用来生成ick_en信号,该信号送给模拟电路,模拟电路通过这个信号来开关ick的生成电路(这里要介绍一个信号ick_en_s,该信号是软件配置寄存器来生成的,用来软件控制ick的开启和关闭)。当clkper_en为0或ick_en_s为0时,在ick下降沿到来时,ick_en等于0,模拟即刻关闭ick(这里之所有选择下降沿,是保证模拟电路有足够的时间去关闭电路,同时保证时钟没有毛刺产生)。当clkper_en或ick_en_s从0变1时,因为此刻不再有时钟,所有必须采用异步的方式,寄存器带有异步置位端SN,通过sync_level模块(这里是异步复位同步释放,保证足够的removal时间)生成的ick_wakeup_rst_n送给异步复位端SN,从而重启ick。
当CPU执行了进入STOP模式的指令,wr_stop产生一个脉冲,在下一拍stop信号被置1,clkper_en和clkcpu_en被清零,则clkper和clkcpu同时关闭,***进入深度睡眠模式,同时,clkper_en同步至ick时钟域,使得clkcpu_stop_synick置1,从而使得ick_en在ick下降沿时清零,关闭模拟振荡器,使得***进入低功耗模式。
CPU处于STOP模式之后,所有的时钟都关闭,此时势必通过异步唤醒的方式来重启。这里通过IO口pin_xx输入信号的电平翻转,由于pin_xx和时钟关闭前保存的同步电平相反,从而产生了io_change脉冲(脉冲高电平将保持至clkper唤醒2个周期),此时clk_resume_s置1,clkper_en置1,从而使得ick_en_rst_n有效(低电平有效),这个信号采用异步复位同步释放的方式,得到ick_wakeup_rst_n信号也立即生效(此信号保持低电平有效,直至ick起振4个周期),则ick_en被置1,模拟振荡器开始工作,ick产生时钟。那么,clkcpu和clkper也开始工作,***被唤醒。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。
此外,应当理解,虽然本说明书按照实施方式加以描述,但并非每个实施方式仅包含一个独立的技术方案,说明书的这种叙述方式仅仅是为清楚起见,本领域技术人员应当将说明书作为一个整体,各实施例中的技术方案也可以经适当组合,形成本领域技术人员可以理解的其他实施方式。
Claims (7)
1.一种应用于MCU***的超低功耗时钟控制方法,包括MCU***,其特征在于,整个MCU***里有两个时钟clkcpu和clkper,***低功耗模式包括IDLE和STOP模式,当***进入IDLE模式时,时钟clkcpu关闭而时钟clkper打开,CPU进入休眠状态,此时只有外部设备正在工作;当***进入STOP模式时,时钟clkcpu和时钟clkper同时关闭,CPU进入深度睡眠,此时CPU和外部设备均停止工作。
2.根据权利要求1所述的应用于MCU***的超低功耗时钟控制方法,其特征在于,通过编程让CPU进入IDLE或者STOP模式,当处于IDLE模式时,外部设备仍然在工作,外部设备的中断信号可以唤醒CPU,重启工作;当处于STOP模式时,通过IO口翻转,异步唤醒CPU,重启工作。
3.根据权利要求1所述的应用于MCU***的超低功耗时钟控制方法,其特征在于,IDLE模式不关闭ick_en信号,也不关闭时钟clkper。
4.根据权利要求1所述的应用于MCU***的超低功耗时钟控制方法,其特征在于,还包括用来控制STOP和IDLE状态的电路,当执行了进入STOP或IDLE的指令时,STOP或IDLE的寄存器被置1;当IO口翻转时,将产生脉冲io_change_pulse,从而清零STOP或IDLE的寄存器;同时,也将产生clkper_en和clkcpu_en。
5.根据权利要求4所述的应用于MCU***的超低功耗时钟控制方法,其特征在于,还包括锁存控制电路,生成的clkper_en和clkcpu_en送到锁存控制电路,通过两个门控锁存器,控制clkper和clkcpu两个时钟。
6.根据权利要求5所述的应用于MCU***的超低功耗时钟控制方法,其特征在于,还包括IO翻转判断电路,所述IO翻转判断电路生成io_change_pulse和clk_resume_s,io_change_pulse用来清除STOP和IDLE寄存器的信号,而clk_resume_s则用来控制门控时钟的开关信号clkper_en和clkcpu_en。
7.根据权利要求6所述的应用于MCU***的超低功耗时钟控制方法,其特征在于,还包括ick_en信号生成电路,ick_en信号送给模拟电路,模拟电路通过这个信号来开关ick的生成电路,当clkper_en为0或ick_en_s为0时,在ick下降沿到来时,ick_en等于0,模拟即刻关闭ick,当clkper_en或ick_en_s从0变1时,采用异步的方式,寄存器带有异步置位端SN,通过sync_level模块生成的ick_wakeup_rst_n送给异步复位端SN,从而重启ick。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610858267.3A CN106371549A (zh) | 2016-09-28 | 2016-09-28 | 一种应用于mcu***的超低功耗时钟控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610858267.3A CN106371549A (zh) | 2016-09-28 | 2016-09-28 | 一种应用于mcu***的超低功耗时钟控制方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106371549A true CN106371549A (zh) | 2017-02-01 |
Family
ID=57898248
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610858267.3A Pending CN106371549A (zh) | 2016-09-28 | 2016-09-28 | 一种应用于mcu***的超低功耗时钟控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106371549A (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445516A (zh) * | 2018-09-27 | 2019-03-08 | 北京中电华大电子设计有限责任公司 | 一种应用于双核SoC中外设时钟控制方法及电路 |
CN110968344A (zh) * | 2018-09-30 | 2020-04-07 | 苏州四方杰芯电子科技有限公司 | 一种8位超低功耗微控制*** |
CN111459562A (zh) * | 2020-04-13 | 2020-07-28 | 芯来智融半导体科技(上海)有限公司 | 基于risc-v架构切换休眠模式的改进***及方法 |
CN112306214A (zh) * | 2019-07-31 | 2021-02-02 | 上海贝岭股份有限公司 | 芯片的唤醒电路及其控制方法、芯片 |
CN112486311A (zh) * | 2020-12-08 | 2021-03-12 | 南昌华勤电子科技有限公司 | 一种嵌入式***的低功耗控制方法及***、存储介质 |
CN112596599A (zh) * | 2020-12-21 | 2021-04-02 | 上海商米科技集团股份有限公司 | 一种应用于嵌入式***降低功耗的方法 |
Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752894A (zh) * | 2005-08-18 | 2006-03-29 | 复旦大学 | 信息安全SoC中基于门控时钟的动态功耗管理方法 |
US20090267649A1 (en) * | 2008-04-29 | 2009-10-29 | Qualcomm Incorporated | Clock Gating System and Method |
CN201522684U (zh) * | 2009-09-16 | 2010-07-07 | 珠海中慧微电子有限公司 | 嵌入式***的功耗管理电路 |
CN101782791A (zh) * | 2010-01-29 | 2010-07-21 | 杭州电子科技大学 | 一种通信处理器芯片中的时钟/复位和配置控制器硬核 |
CN103412634A (zh) * | 2013-07-30 | 2013-11-27 | 深圳市汇顶科技股份有限公司 | 一种soc芯片的mcu唤醒装置和方法 |
CN103412990A (zh) * | 2013-08-05 | 2013-11-27 | 北京航空航天大学 | 一种多层次协同低功耗设计方法 |
CN104516296A (zh) * | 2014-12-26 | 2015-04-15 | 北京兆易创新科技股份有限公司 | 一种基于外设模块的微控制器***的唤醒方法及外设模块 |
CN104639104A (zh) * | 2015-02-06 | 2015-05-20 | 中国人民解放军国防科学技术大学 | 功能模块级多阈值低功耗控制装置及方法 |
CN104793723A (zh) * | 2015-05-13 | 2015-07-22 | 中国电子科技集团公司第四十七研究所 | 一种基于电平检测的低功耗控制电路 |
CN105549499A (zh) * | 2016-03-03 | 2016-05-04 | 深圳市博巨兴实业发展有限公司 | 一种面向键控类应用的低功耗mcu-soc*** |
CN205583752U (zh) * | 2016-04-12 | 2016-09-14 | 长沙市博巨兴电子科技有限公司 | 一种零功耗待机电路 |
-
2016
- 2016-09-28 CN CN201610858267.3A patent/CN106371549A/zh active Pending
Patent Citations (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1752894A (zh) * | 2005-08-18 | 2006-03-29 | 复旦大学 | 信息安全SoC中基于门控时钟的动态功耗管理方法 |
US20090267649A1 (en) * | 2008-04-29 | 2009-10-29 | Qualcomm Incorporated | Clock Gating System and Method |
CN201522684U (zh) * | 2009-09-16 | 2010-07-07 | 珠海中慧微电子有限公司 | 嵌入式***的功耗管理电路 |
CN101782791A (zh) * | 2010-01-29 | 2010-07-21 | 杭州电子科技大学 | 一种通信处理器芯片中的时钟/复位和配置控制器硬核 |
CN103412634A (zh) * | 2013-07-30 | 2013-11-27 | 深圳市汇顶科技股份有限公司 | 一种soc芯片的mcu唤醒装置和方法 |
CN103412990A (zh) * | 2013-08-05 | 2013-11-27 | 北京航空航天大学 | 一种多层次协同低功耗设计方法 |
CN104516296A (zh) * | 2014-12-26 | 2015-04-15 | 北京兆易创新科技股份有限公司 | 一种基于外设模块的微控制器***的唤醒方法及外设模块 |
CN104639104A (zh) * | 2015-02-06 | 2015-05-20 | 中国人民解放军国防科学技术大学 | 功能模块级多阈值低功耗控制装置及方法 |
CN104793723A (zh) * | 2015-05-13 | 2015-07-22 | 中国电子科技集团公司第四十七研究所 | 一种基于电平检测的低功耗控制电路 |
CN105549499A (zh) * | 2016-03-03 | 2016-05-04 | 深圳市博巨兴实业发展有限公司 | 一种面向键控类应用的低功耗mcu-soc*** |
CN205583752U (zh) * | 2016-04-12 | 2016-09-14 | 长沙市博巨兴电子科技有限公司 | 一种零功耗待机电路 |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109445516A (zh) * | 2018-09-27 | 2019-03-08 | 北京中电华大电子设计有限责任公司 | 一种应用于双核SoC中外设时钟控制方法及电路 |
CN110968344A (zh) * | 2018-09-30 | 2020-04-07 | 苏州四方杰芯电子科技有限公司 | 一种8位超低功耗微控制*** |
CN112306214A (zh) * | 2019-07-31 | 2021-02-02 | 上海贝岭股份有限公司 | 芯片的唤醒电路及其控制方法、芯片 |
CN112306214B (zh) * | 2019-07-31 | 2024-07-05 | 上海贝岭股份有限公司 | 芯片的唤醒电路及其控制方法、芯片 |
CN111459562A (zh) * | 2020-04-13 | 2020-07-28 | 芯来智融半导体科技(上海)有限公司 | 基于risc-v架构切换休眠模式的改进***及方法 |
CN112486311A (zh) * | 2020-12-08 | 2021-03-12 | 南昌华勤电子科技有限公司 | 一种嵌入式***的低功耗控制方法及***、存储介质 |
CN112486311B (zh) * | 2020-12-08 | 2023-07-14 | 南昌华勤电子科技有限公司 | 一种嵌入式***的低功耗控制方法及***、存储介质 |
CN112596599A (zh) * | 2020-12-21 | 2021-04-02 | 上海商米科技集团股份有限公司 | 一种应用于嵌入式***降低功耗的方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN106371549A (zh) | 一种应用于mcu***的超低功耗时钟控制方法 | |
TWI527051B (zh) | 記憶體控制器之調校、電力閘控與動態頻率改變 | |
CN106055026B (zh) | 一种微控制器soc中实时时钟单元 | |
CN103412990B (zh) | 一种多层次协同低功耗设计方法 | |
US9780644B1 (en) | Methods and apparatus for always on domain finite state machine shutdown using a clock source from a power managed domain | |
WO2016058386A1 (zh) | 一种功耗管理方法、装置及计算机存储介质 | |
CN101526845B (zh) | 电源管理方法及其相关芯片组 | |
CN106358273A (zh) | 一种低功耗通信装置 | |
CN108089689A (zh) | 一种小型SoC超低功耗控制电路与方法 | |
CN107515662A (zh) | 一种面向键控类应用的mcu芯片中低功耗管理方法 | |
CN102799260A (zh) | 基于时钟关断的低功耗模式管理soc芯片的电路及方法 | |
CN102621912A (zh) | 单片机自动节电方法 | |
CN104979892B (zh) | 防止ops‑tv一体机ops异常断电的***及方法 | |
CN109799898A (zh) | 一种芯片的电源控制装置、芯片及其电源控制方法 | |
CN103237338A (zh) | 一种基于脉冲直流供电模式的非易失传感网节点*** | |
CN104750223B (zh) | 一种降低多核终端内存访问功耗的方法和*** | |
CN114661138A (zh) | 一种芯片的低功耗模式自动控制方法及*** | |
CN206133460U (zh) | 一种应用于mcu***的超低功耗时钟*** | |
CN201142006Y (zh) | 待命模式的电源变动唤醒装置 | |
CN103617475A (zh) | 一种用于微型远程追踪器的能效管理***及方法 | |
TW201243569A (en) | Computer system and associated sleep control method | |
CN206021129U (zh) | 一种微控制器soc中实时时钟单元 | |
CN106708642A (zh) | 一种用于mcu芯片的看门狗定时器 | |
CN106774788B (zh) | 一种基于mcu的soc及其内核协作控制单元 | |
CN104914967A (zh) | 电源域的复位控制方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination |