随着物联网(IoT)技术的迅猛发展,越来越多的终端设备依赖电池供电。这对微控制器(MCU)提出了更高的低功耗要求,以延长设备的续航时间。
一、MCU功耗来源
静态功耗:主要由晶体管的偏置电流和漏电流引起。静态功耗在CMOS逻辑电路中通常较低,但在某些低功耗模式下,由于时钟停止运行,静态功耗成为主要的能耗来源。
动态功耗:主要取决于电源电压和工作时钟频率。在时钟频率较高的工作状态下,动态功耗占据了主导地位。
二、影响MCU功耗的关键因素
芯片面积:MCU的工艺制程、晶体管数量、片上集成的模拟功能及外设数量直接影响静态功耗。
电源电压:在CMOS逻辑电路中,功耗与电源电压的平方成正比。因此,通过降低供电电压,可以显著降低功耗。
时钟频率:时钟频率与功耗呈正比关系。在不需要高速处理的应用中,降低时钟频率是减少功耗的有效手段。
激活的外设数量:外设数量越多,功耗越高。因此,合理管理外设的启停是降低功耗的关键。
工作模式:MCU的功耗因工作模式的不同而变化。例如,CPU开启或关闭、晶振工作与否等因素都会显著影响功耗。
三、MCU时钟管理与功耗优化
STM8系列MCU提供了多种时钟源可供选择,包括高速外部晶体振荡器(HSE)、高速内部RC振荡器(HSI)以及低速内部RC振荡器(LSI)等。通过合理选择并管理时钟源,可以有效优化功耗。
-
关闭不必要的外设时钟
默认情况下,STM8的外设时钟是开启的。通过关闭不使用的外设时钟,可以显著降低功耗。 -
降低CPU时钟频率
在应用不需要高频率运算时,降低CPU的时钟频率可以直接减少动态功耗。
四、STM8的低功耗模式
STM8提供了三种低功耗模式,分别是等待模式(Wait)、活跃停机模式(Active HALT)和停机模式(HALT)。这些模式通过不同程度的功能暂停来降低功耗:
等待模式:CPU停止工作,但外设保持运行。此模式的功耗在低功耗模式中相对较高。
活跃停机模式:CPU停止运行,部分外设(如自动唤醒AWU和独立看门狗IWDG)继续工作。此模式的功耗低于等待模式。
停机模式:所有工作停止,是最低功耗的模式。尽管如此,实际功耗通常比理论值稍高,需要在设计中留有余量。
五、低功耗测量与调试
在实际应用中,低功耗测量是评估功耗优化效果的关键步骤。常见的测量差异如停机模式的实际功耗大于理论值,需要对硬件设计和软件实现进行仔细检查和优化。
低功耗设计是MCU在物联网终端设备中应用的关键。通过合理管理电源电压、时钟频率、外设启停以及选择适当的低功耗模式,可以显著降低MCU的整体功耗。在实际设计中,理论值与实际测量值之间的差异也提醒我们,需要在优化设计中保持灵活性和精确性。