一种基于RISC-V内核的MCU系统、供电方法以及终端设备转让专利

申请号 : CN202110682704.1

文献号 : CN113253824B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 陈龙

申请人 : 成都爱旗科技有限公司

摘要 :

本发明公开一种基于RISC‑V内核的MCU系统、供电方法以及终端设备,涉及MCU芯片技术领域,以提供一种能够在使用电池的移动物联网领域达到低功耗需求的MCU系统。包括:电源和MCU。MCU的耗电模块包括多个掉电域耗电模块和多个常开域耗电模块;电源包括主电源和副电源。多个掉电域耗电模块与主电源电连接,多个常开域耗电模块与副电源电连接。当MCU处于工作模式时,主电源与副电源短接,主电源用于向多个常开域耗电模块和多个掉电域耗电模块供电。当MCU处于低功耗模式时,主电源关闭,副电源用于向多个常开域耗电模块供电。

权利要求 :

1.一种基于RISC‑V内核的MCU系统,其特征在于,包括电源和MCU;

所述MCU的耗电模块包括多个掉电域耗电模块和多个常开域耗电模块;所述电源包括主电源和副电源;所述多个掉电域耗电模块与所述主电源电连接,所述多个常开域耗电模块与所述副电源电连接;

当所述MCU退出低功耗模式时,电源控制寄存器中的低功耗状态相应位为0,所述主电源开启,嵌入式闪存的电源打开,锁相环打开,配置所述MCU系统的CPU工作频率与所述电源控制寄存器的工作频率关系;

在所述MCU处于工作模式的情况下,所述主电源与所述副电源短接,所述主电源用于向所述多个常开域耗电模块和所述多个掉电域耗电模块供电;

当所述MCU进入低功耗模式时,所述嵌入式闪存的电源关闭,输入时钟由所述锁相环切换至内部时钟源或外部时钟源,所述MCU系统的频率为2M,电源控制寄存器中的低功耗状态相应位为1,所述主电源关闭;

在所述MCU处于低功耗模式的情况下,所述主电源关闭,所述副电源用于向所述多个常开域耗电模块供电。

2.根据权利要求1所述的基于RISC‑V内核的MCU系统,其特征在于,所述基于RISC‑V内核的MCU系统还包括电源管理模块;

所述电源管理模块与多个所述掉电域耗电模块的供电开关电连接,用于当所述MCU由所述工作模式切换至所述低功耗模式时,控制多个所述掉电域耗电模块的供电开关,以使所述主电源与多个所述掉电域耗电模块断开连接;

所述电源管理模块还用于当所述MCU由所述低功耗模式切换至所述工作模式时,控制多个所述掉电域耗电模块的供电开关,以使所述主电源与多个所述掉电域耗电模块电连接。

3.根据权利要求2所述的基于RISC‑V内核的MCU系统,其特征在于,所述基于RISC‑V内核的MCU系统还包括用于连接所述主电源和所述副电源的开关器件;

所述电源管理模块与所述开关器件电连接,用于当所述MCU由所述工作模式切换至所述低功耗模式时,控制所述开关器件断开,还用于当所述MCU由所述低功耗模式切换至所述工作模式时,控制所述开关器件闭合。

4.根据权利要求1所述的基于RISC‑V内核的MCU系统,其特征在于,当所述MCU执行等待中断信号时,所述MCU由所述工作模式切换至所述低功耗模式;

当所述MCU执行唤醒信号时,所述MCU由所述低功耗模式切换至所述工作模式,其中,所述唤醒信号由所述多个常开域耗电模块中的一个或多个生成。

5.根据权利要求1‑4任一项所述的基于RISC‑V内核的MCU系统,其特征在于,所述掉电域耗电模块包括RISC‑V内核、所述主电源、总线、锁相环、以及存储器;

所述常开域耗电模块包括独立看门狗模块、实时时钟模块以及晶振模块。

6.一种基于RISC‑V内核的MCU供电方法,其特征在于,应用于权利要求1‑5任一项所述的基于RISC‑V内核的MCU系统中,所述基于RISC‑V内核的MCU供电方法包括:当所述MCU退出低功耗模式时,将电源控制寄存器中的低功耗状态相应位配置为0,开启所述主电源,开启嵌入式闪存的电源,打开锁相环,进行所述MCU的时钟切换,配置所述MCU系统的CPU工作频率与所述电源控制寄存器的工作频率的关系;

当所述MCU处于工作模式时,控制所述主电源与所述副电源短接,控制所述主电源向所述常开域耗电模块和所述掉电域耗电模块供电;

当所述MCU进入低功耗模式时,在所述嵌入式闪存处于空闲状态的情况下,关闭所述嵌入式闪存的电源,输入时钟由所述锁相环切换至内部时钟源或外部时钟源,调整所述MCU的时钟的分频系数,使所述MCU系统的频率至2M,将电源控制寄存器中的低功耗状态相应位配置为1,关闭所述主电源;

当所述MCU处于低功耗模式时,控制所述主电源关闭,控制所述副电源向所述常开域耗电模块供电。

7.根据权利要求6所述的基于RISC‑V内核的MCU供电方法,其特征在于,在当所述MCU处于工作模式时,控制所述主电源与所述副电源短接,控制所述主电源向所述常开域耗电模块和所述掉电域耗电模块供电后,在当所述MCU处于低功耗模式时,控制所述主电源关闭,控制所述副电源向所述常开域耗电模块供电前,所述基于RISC‑V内核的MCU供电方法还包括:

响应于低功耗指令,控制所述RISC‑V内核生成等待中断信号;

响应于所述等待中断信号,控制所述MCU从工作模式切换至所述低功耗模式。

8.根据权利要求6所述的基于RISC‑V内核的MCU供电方法,其特征在于,在当所述MCU处于低功耗模式时,控制所述主电源关闭,控制所述副电源向所述常开域耗电模块供电后,所述基于RISC‑V内核的MCU供电方法还包括:响应于唤醒信号,所述MCU从所述低功耗模式切换至所述工作模式。

9.一种终端设备,其特征在于,包括处理器、存储器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述计算机程序被所述处理器执行时实现如权利要求6至8中任一项所述的基于RISC‑V内核的MCU供电方法。

说明书 :

一种基于RISC‑V内核的MCU系统、供电方法以及终端设备

技术领域

[0001] 本发明涉及MCU芯片技术领域,尤其涉及一种基于RISC‑V内核的MCU系统、供电方法以及终端设备。

背景技术

[0002] 万物互联的物联网世界里,MCU(Microcontroller Unit,微控制单元)芯片作为物联网的重要组成部分,在很多应用场景中都需要对MCU芯片的功耗性能进行考虑。在实际
中,结合MCU芯片的应用场景,可以通过切换低频时钟、关闭非必要外设、降低电源电压等方
式降低MCU芯片的功耗,而通常根据工作的需求,又将芯片运行状态分为正常工作模式、低
功耗模式和睡眠模式等,因此,设计MCU芯片时要考虑在不同的运行状态采用不同的功耗策
略。
[0003] 基于RISC‑V(指令集架构)的MCU除了包含高性能的开源RISC‑V内核外,还有众多数字模块,以及众多模拟元件,这些数字模块元和模拟元件都需要耗电,从而导致MCU的功
耗较高。目前常用的MCU低功耗实现方法是,基于芯片使用的特定场景,用软件对这些能耗
模块采用不同的控制,如切换低频时钟、关闭非必要的能耗模块,以达到节能的目的。但上
述方法在使用电池的移动物联网领域显然达不到超低功耗需求。

发明内容

[0004] 本发明的目的在于提供一种基于RISC‑V内核的MCU系统、供电方法以及终端设备,以提供一种能够在使用电池的移动物联网领域达到低功耗需求的MCU系统。
[0005] 第一方面,本发明提供一种基于RISC‑V内核的MCU系统,包括:电源和MCU。MCU的耗电模块包括多个掉电域耗电模块和多个常开域耗电模块;电源包括主电源和副电源;多个
掉电域耗电模块与主电源电连接,多个常开域耗电模块与副电源电连接。
[0006] 当MCU处于工作模式时,主电源与副电源短接,主电源用于向多个常开域耗电模块和多个掉电域耗电模块供电。当MCU处于低功耗模式时,主电源关闭,副电源用于向多个常
开域耗电模块供电。
[0007] 在采用上述方案的情况下,本发明将MCU中的耗电模块划分为多个掉电域耗电模块和多个常开域耗电模块。将电源分为主电源和副电源,其中主电源为高性能电源,副电源
为低功耗电源。当MCU处于工作模式时,主电源与副电源短接,主电源用于向多个常开域耗
电模块和多个掉电域耗电模块供电,以实现MCU的正常工作。当MCU处于低功耗模式时,主电
源关闭,副电源用于向多个常开域耗电模块供电,从而实现MCU的低功耗。可见,本发明在
MCU的工作模式和低功耗模式时,使用两个不同的电源进行供电,从而使MCU达到性能和低
功耗的兼顾。
[0008] 再者,相对于现有技术中通过软件对能耗模块采用不同的控制,本发明是基于硬件层面对MCU系统进行了功耗优化,从而提升MCU的低功耗特性,因此,本发明的可靠性更
高。
[0009] 第二方面,本发明还公开了一种基于RISC‑V内核的MCU供电方法,包括:
[0010] 当MCU处于工作模式时,控制主电源与副电源短接,控制主电源向常开域耗电模块和掉电域耗电模块供电;
[0011] 当MCU处于低功耗模式时,控制主电源关闭,控制副电源向常开域耗电模块供电。
[0012] 第三方面,本发明还公开了一种终端设备,包括处理器、存储器及存储在存储器上并可在处理器上运行的计算机程序,计算机程序被处理器执行时实现如基于RISC‑V内核的
MCU供电方法。
[0013] 第四方面,本发明还公开了一种计算机存储介质,计算机存储介质中存储计算机程序,计算机程序被处理器执行时实现上述基于RISC‑V内核的MCU供电方法的步骤。
[0014] 本发明中第二方面、第三方面、第四方面及其各种实现方式的有益效果与第一方面或第一方面任一可能的实现方式的有益效果相同,此处不再赘述。

附图说明

[0015] 此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0016] 图1示出了本发明实施例提供的一种基于RISC‑V内核的MCU系统的架构图;
[0017] 图2示出了本发明实施例提供的一种基于RISC‑V内核的MCU系统的电源域划分示意图;
[0018] 图3示出了本发明实施例提供的一种基于RISC‑V内核的MCU系统主电源和副电源结构示意图;
[0019] 图4示出了本发明实施例提供的一种基于RISC‑V内核的MCU供电方法的步骤流程图;
[0020] 图5示出了本发明实施例提供的一种基于RISC‑V内核的MCU供电方法中MCU工作模式切换的硬件流程图;
[0021] 图6示出了本发明实施例提供的一种终端设备的硬件结构示意图。
[0022] 附图标记:200‑终端设备,2101‑第一处理器,2102‑第二处理器,210‑处理器,220‑存储器,230‑通信接口,240‑通信线路。

具体实施方式

[0023] 以下,将参照附图来描述本公开的实施例。但是应该理解,这些描述只是示例性的,而并非要限制本公开的范围。此外,在以下说明中,省略了对公知结构和技术的描述,以
避免不必要地混淆本公开的概念。
[0024] 此外,术语“第一”、“第二”仅用于描述目的,而不能理解为指示或暗示相对重要性或者隐含指明所指示的技术特征的数量。由此,限定有“第一”、“第二”的特征可以明示或者
隐含地包括一个或者更多个该特征。在本发明的描述中,“多个”的含义是两个或两个以上,
除非另有明确具体的限定。“若干”的含义是一个或一个以上,除非另有明确具体的限定。
[0025] 万物互联的物联网世界里,MCU(Microcontroller Unit,微控制单元)芯片作为物联网的重要组成部分,在很多应用场景中都需要对MCU芯片的功耗性能进行考虑。在实际
中,结合MCU芯片的应用场景,可以通过切换低频时钟、关闭非必要外设、降低电源电压等方
式降低MCU芯片的功耗,而通常根据工作的需求,又将芯片运行状态分为正常工作模式、低
功耗模式和睡眠模式等,为了达到低功耗目的,因此,设计MCU芯片时要考虑在不同的运行
状态采用不同的功耗策略。
[0026] 基于RISC‑V(指令集架构)的MCU除了包含高性能的开源RISC‑V内核外,还有众多数字模块,以及众多模拟元件,这些数字模块元和模拟元件都需要耗电,从而导致MCU的功
耗较高。目前常用的MCU低功耗实现方法是,基于芯片使用的特定场景,用软件对这些能耗
模块采用不同的控制,如切换低频时钟、关闭非必要的能耗模块,以达到节能的目的。但上
述方法在使用电池的移动物联网领域显然达不到超低功耗需求。
[0027] 在一些技术中,将RISC‑V架构的MCU电源域划分为主电源域、调试电源域和常开电源域,通过PMU(Power Manager Unit,电源管理单元)单元控制MCU进入不同的低功耗模式。
而虽然采用这种方法能极大优化MCU的能耗,但在很多苛刻的超低功耗需求场景中,比如纽
扣电池的IOT设备在户外要求长时间待机工作时,即使外设模块时钟和Eflash等时钟均关
闭,只保持常开电源域工作,但电源自身的消耗也在50uA左右,真正意义上的超低功耗是无
法实现的。
[0028] 基于此,本发明实施例提供了一种基于RISC‑V内核的MCU系统,包括:电源和MCU。MCU的耗电模块包括多个掉电域耗电模块和多个常开域耗电模块;电源包括主电源和副电
源;多个掉电域耗电模块与主电源电连接,多个常开域耗电模块与副电源电连接。
[0029] 当MCU处于工作模式时,主电源与副电源短接,主电源用于向多个常开域耗电模块和多个掉电域耗电模块供电。当MCU处于低功耗模式时,主电源关闭,副电源用于向多个常
开域耗电模块供电。
[0030] 本发明实施例基于RISC‑V内核的MCU系统将MCU的所有耗电模块分为掉电域耗电模块和常开域耗电模块。掉电域耗电模块在MCU进入超低功耗模式后全部停止供电,而常开
域耗电模块则一直保持上电状态。且在低功耗模式下,主电源关闭,仅有副电源向多个常开
域耗电模块供电,从而实现MCU的低功耗。且副电源相对于主电源自身耗电较低,因此,可以
进一步的实现低功耗。
[0031] 在一种可能的实现方式中,图1示出了一种基于RISC‑V内核的MCU系统的架构图。其中,MCU包括RISC‑V内核、程序存储器、数据存储器、高速AHB(Advanced High 
Performance Bus,高级高性能总线)和外设APB(Advanced Peripheral Bus,外围总线)。其
中,程序存储器、数据存储器与RISC‑V内核相连接。RISC‑V内核以及MCU的高速模块与高速
AHB相连。IIC(Inter‑Integrated Circuit,集成电路总线)、UART (Universal 
Asynchronous Receiver/Transmitter,通用异步收发传输器)、CAN(Controller Area 
Network,控制器局域网络)、IR(Instruction Register,指令寄存器)、SPI(Serial 
Peripheral Interface,串行外设接口)、ADC(汇编指令)以及CMP(Chip multiprocessors,
单芯片多处理器)等低速模块。GPIO(General‑purpose input/output,通用型之输入输
出)、PMU( Power Management Unit,电源管理单元)、OSC(oscillator,晶振)、PLL(Phase‑
Locked Loop,锁相环)、IWDT(独立看门狗)、RTC(Real_Time Clock,实时时钟)与外设APB相
连。
[0032] 参照图1,本发明实施例提供的MCU系统是基于RISC‑V指令集架构,此内核架构具有开源、简洁和高性能的特点。RISC‑V内核作为主模块挂到AHB(高性能总线)上,由内核发
起读写操作与从设备进行数据交互。数据存储器、程序存储器和系统控制器等都是通过AHB
与RISC‑V内核相连,RISC‑V内核可直接对它们进行访问。而对于其他外设,如GPIO、IIC、
UART等挂在APB上。符合APB总线协议的从设备,RISC‑V内核通过桥接也可以同样访问这些
设备。
[0033] 进一步的,本发明实施例提供的基于RISC‑V内核的MCU系统还包括电源管理模块(PMU)。电源管理模块与多个掉电域耗电模块的供电开关电连接,用于当MCU由工作模式切
换至低功耗模式时,控制多个掉电域耗电模块的供电开关,以使主电源与多个掉电域耗电
模块断开连接。电源管理模块还用于当MCU由低功耗模式切换至工作模式时,控制多个掉电
域耗电模块的供电开关,以使主电源与多个掉电域耗电模块电连接。
[0034] 基于此,本发明实施例通过电源管理模块对多个掉电域耗电模块的供电开关进行控制,以在MCU由工作模式切换至低功耗模式时,控制多个掉电域耗电模块的供电开关断
开,以使多个掉电域耗电模块掉电,此时,MCU进入低功耗模式。且在MCU由低功耗模式切换
至工作模式时,控制多个掉电域耗电模块的供电开关闭合,以使主电源与多个掉电域耗电
模块电连接,此时,MCU进入工作模式。
[0035] 在以上基础上,基于RISC‑V内核的MCU系统还包括用于连接主电源和副电源的开关器件。电源管理模块与开关器件电连接,用于当MCU由工作模式切换至低功耗模式时,控
制开关器件断开,还用于当MCU由低功耗模式切换至工作模式时,控制开关器件闭合。
[0036] 在MCU由工作模式切换至低功耗模式时,开关器件断开,用于使副电源与主电源断开。在MCU由低功耗模式切换至工作模式时,开关器件闭合,用于使副电源与主电源短路。
[0037] 进一步的,当MCU执行等待中断信号时, MCU由工作模式切换至低功耗模式。其中,该等待中断信号可以由RISC‑V指令集定义生成。
[0038] 当所述MCU执行唤醒信号时,所述MCU由所述低功耗模式切换至所述工作模式,其中,所述唤醒信号由所述多个常开域耗电模块中的一个或多个生成。
[0039] 本发明实施例中,掉电域耗电模块可以包括所述RISC‑V内核、主电源、总线、锁相环、以及存储器。常开域耗电模块可以包括独立看门狗模块、实时时钟模块以及晶振模块。
[0040] 示例性的,图2示出了一种基于RISC‑V内核的MCU系统的电源域划分示意图。包含内核、总线、存储器和大部分数字电路的掉电区域由主电源(MLDO)供电,当内核收到低功耗
指令(WFI)后,系统会在关闭MLDO前通过PMU选择性的控制这部分模块的开关,从而进低功
耗模式来降低功耗;而常开域内的模块包括IWDT、RTC和OSC等模块属于低功耗MCU系统中需
一直供电的部分,因为不管系统进入何种具体的睡眠或待机模式,都要保证MCU系统能够从
低功耗模式被唤醒,因此RTC和IWDT等用作计时唤醒的模块就要保持常开状态。
[0041] 作为一种具体的示例,参照图3,本发明实施例提供的一个基于RISC‑V内核的MCU系统包括一个高性能的主电源(MLDO)和一个低功耗的副电源(LPLDO)。在MCU处于工作模式
时,通过高性能的MLDO和低功耗的LPLDO短接给MCU里面不同的模块供电,即图3中MLDO_SW
开关闭合。当MCU在低功耗模式时,高性能的LDO就会和其他不需要的功能一起被关闭,即
MLDO_SW断开,直到系统被唤醒电路唤醒后再次打开MLDO。但MCU在不同电源供电模式之间
切换时,必须严格按照低功耗系统电源架构方案进行开/关电源操作,否则就会面临掉电风
险,导致MCU错误复位。
[0042] 参照图3,其中,上述掉电域耗电模块与掉电区电连接,上述常开域耗电模块与常开区电连接。ISO为压力继电器,当MCU从工作模式切换低功耗模式时,控制MLDO_SW开关断
开,控制ISO断开,控制主电源(MLDO)关闭,此时掉电域耗电模块关闭,MCU切换至低功耗模
式。当MCU从低功耗模式切换工作模式时,由常开域耗电模块产生唤醒信号至常开区,以实
现唤醒控制,此时,控制MLDO_SW开关闭合,主电源(MLDO)和副电源(LPLDO)短接,MCU切换至
工作模式。
[0043] 参照图4,本发明实施例还公开了一种基于RISC‑V内核的MCU供电方法,应用于上述基于RISC‑V内核的MCU系统中,基于RISC‑V内核的MCU供电方法包括:
[0044] S101,当MCU处于工作模式时,控制主电源与副电源短接,控制主电源向常开域耗电模块和掉电域耗电模块供电。
[0045] 可以理解,在MCU处于工作模式的情况下,常开域耗电模块和掉电域耗电模块都处于工作中,此时需要主电源和副电源一起工作来满足这些耗电模块的供电需求。因此,可以
将主电源和副电源短接来实现上述供电需求。
[0046] S102,当MCU处于低功耗模式时,控制主电源关闭,控制副电源向常开域耗电模块供电。
[0047] 在MCU处于低功耗模式时,掉电域耗电模块不需要工作。而常开域耗电模块包括IWDT、RTC和OSC属于一直需要供电的部分,因为不管基于RISC‑V内核的MCU系统进入何种具
体的睡眠或待机模式,都要保证基于RISC‑V内核的MCU系统能够从低功耗模式被唤醒,因此
RTC和IWDT等用作计时唤醒的模块就要保持常开状态。
[0048] 此时,为了降低功耗,控制高功耗的主电源关闭,利用低功耗的副电源向常开域耗电模块供电,以实现上述功能。
[0049] 本发明实施例提供的基于RISC‑V内核的MCU供电方法还包括:
[0050] 响应于低功耗指令,控制RISC‑V内核生成等待中断信号。响应于等待中断信号,控制MCU从工作模式切换至所述低功耗模式。
[0051] 其中,上述低功耗指令可以由软件在处理的具体事物时生成,当软件决定何时要进入低功耗,此时会发送给MCU低功耗指令。
[0052] 例如:软件定时1hour,发现没有外部中断需要处理,自动向MCU发送低功耗指令。
[0053] 进一步的,本发明提供的基于RISC‑V内核的MCU供电方法还包括:响应于唤醒信号, MCU从所述低功耗模式切换至所述工作模式。
[0054] 其中,该唤醒信号由述唤醒信号由所述多个常开域耗电模块中的一个或多个生成。
[0055] 本发明实施例的基于RISC‑V内核的MCU供电方法中MCU工作模式切换的硬件流程如图5所示,具体实现步骤如下:
[0056] Step1:MCU上电后,先等待LDO(low dropout regulator,低压差线性稳压器)输出稳定电压,PLL输出稳定时钟后,系统再从Eflash(嵌入式闪存)中读取各种trim值,并将这
些值保存到相应的模块,如OSC、LDO等。
[0057] Step2: MCU从Eflash中加载BootLoader程序,接着根据这段程序,进行UART、IIC、RTC等硬件外设的初始化操作,并将应用程序代码搬运到SRAM(Static Random‑Access 
Memory,静态随机存取存储器)开始运行。
[0058] Step3: MCU系统的RISC‑V内核根据取到的指令按五级流水线执行,直到执行到WFI(Wait for interrupt)指令时,MCU准备进入低功耗模式。
[0059] 进入低功耗:
[0060] Step4: 硬件连续读Eflash 忙标志,等待Eflash处于空闲状态时关闭Eflash的power,Eflash控制器模块时钟也要根据SCU(系统控制器)的相应寄存器状态确定是否关
闭。
[0061] Step5:输入时钟由PLL切换到HIS(内部时钟源)或HSE(外部时钟源)。
[0062] Step6:调节MCU的SYS_CLK分频系数,使MCU系统cpu频率降至低于2M。
[0063] Step7:配置PWR_CR(Power Control Register,Power Control Register)中的低功耗状态相应位,设置为1(进入低功耗运行模式),硬件自动开启LDO 低功耗模式。
[0064] Step8:硬件执行关闭MLDO操作,通过寄存器控制关闭MLDO的开关,并断开与LPLDO的短接,此时的MCU系统已处于低功耗模式;
[0065] Step9: MCU在低功耗模式下运行,此时由LPLDO供电,维持系统常开域的正常运行,直到唤醒电路收到唤醒的中断信号,比如常开域内的计时器计数完成、GPIO收到唤醒的
脉冲等,MCU系统开始进入唤醒流程;
[0066] 退出低功耗:
[0067] Step10:将电源控制寄存器PWR_CR配置为0(开始退出低功耗运行模式标志)。
[0068] Step11:硬件强制将LPLDO切换到MLDO(MLDO_SW短接并打开MLDO使能),等待MLDO稳定,通过CPU读取PWR_SR状态寄存器获取MLDO状态(为0表示MLDO准备就绪,硬件会自动等
待MLDO启动稳定)。
[0069] Step12:开启Eflash 的控制时钟,然后开启Eflash Power。
[0070] Step13:待Eflash 上电稳定后,软件先开PLL,等待PLL稳定后(读PLL_READY状态寄存器) 再进行SYSCLK时钟切换。
[0071] Step14:软件配置Eflash的工作频率与CPU工作频率关系。
[0072] Step15:系统已退出低功耗状态,恢复到工作模式。
[0073] 在另一种可能的实现方式中, 副电源(LPLDO)负责常开域及在低功耗模式下全MCU芯片的供电,如需LPLDO工作在全MCU芯片供电模式时,具体步骤如下:
[0074] 1) 进入低功耗模式前关闭不必要的外设模块时钟,并根据应用需求降低系统工作频率,如不需要PLL工作,也可在进入待机前将系统时钟先切换到外部时钟或OSC(振荡
器,晶振)模式;
[0075] 2) 根据应用需求可通过PWR_LDO_LOW寄存器配置适当降低LPLDO输出电压,进一步降低STOP模式功耗。
[0076] 3) 使能PWR_CR,接着关闭MLDO,系统进入低功耗运行模式。
[0077] 4) 若CPU发出WFI 指令,将内核的DEEPSLEEP使能,则系统进入低功耗STOP模式(该模式下必须通过寄存器相应位,关闭Eflash电源)。
[0078] 5) 为保证系统稳定性,LPLDO 切换后,必须等LPLDO_LV_OK有效后才能切换。
[0079] 6) 在低功耗STOP模式下要求工作电流低于30uA。
[0080] 在采用上述方案的情况下,本发明实施例将MCU中的耗电模块划分为多个掉电域耗电模块和多个常开域耗电模块。将电源分为主电源和副电源,其中主电源为高性能电源,
副电源为低功耗电源。当MCU处于工作模式时,主电源与副电源短接,主电源用于向多个常
开域耗电模块和多个掉电域耗电模块供电,以实现MCU的正常工作。当MCU处于低功耗模式
时,主电源关闭,副电源用于向多个常开域耗电模块供电,从而实现MCU的低功耗。可见,本
发明实施例在MCU的工作模式和低功耗模式时,使用两个不同的电源进行供电,从而使MCU
达到性能和低功耗的兼顾。
[0081] 再者,相对于现有技术中通过软件对能耗模块采用不同的控制,本发明实施例是基于硬件层面对MCU系统进行了功耗优化,从而提升MCU的低功耗特性,因此,本发明实施例
的可靠性更高。
[0082] 参照图6,本发明还公开了一种终端设备,上述基于RISC‑V内核的MCU供电方法可以作为计算机指令存储在终端设备的存储器220中,存储器220中存储的计算机指令由处理
器210来执行。
[0083] 终端设备200包括:第一处理器2101、当第二处理器2102和通信接口230,通信接口230和处理器210耦合,处理器210用于运行计算机程序或指令。
[0084] 如图6所示,上述处理器210可以是一个通用中央处理器(central processing unit,CPU),微处理器,专用集成电路(application‑specific integrated circuit,
ASIC),或一个或多个用于控制本发明方案程序执行的集成电路。上述通信接口230可以为
一个或多个。通信接口230可使用任何收发器一类的装置,用于与其他设备或通信网络通
信。
[0085] 如图6所示,上述终端设备200还可以包括通信线路240。通信线路240可包括一通路,在上述组件之间传送信息。
[0086] 可选的,如图6所示,终端设备200还可以包括存储器220。存储器220用于存储执行本发明方案的计算机指令,并由处理器210来控制执行。处理器210用于执行存储器220中存
储的计算机指令。
[0087] 如图6示,存储器220可以是只读存储器(read‑only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)或者
可存储信息和指令的其他类型的动态存储设备,也可以是电可擦可编程只读存储器
(electrically erasable programmable read‑only memory,EEPROM)、只读光盘(compact 
disc read‑only memory,CD‑ROM)或其他光盘存储、光碟存储(包括压缩光碟、激光碟、光
碟、数字通用光碟、蓝光光碟等)、磁盘存储介质或者其他磁存储设备、或者能够用于携带或
存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其它介质,但
不限于此。存储器220可以是独立存在,通过通信线路240与处理器210相连接。存储器220也
可以和处理器210集成在一起。
[0088] 可选的,本发明实施例中的计算机指令也可以称之为应用程序代码,本发明实施例对此不作具体限定。
[0089] 在具体实现中,作为一种实施例,如图6所示,处理器210可以包括一个或多个CPU,如图6中的CPU0和CPU1。
[0090] 在具体实现中,作为一种实施例,如图6所示,终端设备200可以包括多个处理器,如图6中的第一处理器2101和第二处理器2102。这些处理器中的每一个可以是一个单核处
理器,也可以是一个多核处理器。
[0091] 本发明实施例还提供一种计算机可读存储介质。该计算机可读存储介质中存储有计算机程序,计算机程序被处理器执行时实现基于RISC‑V内核的MCU供电方法的步骤。
[0092] 在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。计算机程序产品
包括一个或多个计算机程序或指令。在计算机上加载和执行计算机程序或指令时,全部或
部分地执行本发明实施例的流程或功能。计算机可以是通用计算机、专用计算机、计算机网
络、终端、用户设备或者其它可编程装置。计算机程序或指令可以存储在计算机可读存储介
质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,计算机程
序或指令可以从一个网站站点、计算机、服务器或数据中心通过有线或无线方式向另一个
网站站点、计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能够存
取的任何可用介质或者是集成一个或多个可用介质的服务器、数据中心等数据存储设备。
可用介质可以是磁性介质,例如,软盘、硬盘、磁带;也可以是光介质,例如,数字视频光盘
(digital video disc,DVD);还可以是半导体介质,例如,固态硬盘(solid state drive,
SSD)。
[0093] 尽管在此结合各实施例对本发明进行了描述,然而,在实施所要求保护的本发明过程中,本领域技术人员通过查看附图、公开内容、以及所附权利要求书,可理解并实现公
开实施例的其他变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步
骤,“一”或“一个”不排除多个的情况。单个处理器或其他单元可以实现权利要求中列举的
若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组
合起来产生良好的效果。
[0094] 尽管结合具体特征及其实施例对本发明进行了描述,显而易见的,在不脱离本发明的精神和范围的情况下,可对其进行各种修改和组合。相应地,本说明书和附图仅仅是所
附权利要求所界定的本发明的示例性说明,且视为已覆盖本发明范围内的任意和所有修
改、变化、组合或等同物。显然,本领域的技术人员可以对本发明进行各种改动和变型而不
脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其
等同技术的范围之内,则本发明也意图包括这些改动和变型在内。