在μCOSII上实现动态电压调节技术

在μCOSII上实现动态电压调节技术,第1张

 

  μC/OS—II作为一个源码公开的嵌入式实时 *** 作系统,可以支持64个任务,同时支持信号量、消息队列、邮箱等多种常用的进程间通信方式。该 *** 作系统用ANSI C语言书写,程序可读性强,移植性好,可裁减,并已在通信、电子、自动化等领域的嵌入式设备中获得了广泛的应用,但是它的内核并不支持DVS(Dynamic Voltage Scaling)管理。本文在遵循可移植、可裁减的前提下,对其进行了改进,使其可以支持动态的离散电压管理,保证μC/OS—II在新要求下的应用,使嵌入式设备的电量能够得到充分的使用。

  1 DVS在μC/OS—II上应用的理论基础

  1.1 DVS应用的硬件基础

  动态电压调节技术(DVS)是这样一种技术:在保证系统任务完成的情况下,使处理器运行在尽可能低的电压上。它的基本思想是,当系统需要完成大量计算任务时,提高处理器的电压以增加其处理速度;而当系统任务较少或处于空闲状态时,降低处理器的电压,这样既可以保证系统任务的按时完成,同时又可降低处理器的能量消耗。该节能技术的理论依据来自于对处理器功耗的定义:

  

在μCOSII上实现动态电压调节技术,第2张

 

  其中:E为处理器的功耗,V为处理器的电压,fclk为处理器的频率,lLcak为漏电流;α和C为常数,分别表示门电路的电能转换效率和门电路在整个设备中所占的比例;tTask表示系统中任务的个数。根据式(1)可知,通过降低处理器的电压和频率,可以减少处理器对电能的消耗。由于在实际应用中,程序能够直接控制的是处理器的频率,处理器的电压会根据处理器频率的变化自动变化。一般来说,处理器的电压会随着频率的降低而降低,因此,动态电压技术实际上是对频率的调整。本文中如不作特别声明,调整频率即意味调整电压。

  1. 2 DVS应用的软件基础

  由于μC/OS—II是一个基于优先级的抢占式任务调度内核,为了保证低优先级任务能够得到处理器的执行,本文假定系统中用户定义的所有任务都遵循如下的结构:

  

在μCOSII上实现动态电压调节技术,第3张

 

  假设系统里有两个任务:一个任务的执行时间为0.5 s,周期为10 s;另一个任务的执行时间为1 s,周期为5 s。这两个任务的调度过程如图l所示,这时系统中存在大量的松弛时间。

  

在μCOSII上实现动态电压调节技术,第4张

 

  如果在程序运行过程中降低处理器的频率,处理器的运行电压也会因此变低。当处理器的频率变化为最高频率的1/4时,其任务调度过程如图2所示。

  

在μCOSII上实现动态电压调节技术,第5张

 

  由图2可以知道,当处理器的频率变化为正常的1/4时,系统任务仍然可以正常运行。这时,处理器的电压下降了,根据式(1),处理器的功耗也降低了。

  从上面的分析可以看出,正是由于μC/OS—II采用了基于优先级抢占的调度策略,每个任务执行一段时间之后,都会主动放弃CPU的使用,从而使低优先级的任务能够得到执行。同时,由于任务放弃CPU进行延时 *** 作,任务间会因此而产生松弛时间,而DVS功能就是利用这段松弛时问,降低处理器的执行速度而完成任务的。本文研究的重点就是改进μC/OS—II,使它能够根据系统中任务运行产生的松弛时间的情况,自动设置处理器的频率,降低电压,从而降低处理器的功耗。

  

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2713423.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-17
下一篇 2022-08-17

发表评论

登录后才能评论

评论列表(0条)

保存