许多需要嵌入式系统的客户都要求产品在提供高性能的同时,将功耗降到最低。设计人员应采取哪些措施,以在嵌入式系统中实现良好的电源管理,同时确保满足或超越客户的需求和期望呢?
最佳实践是在设计设备架构时将硬件和软件分开。这种分离有利于独立测试和开发。创建设备架构还需要人们花时间在接口定义上。这关系到软件模块如何与硬件组件通信。
设备架构还包括硬件限制,例如处理能力和内存。设计人员可以利用这部分流程设定嵌入式系统的电源管理目标,并决定如何实现这些目标。STEM设计流程的第一步就是了解制约因素和资源。这些信息将指导未来的选择。
完整的设备架构还必须确定信息类型,并包括嵌入式系统的数据流图。一个数据源是一个输入点,而数据宿(data sink)则与信息输出有关。标记这些区域将有助于您和您的团队成员做出更好的处理和存储决策。
在制定设备架构时,要解决系统分解问题,就需要将事物分解为可管理的子系统,明确每个子系统的作用和适用的接口。人们还必须解决接口和组件的设计问题,包括确定系统的协议和通信机制。
主要的目的之一是明确子系统和组件之间的交互方式。然后,设计人员就能确保在实现相关功能的同时保持性能目标。
一旦人们创建了全面的设备架构,他们就可以了解某些选择会怎么影响特定的系统部件或操作。了解这种相互依存关系有助于设计人员做出最佳决策,在优化性能的同时节省功耗。
人们在继续选择嵌入式系统电源管理的优先级时,应该了解编程与能耗之间的关系。创建一个框图来显示平均功耗和最小能耗是一个很好的起点。这些信息可以显示出设计的哪些部分需要进一步改进,以及为系统选择的电池是否足以维持可靠的性能。
一些既能降低功耗又能保持性能的编程选择包括:尽可能降低电路板的工作电压,以及选择符合节能目标的集成电路。
另一种可能是设计系统,使电源控制机制在不使用时关闭系统。与此相关的是,对LCD、传感器和其他组件也采取同样的措施,可以减少不必要的功耗。即使是看似微小的改变(例如仅在有人与设备交互时才使板载LED亮起)随着时间的推移,累积起来也能节省大量能源。
操作系统还可以在保持较低功耗的同时保持良好的性能。一些操作系统通过战略性编程(Strategic programming)来执行主动电源管理。在其他情况下,操作系统可以动态地将CPU的时钟调整到较低的频率,从而减少功耗。类似地,操作系统可能还具有自动激活或通过手动提示激活的低功耗模式。
任何人在设计嵌入式系统时,都必须仔细选择合适的材料。例如,玻璃环氧树脂是一种用于电子元件产品的常见材料,因为其电气绝缘性能可使电子元件保持良好的性能。这种材料还可以承受高达284华氏度(约140℃)的温度,因此是要求苛刻的应用的上佳选择。
在确定哪些系统功能是必要的、哪些是好的、哪些是不必要的时,人们必须采取类似的策略。每个产品的答案都不尽相同。不过,一些必要的考虑因素将有助于功能的开发和实施。他们包括:
如果您正在为特定客户设计系统并遇到阻力,可以详细讨论为什么某些功能会导致更多的能源消耗,但不一定会带来更好的性能。
对性能和电源需求的评估还延伸到测试。创建电源配置文件来测量不同状态下的功耗,可以显示嵌入式系统是否达到最佳性能或仍需要改进。
一些专家注意到了一种新兴趋势,即设计人员开始在整个开发过程中创建电源配置文件,而不是忽略它们或将配置文件作为最后的步骤之一。
所有测试都应尽可能模仿现实生活条件。这是检验嵌入式系统中的电源管理是否能为客户提供始终如一的卓越性能,以及提供他们所要求和期望的可靠性的最佳方法。
规划您的测试计划,包括嵌入式和软件测试。第二种类型仅涉及软件,而前者则要涵盖系统的所有方面。
工程师和其他设计团队成员还必须对机器学习等新兴技术持开放态度。在一个案例中,就有研究人员开发了一种适合嵌入式系统的算法,可以减少决策的模糊性并提高能效。机器学习方法能够对系统的电压和频率进行微调,从而显著降低功耗。
一些设计人员还发现数字孪生在他们的工作过程中非常有用,特别是在改进比大多数系统更复杂的嵌入式系统中的电源管理时。在数字孪生环境中,可以研究不同的电源管理决策如何影响性能,然后再在现实生活中实施这些方案。
要知道,一些较新的技术并不能以预期的方式改进你的设计流程。然而,通过使用这些技术,你仍然可以获得有价值的见解,找出哪些技术行之有效,哪些技术需要进一步开发才能为你的团队带来好处。
这些建议为您提供了切实可行的方法,让您在关注嵌入式系统电源管理的同时,确保产品具有始终如一的高性能。与设计团队中的其他人分享这些建议是让大家朝着同一个目标共同努力的好方法。
(原文刊登于EDN姊妹网站Embedded,参考链接:Balancing power vs. performance in embedded systems,由Ricardo Xie编译。)