0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

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

聚沃科技 2024-01-22 09:55 次阅读

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

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

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

wKgaomWtyuSADVkrAARyH9O8Xyw972.png

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

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

wKgZomWtyumAYhWhAAFtopO1s58640.png

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

如果您有其他更好的方案,也唤醒评论区留言讨论!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 单片机
    +关注

    关注

    6001

    文章

    43978

    浏览量

    620874
  • mcu
    mcu
    +关注

    关注

    146

    文章

    16019

    浏览量

    343668
  • GD32
    +关注

    关注

    7

    文章

    333

    浏览量

    23748
收藏 人收藏

    评论

    相关推荐

    GD32F150xx系列MCU数据手册

    电子发烧友网站提供《GD32F150xx系列MCU数据手册.pdf》资料免费下载
    发表于 03-13 09:47 0次下载
    <b class='flag-5'>GD</b>32F150xx系列<b class='flag-5'>MCU</b><b class='flag-5'>数据</b>手册

    S7-1200如何实现内部数据掉电保持?

    S7-1200 PLC 可以通过多种方式实现内部数据掉电保持,以确保在断电或重启后数据不会丢失。
    的头像 发表于 01-29 16:11 2184次阅读

    GD32MCU最小系统构成条件#GD32 #MCU #单片机 #51单片机

    单片机mcu
    聚沃科技
    发布于 :2024年01月29日 09:43:06

    不同型号的GD32 MCU如何区分?

    大家是否碰到过以下应用场景:同一套软件代码希望跑在不同型号的GD32 MCU中,但有些地方需要根据MCU型号进行调整?或者上位机或其他MCUGD
    的头像 发表于 01-27 09:32 353次阅读
    不同型号的<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b>如何区分?

    GD32MCU如何实现掉电数据保存?#MCU #GD32 #单片机 #嵌入式

    单片机mcu
    聚沃科技
    发布于 :2024年01月23日 09:39:20

    如何对GD32 MCU进行加密?

    :首先GD32MCU本身支持防硬开盖破解的功能,GD32MCU内部Flash直接硬开盖破解读取的数据无法在同型号的产品上运行,因为GD32MCU内部Flash物理
    的头像 发表于 01-20 09:30 574次阅读
    如何对<b class='flag-5'>GD</b>32 <b class='flag-5'>MCU</b>进行加密?

    Arm®Cortex®-M4 32位MCU GD32F303xB数据手册

    电子发烧友网站提供《Arm®Cortex®-M4 32位MCU GD32F303xB数据手册.pdf》资料免费下载
    发表于 01-14 09:54 0次下载
    Arm®Cortex®-M4 32位<b class='flag-5'>MCU</b> <b class='flag-5'>GD</b>32F303xB<b class='flag-5'>数据</b>手册

    GD32E502xx系列MCU数据手册

    电子发烧友网站提供《GD32E502xx系列MCU数据手册.pdf》资料免费下载
    发表于 01-03 10:43 0次下载
    <b class='flag-5'>GD</b>32E502xx系列<b class='flag-5'>MCU</b><b class='flag-5'>数据</b>手册

    ESP8266-01启用掉电保存将断电前数据写入哪个地址?

    ESP8266-01启用掉电保存将断电前数据写入那个地址比较好
    发表于 11-09 07:02

    单片机掉电检测与数据掉电保存方案

    单片机掉电检测与数据掉电保存方案
    的头像 发表于 09-18 10:59 2563次阅读
    单片机<b class='flag-5'>掉电</b>检测与<b class='flag-5'>数据</b><b class='flag-5'>掉电</b><b class='flag-5'>保存</b>方案

    GD32E230C-FOC电机控制解决方案

    GD32E230C-FOC Demo Suites是永磁同步电机使用矢量控制算法的演示套件,可以进行电机的转速、电流的双闭环控制,可以帮助客户更快、更好的使用GD32MCU进行永磁同步电机的应用。支持 GD32E230(Cort
    的头像 发表于 09-08 13:55 812次阅读
    <b class='flag-5'>GD</b>32E230C-FOC电机控制解决方案

    GD32303R-FOC电机控制解决方案

    GD32303R-FOC Demo Suites是永磁同步电机使用矢量控制算法的演示套件,可以进行电机的转速、电流的双闭环控制,可以帮助客户更快、更好的使用GD32MCU进行永磁同步电机的应用。
    的头像 发表于 09-08 13:55 595次阅读
    <b class='flag-5'>GD</b>32303R-FOC电机控制解决方案

    GD32E230K吸尘器应用方案

    GD32E230 Vacuum Cleaner方案使用无传感器的方波算法控制吸尘器电机高速运行,可以进行电机的转速、母线电流的双闭环控制,可以帮助客户更快、更好的使用GD32MCU进行类似场景的应用。
    的头像 发表于 09-08 13:55 345次阅读
    <b class='flag-5'>GD</b>32E230K吸尘器应用方案

    M058S单片机掉电保存数据问题求解

    想请教一下关于新塘单片机(M058S)掉电保存数据问题。其实应该就是掉电存储数据的问题了。主要是涉及到硬件上的问题:目前
    发表于 06-20 06:33

    STC12C5A60S2掉电保存源代码

    STC12C5A60S2_掉电保存源代码
    发表于 05-18 10:02 0次下载