无论嵌入式系统是使用电池运行还是连接到电网,设计一个绿色且能耗最低的系统是大多数系统的共同要求。现代嵌入式系统中最大的能源消耗者之一是微控制器,了解如何将其能源消耗降至最低至关重要。每个处理器体系结构都将具有略微不同的低功耗功能,即使是在单个微控制器系列中。在这篇文章中,我们将介绍Arm Cortex-M处理器核心的基本低功耗模式,以及嵌入式开发人员如何使用它们。
基本低能模式
基于Arm Cortex-M处理器的每个微控制器将至少具有三种电源模式;跑步,睡觉,深度睡眠。显然,运行模式是处理器完全通电并执行嵌入式系统设计的所有操作。睡眠模式将停止CPU时钟,但将使系统时钟、闪存和外围时钟保持工作状态。深度睡眠模式不仅会停止CPU时钟,还会关闭系统时钟、闪存和PLL。
微控制器供应商能够完全定制其低功耗模块,以提供不同程度的低功耗。例如,NXP Kinetis-L处理器不仅具有标准Cortex-M低功耗模式,还具有低泄漏睡眠模式和极低泄漏睡眠模式等模式,这些模式仅消耗微安或纳安的电流。
需要注意的是,微控制器进入睡眠状态越深,就越接近完全关闭。实现这一点很重要,因为嵌入式开发人员使用越来越深的睡眠模式时,微控制器启动和开始执行指令所需的时间可能会急剧增加。一些提供深度电源模式的处理器需要与处理器引导序列相同的时间才能再次运行。根据你的应用程序,这可能会对系统的实时性能产生重大影响。
进入低功耗模式