自动获取eeprom存储容量的方法

文档序号:6538700阅读:1331来源:国知局
自动获取eeprom存储容量的方法
【专利摘要】本发明涉及EEPROM。本发明针对现有技术中不能实现自动获取EEPROM存储容量的功能的问题,提供一种自动获取EEPROM存储容量的方法,自动获取EEPROM存储容量的方法,首先,系统检测EEPROM是否连接,是则进入下一步骤,否则结束运行;其次,系统根据EEPROM存储空间大小的不同范围,确定能代表差异的地址,并写入数据,计为A;然后,系统将写入数据的第一个字节地址数据改写为另一个确定数据,计为B;最后,系统对EEPROM进行差异地址读写出错判断及差异地址数据覆盖判断,判断结束则计算EEPROM存储空间实际大小,结束运行。通过对不同型号EEPROM差异存储空间内任意有效地址的定向测试,自动判断并获取不同EEPROM存储器的存储空间大小。适用于自动获取EEPROM存储容量的方法。
【专利说明】自动获取EEPROM存储容量的方法
【技术领域】
[0001]本发明涉及EEPR0M,特别涉及自动获取EEPROM存储容量的方法。
【背景技术】
[0002]EEPROM (Electrically Erasable Programmable Read-Only Memory,电可擦可编程只读存储器)是用户可更改的只读存储器(R0M),其可通过高于普通EEPROM电压的作用来擦除和重新编程,即重写。不像EPROM芯片,EEPROM从不需从计算机中取出即可修改。在一个EEPROM中,当计算机在使用的时候可频繁地反复编程。
[0003]目前单片机操作EEPROM的读/写,特别是整片存储器读/写操作以及整片数据校验时,需要预先知道其容量大小,编程时人为设置单片机所操作的EEPROM存储器的存储容量,以防止操作地址溢出导致读写失败,或者写入后重叠覆盖其他数据的后果。如果通过硬件电路来区分不同型号容量的EEPROM存储器,必然会对主控制器硬件资源造成一定浪费。同时区分各种型号的EEPROM存储器,硬件电路设计复杂,仍然避免不了人为选择硬件电路来告知主控制器,不能实现自动获取EEPROM存储容量的功能。

【发明内容】

[0004]本发明所要解决的技术问题,就是提供一种自动获取EEPROM存储容量的方法,以实现自动获取EEPROM存储容量的功能。
[0005]本发明解决所述技术问题,采用的技术方案是,自动获取EEPROM存储容量的方法,包括以下几个步骤:
[0006]步骤1、系统检测EEPROM是否连接,是则进入步骤2,否则结束运行;
[0007]步骤2、系统根据EEPROM存储空间大小的不同范围,确定能代表差异的地址,并写入数据,计为A ;
[0008]步骤3、系统将写入数据的第一个字节地址数据改写为另一个确定数据,计为B ;
[0009]步骤4、系统对EEPROM进行差异地址读写出错判断及差异地址数据覆盖判断,判断结束则计算EEPROM存储空间实际大小,结束运行。
[0010]具体的,所述步骤2中,EEPROM存储空间范围为lk、2k、4k、8k、16k、32k、64k、128k、256k、512k及1024k,最多只需写入10个能区分差异的地址即可区分全系列空间大小的EEPROM存储器。
[0011]具体的,所述步骤2中,能代表差异的地址至少为一个。
[0012]进一步的,所述步骤4中,系统对EEPROM进行差异地址读写出错判断,包括以下几个步骤:
[0013]步骤41a、系统读取之前写入的某差异地址数据,如出错,则停止判断并计算实际存储空间大小,结束运行,否则进入步骤42a ;
[0014]步骤42a、系统读取之前写入的某差异地址数据,没有出错,则读取下一个差异地址数据,返回步骤41a。[0015]进一步的,所述步骤4,包括以下几个步骤:
[0016]步骤41b、系统读取之前写入的差异地址数据,如读出值为数据B,则停止判断并计算实际存储空间大小,否则进入步骤42b ;
[0017]步骤42b、系统读取之前写入的差异地址数据,如果读出值为数据A,并且读取过程无错误返回,则继续读取下一写入的差异地址数据,返回步骤41b。
[0018]本发明的有益效果是,通过对不同型号EEPROM差异存储空间内任意有效地址的定向测试,自动判断并获取不同EEPROM存储器的存储空间大小,本发明不用改变任何硬件驱动电路的设计,仅仅通过软件编程实现对不同型号EEPROM存储空间大小的自动识别,并且实现了正常操作EEPROM存储器的所有功能。节约了硬件资源和成本,增强了装置的通用性和可靠性。并且使用方便,不需要人为选择所操作的EEPROM存储器的具体型号。
【专利附图】

【附图说明】
[0019]图1为本发明自动获取EEPROM存储容量的方法实施例的流程图。
【具体实施方式】
[0020]下面结合附图及实施例详细描述本发明的技术方案:
[0021]本发明针对现有技术中不能实现自动获取EEPROM存储容量的功能的问题,提供一种自动获取EEPROM存储容量的方法,自动获取EEPROM存储容量的方法,首先,系统检测EEPROM是否连接,是则进入步骤2,否则结束运行;其次,系统根据EEPROM存储空间大小的不同范围,确定能代表差异的地址,并写入数据,计为A ;然后,系统将写入数据的第一个字节地址数据改写为另一个确定数据,计为B;最后,系统对EEPROM进行差异地址读写出错判断及差异地址数据覆盖判断,判断结束则计算EEPROM存储空间实际大小,结束运行。通过对不同型号EEPROM差异存储空间内任意有效地址的定向测试,自动判断并获取不同EEPROM存储器的存储空间大小,本发明不用改变任何硬件驱动电路的设计,仅仅通过软件编程实现对不同型号EEPROM存储空间大小的自动识别,并且实现了正常操作EEPROM存储器的所有功能。节约了硬件资源和成本,增强了装置的通用性和可靠性。并且使用方便,不需要人为选择所操作的EEPROM存储器的具体型号。
[0022]实施例
[0023]本实施例为了更清楚地说明本发明,下面以流程图形式对实施例进行描述说明,流程图如图1所不。
[0024]首先,系统每次上电后系统需要检测外部是否连有EEPROM存储器。如果有,则需自动获取存储器存储空间大小。
[0025]其次,按照不同型号EEPROM存储空间大小的不同范围,选定一个或者多个能代表差异的地址,备份该地址区域的数据并分别写入一个确定的数据A作为参考。具体根据EEPROM 存储空间大小(lk、2k、4k、8k、16k、32k、64k、128k、256k、512k、1024k),最多只需写Λ 10个能区分差异的地址即可区分全系列空间大小的EEPROM存储器。
[0026]接着,将写入的第一个字节地址数据改写为另一个确定的数据B,以便接下来的溢出地址数据覆盖判断。
[0027]然后,依次读取写入的差异地址数据内容,并综合两种判断方法,以确定存储器具体存储空间大小。
[0028]详细的,这两种判断方法为:
[0029](I)差异地址读写出错判断:
[0030]首先,系统读取之前写入的某差异地址数据,如出错,则停止判断并计算实际存储空间大小,结束运行。否则,系统继续读取之前写入的下一个差异地址数据,直至出错,则停止判断并计算实际存储空间大小,结束运行。
[0031](2)差异地址数据覆盖判断:
[0032]首先,系统读取之前写入的差异地址数据,如果读出值为数据A,并且读取过程无错误返回,则继续读取下一写入的差异地址数据,直至,如读出值为数据B,则停止判断并计算实际存储空间大小,结束运行。
[0033]最后,用之前备份的数据来恢复检测容量时被更改地址上的数据,再进行其他操作。
[0034]综上所述,本发明为通过对不同型号EEPROM差异存储空间内任意有效地址的定向测试,自动判断并获取不同EEPROM存储器的存储空间大小。继而主控制器可以根据获得的空间大小来对所操作的EEPROM存储器进行整片操作,比如整片读/写、整片数据校验等。判断方法包括溢出地址读/写正误判断及溢出地址覆盖数据判断。通过这两种判断方法的结合,能够兼容所有类型EEPROM存储器,准确获取各种型号EEPROM存储空间大小。在不改变硬件电路的同时,仅通过编程算法实现了不同型号EEPROM存储空间大小的自动识别。不用改变任何硬件驱动电路的设计,仅仅通过软件编程实现对不同型号EEPROM存储空间大小的自动识别,并且实现了正常操作EEPROM存储器的所有功能。节约了硬件资源和成本,增强了装置的通用性和可靠性。并且使用方便,不需要人为选择所操作的EEPROM存储器的具体型号。
【权利要求】
1.自动获取EEPROM存储容量的方法,其特征在于,包括以下几个步骤: 步骤1、系统检测EEPROM是否连接,是则进入步骤2,否则结束运行; 步骤2、系统根据EEPROM存储空间大小的不同范围,确定能代表差异的地址,并写入数据,计为A ; 步骤3、系统将写入数据的第一个字节地址数据改写为另一个确定数据,计为B ; 步骤4、系统对EEPROM进行差异地址读写出错判断及差异地址数据覆盖判断,判断结束则计算EEPROM存储空间实际大小,结束运行。
2.根据权利要求1所述的自动获取EEPROM存储容量的方法,其特征在于,所述步骤2中,EEPROM 存储空间范围为 lk、2k、4k、8k、16k、32k、64k、128k、256k、512k& 1024k,最多只需写入10个能区分差异的地址即可区分全系列空间大小的EEPROM存储器。
3.根据权利要求1所述的自动获取EEPROM存储容量的方法,其特征在于,所述步骤2中,能代表差异的地址至少为一个。
4.根据权利要求1、2、3所述的自动获取EEPROM存储容量的方法,其特征在于,所述步骤4中,系统对EEPROM进行差异地址读写出错判断,包括以下几个步骤: 步骤41a、系统读取之前写入的某差异地址数据,如出错,则停止判断并计算实际存储空间大小,结束运行,否则进入步骤42a ; 步骤42a、系统读取之前写入的某差异地址数据,没有出错,则读取下一个差异地址数据,返回步骤41a。
5.根据权利要求1、2、3所述的自动获取EEPROM存储容量的方法,其特征在于,所述步骤4,包括以下几个步骤: 步骤41b、系统读取之前写入的差异地址数据,如读出值为数据B,则停止判断并计算实际存储空间大小,否则进入步骤42b ; 步骤42b、系统读取之前写入的差异地址数据,如果读出值为数据A,并且读取过程无错误返回,则继续读取下一写入的差异地址数据,返回步骤41b。
【文档编号】G06F3/06GK103777907SQ201410064243
【公开日】2014年5月7日 申请日期:2014年2月25日 优先权日:2014年2月25日
【发明者】谢鹏 申请人:四川长虹空调有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1