当前位置:首页 >> 电子/电路 >>

STM8L 电源管理以及自动唤醒AWU


电源供电以及低功耗模式
MCU 有一个电源供电。供电有两种模式:主电压供电模式(MVR)和低功率电压供电 模式(LPVR) 。 系统进入停机 (Halt) 模式或者活跃停机 (Active-halt) 模式, 供电从 MVR 进入到 LPVR。 电源管理 在系统或者电源复位启动后, 处理器默认进入运行模式。 这模式 CPU 的时钟为 fmaster, 并执行程序。外设时钟都被禁止。 在运行模式下,仍然保持 CPU 运行和执行代码,下面操作可以降低电源功耗: ?减慢系统时钟。 ?未使用的外设将其时钟禁止。 ?关掉未使用的模拟功能。 当 CPU 无需运行时,有三种低功耗模式可供选择: ?等待模式 ?活跃停机模式 ?停机模式 以上三种模式可以配置获得最优的低功耗,最快速的启动和可利用的唤醒源。 通用配置 低功耗的特点对于节约能源起到重要作用。尤其适用于移动设备。 在芯片中有两种功耗方式: 1. 静态功耗由极化电流和漏电流造成。 静态功耗很小, 只在停机(Halt)模式和活跃停机 (Active Halt)模式下有意义。 2. 动态功耗:来自于芯片上正在运行的数字模块。它取决于 VDD,时钟频率和负载电 容。 一个微控制器的功耗取决于: ?VDD 供电电压 ?模拟性能 ?MCU 大小及数字逻辑门数(漏电流及负载电容) ?时钟频率 ?处于激活状态的外设数目 ?可用的低功耗模式及级别 微控制器 MCU 的处理速度也很重要,这使得用户程序只需很短时间处于运行状态,而更多 时间处于低功耗模式下。 使用 STM8 灵活的低功耗特性, 用户可在很大范围内降低 STM8S 系统功耗并快速恢复操作。 低功耗下的时钟管理 系统时钟的降低 在运行模式下,对于配置最优性能和功耗选择时钟频率是非常重要的。可以配置 CLK_CKDIVR 寄存器来完成。

注:在某一时期 MCU 可以进入停机模式。为了降低活跃和停机期间的比例,在活跃期间保 持高速时钟可以降低功耗。 外设时钟控制 使用 PCG 来节省额外的功耗。在任意时期都可以使能或者禁止主时钟与外设的连接。这些 设置在运行模式和等待模式都是有效的。 每个 PCG 状态都代表一个特定功耗或者低功耗。 外设关闭开关 为了到达最小功耗 MCU 的任意外设都可以被禁止使用。模拟外设和数字外设都可以。 模拟外设 通过控制 COMP_CR 寄存器的 BIAS_EN 和 COMPx_EN 位,模拟外设可以被关掉。 数字外设 每个一个数字外设可以被关掉: ?SWIM_CSR 寄存器的 SWD 位可以控制 SWIM 模式。 ?AWU_CSR 寄存器的 AWUEN 位可以控制 AWU 功能。 ?AWU_CSR 寄存器的 BEEPEN 位可以控制蜂鸣器。 ?TIMx_CR1 寄存器的 CEN 位可以控制定时器的使能。 ?I2C_CR1 寄存器的 PE 位可以控制 I2C 接口使能。 ?SPI_CR1 寄存器的 SPE 位可以控制 SPI 接口使能。 ?USART_CR2 寄存器可以控制 USART 接口使能。 注:以上这些外设只有在使用时再使能。一旦看门狗被使能,除非复位,否则不能禁止看门 狗。 低功耗模式 在系统或者电源上电复位后,处理器默认进入运行模式。在低功耗模式,快速启动模式 和可唤醒源之间,系统支持三种低功耗行为以达到最优。这三种模式为: 1. 等待模式:CPU 时钟停止,但是使能的外设保持时钟运行。一个内部或者外部中断或复 位可以使处理器退出等待模式。 2. 活跃停机模式:除 RTC 外 CPU 和外设时钟都停止。利用 RTC 中断,外部中断或者复位, 可唤醒处理器。 3. 停机模式:CPU 和外设时钟停止,器件仍然上电。外部中断或者复位可以被唤醒。一部 分外设也可以唤醒 CPU。

此外在运行模式下,以下方法可以减少功耗: 1. 降低系统时钟。 2. 不使用的外设时钟将其禁止。

等待模式
执行 WFI 或者 WFE 指令,系统可以从运行模式进入等待模式:停止 CPU 运行,允许其 他外设和中断继续运行。 因此功耗被降低。 等待模式可以结合 PCG 寄存器来降低器件功耗。 在等待模式中, 所有的寄存器和 RAM 都被保存起来, 通过设置 CLK_CKDIVR 可以选择时 钟频率。 等待直到中断唤醒模式 当一个外部或者内部中断请求发生, CPU 可以从 WFI 模式中被唤醒, 并进入中断服务程 序和进入主程序。 注:在基于中断应用中,通过设置 CFG_GCR 寄存器的 AL 位主程序可以被暂停,大部分程序 处理可以通过中断服务程序实现。设置此位将导致 CPU 返回到 WFI 模式而不恢复主程序的 上下文。通过删除储存或恢复的上下文和电源管理中软件主循环的运行可以节省功耗。 (为 了返回 WFI 模式)

等待直到事件唤醒模式
有两种方式可以使 CPU 从 WFE 模式中唤醒: 1. 当一个中断发生时:CPU 从 WFE 模式中唤醒,之后进入中断服务程序。在运行完中断服 务程序之后,处理器进入 WFE 模式。 2. 当一个事件发生时: CPU 被唤醒并且重启处理器。 在执行 WFE 指令可以直接进入系统恢 复,这时不发生上下文的存储。 注:在 WFE 模式中,只有 WFE_CR1 或者 WFE_CR2 寄存器相应标志位被清零后,中断源才 能作为外部中断被配置。 否则他产生 WFE 事件 (没有中断服务以及用户不得不清除 EXTI_SR1 或者 EXTI_SR2 寄存器中对应的标志位) 。 使用这一模式并从 RAM 中执行可以进一步降低功耗。在一些非常低功耗应用中,当主 软件循环体很短以及执行时间很短, 这一程序可以被移至 RAM 并从中执行。 因为可编程 flash 内存在唤醒时未被使用,在处理器运行期间功耗将会降低。

在任意时候,通过一条调用语句或跳转程序,其他程序(储存在 FLASH 内存中)可以被 软件执行。 停机模式 此模式主时钟将会停止。这意味着 CPU 以及所有被主时钟驱动的外设将无法使用。外 设时钟将会停止,MCU 的数字部分的功耗可以忽略不计。 在 MCU 进入停机模式后,主电源自动关闭。MCU 内核通过 LPVR 供电,所有寄存器和 RAM 的数据将会被保持起来。 当 HALT 指令被执行时,MCU 进入停机模式。一个外部中断,作为可配置成输入中断的 通用 I/O 口或者备用功能引脚可以触发一个外设中断,都可以唤醒 MCU。 在中断应用中,通过设置 CPU 寄存器的 AL 位主程序将被暂停,进入中断服务程序来完 成大多数处理。 在执行完中断后, 将此位置位可使 CPU 返回停机状态而不恢复执行主程序。 通过删除保存/恢复上下文以及不执行主程序中的电源管理软件可以节省电源。 活跃停机模式 活跃停机模式类似于停机模式, 但他无需一个外部中断才能唤醒。 经过一个可编程的延 时后,它利用 AWU 来产生一个唤醒事件。 进入活跃停机模式后,首先使能 AWU 功能。之后再执行 HALT 指令。 在活跃停机模式后,主振荡器,CPU 和大部分外设将会停止。只有 LSI RC 振荡器在运行 并驱动 AWU 计数器,BEEP 和看门狗(首先保证这三部分预先被使能) 。 当 MCU 进入活跃停机模式后,主电源将会被自动关闭。MCU 内核由低功耗电源供电, 所有寄存器和 RAM 的数据将会被保存。

自动唤醒功能
简介 当 CPU 进入活跃停机模式时,AWU 用来产生内部唤醒功能。这个基本定时器被内部低 速 RC 振荡器控制。 LSI 时钟 在使用 LSI 低速内部时钟时,为了确保最好的精度,它的频率可以通过 TIM2 的输入捕 捉 1 来测定。

AWU 功能描述 AWU 操作 为了使用 AWU 功能必须进行如下操作: 1. 使用 AWU_CSR 寄存器的 MSR 位和 TIM2 输入捕获 1 来测定 LSI 时钟。 2. 设定 AWU_APR 寄存器的 APR[5:0]位来确定适当预分频。 3. 设定 AWU_TBR 寄存器的 AWUTB[3:0]位选择想要的自动唤醒延迟。 4. 设定 AWU_CSR 寄存器的 AWUEN 使能位启动 AWU。 5. 执行 HALT 指令。AWU 计时器将会重装以及开始计数。 注意:计数器仅仅在 HALT 指令之后 MCU 进入活跃停机模式时才开始计数(请参考电源管理 的活跃停机模式章节),AWU 中断同时被使能。 预分频计数器仅仅在 APR[5:0]值不同于它的复位值 0x3F 值时才开始计数。 空闲模式 如果不使用 AWU,必须载入'0000'值到 AWU_TBR 的 AWUTB[3:0]位来让 STM8 降低功耗。 时基选择 请参考 AWU_APR 和 AWU_TBR 的说明。 AWU 的时间间隔取决于 AWUTB[3:0]位的值和 APR[5:0]位的值(APRDIV),可以定义 15 种不重 叠的时间间隔,如下所示:

(表 22: AWUTB[3:0]选择)

(表 23: 当 fLS=128 kHz,目标时间是 78.5 ms 时的一个例子 ) LSI 低速内部时钟频率检测 在经过出厂校验后, 在全温度范围内低速内部 RC(LSI)振荡器的频率离散性是 128 kHz+/-12.5%。 为了获得精确的 AWU 时间间隔或者蜂鸣器输出,必须精确测量 LSI 频率。 可采用如下的步骤: 1.将 AWU_CSR 的 MSR 位置 1 来把 LSI 的内部时钟连接到 TIM2 定时器的 ICAP1; 2.通过定时器的输入捕捉中断来测量 LSI 的时钟频率; 3.到向 AWU_APR 的 APR[5:0]位写入一个适当的值来调整 AWU 定时间隔到期望的时间间隔。 AWUTB[3:0]位可以被更改来选择不同的时间间隔。 LSI 的时钟频率测量方法也可以被用来校准蜂鸣器的频率(见 13.2.2)。


相关文章:
STM8S低功耗简介
STM8S 系列是专门针对工业应用和消费电子而推出的 ...3.灵活的电源管理。芯片支持 2.95-5.5V 的宽...它使用 AWU,在一定的延时后 产生一个内部唤醒事件,...
STM8L152中文介绍
STM8L152中文介绍_信息与通信_工程科技_专业资料。...个固定阈值和 1 个轨到轨 唤醒功能 定时器 3 个...时钟门控系统优化电源管理 3 有能力执行从内存低...
更多相关标签: