打印
[STM32F1]

STM32怎么断电保存数据

[复制链接]
2499|17
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
gongche|  楼主 | 2019-10-13 18:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式


STM32数据断电后怎么才能保存。


就是把数据保存到EEROM区,可是STM32好像没有EEROM啊。
我就只有一两个数据难道也要外接EEROM吗?

使用特权

评论回复
沙发
juventus9554| | 2019-10-13 18:34 | 只看该作者
写到FLASH里

使用特权

评论回复
板凳
llljh| | 2019-10-13 18:38 | 只看该作者
写FLASH,外部电压低时给STM一个中断,中断里面写FLASH

使用特权

评论回复
地板
huanghuac| | 2019-10-13 18:38 | 只看该作者
还是老实点检查自己的程序和电路吧。

使用特权

评论回复
5
dingy| | 2019-10-13 18:41 | 只看该作者
我建议尽量不要这样处理,这样会容易写坏FLASH.

使用特权

评论回复
6
zwll| | 2019-10-13 19:19 | 只看该作者
我觉得在平时有数据变化的时候更新一次,会好过低电压或者断电瞬间来保存数据.

使用特权

评论回复
7
liuzaiy| | 2019-10-13 19:22 | 只看该作者
1.数据可以写到内部flash,也可以外接eeprom芯片,少量数据可以用内部flash,数据较多建议用外部eeprom,可靠。另外,如果数据要经常单个修改的话,最好还是外部eeprom,因为内部flash不能单独修改一个位置的数据,要先擦除扇区,然后再写入,不能直接覆盖
2.掉地存储,可以加掉电存储电路,比如大容量电容加在供电端,掉电时关闭所有外设,用电容剩余电量维持单片机写完数据
3.另一个方法就是用铁电存储器,寿命上百亿次,随时写数据。

使用特权

评论回复
8
yinxiangh| | 2019-10-13 19:24 | 只看该作者
可以外接一个EEPROM和一个掉电检测电路,当系统掉电时,产生一个中断信号,STM32检测到该中断信号后在中断服务程序中将要保存的数据写入EEPROM。在这里重点是掉电检测电路的设计,可以在电源输入端接一个大电容,当系统掉电时可以维持系统继续运行一段时间,以保证掉电中断服务程序的执行。

使用特权

评论回复
9
chenjunt| | 2019-10-13 19:27 | 只看该作者
有些数据时时更新比如记录停电的时间 来电后再从这个时间继续执行,再比如水表电表时时刻刻都要保存数据,假如1秒存一次,那么一天就要存86400次,flash的擦写次数是10万次 这样一个产品能用几天?

使用特权

评论回复
10
ousj| | 2019-10-13 19:30 | 只看该作者

你的这种情况最好用动态均衡的算法来做保存,还有如何控制写数据的时刻机制,那就是你自己来考虑的。
没有绝对的时候合适,看你的项目,你们有自己的需求。
然后在低电压的时候最好也不要进行写数据

使用特权

评论回复
11
zyf部长| | 2019-10-13 19:33 | 只看该作者
不是能够模拟EEPROM吗?

使用特权

评论回复
12
liuzaiy| | 2019-10-13 19:40 | 只看该作者

外接EEPROM也可以。

使用特权

评论回复
13
liuzaiy| | 2019-10-13 19:42 | 只看该作者
我这也有个产品需要断电的时候保存,因为我做的是系统的一个计数器,每天计数就是3万次左右,一年就1000万次左右了,考虑到芯片的存储寿命问题,我采用的方法是,将芯片的VBAT接一个二极管和电容,正常状态下,电容通过VCC经过二极管对电容进行充电,当外部断电后,电容通过VBAT对芯片的RTC进行供电,这时候程序检测到外部断电了,就将当前计数的数据写入芯片的存储,以达到最少次数读写的目的。

使用特权

评论回复
14
gongche|  楼主 | 2019-10-13 19:46 | 只看该作者
我这现场有和个这样的设备用的就是这种方案,不过两年不到有些板子就断电不能保存数据 了,

使用特权

评论回复
15
liuzaiy| | 2019-10-13 19:48 | 只看该作者
可以写到flash,也可以外加EEROM

使用特权

评论回复
16
houcs| | 2019-10-13 19:56 | 只看该作者
你不知道stm32有后备寄存器和bkp ram么,有电池的话掉电不丢失

使用特权

评论回复
17
liuzaiy| | 2019-10-13 20:12 | 只看该作者

掉电存储,可以加掉电存储电路

使用特权

评论回复
18
caoenq| | 2019-10-14 11:04 | 只看该作者
liuzaiy 发表于 2019-10-13 19:22
1.数据可以写到内部flash,也可以外接eeprom芯片,少量数据可以用内部flash,数据较多建议用外部eeprom,可 ...

外接普通的EEPROM寿命也是擦写10万次,与单片机内部Flash差不了多少,还是用FRAM靠谱。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

768

主题

9410

帖子

2

粉丝