【江协科技STM32】BKP备寄存器RTC实时时钟(学习笔记)

news2025/3/26 10:40:28

 BKP备寄存器

BKP简介 

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

具体描述看参考手册第五章 

 BKP基本结构

 

橙色部分后备区域在待机时维持供电,依赖于硬件层面的独立电源设计:

  • 备份电源域:微控制器(如 STM32 等)设有专门的后备电源域,后备区域(如 RTC 预分频器、计数器、闹钟寄存器等模块)接入该电源域。
  • 独立供电来源:当系统进入待机模式,主电源(如 APB1 总线供电)关闭,但后备电源域由独立电源(如备用电池、超级电容或 VBAT 引脚供电)持续供电。这种设计确保 RTC 在待机期间仍能保持计时、计数等功能,避免时间信息丢失或计时中断。

1. 输入功能模块

  • 电池供电(VBAT):通过外部电池或备用电源为模块供电,确保数据寄存器等关键区域在主电源断电时仍维持工作,保护数据不丢失。
  • 侵入检测(TAMPER):接收外部侵入检测信号上升沿或者下降沿(TAMPER),监测是否存在非法物理侵入或特定触发事件,保障系统安全。
  • 时钟输出(RTC):将内部处理的时钟信号输出至 RTC 模块,为实时时钟功能提供支持。

2. 核心寄存器模块

  • 数据寄存器:包含多个 16 位寄存器(如 DR1 [15:0]、DR2 [15:0]…DR42 [15:0]),用于存储用户数据或配置参数。一个寄存器存两个字节,所以DR1~DR10就是20各字节,中小容量。其中,“大容量和互联型” 设备支持更多数据寄存器(如 DR42)。
  • 控制与状态相关寄存器
    • 控制寄存器:用于配置模块工作模式、参数等。
    • 状态寄存器:反馈模块当前工作状态(如中断、错误等)。
    • RTC 时钟校准寄存器:对 RTC 时钟进行精度校准,确保计时准确性。

 RTC实时时钟

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时钟源:RCC时钟树

RTC框图  

图 154 为简化的实时时钟(RTC)框图,主要展示 RTC 模块的核心架构与工作流程,包含以下关键部分:

1. 系统连接与供电机制

  • APB1 总线与接口:通过 APB1 接口实现 RTC 模块与 APB1 总线的通信,用于配置和读取 RTC 寄存器数据,但待机时 APB1 接口不供电。
  • 后备区域供电图中灰色标注的 “后备区域”(如 RTC 预分频器、32 位计数器等)在待机时维持供电,确保 RTC 计时功能持续运行,不受主电源掉电影响。

2. RTC 核心功能模块

  • RTC 预分频器
    • 包含重装载寄存器RTC_PRL和分频寄存器RTC_DIV,对输入时钟RTCCLK进行分频,生成计数器所需的时钟信号TR_CLK,通过重装载机制更新分频参数。
  • 32 位可编程计数器
    • RTC_CNT为核心计数器,对TR_CLK计数,实现时间累加;RTC_ALR为闹钟寄存器,存储闹钟设定值,与RTC_CNT比较,匹配时产生RTC_Alarm信号,触发闹钟事件。
  • 控制与中断模块(RTC_CR)
    • 处理中断标志(SECF秒中断标志、OWF溢出标志、ALRF闹钟标志)和中断使能(SECIEOWIEALRIE),汇总中断信号后接入 NVIC 中断控制器,实现中断响应。

3. 唤醒功能

  • RTC_Alarm信号除触发中断外,还可通过WKP_STDBY触发退出待机模式;此外,外部WKUP pin(唤醒引脚)也参与待机唤醒,确保系统在闹钟事件或外部触发时恢复运行。

 RTC基本结构 

 硬件电路

简单电路参考来源STM32数据手册5.16供电方案: 

推荐连接的参考来源是STM32参考手册:

外部低速晶振参考来源STM32数据手册5.36使用一个晶体/陶瓷谐振器产生的低速外部时钟:

 

RTC操作注意事项 

  • 执行以下操作将使能对BKP和RTC的访问:     

设置RCC_APB1ENR的PWREN和BKPEN,使能PWR和BKP时钟     

设置PWR_CR的DBP,使能对BKP和RTC的访问

  • 若在读取RTC寄存器时,RTC的APB1接口曾经处于禁止状态,则软件首先必须等待RTC_CRL寄存器中的RSF位(寄存器同步标志)被硬件置1
  • 必须设置RTC_CRL寄存器中的CNF位,使RTC进入配置模式后,才能写入RTC_PRL、RTC_CNT、RTC_ALR寄存器
  • 对RTC任何寄存器的写操作,都必须在前一次写操作结束后进行。可以通过查询RTC_CR寄存器中的RTOFF状态位,判断RTC寄存器是否处于更新中。仅当RTOFF状态位是1时,才可以写入RTC寄存器 

 第二点细节:为什么要等待RTC_CRL寄存器中的RSF位

 

 为什么要当RTOFF状态位是1,才可以写入RTC寄存器 

 

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

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

相关文章

卷积神经网络 - 参数学习

本文我们通过两个简化的例子,展示如何从前向传播、损失计算,到反向传播推导梯度,再到参数更新,完整地描述卷积层的参数学习过程。 一、例子一 我们构造一个非常简单的卷积神经网络,其结构仅包含一个卷积层和一个输出…

亮数据爬取API爬取亚马逊电商平台实战教程

前言 在当今数据驱动的商业环境中,企业需要快速、精准地获取互联网上的公开数据以支持市场分析、竞品调研和用户行为研究。然而,传统的手动网页爬取方式面临着诸多挑战:IP封锁、验证码干扰、网站结构频繁变更,以及高昂的运维成本…

[CLS] Token 在 ViT(Vision Transformer)中的作用与实现

[CLS] Token 在 ViT(Vision Transformer)中的作用与实现 1. 什么是 [CLS] Token? [CLS](classification token)是Transformer模型中一个可学习的嵌入向量,最初在 BERT(Bidirectional Encoder …

基于网启PXE服务器的批量定制系统平台

项目概述 1.需求 公司新购了一批服务器和台式机,需要为台式机和服务器安装系统,一部分需要安装国产OpenEuler,一部分要求安装CentOS 7.9,同时也要满足定制化需求,即按要求分区安装相应软件。 2.使用开源软件 &…

在本地Windows机器加载大模型并生成内容

本篇演示在本地机器下载和加载大模型并获取AI产生的内容。简单起见,使用的大模型是Qwen2.5-0.5B-Instruct,整个模型的所有文件不到1G。 Qwen2.5-0.5B-Instruct 是阿里巴巴云 QWen 团队基于 Transformer 架构开发的轻量级指令调优语言模型,专…

热门面试题第14天|Leetcode 513找树左下角的值 112 113 路径总和 105 106 从中序与后序遍历序列构造二叉树 (及其扩展形式)以一敌二

找树左下角的值 本题递归偏难,反而迭代简单属于模板题, 两种方法掌握一下 题目链接/文章讲解/视频讲解:https://programmercarl.com/0513.%E6%89%BE%E6%A0%91%E5%B7%A6%E4%B8%8B%E8%A7%92%E7%9A%84%E5%80%BC.html 我们来分析一下题目&#…

【计算机网络】-计算机网络期末复习题复习资料

一、计算机网络体系结构(800字) 1. OSI参考模型 七层结构:物理层→数据链路层→网络层→传输层→会话层→表示层→应用层 各层核心功能: 物理层:比特流传输(如RJ45、光纤接口) 数据链路层&…

批归一化(Batch Normalization)与层归一化(Layer Normalization)的区别与联系

文章目录 一、Batch normalization 理论与应用1. 理论解释2. 数值例子 二、Layer normalization 理论与应用1. 理论解释2. 数值例子 三、Layer Normalization 和 Batch Normalization 的区别四、《Transformers without Normalization》笔记 一、Batch normalization 理论与应用…

12届蓝桥杯—货物摆放

货物摆放 题目描述 小蓝有一个超大的仓库,可以摆放很多货物。 现在,小蓝有 nn 箱货物要摆放在仓库,每箱货物都是规则的正方体。小蓝规定了长、宽、高三个互相垂直的方向,每箱货物的边都必须严格平行于长、宽、高。 小蓝希望所…

c++进阶--哈希表的实现

大家好,今天我们来学习ubordered_set和unordered_map的底层哈希表。 目录 哈希表实现 1. 哈希概念 1.1 直接定址法 1.2 哈希冲突 1.3 负载因⼦ 1.4 将关键字转为整数 1.5 哈希函数 下面我们介绍几种哈希函数:1.5.1 除法散列法/除留余数法 1.…

颠覆传统:SaaS 品牌如何通过 SEO 策略引爆市场!

SaaS 商业模式提供了令人难以置信的可扩展性和盈利能力——但前提是与正确的营销增长策略相结合。 SaaS 品牌知道,托管基于云的应用程序的成本会随着用户量的增加而降低,因此必须专注于订阅者的快速增长,以保持竞争力并降低成本。 许多 CMO…

特殊行车记录仪DAT视频丢失的恢复方法

行车记录仪是一种常见的车载记录仪,和常见的“小巧玲珑”的行车记录仪不同,一些特种车辆使用的记录仪的外观可以用“笨重”来形容。下边我们来看看特种车载行车记录仪删除文件后的恢复方法。 故障存储: 120GB存储设备/文件系统:exFAT /簇大小:128KB 故…

数据库中不存在该字段

mybatisplus 定义的类中某些字段是数据库里面没有的,我们可用tablefield(existfalse)来注解,演示如下:

吾爱出品,文件分类助手,高效管理您的 PC 资源库

在日常使用电脑的过程中,文件杂乱无章常常让人感到困扰。无论是桌面堆积如山的快捷方式,还是硬盘中混乱的音频、视频、文档等资源,都急需一种高效的整理方法。文件分类助手应运而生,它是一款文件管理工具,能够快速、智…

关于瑞芯微开发工具(RKDevTool)刷机下载Boot失败原因的研究

昨天发了文章《网心云OEC/OEC-turbo刷机问题——刷机教程、救砖方法、技术要点及下载boot失败异常解决尝试》,其中有关于刷机各种问题的一些解决方法。 网心云OEC/OEC-turbo刷机问题——刷机教程、救砖方法、技术要点及下载boot失败异常解决尝试-CSDN博客文章浏览阅…

web爬虫笔记:js逆向案例十一 某数cookie(补环境流程)

web爬虫笔记:js逆向案例十一 某数cookie(补环境流程) 一、获取网页数据请求流程 二、目标网址、cookie生成(逐步分析) 1、目标网址:aHR0cHM6Ly9zdWdoLnN6dS5lZHUuY24vSHRtbC9OZXdzL0NvbHVtbnMvNy9JbmRleC5odG1s 2、快速定位入口方法 1、通过脚本监听、hook_cookie等操作可…

Excel多级联动下拉菜单的自动化设置(使用Python中的openpyxl模块)

1 主要目的 在Excel中,经常会遇到需要制作多级联动下拉菜单的情况,要求单元格内填写的内容只能从指定的多个选项中进行选择,并且需要设置多级目录,其中下级目录的选项内容要根据上级目录的填写内容确定,如下图所示&am…

excalidraw画图工具——背景画布有无格子设置

服啦找了大半天,愣是没找到 toggle grid : 切换格子… Excalidraw的背景格子 只要右键,将这个勾取消就好了?

计算机组成原理———I\O系统精讲<1>

本篇文章主要介绍输入输出系统的发展概况 一.输入输出系统的发展概况 1.早期阶段 该阶段的特点是I/O设备与主存交换信息都必须通过CPU 当时的I/O设备有如下几个特点: (1)每个I\O设备都必须配有一套独立的逻辑电路与CPU相连,用来…

ENSP学习day9

ACL访问控制列表实验 ACL(Access Control List,访问控制列表)是一种用于控制用户或系统对资源(如文件、文件夹、网络等)访问权限的机制。通过ACL,系统管理员可以定义哪些用户或系统可以访问特定资源&#x…