新闻中心

EEPW首页>嵌入式系统>设计应用> μCOS-II实时操作系统在μ′nSPTM中的低功耗研究

μCOS-II实时操作系统在μ′nSPTM中的低功耗研究

作者: 时间:2009-07-01 来源:网络 收藏
0 引 言
在当今普遍使用的手持式移动设备中,如何降低嵌入式系统的、延长电池使用的时间等问题一直是困扰开发人员的一个难题。大量的不仅导致移动设备的待机时间缩短,还会导致芯片热量增加,降低可靠性,而且也会增加散热系统的成本。待机时间问题虽然可以通过提高电池容量解决,但实际情况是嵌入式系统的增长超过电池技术的发展,因此单纯依靠电池技术的发展是不可能在短期内解决现在正遇到的功耗问题。
CMOS逻辑电路被认为是现今最通用的大规模集成电路技术,因为CMOS可以高度集成,并具有低功耗、输入电流小等特性,而且从理论上,理想的CMOS电路的静态功耗可以认为是零,是一种“理想”的逻辑器件。但实际的CMOS器件依然需要消耗功率,而且频率越高,消耗的动态功耗越高。虽然芯片的封装、使用散热片和风扇能够散掉芯片和系统所产生的热量,然而随着芯片和系统尺寸持续地增加,要提供充分的散热就必须付出更多的代价,而且系统的尺寸也会增加,散热系统的机械部分也会降低系统的可靠性。
嵌入式系统由硬件和软件共同组成,因此降低嵌入式系统功耗的方法也有硬件方法和软件方法。本文以移植到凌阳16位处理器μ′上的嵌入式μCOS-Ⅱ为例,使用凌阳公司提供的SPCE061A开发板,讨论如何利用μCOS-Ⅱ给出的内核扩展接口,实现一个低功耗的嵌入式系统。

1 嵌入式系统的功耗
嵌入式系统的平均功耗和电池容量共同决定待机时间,平均功耗越小、电池容量越大则待机时间越长。而嵌入式系统的功耗可以分为静态功耗和动态功耗,静态功耗是由CMOS电路的漏电流形成,现在的技术已经使漏电流减少到尽可能小,因此静态功耗一般占总功耗的比例很小;动态功耗是由CMOS电路的分布电容充放电形成,该功耗占总功耗的比例很大,因此也是主要的对象。动态功耗的大小可由式PD=CL×VDD2×f表示,CL是CMOS电路的分布电容,与芯片尺寸和工艺有关;VDD是电压;f是系统的工作频率,降低工作频率有助于降低系统功耗,但会使系统工作速度下降。
由上述分析可知,降低嵌入式系统的功耗主要有两种途径。第一种是动态频率调节(DFS),它可以改变不同电压域上的时钟频率。虽然这种方法可以消除空闲等待的时间,但是却不能减少能量的消耗。比如将一个任务以通常情况的一半频率来运行,意味着完成这个任务要通常的两倍时间。DFS有用的地方在于,它可以降低峰值功耗。第二种方式是动态地电压和频率调节(DVFS)。DVFS是建立在DFS基础之上的,它既要降低频率,又要降低电压。由于电压对动态功耗二次方的关系,DVFS确实能将能量的消耗节省下来。为此ARM公司的Faisal M.Goriawalla先生提出IEM(智能能量管理)方案,该方案采用步进策略、前瞻策略或平均数策略等算法调节系统的频率和电压,对于最终产品来说,则可以节省15%~20%的能量消耗(来源于ARM公司OEM合作伙伴的数据)。

本文引用地址://m.amcfsurvey.com/article/152443.htm

2μCOS-Ⅱ和凌阳处理器μ′简介
μCOS-Ⅱ是一个简单、高效的嵌入式内核,具有可抢占的实时多任务调度系统功能。μCOS-Ⅱ提供很多系统服务,例如邮箱、消息队列、信号量、块大小固定的内存的申请与释放、时间相关函数等。μCOS-Ⅱ2.5版本支持64个任务,每个任务一个特定的优先级。优先级越高,数字越小。系统占用了8个任务,保留优先级为0,1,2,3,OS LOWEST_PRIO-3,OS_LOWEST_PRIO_2,OS_LOWEST_PRIO_1,OS_LOWEST_PRIO_0。
凌阳16位处理器μ′被广泛应用在家用电器控制器、仪器仪表、工业控制、娱乐和语音控制等场合。在功耗控制方面,μ′nSPTM采用CMOS制造工艺,同时增加了软件激发的弱振方式、空闲方式和掉电方式,极大地降低了其功耗。可以通过对P SystemClock的设置进行选择CPU的时钟可以在O.32~49.152 MHz范围内可编程调节。当系统处于备用状态下(时钟处于停止状态),耗电仅为2μA@3.6 V。μ′nSPTM处理器满足μCOS-Ⅱ实时操作系统移植的条件。
凌阳16位处理器μ′nSPTM的时钟有多种选择。系统采用32 768 Hz的实时时钟,实时时钟经过PLL倍频电路以后,产生系统时钟频率FOSC,FOSC再经过分频得到CPU时钟频率。其工作原理如图1所示。

由图1可知:μ′nSPTM的时钟有多种选择,从O.32~49.152 MHz范围内可编程调节,另外还可以关闭32 768 Hz实时时钟进入睡眠状态。在3.6 V电压下,处理器的工作电流见表1。


3 μCOS-Ⅱ实现低功耗的原理

μCOS-Ⅱ总是运行进入就绪状态的优先级最高的任务。一旦优先级高的任务进入就绪态,就可以将CPU从低优先级任务中抢过来。在μCOS-Ⅱ初始化时,会建立一个优先级最低的任务――空闲任务,在没有任务进入就绪态的时候,空闲任务就会开始运行。空闲任务会调用一个函数――OSTaskIdleHook()。这是留给用户使用的内核扩展接口。空闲任务实际上并没有什么事情可做,只是一个等待中断的无限循环。因此用户可以利用OSTaskIdleHook(),降低或者关闭系统时钟,使CPU进入低功耗模式。在实际的测试中,可修改文件OS_CPU_A.ASM,添加控制实时时钟的例程,然后在应用程序或函数OSTaskIdleHook()中调用,这样更便于程序阅读。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

p2p机相关文章:p2p原理



上一页 1 2 下一页

评论


相关推荐

技术专区

关闭