EEPROM的几种保护方法

串行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 某单元被误擦除,只要读了一次,就恢复了。

时间: 2024-11-02 10:31:12

EEPROM的几种保护方法的相关文章

Boss要求零数据丢失,Data Guard的三种保护模式如何选择?

公司现在越来越重视数据的灾备,部署了大量的Data Guard和Oracle GoldenGate.核心系统的数据非常重要,大boss的要求很简单就是数据零丢失. 仔细衡量Data Guard的三种保护模式,在最大可用和最大保护之间展开了激烈的讨论.下面从技术层面看看这两种保护模式的特点和区别. 零数据丢失: 在DataGuard中同步传输SYNC(synchronous transport)又称为零数据丢失.因为要等到确认事务恢复所需要的redo数据已经被写入备用数据库的磁盘上(Standby

Apache和Nginx防盗链的几种配置方法

要实现防盗链,我们就必须先理解盗链的实现原理,提到防盗链的实现原理就不得不从HTTP协议说起,在HTTP协议中,有一个表头字段叫 referer,采用URL的格式来表示从哪儿链接到当前的网页或文件.换句话说,通过referer,网站可以检测目标网页访问的来源网页,如果是资源 文件,则可以跟踪到显示它的网页地址.有了referer跟踪来源就好办了,这时就可以通过技术手段来进行处理,一旦检测到来源不是本站即进行阻止或者返 回指定的页面. Nginx防盗链的配置 1.nginx针对文件类型的防盗链配置

ASP.NET中几种加密方法

下面就是ASP.NET中几种加密方法.加密算法有两种,也就是上面提到的MD5和SHA1,这里我举的例子是以MD5为例,SHA1大致相同,只是使用的类不一样. MD5的全称是Message-Digest Algorithm 5(信息-摘要算法),在90年代初由Mit Laboratory for Computer Science和Rsa data security inc的Ronald l. rivest开发出来,经md2.md3和md4发展而来.它的作用是让大容量信息在用数字签名软件签署私人密匙

解密SuperWebview的一种另类方法

解密SuperWebview的一种另类方法 什么是SuperWebview SuperWebview是APICloud官方推出的另一项重量级API生态产品,以SDK方式提供,致力于提升和改善移动设备Webview体验差的整套解决方案.APP通过嵌入SuperWebview替代系统Webview,即可在HTML5中使用APICloud平台现有的所有端API,以及包括增量更新.版本管理.数据云.推送云.统计分析.积木式模块化开发.所有已经聚合的开方平台服务等在内的云服务能力,增强用户体验,解决移动设

避免图像去雾算法中让天空部分出现过增强的一种简易方法。

在经典的几种去雾算法中,包括何凯明的暗通道去雾.Tarel的基于中值滤波的去雾以及一些基于其他边缘保留的方法中,都有一个普遍存在的问题:即对天空部分处理的不好,天空往往会出现较大的面积的纹理及分块现象.究其主要原因,还是因为天空部位基本上是不符合暗通道去雾先验这个前决条件的.目前,针对这一问题,我搜索到的主要有以下几篇文章进行了处理: 1. 改进的基于暗原色先验的图像去雾算法 作者: 蒋建国\侯天峰\齐美彬   合肥工业大学 2011. 2.Single image dehazing Algor

RFID标签天线的三种制作方法

在RFID标签中,天线层是主要的功能层,其目标是传输最大的能量进出标签芯片.RFID天线是按照射频识别所要求的功能而设计的电子线路,将导电银浆或导电碳浆网印在PVC.PC或PET上,再与面层.保护层和底层等合成的.RFID标签天线的制印质量是RFID制造过程中需要控制的关键问题.天线的制作方法常见的有蚀刻法.烫印法和导电油墨印刷法.下面简单介绍这三种作用方法的特点和操作技术要领. 1 蚀刻法 天线在蚀刻前应先印刷上抗蚀膜,首先将PET薄膜片材两面覆上金属(如铜.铝等)箔,然后采用印刷法(网印.凹

分享:APK高级保护方法解析(一)

查天气.找美食.玩游戏.买电影票.网上购物--安装APP后,手机变成"百事通".不过,智能手机越来越"聪明",也越来越不安全,病毒感染.垃圾短信.隐私泄露等关乎手机用户切身利益的问题频发.保护手机安全,不仅需要用户到正规官网下载APP,更重要的是开发者要做好APK安全保护工作.                       http://write.blog.csdn.net/postedit 下面小编就分享一下APK高级保护的方法--运行时验证 运行时验证,主要是指

ruby中的私有方法和保护方法

ruby中的私有方法是指方法只能被隐含调用,不能被显示调用.而当没有显示接收者的时候,会把self当成接收者.因此,只能在自身中调用私有方法,这也是私有方法的调用规则. ruby的私有方法机制目的是:使得你很容易将方法分为两种,外部世界可以访问的方法和外部世界不可以访问的方法. 如下: 1 class A 2 def a 3 self.method 4 end 5 def method 6 p "hello world" 7 end 8 private :method 9 end 10

分享:APK高级保护方法解析(二)

F-Secure在2013下半年威胁研究报告中称,Android手机恶意软件占所有手机恶意软件的97%,比2012年的79%上升了18%,仅从这些数据来看,就知道Android用户的安全环境是多么糟糕.解决这些问题,需要开发者对自己的APK做好安全保护,防止被恶意篡改.二次打包及盗版. 下面小编就接着分享一下APK高级保护的第二种方法--文件夹混淆 文件夹混淆主要指的是利用Windows,Linux,Android 三个系统环境下的文件夹名的特殊性来对源码文件夹进行混淆,让混淆后的文件夹在Win