mail_xiaofei 发表于 2019-1-8 16:48:08

掉电保持

使用F407开发一个控制系统,有部分应用参数,比如电流设定值(可能会根据工况修改电流设定值)调整合适后在断电后这个设定值还需要保存住,诸位有什么好的办法?

dataozi 发表于 2019-1-8 17:07:45

可以选择外部存储或者 片内的FLASH

dataozi 发表于 2019-1-8 17:08:43

要是存储的数据比较小考虑一下EEPROM,也可以考虑内部的flash,注意存储的数据不要和程序区同时占用。

五哥1 发表于 2019-1-8 19:17:40

有RTC吗,把数据存在这个寄存器中

Dandjinh 发表于 2019-1-8 20:17:26

内部的有:片内FLASH、备份SRAM。
外部的有:EEPROM、SPI FLASH。

tanic 发表于 2019-1-8 22:10:03

数据不多得话,开启掉电中断,掉电时侯保存下就行了

stm1024 发表于 2019-1-9 09:02:28

程序空间足够,而且需要保存的数据量少,就用片上Flash,407也算高配了,片上Flash怎么说也有个512K的样子吧?数据再多的话就考虑EEPROM了,例如W25系列、AT24系列等,又不贵。

如果使用片上Flash,就要注意合理规划使用区域,刷程序的时候,只能用sector方式,而不能用erase full chip,不然你的数据又没了,这也是我以前踩过的坑。

zjczm 发表于 2019-1-9 11:07:57

本帖最后由 zjczm 于 2019-1-9 11:09 编辑

硬件电路检测掉电并立即中断,然后保存到片内flash就可以了。能保持多少内容,取决于掉电时残留电量(比如可以把电容搞大一点)。
或者,用个小容量的eeprom,也很便宜,保存数据很方便。

butterflyspring 发表于 2019-1-10 17:32:59

断电后保护数据,估计应用中也没考虑配备电池吧,所以后备域的寄存器用不上了。 简单点的方法加一个外置的EEPROM。很便宜,操作简单,写几个参数的话很快,5毫秒,对掉电保持要求不高,而且擦写次数足够多。 用内部FLASH也可以,缺点擦写次数有限,时间略长,对掉电保持时间要求高一点,好处是省了几分EEPROM的钱:lol,。这是比较常用的方法:)
页: [1]
查看完整版本: 掉电保持