STM32F103学习笔记(七) PWR电源管理(原理篇)

目录

1. PWR电源管理简介

2. STM32F103的PWR模块概述

2.1 PWR模块的基本工作原理

2.2 电源管理的功能和特点

3. PWR模块的常见应用场景

4. 常见问题与解决方案

1. PWR电源管理简介

        PWR(Power)模块是STM32F103系列微控制器中的一个重要组成部分,负责管理芯片的供电和电源控制。在嵌入式系统中,电源管理是至关重要的,它直接影响着系统的稳定性、功耗和性能。PWR模块提供了一系列功能和特性,帮助我们有效地管理系统的电源,实现低功耗和高性能的平衡。简单来说,PWR的目的是实现低功耗运行,从而延长电池寿命,提高系统稳定性和可靠性。

      

2. STM32F103的PWR模块概述

2.1 PWR模块的基本工作原理

        PWR模块的基本原理是为了提供对芯片供电的控制和管理。在嵌入式系统中,通常会有多种供电模式,例如工作模式、低功耗模式和待机模式等。PWR模块通过配置不同的控制寄存器和设置位来实现这些供电模式的切换和管理。通过设置PWR模块的相关寄存器,可以控制芯片的供电源、工作模式和功耗状态。三种模式在数据手册中的介绍如下图所示

其中要关注的是进入以上三种运行模式后,系统的唤醒方式,可以在手册中找到

        由于以上三种模式对芯片的影响由小到大的顺序依次是:睡眠模式>停机模式>待机模式,所以对应唤醒的条件的难易程度也一一对应,其中待机模式的唤醒条件最为严格苛刻,只支持WKUP引脚的上升沿、RTC闹钟事件、 NRST引脚上的外部复位、IWDG复位这些方式进行唤醒,故待机模式的功耗也是最低的,待机模式下的待机电流只有3uA左右。

        除了以上三种能够降低功耗的方式外,在手册中还提出了除更改运行模式外的两种降低功耗的方式,分别是降低系统时钟,默认stm32f103c8t6的系统时钟是72MHz的,可以通过配置更改系统时钟,降低系统时钟可以降低功耗,同时关闭APB和AHB总线上未被使用的外设时钟也可以降低系统功耗。

2.2 电源管理的功能和特点

PWR模块具有多种电源管理功能和特点,包括:

        供电源选择:可以选择不同的供电源,例如主电源或备份电源。

        电源电压监测:可以监测供电电压的稳定性和合理性。

        低功耗模式管理:可以进入低功耗模式以降低系统功耗。

        待机模式管理:可以进入待机模式以实现系统的快速唤醒和低功耗运行。

stm32电源框图如下图所示

3. PWR模块的常见应用场景

        PWR(Power)电源管理模块在STM32F103C8T6微控制器中担任重要角色,其应用场景广泛,包括但不限于以下几个方面:

        便携式设备:便携式设备通常依赖电池供电,如智能手表、便携式音乐播放器等。PWR模块通过提供低功耗模式和睡眠模式等功能,有效延长设备的续航时间,提升用户体验。

        传感器网络:传感器网络中的节点通常分布在较远的地方,难以通过有线电源供电。PWR模块可以帮助这些节点实现低功耗运行,减少电池更换频率,降低维护成本。

        远程监测设备:远程监测设备需要长时间运行,但对能源的需求较为苛刻。PWR模块可以帮助这些设备实现节能运行,延长其运行时间间隔,减少电池更换频率。

        智能家居:智能家居设备通常需要长时间运行,以监控环境、控制家电等。PWR模块的使用可以实现低功耗运行,降低能源消耗和电费支出。

4. 常见问题与解决方案

电池续航时间过短:

        问题描述:设备使用电池供电时,电池续航时间不够长,需要频繁更换电池。

        解决方案:检查设备是否在非活动状态下处于低功耗模式,优化设备的功耗管理策略,减少待机电流消耗。

系统在睡眠模式下无法正常唤醒:

        问题描述:设备进入睡眠模式后,无法通过外部触发条件正常唤醒。

        解决方案:检查睡眠模式的配置是否正确,确保唤醒源的引脚配置和唤醒中断的使能正确设置。

电源管理模块功能异常:

        问题描述:设备的电源管理模块功能异常,导致设备无法正常工作。

        解决方案:检查电源管理模块的初始化配置是否正确,确认模块的电源供应是否稳定,检查外部电源和电池的连接情况。

电池电量显示不准确:

        问题描述:设备使用电池供电时,电池电量显示不准确。

        解决方案:优化电池电量检测算法,减少电量检测过程中的功耗消耗,提高电量检测的准确性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/499658.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

C语言 变量

变量其实只不过是程序可操作的存储区的名称。C 中每个变量都有特定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上。 变量的名称可以由字母、数字和下划线字符组成。它必须以字母或下划线开头…

导出数据库表结构到文档中

导出效果: 完整代码: Controller层: import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotatio…

Android Stdio Execution failed for task ‘:app:compileDebugKotlin‘ 报错解决

具体报错信息如下: compileDebugJavaWithJavac task (current target is 1.8) and compileDebugKotlin task (current target is 17)jvm target compatibility should be set to the same Java version.很显然,这是一个版本冲突问题,compile…

云上攻防-云服务篇弹性计算服务器云数据库实例元数据控制角色AK控制台接管

知识点: 1、云服务-弹性计算服务器-元数据&SSRF&AK 2、云服务-云数据库-外部连接&权限提升 章节点: 云场景攻防:公有云,私有云,混合云,虚拟化集群,云桌面等 云厂商攻防:阿里云&am…

Tomcat服务部署

1、安装jdk、设置环境变量并测试 第一步:安装jdk 在部署 Tomcat 之前必须安装好 jdk,因为 jdk 是 Tomcat 运行的必要环境。 1. #关闭防火墙 systemctl stop firewalld systemctl disable firewalld setenforce 02. #将安装 Tomcat 所需软件包传到/opt…

90%电商APP已沦落至无人下载,用户主观意愿——是真正实用性价值!

90%电商APP已沦落至无人下载,用户主观意愿——是真正实用性价值! 文丨微三云营销总监胡佳东,点击上方“关注”,为你分享市场商业模式电商干货。 - 引言:在互联网发展的大时代下,似乎每个月都有新的APP出现…

Linux Shell脚本练习(一)

一、 Linux下执行Shell脚本的方式: 1、用shell程序执行脚本: a、根据你的shell脚本的类型,选择shell程序,常用的有sh,bash,tcsh等 b、程序的第一行#!/bin/bash里面指明了shell类型的,比如#!/…

Programming Abstractions in C阅读笔记:p306-p307

《Programming Abstractions in C》学习第75天,p306-p307总结,总计2页。 一、技术总结 1.Quicksort algorithm(快速排序) 由法国计算机科学家C.A.R(Charles Antony Richard) Hoare(东尼.霍尔)在1959年开发(develop), 1961年发表…

Windows下使用C++调用海康威视SDK获取实时视频流进行检测

目录 准备海康威视的SDK官网下载下载后解压 Vs 2022创建项目创建32位的环境 将相关文件复制到工程目录下工程配置海康威视SDK配置包含目录配置库目录将dll文件添加到环境中在附加依赖项添加如下内容 工程配置OpenCV配置工程配置包含目录配置库目录 测试 准备海康威视的SDK 官网…

位段 详解

目录 位段的声明位段的内存分配位段的跨平台问题 位段的声明 位段的声明和结构是类似的,有两个不同: 位段的成员必须是 int、unsigned int 或signed int位段的成员名后边有一个冒号和一个数字 例如,A是一个位段类型: struct A…

程序员的金三银四求职宝典

目录 简介: 1.准备简历: 2.强调技术能力: 3.建立个人品牌: 4.提前准备面试: 5.关注招聘信息渠道: 6.提前与内推: 7.心态调整: 结论: 简介: 金三银四是…

老卫带你学---leetcode刷题(130. 被围绕的区域)

130. 被围绕的区域 问题 给你一个 m x n 的矩阵 board ,由若干字符 ‘X’ 和 ‘O’ ,找到所有被 ‘X’ 围绕的区域,并将这些区域里所有的 ‘O’ 用 ‘X’ 填充。 示例 1: 输入:board [[“X”,“X”,“X”,“X”]…

基于相位的运动放大:如何检测和放大难以察觉的运动(02/2)

目录 一、说明二、算法三、准备处理四、高斯核五、带通滤波器六、复杂的可操纵金字塔七、最终预处理步骤八、执行处理九、金字塔的倒塌十、可视化结果十一、结论 一、说明 日常物体会产生人眼无法察觉的微妙运动。在视频中,这些运动的幅度小于一个像素,…

2月28日做题总结(C/C++真题)

今天是2月28日,做题第三天。道阻且长,行则将至;行而不辍,则未来可期! 第一题 static char a[2]{1,2,3};说法是否正确? A---正确 B---错误 正确答案:B 解析:数组定义时&#xf…

LeetCode——栈和队列(Java)

栈和队列 简介[简单] 232. 用栈实现队列[简单] 225. 用队列实现栈[简单] 20. 有效的括号[简单] 1047. 删除字符串中的所有相邻重复项[中等] 150. 逆波兰表达式求值[困难] 239. 滑动窗口最大值[中等] 347. 前 K 个高频元素 简介 记录一下自己刷题的历程以及代码。写题过程中参考…

通过多进程并发方式(fork)实现服务器

以下内容为视频学习记录。 1、父进程accept后返回的文件描述符为cfd以及用于创建连接的lfd; 调用fork()创建子进程后,子进程继承cfd,lfd,通过该cfd与连接过来的客户端通信,lfd对子进程来说没用,可以直接close(lfd); 对于父进程来说&#x…

【MySQL | 第一篇】undo log、redo log、bin log三者之间的区分?

undo log、redo log、bin log三者之间的区分? 从 产生的时间点、日志内容、用途 三方面展开论述即可 1.undo log——撤销日志 时间点:事务开始之前产生,根据当前版本的数据生成一个undo log,也保存在事务开始之前 作用&#xf…

LeetCode:2867. 统计树中的合法路径数目(筛质数+ DFS Java)

目录 2867. 统计树中的合法路径数目 题目描述: 实现代码与思路: 筛质数 DFS 原理思路: 2867. 统计树中的合法路径数目 题目描述: 给你一棵 n 个节点的无向树,节点编号为 1 到 n 。给你一个整数 n 和一个长度为 …

Gophish+EwoMail 自建钓鱼服务器

GophishEwoMail 自建钓鱼服务器 文章目录 GophishEwoMail 自建钓鱼服务器1.前提准备2.搭建EwoMail邮件服务器1)Centos7 防火墙操作2)设置主机名3)host配置4)安装EwoMail5)获取DKIM6)端口服务介绍7&#xff…

1.2 debug的六种指令的使用,四个通用寄存器

汇编语言 首先进入环境 mount c d:masm //把c挂载在d盘中的masm当中 c: //进入c,进入到编译环境 dir //查看文件,可有可无Debug是DOS、Windows都提供的实模式(8086 方式)程序的调试工具。使用它可以查看CPU各种寄存器中的内容…