GD32MCU如何实现掉电数据保存?

大家在GD32 MCU应用时,是否会碰到以下应用需求:希望在MCU掉电时保存一定的数据或标志,用以记录一些关键的数据。

以GD32E103为例,数据的存储介质可以选择内部Flash或者备份数据寄存器。

如下图所示,片内Flash具有10年的保存寿命,10万次擦写,页擦除时间在3.5ms,字写入时间在40us左右,Flash特性决定Flash需要先擦后写,擦写要求的电压范围为供电范围:1.8V-3.6V.

GD32 MCU基本都支持备份数据寄存器,GD32E103系列支持84字节数据寄存器,可以在VDD掉电,VBAT有电的情况下进行数据保存,备份数据寄存器不需要擦除可以直接写入,数据更新速度较快。

下面为大家介绍数据掉电保存的实现,电源掉电的检测可以选择使用LVD低压检测功能,如下图所示,LVD 的功能是检测 VDD / VDDA 供电电压是否低于低电压检测阈值,该阈值由电源控制寄存器(PMU_CTL) 中的 LVDT2:0位进行配置。 LVD 通过 LVDEN 置位使能,位于电源控制和状态寄存器(PMU_CS) 中的 LVDF 位表示低电压事件是否出现,该事件连接至 EXTI 的第 16 线,用户可以通过配置 EXTI 的第 16 线产生相应的中断。

使用LVD检测到掉电事件后,从LVD阈值到PDR电压之间会有一个时间窗口,可用以实现掉电数据保存,这个时间由掉电速度决定,因而对数据保存的时间要求很高。若系统供电只有VDD供电,VBAT外部未接电池或者需要保存的数据比较多的情况下,可以选择使用内部Flash作为存储介质,为了节省数据更新的时间,可以采用双备份的方式,在系统运行的过程中,先擦除一个备份,检测到掉电事件后,节省擦除时间,直接向备份区域写入更新数据;若系统供电VBAT外接了电池,且更新的数据小于84字节,可以选择将数据写入备份数据寄存器,其更新速度更快。另外如果评估下来掉电时间过快来不及更新数据的话,可以从硬件上减缓掉电速度,以预留更长的时间窗口。

更多GD32 MCU相关咨询:https://www.gd32bbs.com/

相关推荐
Devlab6 小时前
LVGL设计大师——网页版anyui来了!!
嵌入式硬件·物联网·低代码·ui·iot
Dr.kangder9 小时前
嵌入式面试总结(十五)——异常处理
单片机·面试·职场和发展·系统架构·嵌入式
zlinear数据采集卡11 小时前
D223上位机C#开发实战:从帧解析到波形显示的完整实现
开发语言·arm开发·嵌入式硬件·fpga开发·开源·c#
ACP广源盛1392462567311 小时前
蚂蚁百灵 Ling‑3.0‑flash 开源 + 昇腾 0‑Day 原生适配@ACP#GSV9001E 在国产算力矩阵中的机会与落地场景
大数据·人工智能·分布式·单片机·嵌入式硬件
Rocktech_ruixun13 小时前
机器人端侧大模型部署对主板有哪些要求?瑞迅主控板分级方案对比
人工智能·嵌入式硬件·机器人
振南的单片机世界13 小时前
SysTick硬核拆解:既是HAL_Delay的“心跳”,也是RTOS的“节拍器”
arm开发·stm32·单片机·嵌入式硬件
Lzh编程小栈14 小时前
【嵌入式底层】SPI超透彻详解:通信原理、四线结构、四种模式、寄存器底层 + 面试全集
c语言·stm32·单片机·面试·职场和发展
Rocktech_ruixun14 小时前
机器人数据采集能力取决于什么?瑞迅科技RK3588/3576核心板方案深度解析
人工智能·嵌入式硬件·机器人
水果里面有苹果14 小时前
28-DRV8825PWPR步进电机驱动器
单片机
恒锐丰科技韩生14 小时前
率能 SS6625E|3.0~20V 单通道 H 桥直流电机驱动 SOP8 电子锁玩具机器人分享
嵌入式硬件·硬件工程