• 只需一扫,快速开始

    登录 注册
  • 查看: 1750|回复: 0
    收起左侧

    【电子大讲堂】EEPROM的几种保护方法

    [复制链接]
    发表于 2017-7-14 07:32:51 | 显示全部楼层 |阅读模式

    马上注册,你会发现世界

    您需要 登录 才可以下载或查看,没有账号?注册   

    x
    行EEPROM 应该是一种很可靠的设备,但在我的使用中,经常会出现数据出错的情况,毛主席老人家说:知己知比,方能百战不败!是什么原因呢?其实这种情况多发生在插拔电的情况下。让我们来瞧瞧
    1. EEPROM 读写的时序可能有小小的不对

    2. 是在掉电时,在电压降低到一定程度后到完全没电之间的一段时间内,在MCU与EEPROM 的读写信号线上出现非控制的快速随机电平,这些电平可能会组合出一些被EEPROM 认为合法的写命令,结果将EEPROM 中的值修改掉了;

    3. 在上电的复位期间,I/O 脚上电平未定,也可能随机组合出一些写命令;

    4. 在读EEPROM 操作过程中,出现了复位(如充电复位)等,形成类似于(二)的情况;

    5. 在电压降低后,可能会出现MCU 跑飞了,结果运行到了写EEPROM 的底层驱动程序中,强来将数据写入了进去!嘿嘿!让我们尝尝强扭的瓜不甜!

    对待敌人可不能手软,怎样扼杀他们在萌芽状态!看我的绝招:

    1. 摆阔气:按Datasheet 上的时序,发现多数时候读写正确,但有时偶尔不对,这时可以降低读写的速度,多几个NOP,不要太小气吗?咱们度量(ROM)还是能容的下的!

    2. 避风头:为防止读EEPROM 的过程中出现复位,我们可以在MCU 复位后200ms 内禁止读写EEPROM,因充电引起的复位抖动,一般在数十毫秒内,过了这段时间,再出现复位的可能性不大,

    3. 查证件:在写EEPROM 的底层驱动程序中,在执行写动作时,判断一下某些标志,有良名证的才能通过,否则,只好打回原籍(跳到复位地址)

    4. 多买保险(3份最佳)以自救:对于重要的数据(如通信密码、参数设置等,这些部分信息量不大,我们要采用三次备份的手段。这些信息存放在三个不同的PAGE 内,最好PAGE 内的地址也不一样。在我们写这些数据时,要针对不同的地址写三次,而读时,对于三处读来的数据,如果全相同,没什么可说的了,如果有两个相同,一个不同,则使用大数判决,使用相同的那个值,并将这个数值写到不同的那个地址去。当然,如果三个值全不同,只好随便取一个(如第一个),再将其写入另两个地址中去。这种方法非常有效,因为一般误擦除不会是全部数据,而只是某一处而已,我们可以允许EEPROM 某单元被误擦除,只要读了一次,就恢复了。看完全文了吗?喜欢就一起来点个 赞 吧!

    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册   

    本版积分规则

    QQ|小黑屋|手机版|Archiver|台州市汽修酷网络科技有限公司 ( 浙ICP备15024031号 )

    浙公网安备 33100202000768号

    Powered by Discuz! X3.4 LicensedComsenz Inc.

    快速回复 返回顶部 返回列表