寻找基础微网站开发,深圳市住房保障署官网登录,ueditor wordpress4.3,开发投资集团为电池寿命设计嵌入式系统已经成为许多团队重要的设计考虑因素。优化电池寿命的能力有助于降低现场维护成本#xff0c;并确保客户不需要不断更换或充电电池#xff0c;从而获得良好的产品体验。
团队通常使用一些标准技术来提高电池寿命#xff0c;例如将处理器置于低功耗…
为电池寿命设计嵌入式系统已经成为许多团队重要的设计考虑因素。优化电池寿命的能力有助于降低现场维护成本并确保客户不需要不断更换或充电电池从而获得良好的产品体验。
团队通常使用一些标准技术来提高电池寿命例如将处理器置于低功耗模式关闭未使用的外设等。然而我发现开发团队经常忽视一些标准技术。
在今天的文章中我们将探讨我经常看到被忽视但可以产生重大影响的几种低功耗设计技术。
技术 1 – 放弃 GCC选择商业编译器
作为软件开发人员和团队我们已经习惯了使用免费和开源的工具。我们经常忘记在大多数情况下你得到的是你付出的。虽然 GCC 是一个非常好的工具但在所有情况下并不适用。其中一种情况是对于低功耗的以电池为动力的设备。
我最近对 GCC 和 IAR 的 EWARM 编译器的代码执行进行了一些性能测量。使用相同的设置为同一处理器编译相同的代码测试代码的性能提高了20% - 30%。结果根据操作的不同而有所不同但这些数字还是让人震惊。
这意味着什么这意味着使用商业编译器你可能能够更快地执行相同的代码这意味着你可以更快地回到休眠模式。在休眠模式下花费更多的时间意味着更少的电流消耗和电池寿命更长的可能性
使用商业编译器可能是你可以利用的一种方式不仅可以从你的代码中得到更好的性能而且还可以节省电池寿命。
注意结果将根据你手动优化代码的能力而有所不同。但为什么要浪费所有的时间当工具可以为你做呢
技术 2 – 使用 Tickless 模式以保持更长时间的睡眠
低功耗模式的一个问题是如果你使用RTOS内核tick将周期性地唤醒系统。tick设置为一毫秒并不罕见。如果你希望你的设备在唤醒前睡眠一整分钟会发生什么好吧你将在那分钟内多唤醒6000次浪费宝贵的电池寿命。
在许多RTOS中一个简单的解决方案是使用 tickless 模式。该模式的思想是当系统进入休眠状态时它会将一个低功耗定时器进行缩放以便RTOS tick不会每毫秒发生一次。相反它可能在几分钟、几小时或甚至一天之后才会发生
你可以想象这会保持系统处于睡眠状态防止它唤醒并运行一堆不必要的CPU周期。结果是使用的电流更少等于电池使用寿命更长。
注意启用 tickless 模式的方法和你可能需要作为开发者投入的工作量从一个RTOS到另一个RTOS是不同的。
技术 3 – 利用内部缓存
多年来微控制器并没有缓存。他们是资源受限的设备相对于他们更具特色的老一代设备来说相对简单。今天的情况并非如此。如果你看看来自ST、NXP和许多其他公司的微控制器部件你会发现性能部件都有一个内部缓存。如果你正在为低功率设计你可以利用缓存来改善能耗。
有几种机制允许缓存帮助你减少当前消耗。大多数与缓存的主要功能有关提供对频繁使用的数据或指令的更快访问从而减少CPU访问较慢的主内存的时间。
例如你可以使用缓存来优化内存访问模式。在具有可预测的内存访问模式的应用程序中缓存可以显著优化能源使用。通过有效地预取和缓存所需的数据和指令微控制器最大限度地减少了对主存储器的能耗高昂的访问。
缓存提供的延迟更低速度更快比其他板载内存更好。结果是在内存访问上花费的时间更少这使得CPU有更少的空闲周期。更快的访问也意味着CPU可以更早地完成任务从而减少整体的CPU活动时间。所有这些都有助于减少处理器的总体能耗从而使电池使用寿命更长。
结论
当开发者和团队看低功耗设计时他们经常直接跳到睡眠模式时钟门控和其他减少能耗的技术。虽然这些都是很好的技术但他们有时会忽略那些简单技术。我们在这篇文章中看到了你可以使用的几种技术以帮助提高你的设备的电池寿命或减少你的有源设备的能耗。
总的来说低功耗设计中涉及到很多东西。你可以无限优化能源但通常在优化过程中会有一个“膝点”在这个点之后电池寿命的提高会变得更少。一定要记住你的技术如何改善你的电池寿命当你达到那个膝点时就是停止优化的时候了。