BKP备份寄存器RTC实时时钟

文章目录

  • BKP简介
    • 相关引脚
    • BKP基本结构
  • RTC简介
    • RTC框图
    • 三种时钟源
    • RTC基本结构
  • 硬件电路
  • RTC操作注意事项


BKP简介

  • BKP(Backup Registers)备份寄存器
  • BKP可用于存储用户应用程序数据。当VDD(2.0~ 3.6V)电源被切断,他们仍然由VBAT(1.8~ 3.6V)维持供电。当系统在待机模式下被唤醒,或系统复位或电源复位时,他们也不会被复位
  • TAMPER引脚产生的侵入事件将所有备份寄存器内容清除 RTC引脚输出RTC校准时钟、RTC闹钟脉冲或者秒脉冲 存储RTC时钟校准寄存器
  • 用户数据存储容量: 20字节(中容量和小容量)/ 84字节(大容量和互联型)

相关引脚

在这里插入图片描述
TAMPER引脚产生的侵入事件:可以由此引脚外接一个上拉或下拉电阻,当有人触发了拆开设备等事件使TAMPER引脚产生上升沿或下降沿,使STM32检测到侵入事件,清空BKP的所有内容并申请中断,在中断中配置其他保护操作

BKP基本结构

橙色部分为后备区域,即主电源断电后还可以继续由VBAT供电工作
在这里插入图片描述

RTC简介

  • RTC(Real Time Clock)实时时钟 RTC是一个独立的定时器,可为系统提供时钟和日历的功能
  • RTC和时钟配置系统处于后备区域,系统复位时数据不清零,VDD(2.0~ 3.6V)断电后可借助VBAT(1.8~ 3.6V)供电继续走时
  • 32位的可编程计数器,可对应Unix时间戳的秒计数器 20位的可编程预分频器,可适配不同频率的输入时钟
  • 可选择三种RTC时钟源:
    HSE时钟除以128(通常为8MHz/128)
    LSE振荡器时钟(通常为32.768KHz)
    LSI振荡器时钟(40KHz)

RTC框图

下图深色部分为主电源掉电或可以使用VBAT备用电源继续工作的部分
在这里插入图片描述

  • RTCCLK:RTC晶振
  • RTC_PRL:重装寄存器,RTC预分频重载值,相当于分频值,由于包含0,则给9就相当于10分频
  • RTC_DIV:余数寄存器,接收RTC晶振,设置初值为RTC_PRL,每次接收晶振自减1,溢出产生上升沿,以此分频。例如RTC_PRL=32767,RTCCLK=32768,则需自减32768次,最后输出的频率就为32768-32767+1=0,以此得到1Hz的频率
  • RTC_CNT:相当于32位Unix事件戳秒计数器,可通过time.h库函数来进行时间转换,因为使用的秒计数器,所以需要把RTCCLK分频为1Hz给秒计数器
  • RTC_ALR:闹钟寄存器,设置闹钟时间,唤醒RTC计时,平时处于待机模式以省电
  • WKUP pin:用于唤醒设备
  • RTC_Second:每秒进入一次中断
  • RTC_Overflow:计数器溢出中断
  • RTC_Alarm:闹钟中断

三种时钟源

参考RCC时钟树
在这里插入图片描述
图中三种时钟源分别对应:

  • HSE时钟除以128(通常为8MHz/128):主晶振,主要作为系统主时钟,一般8MHz
  • LSE振荡器时钟(通常为32.768KHz):专用于RTC,可以在主电源断电时继续产生频率,而且32768为2的15次方,在经过一个15为分频器自动溢出即可得到1Hz的频率
  • LSI振荡器时钟(40KHz):内部低俗晶振,精度没有外部时钟高,一般用于看门狗,只做备选方案

RTC基本结构

RTC主要流程简化图
在这里插入图片描述

硬件电路

注意:在VDD上升阶段(tRSTTEMPO)或者探测到PDR(掉电复位)之后,VBAT和VDD之间的电源开关仍会保持连接在VBAT。在VDD上升阶段,如果VDD在小于tRSTTEMPO的时间内达到稳定状态(关于tRSTTEMPO数值可参考数据手册中的相关部分),且VDD > VBAT + 0.6V时,电流可能通过VDD和VBAT之间的内部二极管注入到VBAT。如果与VBAT连接的电源或者电池不能承受这样的注入电流,强烈建议在外部VBAT和电源之间连接一个低压降二极管。如果在应用中没有外部电池,建议VBAT在外部连接到VDD并连接一个100nF的陶瓷滤波电容
对于CL1和CL2,建议使用高质量的5pF~15pF之间的瓷介电容器,并挑选符合要求的晶体或谐振器

在这里插入图片描述


RTC操作注意事项

  • 执行以下操作将使能对BKP和RTC的访问:
    设置RCC_APB1ENR的PWREN和BKPEN,使能PWR和BKP时钟
    设置PWR_CR的DBP,使能对BKP和RTC的访问
  • 若在读取RTC寄存器时,RTC的APB1接口曾经处于禁止状态,则软件首先必须等待RTC_CRL寄存器中的RSF位(寄存器同步标志)被硬件置1(由于外设时钟频率远快于RTC时钟,所以要等待RTC时钟,将寄存器的值同步到APB1总线上
  • 必须设置RTC_CRL寄存器中的CNF位,使RTC进入配置模式后,才能写入RTC_PRL、RTC_CNT、RTC_ALR寄存器对RTC任何寄存器的写操作,都必须在前一次写操作结束后进行。
  • 可以通过查询RTC_CR寄存器中的RTOFF状态位,判断RTC寄存器是否处于更新中。仅当RTOFF状态位是1时,才可以写入RTC寄存器

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

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

相关文章

【QT】ROS2 Humble联合使用QT教程

【QT】ROS2 Humble联合使用QT教程 文章目录 【QT】ROS2 Humble联合使用QT教程1. 安装ROSProjectManager插件2. 创建ROS项目3.一个快速体验的demoReference 环境的具体信息如下: ubunt 22.04ros2 humbleQt Creator 13.0.0ROS ProjectManager 13.0.0 本文建立在已经…

MT3030 天梯赛

跟MT3029战神小码哥类似,都是贪心堆。注意开long long 这里的堆顶为战斗力最小的,便于贪心的反悔操作。先按容忍度从大到小排序(q中总容忍度取决于最小的容忍度),再向q中存数,存到不能容忍之后再把堆顶踢出…

深度学习-线性回归+基础优化算法

目录 线性模型衡量预估质量训练数据参数学习训练损失最小化损失来学习参数显式解 总结基础优化梯度下降选择学习率 小批量随机梯度下降选择批量大小 总结线性回归的从零开始实现实现一个函数读取小批量效果展示这里可视化看一下 线性回归从零开始实现线性回归的简洁实现效果展示…

静态住宅IP代理VS动态住宅IP代理,该如何选择?

在网络安全和数据采集领域,代理服务已经成为一个必不可少的工具。在IP代理服务中,静态住宅代理和动态住宅代理是两种常见的代理类型。今天就为大家详细介绍静态住宅代理与动态住宅代理的差异。 首先我们来看什么是静态住宅IP,这种IP地址可以被…

硅酸盐玻璃反应离子刻蚀在光学微系统的应用前景

引言 微光学元件和复杂光学微系统需要超精密制造工艺。最大容许粗糙度由所用波长λ的分数定义,例如λ或更好,而元件的整体尺寸和形状可以容易地达到毫米或厘米范围。在RIE过程中,材料传输是通过离子和反应气体与等离子体反应器表面的物理和化…

Spring Boot项目中的ASCII艺术字

佛祖保佑: ${spring-boot.formatted-version} ———————————————————————————————————————————————————————————————————— // _ooOoo_ …

分享爱,分享精彩瞬间,分享5款实用软件

分享爱,分享时光,分享精彩瞬间,大家好,我是互联网的搬运工,今天继续给大家带来几款好用的软件。 1. 数据分析——Chartistic ​ Chartistic是一款功能强大的数据分析可视化工具,它提供了丰富的图表类型和…

C语言操作符和关键字

文章目录 操作符单目操作符sizeof(类型)强制类型转换 关系操作符、逻辑操作符、条件操作符逗号表达式 常见关键字typedefstaticstatic修饰局部变量static修饰全局变量static修饰函数 register寄存器关键词define定义常量和宏 操作符 单目操作符 C语言中…

R-Tree原理及实现代码

目录 一.引言 二.R-Tree的基本原理 插入操作 查询操作 删除操作 平衡操作 三. 节点分裂 线性分裂 二次分裂 增量分裂 四.查询 范围查询 最近邻查询 五.最新研究进展 六.C语言实现示例 七. 实际案例分析 八.总结 一.引言 在计算机科学领域,R-Tree是…

基于 Spring Boot 博客系统开发(一)

基于 Spring Boot 博客系统开发(一) 本系统是简易的个人博客系统开发,为了更加熟练地掌握SprIng Boot 框架及相关技术的使用。🤓🤓🤓 基于 Spring Boot 博客系统开发(二)&#x1f4…

聊聊.NET Core处理全局异常有那些方法

简述 处理全局异常的方法有IExceptionFilter(异常处理),使用中间件异常处理,使用框架自带异常中间件等。考点 考察对异常处理方式的熟悉程度和广度,以及对中间件、过滤器熟练程度。 下面分别具体介绍三种处理异常的…

Spring Cloud学习笔记(Feigh):简介,实战简单样例

这是本人学习的总结,主要学习资料如下 - 马士兵教育 1、Netflix Feign简介2、Open Feign的简单样例2.1、dependency2.2、代码样例 1、Netflix Feign简介 Netfilx Feign是用来帮助发送远程服务的,它让开发者觉得调用远程服务就像是调用本地方法一样&…

计算机系列之进程调度、死锁、存储管理、设备管理、文件管理

11、进程调度-死锁-存储管理-固定分页分段 1、进程调度 进程调度方式是指当有更高优先级的进程到来时如何分配CPU。分为可剥夺和不可剥夺两种,可剥夺指当有更高优先级进程到来时,强行将正在运行进程的CPU分配给高优先级进程;不可剥夺是指高…

分享一些常用的内外网文件传输工具

内外网隔离后的文件传输是网络安全领域中一个常见而又重要的问题。随着信息技术的快速发展,网络安全问题日益凸显,内外网隔离成为了许多企业和组织保护内部信息安全的重要手段。然而,内外网隔离后如何有效地进行文件传输,成为了摆…

专利视角下的量子竞赛:《2024全球专利格局白皮书》

2024年1月,欧洲量子产业联盟(QuIC)发布了题为《全球量子技术专利格局描述》的综合白皮书。 该文件以透明的视角展示了当今的知识产权格局,包括知识产权持有人的地理分布。该文件由 QuIC 知识产权(IP)与贸易…

3DTiles特性与内容解析

一篇19年整理的比较老的笔记了。更多精彩内容尽在数字孪生平台。 瓦片种类 3DTiles瓦片有多种类型: b3dm(Batched 3D Model,批量3D模型) b3dm瓦片存储了多个个体,b3dm中的glb代表的实际对象应该具有相同的种类但是可能数据内容不同。b3dm…

ABAP开发:SAPscript表单设计及打印简介

在SAP ERP系统应用中,通常利用Forms表单来定制诸如发票、支票及标签之类的特殊文档的打印格式。这些Forms用来描述文档页面中的信息结构,比如地址抬头、item行、页脚等等,Forms设计就是要确定这些文档的输出格式。 利用SAPscript工具进行Form…

html+css 选择器优先级

1.基本选择器优先级 id>class>tagname(标签选择器)>*(通配符选择器) <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><title>基本选择器的优先级</title><style type"text/css"…

ShaderLab的混合命令

文章目录 示例原理混合因子混合操作参考 示例 Pass {Tags{"LightMode" "ForwardBase"}// 关闭深度写入ZWrite Off// 设置Pass的混合模式&#xff0c;SrcAlpha: 片元着色器产生的颜色的混合因子// OneMinusSrcAlpha 已经存在于颜色缓冲中的颜色的混合因子…

vue实现左右两栏布局宽度可拖拽

项目里需要左右两栏布局根据内容多少可以用户自己拖拽宽度的需求 找了文章参考了下&#xff0c;但都没有实现我要的效果&#xff0c;所以结合调整了一下&#xff0c;记录一下我自己用到的效果 参考文章放下面了&#xff0c;感谢两位大佬 vue拖拽 html实现拖拽 最终效果实现…