八.STM32F030C8T6 MCU开发之电源掉电检测案例

news2024/11/23 7:50:27

八.STM32F030C8T6 MCU开发之电源掉电检测案例

0.总体功能概述

使用STD库–en.stm32f0_stdperiph_lib_v1.6.0。

单片机在正常工作时,因某种原因造成突然掉电,将会丢失数据存储器(RAM)里的数据。在某些应用场合如测量、控制等领域,单片机正常工作中采集和运算出一些重要数据,待下次上电后需要恢复这些重要数据。

因此,在一些没有后备供电系统的单片机应用系统中,有必要在系统完全断电之前,把这些采集到的或计算出的重要数据存在在FLASH中。

为此,通常做法是在这些系统中加入单片机电源掉电检测电路与单片机掉电数据保存机制。用储能电容可在掉电后延长电源的稳定时间,从而从容实现 在单片机掉电检测后完成数据掉电保存。

1.ST MCU 电源相关机制介绍

了解电源之前,先来简单了解一下各种电源端口的命名
VCC:C=circuit 表示电路的意思, 即接入电路的电压。
VDD:D=device 表示器件的意思, 即器件内部的工作电压。
VSS:S=series 表示公共连接的意思,通常指电路公共接地端电压。
GND:在电路里常被定为电压参考基点。
VEE:负电压供电;场效应管的源极(S)
VPP:编程/擦除电压。

V与VA的区别是:数字与模拟的区别
数字电路供电VCC
模拟电路供电VCCA

1.1 ST MCU 电源供应介绍

在这里插入图片描述

STM32F030C8T6的可工作电源电压范围是2.4-3.6V

1.2 ST MCU POR/PDR

在这里插入图片描述

1.3 PVD模块

STM32F030系列没有PVD

1.3.1 ADC检测电源来判断是否掉电

没有PVD的话,可以用ADC检测电源来判断是否掉电。

2.硬件设计

2.1掉电时间

掉电保存的前提是断电后电源电压是缓慢下降的,这样才有足够的时间去检测掉电并保存数据。因此,电源上必须有个大电容,保证电源断开后能继续给单片机供电。

具体需要维持多长时间,要看存储器的擦写周期。以STM32F030C8T6的内部存储器为例,擦除一页需要30ms,写入一个16位数据需要53.5us。根据实际需要擦除和写入的数据多少来计算至少需要多少时间。

还需要关注一个参数,编程电压。在用示波器测量掉电时的波形时,测量出从断电瞬间到电压降低到2.4V时的时间,该时间大于总的数据擦写的时间即可。当然要留有一定裕量。如果时间不够,就要加大电容了。
在这里插入图片描述

2.2ADC检测

​ ADC检测掉电的方式有两种,一种是通过某个通道直接采集电源电压(或者分压后采集),另一种是采集内部参考电压Vrefint来判断电源电压。

第一种方式很好理解,采样值就代表电源电压,可以直接去触发ADC的看门狗中断。

第二种方式由于内部参考电压是不变的,STM32F030是1.23V,有一定误差。当电源电压变化时,ADC采集的参考电压会发生变化。这里有个前提,即单片机的VREF引脚或AVDD引脚就是要检测的电源电压。

2.2.1 vref与VDDA电源关系

vref = adc_value x VDDA/0xffff

当VDDA不同,VREF 是确定数值,adc_value不同。

正常时ADC采样值=1.234096/3.3,大约是1526左右,由于Vrefint和电源电压都有误差,所以只是个大概。

如果我们将掉电电压检测值设为3.1V,那对应的ADC看门狗的高门限值应为1.234096/3.1,约1625左右。

STM32F030C8T6 VDDA=3V的时候采集内部vrefint的ADC数值adc_value =1672

[2022-11-07 12:44:47] index=4 RegularConvData_Tab= 1672, ADC1ConvertedVoltage 1224 mV

这里有两点需要注意:

一是在中断中先关闭功耗较大的外设,比如液晶背光、数码管等。使断电时电源电压下降不至于太快。

二是在保存数据后关闭ADC中断,或者直接死循环(因为已经断电,也不需要执行其它程序了)。这样做主要是为了防止电压下降的太慢,多次触发看门狗中断,导致最后一次写入错误。

3.总结

关于电源检测,STM32MCU的可编程电压监测(PVD),模拟电压监测(AVD)和电池电压监测等功能可以用来检测VDD,VDDA和电池电压是否在正常的电压范围内。

4.参考

https://mp.weixin.qq.com/s/QlmvLQBaD_v-wgkuK3yD3w

能可以用来检测VDD,VDDA和电池电压是否在正常的电压范围内。

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

RedisMysql同步

1. canal Canal,阿里巴巴 MySQL binlog 增量订阅&消费组件,译意为水道/管道/沟渠,主要用途是基于 MySQL 数据库增量日志解析,提供增量数据订阅和消费。 首先了解一下mysql主备复制原理:   (1&#x…

51单片机计算定时器初值

51单片机计算定时器初值前言理论分析工作方式寄存器 TMODGATE 门控位C/T 计数器模式和定时器模式选择位M1 M0 工作方式选择位定时器/计数器控制寄存器 TCONTCON补充(中断相关)计算过程补充: 方式2运行原理源码前言 芯片使用AT89S51参考书目《…

Vue2.0开发之——Vue基础用法-列表渲染指令(24)

一 概述 列表渲染指令v-forv-for 中的索引使用 key 维护列表的状态key 的注意事项 二 列表渲染指令v-for 2.1 概念 vue 提供了 v-for 列表渲染指令,用来辅助开发者基于一个数组来循环渲染一个列表结构。v-for 指令需要使 用 item in items 形式的特殊语法&#x…

C#程序发布时,一定要好好地保护,不然你会后悔的

上次分享一个C#混淆开源项目《一个对C#程序混淆加密,小巧但够用的小工具》,发现大家都非常感兴趣,但也发现很多人,不了解为什么没有混淆,就会很容易被破解。 所以今天给大家做一个教程:如何通过工具来反编…

[网络工程师]-传输层协议-UDP协议

用户数据协议(User Datagram Protocol,UDP)是一种不可靠的、无连接的数据报服务。源主机在传送数据前不需要和目标主机建立连接。数据附加了源端口号和目标端口号等UDP报头字段后,直接发往目的主机。这时,每个数据报的…

【数据结构】链表

目录 一、线性表接口 二、单链表 2.1 单链表的结构定义 2.2 头插法 2.3中间位置的插入 2.4尾插法 2.5遍历链表 2.6查询线性表中是否包含指定元素 2.7返回索引为index的元素值 2.8修改索引为index位置的元素为新值,返回修改前的元素值 2.9删除链表中索引为…

公众号免费搜题系统

公众号免费搜题系统 本平台优点: 多题库查题、独立后台、响应速度快、全网平台可查、功能最全! 1.想要给自己的公众号获得查题接口,只需要两步! 2.题库: 查题校园题库:查题校园题库后台(点击…

嵌入式FreeRTOS学习十,任务调度和任务就绪链表任务调度过程

一.main函数里面的栈是哪里分配的 main函数里面用到的栈,假设为msp,是汇编代码里面设定的,对于STM32F103,在汇编代码里的向量表设置了一个栈_initial_sp,那这个栈是给谁用的呢? 可以看到,这个_initial_sp在内存中分配了一个空间区…

案例驱动,手把手教你学PyTorch(二)

通过案例学PyTorch。 扫码关注《Python学研大本营》,加入读者群,分享更多精彩 Autograd Autograd 是 PyTorch 的自动微分包。多亏了它,我们不需要担心偏导数、链式法则或类似的东西。 那么,我们如何告诉 PyTorch 做它的事情并计…

python在线及离线安装库

目录 一、配置python环境变量: 二、在线安装python库: 三、离线安装python库: 一、配置python环境变量: 1、以windows10为例,右键电脑->>属性: 2、选择高级系统设置: 3、选择环境变量&#xff1a…

八行代码一键照片转漫画

有些小程序可以实现照片转漫画的功能,本文和你一起来探索其背后的原理。用Python实现八行代码一键照片转漫画。    文章目录一、效果展示二、代码详解1 导入库2 照片转漫画一、效果展示 在介绍代码之前,先来看下本文的实现效果。    喜欢的小伙伴也…

操作系统主引导扇区代码是如何被加载到内存的?

1. 问题:OS引导代码为什么需要org 07c00h? 在前几天在知乎上的的一个回答《想带着学生做一个操作系统,可行性有多大?》中,我们引用了一段主引导扇区MBR中的操作系统加载代码: org 07c00h ; 告诉编译器程…

PCA实现降维的过程

PCA将相关性高的变量转变为较少的独立新变量,实现用较少的综合指标分别代表存在于各个变量中的各类信息,既减少高维数据的变量维度,又尽量降低原变量数据包含信息的损失程度,是一种典型的数据降维方法。PCA保留了高维数据最重要的…

web前端期末大作业 HTML+CSS+JavaScript仿京东

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | 在线商城购物 | 水果商城 | 商城系统建设 | 多平台移动商城 | H5微商城购物商城项目| HTML期末大学生网页设计作业,Web大学生网页 HTML&am…

SpringBoot发送邮件

06.发送邮件 在使用javaSE时&#xff0c;我们会发现发送邮件较为麻烦&#xff0c;而在SpringBoot中&#xff0c;发送邮件就变成一件较为简单的时。 导入mail的maven的启动类。 <dependency><groupId>org.springframework.boot</groupId><artifactId>…

DSPE PEG Azide, DSPE-PEG-N3;磷脂聚乙二醇叠氮

中文名称&#xff1a;磷脂聚乙二醇叠氮(DSPE-PEG-N3) 中文别名&#xff1a;N-二硬脂酰磷脂酰乙酰胺-PEG-叠氮 磷脂PEG叠氮 英文名称&#xff1a;DSPE PEG Azide, DSPE-PEG-N3 性状&#xff1a;根据不同的分子量为固体或者粘稠液体。 溶剂&#xff1a;溶于DCM&#xff0c;…

表单标签。。

一、任务目标 掌握表单标签及其属性的使用 二、任务背景 HTML表单用于收集用户输入。表单元素指的是不同类型的 input 元素、复选框、单选按钮、提交按钮等。 三、任务内容 1、<form></form>标签 用于创建HTML表单&#xff0c;常用属性如下&#xff1a; action&…

OpenGL ES 学习(一) -- 基本概念

最近在研究 SurfaceView 和 TextureView&#xff0c;发现栅格化这东西&#xff0c;一直没怎么搞明白&#xff0c;一搜都是关于 OpenGL 的&#xff0c;没办法&#xff0c;当初也是要学习这个&#xff0c;现在重试拾起。 之前接触 OpenGL &#xff0c;是主要解决一个渲染模糊问题…

JavaEE-操作系统

✏️作者&#xff1a;银河罐头 &#x1f4cb;系列专栏&#xff1a;JavaEE &#x1f332;“种一棵树最好的时间是十年前&#xff0c;其次是现在” 目录操作系统介绍操作系统的定位进程进程控制块内存管理进程间通信思维导图总结操作系统介绍 操作系统是一组做计算机资源管理的软…

文献学习01_Attention Is All You Need_20221119

论文信息 Subjects: Computation and Language (cs.CL); Machine Learning (cs.LG) &#xff08;1&#xff09;题目&#xff1a;Attention Is All You Need &#xff08;你需要的就是关注&#xff09; &#xff08;2&#xff09;文章下载地址&#xff1a;https://doi.org/10.4…