STM32 备份寄存器

BKP(Backup Register)备份寄存器

BKP可用于存储用户应用程序数据。当VDD电源被切断,他们仍然由VBAT供电。当系统在待机模式下被唤醒,或系统复位或电源复位时他们也不会被复位。主要作用包括存储关键配置参数、系统状态标志、RTC校准值或其他需要在断电后保留的数据。

备份寄存器特性

供电方式:主电源VDD正常时,BKP由VDD供电。VDD掉电后,自动切换为VBAT供电(需外部接纽扣电池,电压范围1.8~3.6V)。

存储容量:不同型号差异不大,典型为42个16位寄存器(共84字节),仅支持存储少量关键数据(非海量存储)。

访问权限:需通过备份域接口访问,通常需先使能PWR和BKP时钟。

写保护:可配置写保护防止意外修改。

RTC相关功能支持

部分BKP寄存器可配置为RTC闹钟/唤醒事件的触发输出口(如BKP_DR1~DR10可映射到TAMPER引脚)。

支持RTC校准:通过BKP_CR寄存器的RTC_CAL位,实现RTC时钟的微调校准。

tamper(防篡改)功能协同

当TAMPER引脚触发防篡改事件(电平变化或脉冲)时,可配置BKP自动清除部分或全部备份寄存器数据,或触发系统复位,保护敏感数据。

典型应用场景

  1. 系统配置参数保存:如设备地址、通信波特率、校准系数、用户设置(无需频繁写入Flash)。

  2. 故障记录存储:如系统异常码、掉电前的运行状态(方便后续故障排查)。

  3. RTC辅助功能:结合RTC实现定时唤醒、闹钟触发,适用于低功耗场景(如物联网传感器节点)。

  4. 敏感数据防篡改:配合TAMPER引脚,实现数据防篡改保护(如金融设备、工业控制中的关键参数)。

相关推荐
安生生申21 分钟前
uni-app 连接 JDY-31 蓝牙串口模块实践
c语言·前端·javascript·stm32·单片机·嵌入式硬件·uni-app
熙芯XiChip24 分钟前
CPLD核心原理与结构
单片机
番茄灭世神27 分钟前
Vscode开发/调试ARM单片机最新教程
c语言·arm开发·vscode·stm32·嵌入式·gd32
于小猿Sup11 小时前
VMware在Ubuntu22.04驱动Livox Mid360s
linux·c++·嵌入式硬件·自动驾驶
chao18984412 小时前
STM32 HAL库驱动AT24C02 EEPROM例程
stm32·单片机·嵌入式硬件
不会武功的火柴14 小时前
SystemVerilog语法(8)-有限状态机(FSM)
嵌入式硬件·fpga开发·自动化·ic验证·rtl·uvm方法学
猫猫的小茶馆15 小时前
【Python】函数与模块化编程
linux·开发语言·arm开发·驱动开发·python·stm32
feifeigo12315 小时前
STM32矩阵键盘驱动(库函数版)实现
stm32·矩阵·计算机外设
嵌入式小站16 小时前
STM32 零基础可移植教程 05:按键消抖,为什么按一次会触发好几次
chrome·stm32·嵌入式硬件
czhaii16 小时前
跟我动手学FX系列PLC GX2环境
嵌入式硬件