空调器运行状态和参数的存储方法转让专利

申请号 : CN201510445964.1

文献号 : CN105022701B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 谢鹏

申请人 : 四川长虹电器股份有限公司

摘要 :

本发明公开了一种空调器运行状态和参数的存储方法,涉及空调器运行过程中掉电状态记忆及来电恢复技术领域。具体的,在单片机上内置DATAFLASH,设计读/写算法,实现DATAFALSH随时写入或者读出数据的功能,并使得DATAFLASH在有限的擦除次数内,实现最大的写入次数。本发明提供一种新的方法存储空调器的运行参数,实现相同的存储需求和功能,替代传统的外置存储器件方式,为空调器电控设计节省一定成本。同时,通过本发明所描述的算法解决内置DATAFLASH总体读写次数比外置EEPROM低的问题,使其在存储次数和使用寿命等方面都优于外置存储器。

权利要求 :

1.空调器运行状态和参数的存储方法,其特征在于:在单片机上内置DATAFLASH,设计读/写算法,实现DATAFALSH随时写入或者读出数据的功能,并使得DATAFLASH在有限的擦除次数内,实现最大的写入次数;所述读/写算法采用分区的写入方法轮流写入数据,直到内置DATAFLASH一页被写满时再执行一次整体擦除操作;所述读/写算法按照以下步骤设计:S1、将DATAFLASH的一页划分为3个区域,依次为数据存储区、分隔区、数据索引区;

S2、检测数据记录索引号,获取最新索引值;

S3、根据最新索引值计算出最新数据地址;

S4、从最新数据地址读取最后记录的数据,作为上次保存的数据;

S5、根据当前最新索引值及最新数据地址指针计算剩余空间大小,如果剩余空间不足时,先执行页擦除操作,重新初始化索引及地址后再执行写入操作;如果剩余地址空间充足,则直接写入当前最新记录的数据。

2.根据权利要求1所述的空调器运行状态和参数的存储方法,其特征在于:按照索引表来管理读/写数据的地址指针,每条索引按照2字节依次从高地址向低地址增长,第一字节为索引值,第二字节为索引值的反码;每条数据按照16字节的数据长度值,依次从低地址到高地址增长。

3.根据权利要求1所述的空调器运行状态和参数的存储方法,其特征在于:当前最新索引值与最新数据地址的差值<数据长度值+2,则剩余空间不足,否则剩余空间充足。

4.根据权利要求3所述的空调器运行状态和参数的存储方法,其特征在于:所述数据长度值为16字节。

5.根据权利要求1所述的空调器运行状态和参数的存储方法,其特征在于:每次写入数据都需更新索引表及数据地址。

6.根据权利要求1-5任一项所述的空调器运行状态和参数的存储方法,其特征在于:长度为16字节的数据,每写入55次执行一次页擦除操作。

说明书 :

空调器运行状态和参数的存储方法

技术领域

[0001] 本发明涉及空调器运行过程中掉电状态记忆及来电恢复技术领域,特别涉及空调器运行状态和参数的存储方法。

背景技术

[0002] 目前空调器运行过程中的状态及参数的存储,主要靠一片外置的EEPROM(电可擦除可编程只读存储器),其型号和容量选择较多,使用上也不难。但是,由于其外置性,需要在布板时预留PCB板一定大小的空间,增加了硬件设计的复杂性;同时还占用了MCU两条I/O口,增加了其有限资源的消耗;再加上周边其他元器件,使用外置EEPROM存储数据,在一定程度上增加了空调器电控的整体成本。

发明内容

[0003] 本发明的目的是克服上述背景技术中的不足,提供一种新的方法存储空调器的运行参数,实现相同的存储需求和功能,替代传统的外置存储器件方式,为空调器电控设计节省一定成本。同时,通过本发明所描述的算法解决内置DATAFLASH总体读写次数比外置EEPROM低的问题,使其在存储次数和使用寿命等方面都优于外置存储器。
[0004] 为了达到上述的技术效果,本发明采取以下技术方案:空调器运行状态和参数的存储方法,其特征在于:在单片机上内置DATAFLASH,设计读/写算法,实现DATAFALSH随时写入或者读出数据的功能,并使得DATAFLASH在有限的擦除次数内,实现最大的写入次数。本发明利用MCU内置的DATAFLASH存储空间,设计合理的读/写算法,实现空调器状态参数的记忆和读出,达到与外置EEPROM一样的存储效果。具体的,打开内置DATAFLASH操作后,通过本发明所描述读/写算法轮流操作地址段,实现空调器状态参数的正确写入和读出,降低整体擦写次数,增加内置DATAFLASH的操作次数和使用寿命,达到甚至超越空调器外置的EEPROM存储器使用寿命需求。
[0005] 进一步的技术方案是:所述读/写算法采用分区的写入方法轮流写入数据,直到内置DATAFLASH一页被写满时再执行一次整体擦除操作。
[0006] 进一步的技术方案是:所述读/写算法按照以下步骤设计:
[0007] S1、将DATAFLASH的一页划分为3个区域,依次为数据存储区、分隔区、数据索引区;
[0008] S2、检测数据记录索引号,获取最新索引值;
[0009] S3、根据最新索引值计算出最新数据地址;
[0010] S4、从最新数据地址读取最后记录的数据,作为上次保存的数据;
[0011] S5、根据当前最新索引值及最新数据地址指针计算剩余空间大小,如果剩余空间不足时,先执行页擦除操作,重新初始化索引及地址后再执行写入操作;如果剩余地址空间充足,则直接写入当前最新记录的数据。进一步的,当前最新索引值与最新数据地址的差值<数据长度值+2,则剩余空间不足,否则剩余空间充足。进一步的,所述数据长度值为16字节。
[0012] 进一步的技术方案是:每次写入数据都需更新索引表及数据地址。按照索引表来管理读/写数据的地址指针,每条索引按照2字节依次从高地址向低地址增长,第一字节为索引值,第二字节为索引值的反码;每条数据按照16字节的数据长度值,依次从低地址到高地址增长。
[0013] 进一步的技术方案是:长度为16字节的数据,每写入55次执行一次页擦除操作。按照内置DATAFLASH数据保存5年的10万次擦写寿命计算,按照该方法能够实现550万次的数据读写操作,超过外置EEPROM的寿命。
[0014] 本发明与现有技术相比,具有以下的有益效果:通过本发明设计的方法使用内置DATAFLASH存储器,可以去掉外置EEPROM存储器,节省硬件设计成本和空调器电控开发的整体成本。同时,由于该DATAFLASH存储器内置于MCU内部,使得读写的速度更快,可靠性更高。同时存储空间更大,总体使用寿命更长。

附图说明

[0015] 图1是内置DATAFLASH分页存储示意图;
[0016] 图2是使用外部EEPROM存储数据示意图;
[0017] 图3是内置DATAFLASH读数据算法流程图;
[0018] 图4是内置DATAFLASH轮流写数据算法流程图。

具体实施方式

[0019] 下面结合本发明的实施例对本发明作进一步的阐述和说明。
[0020] 实施例:
[0021] 当使用内置DATAFALSH时,空调器电控板MCU外部不需要额外的EEPROM存储器。只需在空调器控制程序中增加对内部DATAFALSH的读/写操作API函数,实现随时写入或者读出数据的功能。
[0022] 如图1、图3、图4所示,按照以下步骤设计读/写算法的函数:
[0023] 步骤1:初始化内置DATAFLASH状态,允许读/写等相关操作;将DATAFLASH的一页划分为3个区域,依次为数据存储区,分隔区,以及数据索引区,每次写入数据都需更新索引表及数据地址。
[0024] 步骤2:检测数据记录索引号,获取最新索引值。
[0025] 步骤3:根据最新索引值计算出最新数据地址。按照索引表来管理读/写数据的地址指针。每条索引按照2字节依次从高地址向低地址增长,第一字节为索引值,第二字节为索引值的反码;每条数据按照16字节的数据长度值,依次从低地址到高地址增长。
[0026] 步骤4:从最新数据地址读取最后记录的数据,作为上次保存的数据,之前的数据忽略。
[0027] 步骤5:写入数据时,首先计算剩余空白地址空间,如果剩余地址空间不够时,先执行页擦除操作,重新初始化索引及地址后再执行写入操作。如果剩余地址空间充足,则直接写入当前最新记录的数据。当前最新索引值与最新数据地址的差值<数据长度值+2,则剩余空间不足,否则剩余空间充足。
[0028] 步骤6:数据的校验和使用。
[0029] 如图2所示,本发明使用内置DATAFLASH存储器,可以去掉外置EEPROM存储器,节省硬件设计成本和空调器电控开发的整体成本,同时,由于该DATAFLASH存储器内置于MCU内部,使得读写的速度更快,可靠性更高。同时存储空间更大,总体使用寿命更长。
[0030] 可以理解的是,以上实施方式仅仅是为了说明本发明的原理而采用的示例性实施方式,然而本发明并不局限于此。对于本领域内的普通技术人员而言,在不脱离本发明的精神和实质的情况下,可以做出各种变型和改进,这些变型和改进也视为本发明的保护范围。