低功耗嵌入式设计技巧大盘点

作者: Michael Parks,文章来源: 贸泽电子微信公众号

设计新的电子设备常常需要进行多项权衡取舍。成本通常与性能并不一致。对于成本敏感型市场,例如面向消费者的产品,选择作为嵌入式系统核心的微控制器或微处理器,可能是最为影响性能的关键决策。影响嵌入式系统整体性能的系统特性中,经常有相互竞争的特性。在这篇博文中,我们将考虑以下几点:

  • 电池续航能力
  • 响应能力
  • 热性能
  • 无线信号范围和速度
  • 外部外围组件提供的功能
  • 需求分析

    低功耗设计对于电池供电设备或依赖能量采集技术的设备至关重要。一些初步问题应包括:

  • 现场维护设备的可维护性如何?是否可以更换电池?
  • 工作环境如何(温度范围、湿度范围、暴露在阳光下、暴露在化学品中等)?
  • 尺寸和重量限制是多少?
  • 需要什么类型的通信?需要多久发送一次遥测数据?
  • 预计有多少外部设备(传感器、执行器)会与我们的设备交互?它们的接口是什么?
  • 功率预算

    在了解了大致的要求之后,就要进行粗略的功率预算了。

    首先,我们可以将外部设备的所有电流消耗相加。然后查看可能满足功能要求的微控制器/微处理器,并确定它们的效率。通常情况下,规格书会详细列出以uA为单位的效率,以Hz为单位的时钟速度。提前花时间研究和选择合适的MCU/MPU - 无论是在功能还是性能方面 - 将大大有助于满足设计的低功耗要求。一旦我们对预期的活动和空闲功耗有了很好的了解,就可以做一些粗略的计算,查看各种电池选项,以估计电池的续航时间。别忘了,选择正确的电池化学成分对于本次讨论至关重要。

    例如,镍镉(NiCd)和镍金属(NiMH)电池在寒冷气候下不能很好地保持电量。

    设计级因素

    解决了架构级别的全局问题后,就该关注优化嵌入式系统功耗的设计级考虑因素了。硬件和固件需要考虑的一些设计经验法则包括:

    选择尽可能低的工作电压。在最长的时间里,5V是常态,然后是3.3V。如今,2.7V和1.8V的内核和内存工作电压也已经不罕见。市场上一些嵌入式组件的电压甚至可以低至0.9V。

    在不影响性能的前提下,将核心时钟速率尽可能降低。

    除了尽量小的工作电压外,尽可能选择具有相同工作电压的组件,以减少对DC-DC转换器和布线多个电源轨的需求。

    当心LED和液晶显示屏!它们很漂亮并且可以增加功能,但可能会非常耗电(相对于它们的实用性)。明智地添加LED。如果需要液晶显示屏,请让用户能够调节亮度。

    电路拓扑结构和元器件选择会对您的功率预算产生重大影响。必要时,分压器、上拉电阻和下拉电阻可以消耗电流。确保它们是必要的,并确定它们的大小以使其兼顾效率和有效性。

    不要简单地硬连线外围设备让其一直处于启用状态。而是应投入设计时间并预算MCU的GPIO引脚,以允许固件根据需要打开和关闭外围设备。

    避免在代码中使用延迟或持续的传感器轮询;这会导致无用的时钟周期,它们不执行任何功能,但仍然消耗能量。建议使用任务调度程序和中断代替。

    选择符合要求,但不超过要覆盖的距离的通信协议。例如,Zigbee®要比蓝牙效率更高。不需要时关闭无线电。不过请务必考虑打开无线电所需的时间。对于低功耗、低数据速率的应用来说,这应该不是什么大问题。

    不要让GPIO引脚悬空。

    对于具有内部上拉的GPIO引脚,非必要时请不要启用上拉。

    降低I²C和SPI等通信总线的时钟速率。

    模数转换中使用的电阻器和电容器会消耗相当多的能量。降低ADC读数的频率,并在读数之间关闭R-C网络。但一定要给电容器足够的时间在读取数据之前重新充电。

    结语

    优化功耗设计不仅仅可以延长电池续航能力。更低的功率意味着更少的热量,从而可以提高可靠性并降低热引起故障的风险。

    最后,一定要验证您的设计。无论是使用廉价的USB功率计、万用表、焦耳示波器还是能量分析仪,请花点时间观察设备在实验室和现实环境中的功耗。为方便操作,请务必在电路板上放置测试点,以便可以测量电流和电压。

    作者简介
    专业工程师Michael Parks是Green Shoe Garage的所有者。Green Shoe Garage是一家提供定制电子设计的工作室和技术咨询机构,位于马里兰州南部。Michael Parks创办了《S.T.E.A.M. Power Podcast》播客来提升公众对科技的认知。他拥有马里兰州专业工程师资质,并拥有约翰·霍普金斯大学的系统工程硕士学位。