MCU微课堂
CKS32F107XX系列低功耗模式介绍(一)
第七十四期 2026.03.24
CKS32F107xx 低功耗模式概述
1.低功耗模式介绍
在系统或电源复位以后,微控制器处于运行状态。当CPU 不需继续运行时,可以利用多种低功耗模式来节省功耗,例如等待某个外部事件时。用户需要根据最低电源消耗、最快速启动时间和可用的唤醒源等条件,选定一个最佳的低功耗模式。
CKS32F107xx 有三种低功耗模式:
(1)睡眠模式:Cortex-M3 内核停止,所有外设包括 Cortex-M3 核心的外设,如NVIC、系统时钟(Systick)等仍在运行;
(2)停止模式:所有时钟都已停止,HSI 和 HSE 进人关闭状态。但 Flash 和 SRAM 将会继续保持电源供应;
(3)待机模式:所有时钟都已停止,内核 1.5V 电源关闭,只有备份寄存器和待机电路维持供电,寄存器和 SRAM 内容全部丢失。

表1 三种低功耗模式
2.停止模式介绍
(1)进入停止模式
在停止模式下,通过设置电源控制寄存器(PWR_CR)的LPDS位使内部调节器进入低功耗模式,能够降低更多的功耗。
如果正在进行闪存编程,直到对内存访问完成,系统才进入停止模式。
如果正在进行对APB的访问,直到对APB访问完成,系统才进入停止模式。
可以通过对独立的控制位进行编程,可选择以下功能:
a、独立看门狗(IWDG):可通过写入看门狗的键寄存器或硬件选择来启动IWDG。一旦启动了独立看门狗,除了系统复位,它不能再被停止。
b、实时时钟(RTC):通过备份域控制寄存器 (RCC_BDCR)的 RTCEN 位来设置。
c、内部低速振荡器(LSI):通过控制/状态寄存器 (RCC_CSR) 的 LSION 位来设置。
d、外部低速振荡器(LSE):通过备份域控制寄存器 (RCC_BDCR) 的 LSEON 位设置。
(2)停止模式中
停止模式是在Cortex-M3的深睡眠模式基础上结合了外设的时钟控制机制,在停止模式下电压调节器可运行在正常或低功耗模式。此时在1.5V供电区域的所有时钟都被停止,PLL、HIS 和 HSE RC 振荡器的功能被禁止,SRAM和寄存器内容被保留下来。
在停止模式下,所有的I/O引脚都保持它们在运行模式时的状态。
在停止模式下,如果 ADC 和 DAC 没有被关闭,那么这些外设仍然消耗电流。通过设置寄存器 ADC_CR2 的 ADON 位和寄存器 DAC_CR 的 ENx 位为0可关闭这 2 个外设。
(3)退出停止模式
当一个中断或唤醒事件导致退出停止模式时,HSI RC振荡器被选为系统时钟。
当电压调节器处于低功耗模式下,当系统从停止模式退出时,将会有一段额外的启动延时。如果在停止模式期间保持内部调节器开启,则退出启动时间会缩短,但相应的功耗会增加。
表2 停止模式
CKS32F107xx 睡眠模式实验
1.CKS32F107xx软件代码
void Sys_Enter_Stop(void)
{
RCC_APB1PeriphClockCmd(RCC_APB1Periph_PWR, ENABLE);
PWR_EnterSTOPMode(PWR_Regulator_LowPower, PWR_STOPEntry_WFI);
}
2.实验结果
在 室温 25℃,调压器处于低功耗模式,IWDG关闭,正常运行电流消耗大约 10mA;进入停止模式电流消耗大约 220uA,在规格书标注范围之内。

表3 停机和待机模式下的典型和最大电流消耗
推荐阅读:







