内幕消息:嵌入式软件挤出最低功耗模式

  • 日期:07-10
  • 点击:(1140)

五月丁香

郎瑞志科

低功耗操作仍然是各行业应用的关键驱动因素。随着睡眠模式的增加,电源管理突然从纯硬件问题转移到软件开发人员必须考虑的事情上。

最简单的电源模式应用是让系统在空闲时进入休眠状态。然而,今天的MCU提供了各种低功耗模式,进一步使低功耗设计复杂化。开发人员现在需要考虑多核的复杂独立性,高频信号处理以及如何可靠地满足系统的所有实时期限。

除了有源(如LP或低功耗)和休眠(如ULP或超低功耗模式)外,开发人员还可以选择降低核心电压以节省功耗。

每种电源模式都会照亮SoC的不同部分。模式保存的功率越大,SoC可以做的越少,唤醒到活动模式所需的时间越长。

睡眠模式仍然是您的空闲循环。 CPU时钟已停止,但可以通过中断或来自其他内核的请求快速恢复到活动模式。外设可以保持活动状态,CPU可以从中断“执行”代码。

使用休眠或深度睡眠的决定取决于系统需要唤醒的速度以及系统关闭时哪些外围设备需要处于活动状态。高频时钟不会上电,因此您可能会丢失一些通信链路(UART),同时保留其他通信链路(SPI和I2C)。您也将失去ADC,因为它们需要一个MHz时钟。你的PWM也会消失,所以当LED熄灭时不要担心。

事情开始变得复杂和多核。低功耗模式会影响CPU和系统。将一个CPU丢弃到深度睡眠模式不会自动关闭系统资源,因为另一个CPU可能正在使用它们。因此,如果两个CPU处于深度睡眠状态,您只能获得所有低功耗优势。如果您的内核在尝试深度睡眠时不同步,则会显着影响您的整体电源效率。

睡眠模式

睡眠模式使系统进入最低功耗状态。因为你不能简单地恢复执行;系统需要重置。当您在很长时间的睡眠中只需要一点智能来唤醒系统时,Hibernate非常有用。这对于关闭或打开或操作低频传感器非常有用。

睡眠模式还支持保留RAM以保存有限的状态信息。例如,您可以存储先前的传感器读数。系统复位后,它会检查传感器并将当前值与先前值进行比较。如果它们在阈值范围内,则不会触发任何事件,系统将回退到睡眠模式。实现最大功率效率。

仅仅因为你已经设法让CPU进入正确的低功耗模式并不意味着你的运行效率非常高。在深度睡眠和睡眠模式下,I/O引脚的泄漏可以控制功耗。考虑一个偏置电阻的引脚。除了确保使用最高电阻之外,引脚还需要保持高电平或低电平以最小化功耗(即泄漏)。

休眠模式保持I/O引脚的配置,以便您可以将所有引脚保持在最低功耗状态。例如,将电阻器直接连接到电源是常见的做法。如果将电阻连接到GPIO而不是电阻连续吸取功率,现在可以打开和关闭电阻。如果您没有意识到这一点,您可能会认为当引脚实际消耗1 mA时,系统运行速度低于7μA。从正确的角度来看,效率低143倍,10年的使用寿命缩短到25天。

影响低功耗运行的另外两个主要因素是核心电压和稳压器的选择。例如,PSoC 6可为其内核提供1.1 V或0.9 V电压。你无法在0.9V时快速为内核计时,但如果你只是检查温度传感器,50 MHz的处理速度仍然比你需要的还多。

可选的调节,集成LDO或高效开关模式降压转换器使您可以按成本交换电源效率。使用降压转换器可以提供90%的效率,但代价是外部电感。

随着芯片制造商不断改进低功耗运行,嵌入式系统将能够以更低的成本完成更多的工作。请记住,通过更多选项,您可以以更多方式撤消优化系统的所有艰苦工作,只需对系统实际执行的操作进行单一,简单的误解。

0ec8c7c0651e4c1b90a32249296a594f