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

发布时间:2023-09-21  

嵌入式设备的开发中,断电时通常需要保存一些非易失性数据。如果添加了系统配置,用户定义的信息等,并且添加了额外的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字节,因此该方法可用于保存掉电时不容易丢失的大数据。考虑到闪存读写保护的逻辑机制,最好在不考虑数据安全性的情况下使用此方法。

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


文章来源于:电子工程世界    原文链接
本站所有转载文章系出于传递更多信息之目的,且明确注明来源,不希望被转载的媒体或个人可与我们联系,我们将立即进行删除处理。

相关文章

    具备电子可擦出可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。在过去的20年里,嵌入式系统一直使用ROM(EPROM)作为它们的存储......
    的芯片就是ROM存储器。   11、Flash Memory 由于ROM具有不易更改的特性,后面就发展了Flash Memory。Flash Memory不仅具有ROM掉电不丢失数据的特点,又可以在需要的时候对数据......
    详细分析下如何查看程序中FLASH和SRAM的使用情况。 本文开发工具: keil5 芯片: STM32F105VCT6 02FLASH和SRAM介绍 FLASH存储器又成为闪存,它与EEPROM都是掉电后数据不丢失的存储器......
    、抗冲击、抗干扰、数据断电不丢失、实时采集速度高的特点。 2、铁电存储器( FRAM)与FM20L08 2.1 铁电存储器介绍 FRAM是Ramtron公司近年推出的一款掉电不挥发存储器,它结......
    启动,从 SRAM 中启动。 问题3:从 SRAM 中启动,为什么需要重新设置中断向量表 接下来,我们将围绕这三个问题进行解答 猜想 既然 cpu 上电复位后第一步操作就是取指令,那么这个指令肯定是存储在掉电不丢失的存储......
    SRAM 中启动。 问题3:从 SRAM 中启动,为什么需要重新设置中断向量表 接下来,我们将围绕这三个问题进行解答 猜想 既然 cpu 上电复位后第一步操作就是取指令,那么这个指令肯定是存储在掉电不丢失的存储......
    学会了它的一半。例如,单片机通过引脚高低来控制三极管导通与截止。单片机与EEPROM数据存储芯片at24c16组成永久性掉电不丢失数据存储系统。 单片机控制三极管导通是利用引脚高低电平变化,单片......
    E2PROM, 内部含有256个8位字节,AT24C02是一种可以实现掉电不丢失的存储器,可用于保存单片机运行时想要永久保存的数据信息。存储介质:EEPROM通讯接口:I2C总线 DS18B20......
    价格也更贵。 在单片机应用里面,一般RAM用来存变量、函数参数、返回值等数据,掉电后数据会丢失。 2.ROM 只读存储器(ROM)是一种只能读取数据,不能写入数据的存储器数据一旦写入之后就无法更改。 ROM......
    在设备的 CPU 附近找到。但与 RAM 不同的是,ROM 是非易失性的(断电时不会丢失数据),这一点与辅助存储器相同。 当设备打开或启动时,CPU 首先读取的是 ROM 上的指令,其中通常包含「引导......

我们与500+贴片厂合作,完美满足客户的定制需求。为品牌提供定制化的推广方案、专属产品特色页,多渠道推广,SEM/SEO精准营销以及与公众号的联合推广...详细>>

利用葫芦芯平台的卓越技术服务和新产品推广能力,原厂代理能轻松打入消费物联网(IOT)、信息与通信(ICT)、汽车及新能源汽车、工业自动化及工业物联网、装备及功率电子...详细>>

充分利用其强大的电子元器件采购流量,创新性地为这些物料提供了一个全新的窗口。我们的高效数字营销技术,不仅可以助你轻松识别与连接到需求方,更能够极大地提高“闲置物料”的处理能力,通过葫芦芯平台...详细>>

我们的目标很明确:构建一个全方位的半导体产业生态系统。成为一家全球领先的半导体互联网生态公司。目前,我们已成功打造了智能汽车、智能家居、大健康医疗、机器人和材料等五大生态领域。更为重要的是...详细>>

我们深知加工与定制类服务商的价值和重要性,因此,我们倾力为您提供最顶尖的营销资源。在我们的平台上,您可以直接接触到100万的研发工程师和采购工程师,以及10万的活跃客户群体...详细>>

凭借我们强大的专业流量和尖端的互联网数字营销技术,我们承诺为原厂提供免费的产品资料推广服务。无论是最新的资讯、技术动态还是创新产品,都可以通过我们的平台迅速传达给目标客户...详细>>

我们不止于将线索转化为潜在客户。葫芦芯平台致力于形成业务闭环,从引流、宣传到最终销售,全程跟进,确保每一个potential lead都得到妥善处理,从而大幅提高转化率。不仅如此...详细>>