STM8电源模式管理及功耗控制
一、功耗控制调整
1、硬件功能调整
2、软件功能调整
3.经验
- 3.3V供电比5V更省电
- HSI比HSE更省电
- 晶振频率越低越省电
- 读写RAM比FLASH更省电
- 片上资源会影响功耗,不用的应该用PCG功能关掉。
二、电源管理
怎么进入模式?
进入等待模式:asm("WFI");
进入活跃停机模式:asm("HALT"); //开启AWU再执行此句会进入活跃停机
进入停机模式:asm("HALT"); //没有开启AWU再执行此句会进入停机
三、自动唤醒AWU结构和配置
自动唤醒单元用于单片机活跃停机模式,
1、时钟源
AWU可以选用两个时钟源:LSI和HSE
通过选项字节OPT4中的“CKAWUSEL”位来选择:
置0 ==》LSI (默认);
置1 ==》HSE。
2、时钟源分频系数
通过选项字节OPT4中的“PRSC[1:0]”位来选择:
通过1、2步的设置得到1个粗略的时钟LS
3、修正时钟频率(不常用)
使用AWU_CSR控制/状态寄存器中的“MSR”位和TIM3或者TIM1的输入捕捉通道1来检测LS的时钟频率,发现误差则通过重新配置异步预分频器AWU_APR中的APR[5:0]来进行定时时间修正。
4、配置异步预分频器
配置异步预分频器AWU_APR中的APR[5:0]来配置适当的分频值
APR :预分频系数
5、写时基选择寄存器
写时基选择寄存器AWU_TBR中的AWUTB[3:0]来选择需要的自动唤醒延时间隔
AWUTB: 时间间隔
到底该怎么设置??
参考这张表:
比如:我们想设置6ms定时,则查表可得:AWUTB=0101
根据计算公式:3秒=
其中fLS=128000,则可以计算出:APR=48
再查APR表
确定APR应赋值2E
6、控制位使能
置位控制/状态寄存器(AWU_CSR)的AWUEN位
7、执行HALT命令进入活跃停机
asm("HALT");
四 具体操作如下
① 开启LSI,同时设置快速唤醒功能,此两个功能都在CLK_ICKR寄存器中.
CLK_ICKR|=0x0C; //打开LSI时钟,从活跃停机模式快速唤醒使能
② 确定FLASH进入活跃停机后是否掉电
FLASH_CR1&=0x0B; //活跃停机模式下Flash不掉电
③ 设置预分频值
AWU_APR=0x26; //配置预分频值
④ 设置AWU唤醒时间间隔
AWU_TBR=0x0C; //配置AWU唤醒时间间隔
⑤ 使能AWU
AWU_CSR1|=0x10; //使能“AWUEN”启动AWU
⑥ 进入活跃停机模式
asm("HALT");
⑦ 如果写了活跃停机的唤醒中断,会在醒来时触发,所以应该写一个中断响应函数
#pragma vector=3
__interrupt void AWU_IRQHandler(void)//自动唤醒AWU中断函数
{ //此处写中断响应函数AWU_CSR1|=0x10;//继续使能AWU//asm("HALT");
}
可以把前几步写作一个初始化函数:AWU_init()
void AWU_init(void)
{CLK_ICKR|=0x0C; //打开LSI时钟,从活跃停机模式快速唤醒使能FLASH_CR1&=0x0B; //活跃停机模式下Flash不掉电AWU_APR=0x26; //配置预分频值AWU_TBR=0x0C; //配置AWU唤醒时间间隔AWU_CSR1|=0x10; //使能“AWUEN”启动AWU
}
STM8电源模式管理及功耗控制相关推荐
- Tbox电源模式管理
Tbox电源模式 当 Tbox 进行电源模式切换时应该通知 CSP.在车辆熄火(ignition off)后 Tbox 有不同的电源模式.在执行远程车辆信息服务时电源模式将对用户体验产生影响. Tbo ...
- 车联网Tbox电源模式管理
Tbox电源模式 当 Tbox 进行电源模式切换时应该通知 CSP.在车辆熄火(ignition off)后 Tbox 有不同的电源模式.在执行远程车辆信息服务时电源模式将对用户体验产生影响. Tbo ...
- 智驾系统的设计瓶颈之:电源管理和功耗分配
作者 | Orchid 知圈 | 进"滑板底盘群"请加微yanzhi-6,备注底盘 高阶自动驾驶系统在进行架构设计时,其域控内部的架构通常涉及主控芯片MCU.计算芯片SOC.电源管 ...
- ubuntu 电源按钮操作_桌面应用|在 Ubuntu 中使用 Slimbook Battery Optimizer 切换电源模式...
Slimbook Battery Optimizer 是一个美观实用的指示器小程序,它可以让你在安装了 Linux 的笔记本上快速切换电源模式来延长续航时间. Slimbook 是一个销售 预装 Li ...
- Android7.0 PowerManagerService 之亮灭屏(二) PMS 电源状态管理updatePowerStateLocked()...
本篇注意接着上篇[Android7.0 PowerManagerService 之亮灭屏(一)]继续分析量灭屏的流程,这篇主要分析PMS的状态计算和更新流程,也是PMS中最为重要和复杂的一部分电源状态 ...
- 恢复Surface Pro 高级电源设置里各类配置项提高外接电源模式下的性能(外接电源莫名很卡,拔掉电源又正常,实则被降频)
转自:恢复Surface Pro 4高级电源设置里各类配置项提高外接电源模式下的性能 写在前面: 本贴内容:如何恢复Surface Pro 4自带Windows 10系统控制面板-电源选项-更改计划设 ...
- 计算机电源高效率模式,Windows7的三种电源模式对硬件工作频率的影响
Windows7的三种电源模式对硬件工作频率的影响 发布时间:2014-03-09 16:12:38 作者:佚名 我要评论 Windows 7系统提供以下三种电源模式,在不同的模式下工作,电脑 ...
- linux-RAID磁盘阵列、进程管理、日志管理、systemctl控制
RAID磁盘阵列 廉价冗余磁盘阵列RAID – Redundant Arrays of Inexpensive Disks – 通过硬件/软件技术,将多个较小/低速的磁盘整合成一个大磁盘 – 阵列的价 ...
- Autosar模式管理系列介绍01-BswM
本文框架 1.概述 2. BswM属性介绍 2.1 模式仲裁 2.1.1 Rules 2.1.2 LogicalExpression 2.2 模式控制 2.3 基本控制过程 3. BswM功能介绍 3 ...
最新文章
- 使用 .NET 框架轻松开发完美的 Web 窗体控件
- 子程序与中断程序的异同_【干货】plc怎样理解中断功能,其作用是什么?
- harmonyos2.0如何申请,华为鸿蒙HarmonyOS2.0手机开发者Beta版公测申请地址方法_专题_53货源网...
- html如何让图片跟字体重叠,CSS设置图片与文字的间距
- [转]# python中init和new的区别
- python与excel-Python与Excel之间的交互
- 前端学习JQuery篇03——基本操作(效果)
- 一个简单的string类,读书看报系列(一)
- pandas读取csv文件数据并对指定字段使用matplotlib画折线图
- 基于强化学习的综合能源系统管理综述-笔记
- ckfinder php 漏洞,编辑器漏洞
- AJAX框架眼镜穿搭夏天,30度的夏天,男生应该如何穿搭?看这9种时尚组合!
- [BUGKU] [PWN] PWN5
- 【Godot 插件】获取编辑器上所有的节点
- Flink SQL搭建实时数仓DWD层
- 印度软件和中国软件工程师_如何成为印度的软件工程师?
- 第四代iPod Touch iOS5.1不完美越狱教程
- 关于活动开始时间大于结束时间的验证
- 渗透测试——bluecms安装及seay代码审计
- 系统架构师论文-财务数据仓库系统的设计与实现