DS时钟芯片那电池4年左右必失效,简直就定时炸*啊,很灵

[复制链接]
 楼主| zenyin 发表于 2008-5-12 11:28 | 显示全部楼层 |阅读模式
今天大多数单片机都有了在片上可编程的FLUSH EEPROM用于掉电数据保存,但使用片内的FLUSH ROM我们总要遇到两个问题
1.FLUSH ROM 不能单字节编程,而且一般情况下必须一个扇区擦除才能编程
2。FLUSH ROM只有1000次左右有限的擦除次数。
事实上器件生产厂家已经考虑了这个问题,为此才采用分片(扇区)擦除和建议用户分扇区保存数据的方法来弱化和规避上面的矛盾。

怎么样能在减少擦除次数情况下保存数据呢?
我们只要注意到:“在不经过擦除的情况下,可以用下面的顺序编程和擦除循环来实现“段位”的记数:11111111B---代表0(0个0),11111110B--1(1个0)11111100B---代表2(2个0)。。。。。。。。。。。。。。。。。00000000B---对应8-----擦除/进位为11111111B又回到0

显然上述前8个序列是完全可以不用擦除就可以完成编程顺序。

这里本质是用"0记数"的无权码来实现数据保存和检验,故它还有比有权码更高的可检错可纠错可靠性:因为只要出现了被1隔着的0就一定是是非法数据:例如  11011100B左边第3个0就为“干扰数位”,可纠查出来也可别剔除叫纠错.如果嫌弃8这个数太小,建议用同在一个扇区的相邻字节集联起来作高位而且强烈建议高位采用标准的有权二进制**-----这里高低字节都是公平的每8次擦除一次了!
 楼主| zenyin 发表于 2008-5-12 13:52 | 显示全部楼层

平时把数据放RAM中利用掉电中断短时写如FLUSHROM

用此法我们取代了我们产品中第一代DS自带电池的RAM第二代的铁电存储器
gyt 发表于 2008-5-12 14:39 | 显示全部楼层

有道理

5880527 发表于 2008-5-12 19:50 | 显示全部楼层

DS时钟芯片那电池4年左右必失效,简直就定时炸*啊,很灵

zzzzzx 发表于 2008-5-12 21:12 | 显示全部楼层

没看懂

没看懂,请详细解释一下。
hotpower 发表于 2008-5-12 21:36 | 显示全部楼层

楼主在"FLASH二次写入"???

 楼主| zenyin 发表于 2008-5-13 08:39 | 显示全部楼层

简单说FLASH

至少可以在不用查除的情况下由11111111B----11111110B----11111100B-------11111000B----11110000B-----11100000B----11000000B----10000000B----------00000000B 免擦除编程8次
 楼主| zenyin 发表于 2008-5-13 08:43 | 显示全部楼层

hotpower 火牛啊惹出知识产权了!呵呵兄弟早就干过这勾当了哈

还是那句话:认识本质才能使我们运用得游刃有余!
发表于 2008-5-13 09:00 | 显示全部楼层

好...

ayb_ice 发表于 2008-5-13 19:53 | 显示全部楼层

仅在需要时才去保存

还有是假如扇区是512BYTE,但要保存的是16BYTE,可以依次保存在512/16中,再记录一下保存在哪个512/16中,这样可以提高利用效率。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

90

主题

393

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部