首页 » 技术文章 » 找出能量泄漏,降低嵌入式系统功耗

找出能量泄漏,降低嵌入式系统功耗

作者:  时间:2011-07-21 19:18  来源:EDN

  功耗模式  

  很多嵌入式应用都把大多数时间花费在等待某些事件发生。如果处理器在空闲时仍然全速运行,电池的寿命将在几乎未作任何事情的情况下被消耗。所以在很多应用中,处理器仅在总计很少的时间里才被激活。通过将处理器在空闲时间里置于低功耗模式,电池的寿命将得到数量级的延长。

  一个好的方式是使用RTOS和面向任务的设计。可以定义一个最低优先级,仅当没有任何其他任务需要运行时才会被运行的任务。这个空闲任务将是实现功耗管理的理想场所。在实践中,当空闲任务每次被激活时,都将处理器(或其部份)置于(可能的)多种低功耗模式之一。

  CPU频率理论上,CMOS MCU的功耗可由以下公式得出: P = f x U^2 x k 上式中的f是时钟频率,U是供电电压,k是数。功耗调试使得开发者能够验证功耗与时钟频率之间的关系。运行在50MHz且几乎不休眠的系统,当运行在100MHz时将在休眠模式下消耗约50%的时间。调试器中的功耗数据使得开发者能够检验所期望的行为,以及当如果存在与时钟频率的非线性关系时,选择功耗最低的工作频率。

  中断处理   

  图4显示了一个事件驱动系统的功耗示意图,其在t0时处于非激活模式,消耗的电流为I0。在t1时系统被激活且电流上升为I1,对应于系统在激活模式下且有一个外设被使用时的功耗。在t2时,程序的运行被一个更高优先级的中断所挂起。已经被激活的外设没有被关闭,虽然高优先级的线程中并未用到它们。更多的外设被新的线程所激活,导致电流在t2t3之间升高为I2。在t3时,控制权重又回到低优先级的线程。

4:显示了一个事件驱动系统的功耗示意图。

  该系统的功能可以非常出色,并且能够在运行速度和代码尺寸两方面进行优化。然而在功耗方面,还有更多的优化可以实现。图中黄色的区域表示如果在t2t3之间关闭不需要的外设,或者对调这两个线程的优先级,所能够节省的能量。

  使用功耗调试,能够更容易地发现当中断发生时功耗的额外上升,并将其标识为异常。

  查找有冲突的硬件初始化  

  为了避免输入端浮动,在通常的设计中会将未使用的MCU I/O管脚接地。如果软件错误地将某个接地管脚配置为输出逻辑“1”,高达25mA的电流会流向该管脚。这种非期望的高电流在功耗采样图形上很容易观测到;同时还可以通过观察系统启动过程中的图形来查找相关的初始化错误代码。

  模拟干扰也可能对功耗调试产生影响。模数混合电路板有其自身的特性。板级的布局和走线对于抑制模拟噪声、保证对低电平模拟信号的精确采样十分重要。良好的混合信号电路需要对硬件进行仔细的考量和认真的设计。

  总结

  功耗调试使得嵌入式系统的开发者能够深入了解他们的应用,并发现程序的代码对功耗有何影响。基于这些信息,可以通过调整和优化源代码以最大限度地降低功耗。使用这种方法,工程师们能够确保他们的设计已经尽可能地节省能量,而又不会对系统性能产生不利的影响。

相关推荐

找出能量泄漏,降低嵌入式系统功耗

功耗  2011-07-21

AP3765在超低待机功耗充电器方案上的应用

充电器  功耗  AP376X  2011-02-10

如何控制IC的功耗

功耗  RTL  2011-01-21

在嵌入式设计中降低CPLD的功耗

功耗  CPLD  嵌入式  2010-05-06

2010 年将是LED背光液晶电视年?

LED  液晶电视  功耗  2009-12-28

美国国家半导体推出全新白光LED驱动器,可以灵活控制便携式系统的显示屏背光,并降低55%的功耗

在线研讨会
焦点