嵌入式处理器及其功耗优化方法和智能锁与流程

文档序号:16854664发布日期:2019-02-12 23:07阅读:221来源:国知局
嵌入式处理器及其功耗优化方法和智能锁与流程

本发明涉及电子器件领域,具体地涉及一种嵌入式处理器及其功耗优化方法及智能锁。



背景技术:

嵌入式处理器,例如mcu(microcontrollerunit,微控制器单元,俗称单片机),是很多电子设备或系统的控制中心。但对于采用电池供电的这类电子设备或系统,嵌入式处理器的功耗优化是其非常核心的一个技术要求,需要做到功耗尽量低以确保设备或系统可以长期稳定运行。同时功耗优化涉及嵌入式处理器本身的运行逻辑和各个外设的运行时序,在将其与处理或系统相结合作为一个整体的软件框架时,尤为重要。

但是,目前以嵌入式处理器为中心的系统,均以功能实现为重心,在功能实现的基础之上,再关注功耗优化,此种方案使得软件框架的逻辑不以功耗优化为首要考虑目标,从而不能形成完整的功耗优化方案。



技术实现要素:

本发明实施例的目的是提供一种嵌入式处理器及其功耗优化方法及智能锁,用于解决嵌入式处理器的功耗优化问题。

为了实现上述目的,本发明实施例提供一种嵌入式处理器的功耗优化方法,包括:

对所述嵌入式处理器进行中断配置,并打开所述嵌入式处理器能够接收中断的所有接口;

配置所述嵌入式处理器处于休眠模式,并在接收到以下任意一者或两者时,退出所述休眠模式以执行任务:外部设备基于外设输入事件产生的外设中断;所述嵌入式处理器的定时器基于预设事件产生的内部中断;

配置所述嵌入式处理器在执行所述任务之后,重新处于所述休眠模式以等待下一次的所述外设中断或所述内部中断。

可选地,所述外部设备基于所述外设输入事件产生所述外设中断包括:根据由所述嵌入式处理器执行的逻辑任务中的所述外设输入事件的数量,将所述逻辑任务分割成依次被执行的若干子任务,其中每个所述子任务对应一个所述外设输入事件;以及所述外部设备在请求所述嵌入式处理器执行任意一个所述子任务时,基于该任意一个所述子任务对应的所述外设输入事件产生所述外设中断。

可选地,所述功耗优化方法还包括:所述嵌入式处理器对所述外部设备进行初始化,使得所述外部设备独立于所述嵌入式处理器工作或休眠。

可选地,所述外设中断包括i2c中断、spi(serialperipheralinterface,串行外设接口)中断、uart(universalasynchronousreceiver/transmitter,通用异步收发传输器)中断和gpio(generalpurposeinputoutput,通用输入输出)中断、定时器中断和实时时钟rtc中断中的任意一者或多者。

可选地,所述嵌入式处理器为mcu、dsp(digitalsignalprocessing,数字信号处理)、mpu(microprocessorunit,微处理器单元)和soc(systemonchip,片上系统)中的任意一者或多者。

另一方面,本发明实施例还提供一种嵌入式处理器,包括:

第一配置模块,用于对所述嵌入式处理器进行中断配置,并打开所述嵌入式处理器能够接收中断的所有接口;以及

第二配置模块,用于配置所述嵌入式处理器处于休眠模式,并在接收到以下任意一者或两者时,退出所述休眠模式以执行任务:外部设备基于外设输入事件产生的外设中断;所述嵌入式处理器的定时器基于预设事件产生的内部中断;

并且,所述第二配置模块还用于配置所述嵌入式处理器在执行所述任务之后,重新处于所述休眠模式以等待下一次的所述外设中断或所述内部中断。

可选地,所述外部设备基于所述外设输入事件产生所述外设中断包括:根据由所述嵌入式处理器执行的逻辑任务中的所述外设输入事件的数量,将所述逻辑任务分割成依次被执行的若干子任务,其中每个所述子任务对应一个所述外设输入事件;以及所述外部设备在请求所述嵌入式处理器执行任意一个所述子任务时,基于该任意一个所述子任务对应的所述外设输入事件产生所述外设中断。

可选地,所述嵌入式处理器还包括:初始化模块,用于对所述外部设备进行初始化,使得所述外部设备独立于所述嵌入式处理器工作或休眠。

可选地,所述外设中断包括i2c中断、spi中断、uart中断和gpio中断、定时器中断和rtc中断中的任意一者或多者;并且所述嵌入式处理器对应具有的能够接收中断的接口包括i2c接口、spi接口、uart接口和gpio接口、定时器接口和rtc接口中的任意一者或多者。

可选地,所述嵌入式处理器为mcu、dsp、mpu和soc中的任意一者或多者。

另一方面,本发明实施例还提供一种智能锁,包括上述的嵌入式处理器。

通过上述技术方案,本发明实施例以功耗优化为首要目标,构建了以低功耗休眠为基础、以外设中断或内部中断为触发条件的功耗优化方案,使得嵌入式处理器只在响应于中断时运行,其他时间则处于低功耗的休眠状态,从而极大地节省了功耗。

本发明实施例的其它特征和优点将在随后的具体实施方式部分予以详细说明。

附图说明

附图是用来提供对本发明实施例的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施例,但并不构成对本发明实施例的限制。在附图中:

图1是本发明实施例的一种嵌入式处理器的功耗优化方法的流程示意图;

图2是现有mcu功耗优化方案和本发明实施例的mcu功耗优化方案在功耗优化方面的效果对比图;

图3是本发明优选的实施例中基于外设输入事件产生外设中断的流程示意图;

图4是本发明另一实施例的一种嵌入式处理器的结构示意图;

图5是适用于本发明实施例的嵌入式处理器的功耗优化方案的示例硬件系统的框架示意图;以及

图6是本发明实施例的嵌入式处理器的功耗优化方案的软件框架示意图。

附图标记说明

410、第一配置模块;420、第二配置模块;430、初始化模块

具体实施方式

以下结合附图对本发明实施例的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明实施例,并不用于限制本发明实施例。

在本发明实施例中,逻辑任务是一系列事件的集合,其包含一个完整的处理逻辑。现有嵌入式处理器的功耗优化方案是以功能实现为核心的,从而其软件编写逻辑一般采用的是以逻辑任务为最小任务单元的软件机制,一次逻辑任务处理完成之后,嵌入式处理器进入休眠模式。

以共享单车的智能锁为例,本申请发明人在实现本发明方案的过程中发现:一个逻辑任务可以从收到开锁指令(例如,蓝牙收到开锁指令产生中断或网络模块收到服务器的开锁指令产生中断)开始,到开锁完成并通过网络上传开锁结果结束。这个完整过程往往持续数秒,在数秒时间内,智能锁的mcu的实际任务处理的时间很少,大部分的时间处于等待外设的信息反馈或空闲阶段,但mcu仍旧在运行并消耗电池电量。

因此,不同于现有mcu功耗优化方案以逻辑任务为最小任务单元,本发明实施例提出了以外设任务处理为最小任务单元的一种mcu功耗优化方案,具体描述如下文。

图1是本发明实施例的一种嵌入式处理器的功耗优化方法的流程示意图,其中所述嵌入式处理器可以是mcu、dsp(digitalsignalprocessing,数字信号处理)、mpu(microprocessorunit,微处理器单元)、soc(systemonchip,片上系统)中的任意一者或多者,下文主要以mcu为例。

如图1所示,所述功耗优化方法可以包括以下步骤:

步骤s110,对所述嵌入式处理器进行中断配置,并打开所述嵌入式处理器能够接收中断的所有接口。

步骤s120,配置所述嵌入式处理器处于休眠模式,并在接收到以下任意一者或两者时,退出所述休眠模式以执行任务:

1)外部设备基于外设输入事件产生的外设中断;

2)所述嵌入式处理器的定时器基于预设事件产生的内部中断。

其中,所述外部设备是指与所述嵌入式处理器所在设备或系统相对独立,但能够进行信息交互的设备、模块或系统,例如对于具有嵌入式处理器的智能锁,与其通信的服务器、智能手机等可以是其外部设备。

其中,外设中断可以包括i2c中断、spi(serialperipheralinterface,串行外设接口)中断、uart(universalasynchronousreceiver/transmitter,通用异步收发传输器)中断和gpio(generalpurposeinputoutput,通用输入输出)中断、定时器中断和rtc中断中的任意一者或多者。

其中,所述预设事件例如是要求间隔一定的时间查询一次网络强度等,其可通过嵌入式处理器自身的定时器来产生相应中断。

另外,可理解的是,外设输入事件和预设事件分别对应逻辑任务中的外设任务和预设任务,即一次逻辑任务可基于外设任务和/或预设任务进行划分,而在一次逻辑任务处理过程中,当有外设任务和/或预设任务需要处理时,嵌入式处理器会接收到对应的外设中断和/或内部中断。

对于外部设备,在优选的实施例中,所述功耗优化方法还可以包括:所述嵌入式处理器对所述外部设备进行初始化,使得所述外部设备独立于所述嵌入式处理器工作或休眠。如此,使得外部设备能够脱离嵌入式处理器独立工作,避免外部设备因受到嵌入式处理器休眠的影响而无法正常产生中断。

步骤s130,配置所述嵌入式处理器在执行所述任务之后,重新处于所述休眠模式以等待下一次的所述外设中断或所述内部中断。

如此,通过设置中断,将一次逻辑任务分割成了基于中断的若干子任务,且嵌入式处理器仅在接收到中断时才退出休眠模式以执行对应的任务,而未接收到中断时和已执行完任务后,都处于休眠模式,从而最大程度地节省了嵌入式处理器的功耗。

图2是现有mcu功耗优化方案和本发明实施例的mcu功耗优化方案在功耗优化方面的效果对比图。如图2所示,现有mcu功耗优化方案以整个逻辑任务为最小任务单元,在单次逻辑任务处理过程中,mcu一直处于运行状态,而本发明实施例的mcu功耗优化方案以外设任务和/或预设任务为最小任务单元,在单次逻辑任务处理过程中只有在需要处理外设任务或预设任务时才处于运行状态,其余时间都处于休眠状态,明显减少了嵌入式处理器的功耗。

本发明实施例中,嵌入式处理器要求能够对多种类型的逻辑任务进行处理,即可能有多个逻辑任务同时到来或有异常中断等,从而外设输入事件的数量对于嵌入式处理器是不确定的,而嵌入式处理器需要对每个外设输入事件进行响应。因此,本发明实施例中配置嵌入式处理器实时地响应接收到的外设中断,从而在相应软件编写逻辑中,不限定嵌入式处理器的具体运行时间和具体休眠时间。

但在优选的实施例中,对于一些有专门用途的嵌入式处理器,其可能被配置为仅用于执行一些顺序流程形式的逻辑任务,且一次只执行一种类型的逻辑任务,因此其外设输入事件相对较为固定,可考虑更为精确地控制嵌入式处理器的具体运行时间和具体休眠时间,使得嵌入式处理器可按逻辑任务的规律来最大化休眠时间,具体流程如下。

图3是本发明优选的实施例中基于外设输入事件产生外设中断的流程示意图。如图3所示,可以包括以下步骤:

步骤s310,根据由所述嵌入式处理器执行的逻辑任务中的所述外设输入事件的数量,将所述逻辑任务分割成依次被执行的若干子任务。

其中,每个所述子任务对应一个所述外设输入事件。因逻辑任务中的外设中断事件相对固定,从而可以基于外设输入事件的数量来提前划分逻辑任务。

步骤s320,所述外部设备在请求所述嵌入式处理器执行任意一个所述子任务时,基于该任意一个所述子任务对应的所述外设输入事件产生所述外设中断。

如此,嵌入式处理器可预先知道外设中断到来的时间以及对应的子任务的执行时间,从而在相应软件编写逻辑中,可限定嵌入式处理器的具体运行时间和具体休眠时间,实现了对这类顺序流程形式的逻辑任务的最大化休眠时间。

图4是本发明另一实施例的一种嵌入式处理器的结构示意图,该另一实施例与上述的功耗优化方法的实施例的发明思路相同。如图4所示,所述嵌入式处理器可以包括:

第一配置模块410,用于对所述嵌入式处理器进行中断配置,并打开所述嵌入式处理器能够接收中断的所有接口。

第二配置模块420,用于配置所述嵌入式处理器处于休眠模式,并在接收到以下任意一者或两者时,退出所述休眠模式以执行任务:

1)外部设备基于外设输入事件产生的外设中断;

2)所述嵌入式处理器的定时器基于预设事件产生的内部中断。

并且,所述第二配置模块420还用于配置所述嵌入式处理器在执行所述任务之后,重新处于所述休眠模式以等待下一次的所述外设中断或所述内部中断。

在优选的实施例中,对于第二配置模块420,所述外部设备基于所述外设输入事件产生所述外设中断包括:根据由所述嵌入式处理器执行的逻辑任务中的所述外设输入事件的数量,将所述逻辑任务分割成依次被执行的若干子任务,其中每个所述子任务对应一个所述外设输入事件;以及所述外部设备在请求所述嵌入式处理器执行任意一个所述子任务时,基于该任意一个所述子任务对应的所述外设输入事件产生所述外设中断。

在更为优选的实施例中,所述嵌入式处理器还可以包括:初始化模块430,用于对所述外部设备进行初始化,使得所述外部设备独立于所述嵌入式处理器工作或休眠。

在此,附图中各模块间的连线是示意的,并不限定各模块之间的连接关系。

该实施例的其他实施细节及效果与上述的功耗优化方法的实施例相同或相似,故在此不再赘述。

进一步地,因配置了中断,易知上述关于嵌入式处理器的实施例及关于功耗优化方法的实施例的方案的应用要依赖于设备或系统的硬件框架的设计。

图5是适用于本发明实施例的嵌入式处理器的功耗优化方案的示例硬件系统的框架示意图,该示例硬件系统中,所述嵌入式处理器例如为mcu。如图5所示,本发明实施例的嵌入式处理器的功耗优化方案可应用于一个以mcu为核心,通过多种常用外设接口(i2c、spi、uart、gpio等)连接独立外部设备或模块的硬件系统中。该mcu需要具备休眠功能以暂停任务降低功耗,需要具备中断功能(包括gpio中断、i2c中断、spi中断、uart中断、定时器中断、rtc中断等外设中断等),外部设备或模块通过常用接口连接至mcu,外部设备或模块为可单独供电并可脱离mcu独立工作的硬件设备或模块,当外部设备或模块需要mcu进行任务处理时,产生一个外设中断,唤醒mcu进行本次的外设任务处理。

大部分的mcu系统均可满足该示例硬件系统的硬件框架,因此本发明实施例的嵌入式处理器的功耗优化方案可应用于大部分的嵌入式处理器的设备或系统中。

基于该硬件框架,图6是本发明实施例的嵌入式处理器的功耗优化方案的软件框架示意图,其异于一般的软件操作流程,是一种类似基于状态机的软件框架。如图6所示,大致流程的描述如下:

步骤s610,初始化外设模块。

具体地,系统开始运行,mcu对所有的独立外设模块进行初始化,独立外设模块初始化之后可以脱离mcu独立工作或休眠。

步骤s620,按需设置定时及外设中断。

具体地,mcu进行中断配置,打开有数据输入的所有外设中断,打开mcu定时器或rtc中断实现定时唤醒。

步骤s630,mcu进入并保持休眠模式。

其中,mcu进入并保持休眠状态以等待中断触发。

步骤s640,外设及定时器产生中断唤醒mcu。

步骤s650,mcu退出休眠模式响应中断。

进一步地,mcu响应中断可以包括:依据类似状态机的逻辑保存逻辑任务上下文信息,供后续中断产生时mcu逻辑任务状态的判断。

更进一步地,一次外设中断任务处理结束后,mcu重新进入到低功耗的休眠模式,等待下一次的中断到来。在单次外设中断处理过程不应包含任何等待或延时操作,所有的等待或延时操作均由定时中断实现,在等待或延时过程中,mcu也应该进入休眠模式。

可知,本发明实施例的功耗优化方案是以低功耗休眠为基础,以外设中断或内部中断为触发条件,每产生一次外设中断或内部中断运行一次中断任务处理。其中,一次中断处理任务中可包括多次数据计算及模块数据输出,可包含任何直接读写的无延时外设操作,但任何需要等待的外设输入操作或延时需求,均应通过中断实现。

本发明另一实施例还提供了一种智能锁,该智能锁包括上述实施例所述的嵌入式处理器,其也满足上述的示例硬件系统的硬件框架。

该智能锁例如是共享单车中的智能锁,一次开锁过程可划分为一个逻辑任务,该逻辑任务从收到开锁指令开始,且到发送开锁结果到服务器结束。该逻辑任务中涉及到多个外设操作,包括:

1)读取网络模块数据。

其中,网络模块为集成在智能锁中,用于实现智能锁与移动终端、服务器等基于网络进行通信的功能模块。

2)解析开锁指令。

举例而言,开锁指令来自服务器或移动终端。

3)启动电机开始开锁。

其中,所述电机用于驱动智能锁打开或锁止的驱动机构,mcu需等待锁开关状态以判断开锁是否完成。

4)关闭电机停止开锁动作。

5)发送开锁结果数据到网络模块。

6)等待网络模块返回发送结果。

举例而言,网络模块向mcu反馈是否成功向服务器或移动终端发送开锁结果的信息。

以上所有和外设操作相关的子任务,均可在极短时间内完成,mcu在其余时间处于等待外设的返回结果的状态,等待的时间占据整个逻辑任务的时间较长,因此会有多余的电流消耗。针对这个多余电流消耗的问题,可采用本发明实施例的嵌入式处理器的功耗优化方案,其使开锁过程的流程可以如下:

1)mcu休眠等待模块或蓝牙串口中断。

举例而言,共享单车通过蓝牙方式开锁,从而其休眠等待外设模块基于蓝牙发送的中断或通过蓝牙串口接收的中断。

2)收到中断表明有数据传输,读取模块或蓝牙串口数据并解析开锁指令,启动电机开始开锁。

即,mcu响应于模块或蓝牙串口中断启动以执行开锁操作。

3)mcu休眠等待开锁状态开关触发。

4)mcu收到开锁状态开关中断表明开锁结束,关闭电机停止开锁动作,通过串口发送开锁结果到网络模块。

5)mcu休眠等待网络模块串口数据。

6)mcu接收到来自网络模块的串口中断,读取串口数据判断以判断网络模块发送开锁结果是否成功。

参考图2进行理解,可知该流程中mcu在等待或延时时均处于低功耗的休眠状态,大大减少了mcu的功耗。

综上所述,本发明实施例以功耗优化为首要目标,构建了以低功耗休眠为基础、以外设中断或内部中断为触发条件的功耗优化方案,且使得嵌入式处理器只在响应于中断时运行,其他时间则处于低功耗的休眠状态,从而极大地节省了嵌入式处理器的功耗。

以上结合附图详细描述了本发明实施例的可选实施方式,但是,本发明实施例并不限于上述实施方式中的具体细节,在本发明实施例的技术构思范围内,可以对本发明实施例的技术方案进行多种简单变型,这些简单变型均属于本发明实施例的保护范围。

另外需要说明的是,在上述具体实施方式中所描述的各个具体技术特征,在不矛盾的情况下,可以通过任何合适的方式进行组合。为了避免不必要的重复,本发明实施例对各种可能的组合方式不再另行说明。

本领域技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序存储在一个存储介质中,包括若干指令用以使得单片机、芯片或处理器(processor)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(rom,read-onlymemory)、随机存取存储器(ram,randomaccessmemory)、磁碟或者光盘等各种可以存储程序代码的介质。

此外,本发明实施例的各种不同的实施方式之间也可以进行任意组合,只要其不违背本发明实施例的思想,其同样应当视为本发明实施例所公开的内容。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1