打印

为省一片存储器打算如此折腾STM32

[复制链接]
2676|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zq1987731|  楼主 | 2009-3-18 08:33 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
目前所用型号:STM32F103ZET6,512K的Flash,程序大概100K不到,那么我用最后那400K分成XX个小分区备份数据(掉电保存用,每次关机时都要备份一次),其中第一个小分区如果寿命到了就废弃,换到第二个分区继续折腾,直到XX个分区寿命都到...这产品应该早就报废了才是,不知这种想法是否可行呢?
沙发
香水城| | 2009-3-18 08:49 | 只看该作者

STM32的Flash存储器的擦写次数为10K次寿命

STM32F103ZET6的Flash分为256页,每页2K字节。如果你每次要保存的数据在较少,可以使用这个方法。

关于寿命问题,可以简单的计算如下;假定每隔30分钟需要做一次保存操作,每天开机24小时,则一天中需要进行48次保存操作,这样10K可以**208天。如果每次保存不多于2K字节,即只限于一页内操作,假定有192页(384K)可以用于数据保存操作,按照楼主的方法,每个芯片可以使用208x192=39936天=109年。

呵呵,如果你的产品设计寿命超过109年,请不要使用这个方法。


但是,请注意Flash操作的时间与系统掉电的时间是否匹配。

使用特权

评论回复
板凳
playzwm| | 2009-3-18 09:48 | 只看该作者

为何不用外扩Flash呢?

貌似现在SPI的Flash也很便宜,如果算起来,跟内部容量增加的成本要好些,我现在就是外扩一个512k的SPI Flash。

使用特权

评论回复
地板
McuIsp| | 2009-3-19 02:42 | 只看该作者

不应该用坏一个区再换,而应该轮流使用。

使用特权

评论回复
5
zq1987731|  楼主 | 2009-3-19 08:24 | 只看该作者

主要是老板要求器件越少越好,所以只好能省则省,比如外

    我的系统是采用法拉电容断电保存的,所以可以悠哉悠哉得这么做:
    写入->校验->成功就结束(失败就换下一个块)
    保存频率其实不怎么高的,因为要切断主电源了才会触发断电保存任务...一天顶多3次吧,这样的话按香版主的计算1个块能撑个9年,那么...所有块都报废是1750年后的事了,都成化石了...........想想就惊人...
    轮流使用之前我也想过...因为要做个目录告诉主程序数据都存哪去了,那么如果这个存放目录的区块也坏了就麻烦了(可能是我用的方法太笨了..)

使用特权

评论回复
6
ijk| | 2009-3-19 09:48 | 只看该作者

上面说得有理

  上面说得有理,不要指望可以用太多年头。参数:
Data retention
TA = 85 °C, 1 kcycle(2)    30 Years

TA = 55 °C, 10 kcycle(2)   20 Years

2. Cycling performed over the whole temperature range.

使用特权

评论回复
7
wlq_9| | 2009-3-19 11:23 | 只看该作者

flash

工艺就别想有多长时间了,而且温度越高,寿命越短.
一般的十来年时间够用了,而且到十年后不是一定会坏,只是可能.

使用特权

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

本版积分规则

95

主题

759

帖子

3

粉丝