一种任务运行的控制方法和装置制造方法及图纸

技术编号:18137966 阅读:19 留言:0更新日期:2018-06-06 11:31
本发明专利技术公开了一种任务运行的控制方法和装置。其中方法包括:当任务获得CPU使用权限时,获取系统的当前电流值;获取该任务的运行电流阈值;所述运行电流阈值为系统允许的最大瞬时电流值与该任务的功耗电流值之差;如果当前电流值不高于该任务的运行电流阈值,运行该任务;如果当前电流值高于该任务的运行电流阈值,将该任务挂起。该技术方案在不更改系统的任务调度算法的前提下,能够控制任务运行或挂起,减小了系统电流峰值,降低设备对电源功率的要求,可以扩大电源选型的范围,降低设备的成本,非常适合对嵌入式设备等对电源有着严格需求的产品。这样也减少了电压纹波,提高了电源输出电压的稳定性。

【技术实现步骤摘要】
一种任务运行的控制方法和装置
本专利技术涉及计算机
,具体涉及一种任务运行的控制方法和装置。
技术介绍
随着人们需求的不断提升,利用电池进行供电的设备,例如手机、平板电脑、可穿戴设备等在电池的选型上更偏重于续航能力,具有大容量电池的设备在同类产品中也具有较高的竞争力。然而另一方面,电池的最大输出电流也是制约电池选型的一个重要参数,如果电池的输出最大电流无法满足设备可能存在的最大瞬时功耗要求,就会导致掉电等相关问题产生。实际上,系统在大多数时间内的功耗远远低于最大瞬时功耗,举例而言,一个系统可能在95%以上的时间内都运行于较低并平稳的低功耗条件下,但偶尔会有一些时间段出现大电流消耗,如果出现所需电流大于电池额定输出电流的话,则会造成故障。
技术实现思路
鉴于上述问题,提出了本专利技术以便提供一种克服上述问题或者至少部分地解决上述问题的任务运行的控制方法和装置。依据本专利技术的一个方面,提供了一种任务运行的控制方法,包括:当任务获得CPU使用权限时,获取系统的当前电流值;获取该任务的运行电流阈值;所述运行电流阈值为系统允许的最大瞬时电流值与该任务的功耗电流值之差;如果系统的当前电流值不高于该任务的运行电流阈值,运行该任务;如果系统的当前电流值高于该任务的运行电流阈值,将该任务挂起。可选地,所述任务是对系统中的普通任务切割得到的子任务;所述任务在运行时不受其他非系统级的中断指令影响。可选地,所述将该任务挂起包括:判断是否有可用的延时定时器;如果没有可用的延时定时器,获取该任务的第一延时时间;将该任务在第一延时时间内挂起,并在挂起结束后,当任务重新获得CPU使用权限时,直接运行该任务。可选地,该方法还包括:如果有可用的延时定时器,选定可用的延时定时器;获取该任务的等待时间,根据该任务的等待时间,设定该任务的第二延时时间和延时次数;以及设定在等待时间结束时,调用所述选定的延时定时器将延时次数清零;将该任务在第二延时时间内挂起;并在挂起结束后,当任务获得CPU使用权限时,重新判断系统的当前电流值是否高于该任务的运行电流阈值;如果不高于,则运行该任务;如果高于,将该任务的延时次数减一,判断该任务的延时次数是否小于或等于零;如果延时次数大于零,将该任务挂起并重复上述步骤;如果延时次数小于或等于零,运行该任务。可选地,该方法还包括:在所述选定的延时定时器中设置任务的优先级;所述判断是否有可用的延时定时器包括:判断延时器中是否已设置了任务的优先级,若已设置,则判断该延时定时器不可用,若未设置,则判断该延时定时器可用。依据本专利技术的另一方面,提供了一种任务运行的控制装置,包括:系统电流值获取单元,用于在任务获得CPU使用权限时,获取系统的当前电流值;控制单元,用于获取该任务的运行电流阈值;所述运行电流阈值为系统允许的最大瞬时电流值与该任务的功耗电流值之差;如果系统的当前电流值不高于该任务的运行电流阈值,运行该任务;如果系统的当前电流值高于该任务的运行电流阈值,将该任务挂起。可选地,所述任务是对系统中的普通任务切割得到的子任务;所述任务在运行时不受其他非系统级的中断指令影响。可选地,所述控制单元,用于判断是否有可用的延时定时器;如果没有可用的延时定时器,获取该任务的第一延时时间;将该任务在第一延时时间内挂起,并在挂起结束后,当任务重新获得CPU使用权限时,直接运行该任务。可选地,所述控制单元,用于在有可用的延时定时器时,选定可用的延时定时器;获取该任务的等待时间,根据该任务的等待时间,设定该任务的第二延时时间和延时次数;以及设定在等待时间结束时,调用所述选定的延时定时器将延时次数清零;将该任务在第二延时时间内挂起;并在挂起结束后,当任务获得CPU使用权限时,重新判断系统的当前电流值是否高于该任务的运行电流阈值;如果不高于,则运行该任务;如果高于,将该任务的延时次数减一,判断该任务的延时次数是否小于或等于零;如果延时次数大于零,将该任务挂起并重复上述步骤;如果延时次数小于或等于零,运行该任务。可选地,所述控制单元,还用于在所述选定的延时定时器中设置任务的优先级;以及用于判断延时器中是否已设置了任务的优先级,若已设置,则判断该延时定时器不可用,若未设置,则判断该延时定时器可用。由上述可知,本专利技术的技术方案,在任务获得CPU使用权限时,将获取到的系统当前电流值与该任务的运行电流阈值进行比较,如果系统当前电流值高于该任务的运行电流阈值,将该任务挂起,反之运行该任务。该技术方案在不更改系统的任务调度算法的前提下,能够控制任务运行或挂起,减小了系统电流峰值,降低设备对电源功率的要求,可以扩大电源选型的范围,降低设备的成本,非常适合对嵌入式设备等对电源有着严格需求的产品。这样也减少了电压纹波,提高了电源输出电压的稳定性。上述说明仅是本专利技术技术方案的概述,为了能够更清楚了解本专利技术的技术手段,而可依照说明书的内容予以实施,并且为了让本专利技术的上述和其它目的、特征和优点能够更明显易懂,以下特举本专利技术的具体实施方式。附图说明通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本专利技术的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:图1示出了根据本专利技术一个实施例的任务运行的控制方法的流程示意图;图2示出了根据本专利技术一个实施例的包含电流采集模块的电流值采集电路示意图;图3示出了根据本专利技术一个实施例的采用任务运行的控制方法对系统进行优化前后的电流-时间关系图图4示出了根据本专利技术一个实施例的任务运行的控制装置的结构示意图。具体实施方式下面将参照附图更详细地描述本公开的示例性实施例。虽然附图中显示了本公开的示例性实施例,然而应当理解,可以以各种形式实现本公开而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本公开,并且能够将本公开的范围完整的传达给本领域的技术人员。图1示出了根据本专利技术一个实施例的一种任务运行的控制方法的流程示意图,如图1所示,该方法包括:步骤S110,当任务获得CPU使用权限时,获取系统的当前电流值。系统即为设备的控制系统,任务为系统中执行的任务。例如,系统为可穿戴设备中的操作系统。具体地,可以通过在设备中安装电流采集模块,来采集系统的当前电流值。图2示出了根据本专利技术一个实施例的包含电流采集模块的电流值采集电路示意图。如图2所示,在电源线路中串联一个毫欧级的采集电阻R,这样电阻两端的压降很小,采集电阻产生的热量也很低,不会影响设备的正常工作。采集电阻R并联有信号调理电路,可以采集电阻两端的电压,并对采集到的模拟信号进行滤波和缩放,最终通过CPU提供的ADC(Analog-to-digitalconverter,模数转换器)通道,将采集到的电压信号转换成电流值。以嵌入式设备为例,可以根据系统的功能,得到系统的预期电流值大小和等级,并根据采集元件的数值,进一步确定信号调理电路的缩放因子,一般地,需要对采集到的信号进行放大。由于嵌入式设备自身就对电流消耗有着严格的需求,因此可以采用超低功耗运放,以减少额外的电流消耗。信号放大之后,通过ADC进行采样和量化并最终转换为电压和电流数值。在另一实施例中,为使电流采集带来的本文档来自技高网...
一种任务运行的控制方法和装置

【技术保护点】
一种任务运行的控制方法,其特征在于,该方法包括:当任务获得CPU使用权限时,获取系统的当前电流值;获取该任务的运行电流阈值;所述运行电流阈值为系统允许的最大瞬时电流值与该任务的功耗电流值之差;如果系统的当前电流值不高于该任务的运行电流阈值,运行该任务;如果系统的当前电流值高于该任务的运行电流阈值,将该任务挂起。

【技术特征摘要】
1.一种任务运行的控制方法,其特征在于,该方法包括:当任务获得CPU使用权限时,获取系统的当前电流值;获取该任务的运行电流阈值;所述运行电流阈值为系统允许的最大瞬时电流值与该任务的功耗电流值之差;如果系统的当前电流值不高于该任务的运行电流阈值,运行该任务;如果系统的当前电流值高于该任务的运行电流阈值,将该任务挂起。2.如权利要求1所述的方法,其特征在于,所述任务是对系统中的普通任务切割得到的子任务;所述任务在运行时不受其他非系统级的中断指令影响。3.如权利要求1所述的方法,其特征在于,所述将该任务挂起包括:判断是否有可用的延时定时器;如果没有可用的延时定时器,获取该任务的第一延时时间;将该任务在第一延时时间内挂起,并在挂起结束后,当任务重新获得CPU使用权限时,直接运行该任务。4.如权利要求3所述的方法,其特征在于,该方法还包括:如果有可用的延时定时器,选定可用的延时定时器;获取该任务的等待时间,根据该任务的等待时间,设定该任务的第二延时时间和延时次数;以及设定在等待时间结束时,调用所述选定的延时定时器将延时次数清零;将该任务在第二延时时间内挂起;并在挂起结束后,当任务获得CPU使用权限时,重新判断系统的当前电流值是否高于该任务的运行电流阈值;如果不高于,则运行该任务;如果高于,将该任务的延时次数减一,判断该任务的延时次数是否小于或等于零;如果延时次数大于零,将该任务挂起并重复上述步骤;如果延时次数小于或等于零,运行该任务。5.如权利要求4所述的方法,其中,该方法还包括:在所述选定的延时定时器中设置任务的优先级;所述判断是否有可用的延时定时器包括:判断延时器中是否已设置了任务的优先级,若已设置,则判断该延时定时器不可用,若未设置,则判断该延时定时器可用。6.一种任务...

【专利技术属性】
技术研发人员:陶强薛永会
申请(专利权)人:中科创达软件股份有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1