MC9S08FL16_用FLASH模拟EEPROM问题

2020-02-21 21:12发布


在产品中为了降低成本,使用MC9S08FL16内部的FLASH模拟EEPROM,而FLASH的工作电压是4.5V – 5.5V,但是软件只能只能设置低于4V复位,
刚上电软件初始化时会从EEPROM(实际是FLASH)读出历史保存的数据,实验中有时会读到错误数据(内容为0xFF,猜也有可能是之前保存的数据没保存成功)。实测中发现,如果正在页写时,突然断电,就有可能一页中的后面几个字节就没写成功(都是擦除页,然后写整页,即RAM的数据一一与EEPROM映射)。我现在是通过双页备份基本可以解决问题保存错误的问题,但是上电有时还是会出问题读到错误的数据,不知道有没有什么方法可以让CPU上电延时一会儿(像AVR那样),当然了不能采用初始化时软件延时。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
FSL_TICS_TIANZH
1楼-- · 2020-02-22 00:01
 精彩回答 2  元偷偷看……
tarzar
2楼-- · 2020-02-22 01:16
目前是上拉10K+0.1uf做延时
fengyunyu
3楼-- · 2020-02-22 02:00
"我现在是通过双页备份基本可以解决问题保存错误的问题,但是上电有时还是会出问题读到错误的数据"

LZ最终解决问题了么?两个备份区在不同扇区么?是两个备份区都有错?
tarzar
4楼-- · 2020-02-22 07:01
几个月生产用了2K的量,基本上没有再发现,偶尔还是会出现1、2两片会读错误(这一两片,并不是一直会,也是偶尔会出现,机率非常小),如果实际应用中,不会很频繁去修改数据,那么使用起来问题并不大。

我的感觉,还是电压的问题,就是操作的FLASH时的电压,一定要处于比较稳定的状态。以及如果在操作FLASH时,电压在跃落时(低于4V时,就最好不要操作FLASH),否则有可能保存会出错。
tarzar
5楼-- · 2020-02-22 07:44
两个备份区在不同扇区么?
答:为两个FLASH页(512字节/页)。

是两个备份区都有错?
答:是的,两页FLASH的数据都是错的。
tarzar
6楼-- · 2020-02-22 09:07
 精彩回答 2  元偷偷看……

一周热门 更多>