移动计算和传感器设备到处涌现,不仅为工程师提供了大量数据,还提供了应用程序。这些要求通常规定了尺寸和重量的约束,从而限制了电池能够承载的容量。除了充电间隔时间之外,设备上的功能数量使得满足这些要求变得非常困难,几乎是不可能的。嵌入式开发人员选择低功耗微控制器显然是第一步,但有一些软件和硬件技巧可以遵循,以确保最后一毫安时的电荷得到充分利用。
技巧1——制定电池预算
在设计周期的早期,强烈建议将电池预算放在一起。电路板上每个器件的电流要求可以记录在一起,以大致了解需要多少电池电流,以及所选电池是否能够胜任工作。器件数据手册在提供最小、典型值和最大电流数据方面做得非常好。采取非常保守的方法,电池预算可以仅基于设备的最大电流值;然而,excel工作表很容易复制,为典型和最大值创建预算将给出一个很好的范围。如果需要的电池比可用的多,请提前做出必要的改变,以避免未来几周或几个月的痛苦!
技巧2——将未使用的MCU I/O设置为最低功耗状态
人们很容易忽略不用的输入/输出引脚应该做什么。然而,这种疏忽可能是有一个适销对路的产品和一个昂贵的纸张重量之间的差异。对于如何处理未使用的引脚,每个微控制器都有不同的建议,嵌入式开发人员仔细研究数据手册会发现应该怎么做。例如,一家未具名芯片供应商的数据手册建议将任何未使用的I/O设置为输出并拉低。这样做的目的是最大限度地降低泄漏和静态电流,从而最大限度地降低功耗。虽然这些电流很小,但每个未使用的引脚都会增加这种损耗,一天下来可能会延长电池寿命。
技巧3——关闭不用的MCU外设
就像在任何家里一样,如果你不在房间里,那么应该关灯以节约能源。微控制器也是如此。如果有未使用的外设,如模数转换器或脉宽调制器,请将其关闭以省电!外围设备可能相当耗电!为了好玩,挑选一个最喜欢的微控制器,滚动查看数据手册的电源部分,看看每个外设消耗了多少电流。一些供应商不包括这种信息,工程师需要在工作台上设置一些硬件,然后使用测试软件一次打开和关闭一个外设,以了解电流消耗。模数转换器和USB外设往往位于最大用户列表的顶端。
技巧4——关闭不用的MCU时钟
既然所有未使用的外设都已关闭,那么向它们发送时钟信号就没有什么意义了。嵌入式开发人员将时钟信号发送到微控制器内的不同外设需要消耗能量!为了传播时钟,内部时钟门需要上电。这些门使用电压和少量电流。为了帮助降低MCU的功耗,请关闭任何未使用的时钟。
技巧5——使用省电模式
每个现代微控制器都有某种类型的节能模式。这背后的想法是,处理器和外设可以进入接近关闭或停止状态,从而最大限度地减少功耗,但仍允许它们非常快地恢复正常运行。大多数微控制器至少有三种电源模式,但是更复杂的处理器可以有七种以上!常见的模式有运行、空闲和待机。查看某个特定供应商的数据手册发现,运行模式的电流消耗为24 mA,空闲模式为5.6 mA,待机模式为0.1 mA!差别真大!正确使用省电模式可以大大延长电池寿命。
技巧6——调节系统时钟
MCU运行的时钟频率是有可能从电池中挤出大量额外工作时间的领域之一。CPU时钟的频率和操作微处理器的电流量之间存在直接的线性关系。嵌入式开发人员调节微控制器的时钟是一种很好的省电方式。当需要执行数学密集型或快速运算时,加快时钟速度。当任务结束,系统以较低的频率运行时,降低时钟频率。抑制系统时钟有可能增加电池寿命的工作时间。请注意,这可能是一项复杂的工作。任何依赖于该时钟的外设也可能需要更新其时钟分频器,以保持相同的工作速率。
技巧7——使用有效的算法
使用有效算法的想法是要了解这样一个事实,即在低功耗模式和降低频率下花费的时间越多,电池持续的时间就越长。使用快速高效的算法将导致系统在节能模式下花费更多时间。省电模式使用的电流只有完全倾斜模式下的一小部分。尝试设计软件和系统来完成需要完成的任务,然后进入低功耗模式。结果不仅有望延长电池寿命,而且有望成为更小、更轻、更便宜的电池!
技巧8——注意具有高漏电流的器件
设计电路时,要确保充分了解泄漏电流和静态电流。如有必要,制作电路原型并验证电路的电流消耗。具有高待机电流和低值上拉或下拉的器件需要注意的事项。确保将这些信息放入电池预算中!
技巧9——选择可以关闭的外部设备
嵌入式开发人员在硬件设计过程中,选择元件时,选择本身具有低功耗模式或可以关闭的传感器和外部元件会非常有用。EEPROMs、闪存和传感器等外部器件通常支持低功耗模式。当它们不支持时,有几种方法可以用来禁用它们。第一,设计一个类似FET的开关来控制设备的开关。这样做的一个问题是,工程师不能忘记至少0.3伏、最高0.7伏的二极管压降会影响器件的工作。第二种选择是使用包含使能/禁用引脚的调节器。
技巧10——为设备添加电压和电流监控电路
工程师依靠数据来做出设计决策。在许多情况下,电池寿命优化是项目的最后一步。首先实现所有其他功能,然后在产品下线之前,团队努力提高电池寿命。了解系统电池性能的最佳方式之一是用两个简单的电路来监控电池电压和电流。然后可以记录这些信息,用于确定放电/充电周期,确定稳态电流,并从用电角度真正了解系统的运行情况。有了这个工具,每个技巧的节省就可以在实现的时候确定了!
使用这些技巧,甚至有可能驯服笨重的耗电设备。重要的是要记住,虽然这些技巧会降低系统功耗并提高工作效率,但嵌入式开发人员在设计周期中需要记住这些技巧,不应将其视为推出产品的最后一搏。运气好的话,新的传感器设计将有足够的电池寿命持续很长时间。