提升EEPROM读写可靠性及速率的方法与流程

文档序号:11677212阅读:2657来源:国知局
提升EEPROM读写可靠性及速率的方法与流程

本发明涉及eeprom读写方法领域,特别涉及提升eeprom读写可靠性及速率的方法。



背景技术:

目前在家电行业应用的eeprom操作主要有两大技术方案。方案一:采用预存法,后期运行过程中只读不写。方案二:eeprom在整机运行过程中,根据需求随机读写eeprom。方案一:采用预存法,运行过程中只读不写。虽然能够避免因为干扰,掉电而导致eeprom数据丢失,但数据灵活性受限制。方案二:采用随机读写eeprom的方法,操作灵活,但有丢失数据的风险。为提高读写eeprom的可靠性与速率,本发明在方案二的基础上进行的相关的优化,以防止在读写eeprom过程中掉电或者偶尔产生的静电干扰、电磁干扰而导致eeprom读写异常。同时,根据需要存入的数据合理选择读写方式,以实现提高eeprom的读写速率。



技术实现要素:

本发明要解决的技术问题是:提供一种提升eeprom读写可靠性及速率的方法,提高读写eeprom的可靠性与速率。

为解决上述问题,本发明采用的技术方案是:

首先对需要读写的数据进行分类,分为重要数据和次要数据,读写时先将重要数据从以下第一步开始读写操作,再将次要数据从以下第一步开始读写操作;

第一步、对存取buffer(缓存器)、待存buffer做中的数据对比处理,记录两个buffer中不同数据的个数与位置,作为eeprom更新的参考值,然后执行第二步;

第二步、判断两个buffer中不同数据的个数,从而确定eeprom需要更新的数据的个数,若eeprom需要更新的数据个数大于该类存储数据量的预设比例,则执行第三步,否则执行第九步;

第三步、按页操作方式将待存buffer中的数据重新存入eerpom存储区,然后执行第四步;

第四步、读取eeprom存储区数据,并完成数据校验,然后执行第五步;

第五步、判断数据读取是否成功且与待存buffer中数据是否一致,若数据正确且与待存buffer中数据一致,则执行第六步,否则执行第七步;

第六步、将待存buffer中数据正确存入备份区,然后执行第十步;

第七步、进行读取存储区失败计数,并判断失败次数是否大于第一预设次数,若读取失败次数大于第一预设次数,则执行第八步,否则执行第一步;

第八步、提示eeprom读写异常,并执行第十步;

第九步、将按字节操作方式将不同的数据存入eeprom存储区,然后执行四步;

第十步、返回主程序。

进一步的,若为eeprom上电后首次读写操作,第一步之前还包括如下步骤:

s1、读取eeprom存储区中的数据,完成数据校验后执行s2;

s2、判断读取的数据是否正确,若正确将数据作为系统运行参数并执行s3,若错误则执行s4;

s3、将eeprom存储区数据存入备存区,并确保存入数据正确,然后执行s9;

s4、进行失败计数,若读取失败次数大于第二预设次数,则执行s5,否则执行s1;

s5、读取eeprom备份模块,并进行数据校验,然后执行s6;

s6、判断备份模块eeprom读取是否正确,若正确则执行s9,否则执行s7;

s7、进行失败计数,并判断备份模块读取失败次数是否大于第三预设次数,若小于第三预设次数则执行s5,否则执行s8;

s8、eeprom数据读取异常,执行s9;

s9、返回主程序。

本发明的有益效果是:本发明采用数据分类,eeprom分区,页操作与字节操作相结合的方法来实现提升eeprom读写可靠性与速率。其中,eeprom数据分为两类:系统重要数据、系统次要数据;对两类数据单独进行读写,有各自的校验;eeprom存储空间分为两部分:数据存储区、数据备份区;同时,系统为eeprom操作提供了两个buffer:eeprom存入buffer、eeprom待存buffer。eeprom主要有两种读写模式,eeprom系统上电后首次读写操作和eeprom系统运行过程中根据实际需求读写操作,并且重要数据的读写控制优化级高。因此,本申请可防止出现在读写eeprom过程中掉电或者偶尔产生的静电干扰、电磁干扰而导致eeprom读写异常。

此外,本申请在上电后首次读eeprom时,读取存储区数据,若存储区数据读写正确,通过直接覆盖备份区的方法,即将存储区数据存入备份区的方式进行处理,可以避免掉电前存储区数据写正确,备份区写数据未完成,上电后存储区写数据错误,再次上电后存储区与备份区读取均不正确的风险。

附图说明

图1为eeprom上电后首次读写操作流程图。

图2为eeprom上电后正常读写操作流程图。

具体实施方式

本发明对需要保存入eeprom的数据进行分类,对eeprom内存进行分区。分类分区存储,每类数据有各自的校验且同时具有存储区和备份区。在数据存储或读写时,先对重要数据进行存储,再对次要数据进行存储。且先将数据存入存储区,在确定存储无误后,再将数据存入备份区。

eeprom主要有两种读写模式:eeprom上电后首次读写操作、eeprom上电后正常读写操作。

1、eeprom上电后首次读写操作。

首先读取eeprom存储区的系统重要数据,若eeprom读取数据正确,则采用页写方式直接将eeprom存储区的系统重要数据存入eeprom备份区,并确保写入备份区的数据正确,否则,读取eeprom备份区的重要数据作为系统运行的重要参数,并提示上次掉电前设置无效。其次,读取eeprom存储区的次要数据,其操作方法与eeprom存储区的系统重要数据操作方法相同。读取的eeprom正确数据同时放入数据buffer和待存buffer中。具体控制见附图1,详细步骤如下:

s1、读取eeprom存储区中的数据,完成数据校验后执行s2;

s2、判断读取的数据是否正确,若正确该数据作为系统运行参数并执行s3,若错误则执行s4;

s3、将eeprom存储区数据存入备存区,并确保存入数据正确,然后执行s9;

s4、进行失败计数,若读取失败次数大于第二预设次数(例如3次),则执行s5,否则执行s1;

s5、读取eeprom备份模块,并进行数据校验,然后执行s6;

s6、判断备份模块eeprom读取是否正确,若正确则执行s9,否则执行s7;

s7、进行失败计数,并判断备份模块读取失败次数是否大于第三预设次数(例如3次),若小于第三预设次数则执行s5,否则执行s8;

s8、eeprom数据读取异常,执行s9;

s9、返回主程序。

备注:若首次上电读取eeprom重要参数需执行s5,则系统可提示用户由于异常操作上次操作无效可重新设置。同时,保证eeprom读取的正确数据位于存取buffer中。

2、eeprom上电后正常读写操作。

系统根据实际情况会自动更新待存buffer中的数据。对比存取buffer和待存buffer中数据,若两个buffer数据不相同,则统计对应的下标和数量。根据统计的数量超过待存数据的预设比例(例如三分之一),则将不同的数据写入eeprom相应位置,否则按页写模式将所有数据重新写入eerpom,并确保所有数据写入正确。操作时先处理eeprom里的重要数据,再处理eeprom里的次要数据,两种数据操作方式一致,具体控制见附图2,详细步骤如下:

第一步、对存取buffer、待存buffer做中的数据对比处理,记录两个buffer中不同数据的个数与位置,作为eeprom更新的参考值,然后执行第二步;

第二步、判断两个buffer中不同数据的个数,从而确定eeprom需要更新的数据的个数,若eeprom需要更新的数据个数大于该类存储数据量的预设比例(例如三分之一),则执行第三步,否则执行第九步;

第三步、按页操作方式将待存buffer中的数据全部重新存入eerpom存储区,然后执行第四步;

第四步、读取eeprom存储区数据,并完成数据校验,然后执行第五步;

第五步、判断数据读取是否成功且与待存buffer中数据是否一致,若数据正确且与待存buffer中数据一致,则执行第六步,否则执行第七步;

第六步、将待存buffer中数据正确存入备份区,然后执行第十步;

第七步、进行读取存储区失败计数,并判断失败次数是否大于第一预设次数(例如3次),若读取失败次数大于第一预设次数,则执行第八步,否则执行第一步;

第八步、提示eeprom读写异常,并执行第十步;

第九步、将按字节操作方式不同的数据存入eeprom存储区,然后执行四步;

第十步、返回主程序。

以上描述了本发明的基本原理和主要的特征,说明书的描述只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1