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

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

3天内不再提示

STM32系统的应用中如何避免数据受断电影响

454398 来源:上海韬放电子 作者:上海韬放电子 2020-12-11 17:23 次阅读

嵌入式设备的开发中,断电时通常需要保存一些非易失性数据。如果添加了系统配置,用户定义的信息等,并且添加了额外的ROM IC(例如基于I2C的24C02等),则额外的PCB空间将增加,硬件成本将增加,并且产品将减少。如果仅从实用角度出发,在诸如STM32系统的应用中,作者建议可以尝试以下两种方法并作为参考。

基于备份寄存器

原理:对于大容量MCU系列,它具有42个16位备份寄存器,而中小型微处理器仅具有10个16位备份寄存器。以stm32f103c8t6为例,这42个备份寄存器的地址偏移量为:0x04〜0x28、0x40〜0xbc,可以存储84个字节的数据。备用寄存器取决于备用电源。当外部VDD掉电时,只要系统的Vbat可以正常存在,Bakeup domaain寄存器的内容就可以正常保存。

软件编程的要点如下:以一个项目中常用的案例为例

函数初始化:

读取备份寄存器:void BKP_ WriteBackupRegister(uint16_ t BKP_ DR,uint16_ t Data)

读取备份寄存器:uint16_ t BKP_ ReadBackupRegister(uint16_ t BKP_ DR)

此方法简单明了,但由于缺少可用空间,因此仅适用于保存少量数据,例如用户在可穿戴设备中的通用配置数据。

基于内部闪存

原理:闪存,也称为闪存,也是可以重写的存储器。它分为nor flash和NAND flash。闪存通常不用于代码存储场合,例如嵌入式控制器中的程序存储空间。而NAND闪存通常用于大数据存储场合,例如U盘和固态硬盘,它们通常是NAND闪存类型。

在STM32芯片中,闪存的读写单位均基于“页面”。以stm32f103c8t6为例,每页大小为2K字节;

软件编程要点

释放写保护释放:此方法基于以下前提:允许当前的读写Flash,并且允许当前的Flash进行写操作。因此,目前暂时不讨论某些API,例如optionbytes操作和flash读写保护操作。

Flashwrite:单个uint32_ T数据写入的简单流程图如下:

Flashread:对于单个int数据读取,它相对简单,可以通过以下语句完成:rddata =(*()__ IOuint32_ t *)dataAddr);

由于SW中涉及许多API,并且编码人员还需要理解许多其他背景知识,因此使用此方法相对复杂。但是,由于数据保存在页面中,因此页面大小最大为2048字节,因此该方法可用于保存掉电时不容易丢失的大数据。考虑到闪存读写保护的逻辑机制,最好在不考虑数据安全性的情况下使用此方法。

对于这种断电保护数据方法,这里只是丢砖引玉,欢迎您提出更好的方案。
编辑:hfy

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

    关注

    31

    文章

    5334

    浏览量

    120221
  • 嵌入式设备
    +关注

    关注

    0

    文章

    110

    浏览量

    16953
  • 可穿戴设备
    +关注

    关注

    55

    文章

    3814

    浏览量

    167003
收藏 人收藏

    评论

    相关推荐

    如何在实际产品执行断电程序

    的:在用户按下电源按钮后,电路应该向STM32发送最高优先级的中断,STM32立即存储所有必要的数据。之后,STM32将禁用信号发送给为整个系统
    发表于 10-11 16:12

    频繁断电会造成监控数据丢失吗?

    ,那么频繁断电是否会导致硬盘数据损失呢?此事件需要两个方面分析,一是商用监控系统、二是家用监控系统。   我们先讨论商用监控系统:频繁
    发表于 10-17 11:41

    单片机断电后RTC是不是清零了?如何避免数据的丢是谁呢

    单片机断电后RTC是不是清零了?如何避免数据的丢是谁呢?
    发表于 05-22 12:22

    电影评论网络数据抓取与分析系统的设计与实现

    电影评论网络数据抓取与分析系统设计与实现
    发表于 05-29 10:36

    系统断电时FPGA数据保护的方法有哪几种?

    系统断电时FPGA数据保护的方法有哪几种?
    发表于 04-29 06:27

    STM32系统掉电保存数据的方法是什么

    STM32系统掉电保存数据的方法在嵌入式设备开发,往往需要保存一些掉电不易失性的数据,如果
    发表于 12-10 07:42

    如何去实现一种电影推荐系统设计

    数据源解析电影信息用户评分信息电影标签信息
    发表于 01-03 06:27

    STM32F746G DISCO如何断电记忆数据

    STM32F746G DISCO如何断电记忆数据
    发表于 01-11 07:40

    stm32的硬件IIC如何避免数据?

    stm32的硬件IIC如何避免数据
    发表于 10-30 07:03

    基于RFID的电影信息管理系统的设计方案

    在现实程序开发, 我们开发的最多,最广泛的还是一些各类型的数据管理系统,当然不同的系统有功能上的差异,数据库也不一样,但最主要,最常见的功
    发表于 07-09 09:18 1次下载
    基于RFID的<b class='flag-5'>电影</b>信息管理<b class='flag-5'>系统</b>的设计方案

    快速学习-电影推荐系统设计(数据源解析)

    数据源解析电影信息用户评分信息电影标签信息
    发表于 01-11 16:06 5次下载
    快速学习-<b class='flag-5'>电影</b>推荐<b class='flag-5'>系统</b>设计(<b class='flag-5'>数据</b>源解析)

    如何应对不间断电源(UPS)设计挑战

    电池供电的不间断电源(UPS)在保护数据中心、医疗设施、工厂、电信枢纽甚至家庭的敏感设备免受短期电网尖峰和停电影响方面非常重要。在停电时间较长的情况下,它们能够提供必要的短期电力,以
    的头像 发表于 11-02 17:18 2106次阅读

    如何应对不间断电源(UPS)设计挑战

    电池供电的不间断电源(UPS)在保护数据中心、医疗设施、工厂、电信枢纽甚至家庭的敏感设备免受短期电网尖峰和停电影响方面非常重要。在停电时间较长的情况下,它们能够提供必要的短期电力,以
    的头像 发表于 11-03 18:03 1941次阅读
    如何应对不间<b class='flag-5'>断电</b>源(UPS)设计挑战

    如何实现更精确的电流限制并避免损坏测器件

    电子发烧友网站提供《如何实现更精确的电流限制并避免损坏测器件.pdf》资料免费下载
    发表于 08-29 11:09 0次下载
    如何实现更精确的电流限制并<b class='flag-5'>避免</b>损坏<b class='flag-5'>受</b>测器件

    STM32F407 MCU使用SD NAND 不断电初始化失效解决方案

    STM32F407微控制器单元(MCU)与SD NAND的结合提供了强大的存储解决方案。然而,不断电初始化失效问题可能会导致系统稳定性和数据完整性受损。我们将
    的头像 发表于 12-11 10:51 292次阅读
    <b class='flag-5'>STM32</b>F407 MCU使用SD NAND 不<b class='flag-5'>断电</b>初始化失效解决方案