提高低功耗嵌入式项目中电池使用的寿命
扫描二维码
随时随地手机看文章
设计一个嵌入式的电池寿命系统已经成为许多团队重要的设计考虑。优化电池寿命的能力有助于降低现场维护成本,并确保客户有良好的产品经验,不必不断更换或充电电池。
有很多团队使用的标准技术来帮助提高电池寿命。例如,将处理器放入低功率模式,关闭未使用的外围设备等。然而,我发现开发团队经常忽略一些标准技术。
在今天的帖子中,我们将探索几种低功率设计技术,我经常看到这些技术被忽视,但这可能会带来很大的不同。
技术#1-使用商业编译器
作为软件开发者和团队,我们对使用免费和开放源代码工具感到自满。我们经常忘记,在大多数情况下,你得到了你要的东西。虽然开源是一个很棒的工具,但它并不适用于所有情况,其中一个例子是低功率电池操作设备。
我最近做了一些性能测试,以比较代码执行与IAR的EWE编译器。用相同的设置为同一处理器编译相同的代码后,测试代码的性能提高了20-30%。手术结果各不相同,但数字惊人。
它是什么意思?这意味着,使用商业编译器,您可以更快地执行相同的代码,这意味着您可以更快地回到睡眠模式。在睡眠模式中花费更多的时间意味着更少的电流吸引和更高的可能性电池持续更长!
使用商业编译器可能是一些低效率的成果,你不仅可以从代码中获得更好的性能,而且还可以节省电池寿命。
注意:结果将根据您手头优化代码的好坏而有所不同.但是为什么要浪费这么多的时间呢?
技术#2-使用空闲模式保持更长时间的睡眠
使用低功率模式的一个问题是,如果您使用了rtos,内核滴滴将会周期性地唤醒系统。这种情况并不少见,它设置在一毫秒。如果你想让你的设备在醒来前睡一分钟怎么办?那么,在那一分钟里,你醒来的次数会比你想象的多6000次,浪费了宝贵的电池寿命。
在许多循环中,一个简单的解决方案是使用无问题模式。这种模式背后的想法是,当系统进入睡眠状态时,它按下了一个低功率的定时器,所以rtos的滴答声不会每毫秒发生。相反,它可能不会发生在几分钟,几个小时,甚至一天!
正如您所想象的,这可以保持系统睡眠,防止它醒来并运行大量不必要的CPU周期。结果是使用的电流较少,等同于更长的电池寿命。
注意:启用无提示模式的方法和开发人员可能需要投入的工作从一个rto到下一个。
技术#3-利用内部缓存
多年来,微控制器没有缓存。它们是资源受限的设备,相对于功能丰富的年长兄弟姐妹来说,相对简单。今天的情况并非如此。如果您查看ST、NXP和其他许多微控制器部件,您会发现性能部件都有内部缓存。如果您正在设计低功率,您可以利用缓存提高能源消耗。
几个机制允许缓存帮助您减少电流消耗。大多数与缓存的主要功能有关:提供对常用数据或指令的更快访问,从而减少CPU访问较慢主内存的时间。
例如,您可以使用缓存来优化内存访问模式。缓存可以显著优化具有可预测内存访问模式的应用程序的能量使用。通过有效地预取和缓存所需的数据和指令,微控制器最大限度地减少了对主存储器的耗能访问。
该缓存提供了比其他车载内存更低的延迟和更快的访问速度。结果是内存访问花费的时间较少,这使得CPU的闲置周期较少。更快的访问也意味着CPU可以更快地完成任务,减少总体的活动CPU时间。所有这些都有助于降低处理器的整体能耗,从而延长电池寿命。
结论
当开发人员和团队看到低功率设计时,他们通常会直接跳到睡眠模式、时钟控控和其他降低能耗的技术上。虽然这些都是伟大的技术,但他们有时忽略了简单的技术,也是低挂水果。我们在这篇文章中看到了一些你可以用来帮助改善你的设备的电池寿命或者减少你的动力设备的能量消耗的东西。
归根结底,低功率的设计有很多。你可以无限期地优化能量,但是在优化过程中经常会有一个"瓶颈",这将减少电池寿命的增加。要时刻关注你的技术如何提高你的电池寿命;当你撞到瓶颈时,是时候停止优化了!