首页> 中国专利> 一种掉电数据存储方法和掉电数据存储电路

一种掉电数据存储方法和掉电数据存储电路

摘要

本发明实施例提供一种掉电数据存储方法,所述方法包括:上电时,确定存储器中第一掉电数据和第二掉电数据的有效性;上电时,根据所述第一掉电数据和第二掉电数据的有效性加载用户数据、并擦除第一存储区域和第二存储区域中的一个存储区域;当掉电时,将最新用户数据写入擦除后的存储区域。本发明实施例还提供了一种掉电数据存储电路,所述电路包括:掉电检测电路、蓄能电路、处理器和存储器;所述掉电检测电路用于检测系统是否掉电;所述蓄能电路用于在系统掉电后为所述处理器供电;所述存储器用于在系统掉电后保存掉电数据;所述处理器用于接收掉电信号,控制所述存储器执行擦写工作。通过上述方法和电路,使掉电数据存储更高效、更经济。

著录项

  • 公开/公告号CN112882656A

    专利类型发明专利

  • 公开/公告日2021-06-01

    原文格式PDF

  • 申请/专利权人 深圳市麦格米特控制技术有限公司;

    申请/专利号CN202110152110.X

  • 发明设计人 赵志刚;贾继涛;

    申请日2021-02-03

  • 分类号G06F3/06(20060101);G06F1/30(20060101);

  • 代理机构44372 深圳市六加知识产权代理有限公司;

  • 代理人孟丽平

  • 地址 518000 广东省深圳市南山区高新区北区朗山路13号清华紫光科技园5层C504、C506、C508、C510

  • 入库时间 2023-06-19 11:11:32

说明书

技术领域

本发明实施例涉及数据存储技术领域,特别涉及一种掉电数据存储方法和掉电数据存储电路。

背景技术

掉电数据存储在工业控制领域是系统设备的一个重要功能。目前,掉电数据存储的方法主要有两种:一是配置足够容量的蓄电池,在系统掉电后持续供能,使系统继续正常工作;二是在掉电时,把需要存储的数据存储到非易失性存储器中,当系统再次上电后,处理器再读取非易失性存储器中的数据,继续掉电前的工业控制过程。第一种方法的缺点是备用电池需要占据一定的空间,并且当蓄电池损坏或电量耗尽时掉电数据依然会丢失;第二种方法简单,但需要软件和硬件的相互配合。

第二种方法中,为了延长非易失性存储器的使用寿命,只在系统掉电时才会对数据进行擦除重写。掉电存储的过程是:检测电路检测到掉电信号,向处理器发出请求,处理器向非易失性存储器发出擦除命令,将非易失性存储器中保存的数据擦除,擦除完成后,再向非易失性存储器发出写入命令,写入需要掉电存储的数据。在此过程中,储能电路需要提供短暂性的供电,保证数据的有效存储。当前存在的技术问题是设备掉电数据保存过程的时间较长,对储能电路的要求较高,需要花费更高的成本。

发明内容

本发明实施例的目的是提供一种掉电数据存储方法和掉电数据存储电路,使掉电数据存储更高效、经济。

第一方面,提供一种掉电数据存储方法,所述方法包括:

确定存储器中第一掉电数据和第二掉电数据的有效性,所述存储器包括第一存储区域和第二存储区域,所述第一存储区域包括第一数据存储区,所述第一数据存储区用于存储第一掉电数据,所述第二存储区域还包括第二数据存储区,所述第二数据存储区用于存储第二掉电数据;

根据所述第一掉电数据的有效性和所述第二掉电数据的有效性加载用户数据、并擦除所述第一存储区域和所述第二存储区域中的一个存储区域;

当掉电时,将最新用户数据写入擦除后的存储区域。

在一些实施例中,所述第一存储区域还包括第一掉电标识区,所述第二存储区域还包括第二掉电标识区,所述第一掉电标识区包括第一掉电校验码,所述第二掉电标识区包括第二掉电校验码;

则,所述确定存储器中第一掉电数据和第二掉电数据的有效性,包括:

计算所述第一掉电数据的第一校验码和所述第二掉电数据的第二校验码;

当所述第一校验码与所述第一掉电校验码一致时,所述第一掉电数据有效,否则,所述第一掉电数据无效;

当所述第二校验码与所述第二掉电校验码一致时,所述第二掉电数据有效,否则,所述第二掉电数据无效。

在一些实施例中,所述根据所述第一掉电数据的有效性和所述第二掉电数据的有效性加载用户数据、并擦除所述第一存储区域和所述第二存储区域中的一个存储区域,包括:

当所述第一掉电数据有效、所述第二掉电数据无效时,加载所述第一掉电数据,擦除所述第二存储区域;

当所述第一掉电数据无效、所述第二掉电数据有效时,加载所述第二掉电数据,擦除所述第一存储区域

在一些实施例中,所述根据所述第一掉电数据的有效性和所述第二掉电数据的有效性加载用户数据、并擦除所述第一存储区域和所述第二存储区域中的一个存储区域,还包括:

当所述第一掉电数据和所述第二掉电数据均无效时,加载用户默认数据,擦除所述第一存储区域。

在一些实施例中,所述第一掉电标识区还包括第一掉电序号,所述第二掉电标识区还包括第二掉电序号;

则,所述所述根据所述第一掉电数据的有效性和所述第二掉电数据的有效性加载用户数据、并擦除所述第一存储区域和所述第二存储区域中的一个存储区域,还包括:

当所述第一掉电数据和所述第二掉电数据均有效时,如果所述第一掉电序号大于或等于所述第二掉电序号,则加载所述第一掉电数据,擦除所述第二存储区域,如果所述第一掉电序号小于所述第二掉电序号,则加载所述第二掉电数据,擦除所述第一存储区域。

第二方面,提供一种掉电数据存储电路,所述电路包括:掉电检测电路、蓄能电路、处理器和存储器;

所述掉电检测电路分别与输入电源和所述处理器相连,用于检测系统是否掉电;

所述蓄能电路分别与输入电源与处理器相连,用于在系统掉电后为所述处理器供电;

所述存储器与所述处理器相连,用于在系统掉电后保存掉电数据;

所述处理器用于执行权利要求1-5任一项所述的方法。

在一些实施例中,所述掉电检测电路包括:第一电阻、第二电阻和电压比较器;

所述电压比较器的正相输入端连接输入电源,所述电压比较器的反相输入端连接参考电压,所述电压比较器的输出端分别连接所述第一电阻的第一端、所述第二电阻的第一端和处理器,所述第一电阻的第二端连接所述电压比较器的正相输入端,所述第二电阻的第二端接第二电源。

在一些实施例中,所述掉电检测电路还包括:第三电阻和第一电容;

所述第三电阻的第一端连接输入电源,所述第三电阻的第二端分别连接第一电容的第一端和所述电压比较器的正相输入端。

在一些实施例中,所述掉电检测电路,还包括:反相器;

所述反相器的输入端与所述电压比较器的输出端相连,所述反相器U2输出端与所述处理器相连。

第三方面,提供一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被所述计算机执行时,使所述计算机执行上述的方法。

本申请实施例与现有技术相比,至少具有以下有益效果:通过将存储器划分为第一、第二两个存储区域,通过一定的逻辑控制,在上电时将第一、第二存储区域的其中一个进行擦除,使得掉电时可以即刻保存数据,节省了擦除数据的时间,节约了蓄能电路的成本,使掉电数据存储更高效、经济。

附图说明

一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。

图1是本发明一实施中掉电数据存储电路的硬件结构图;

图2是本发明一实施例中的掉电检测电路图;

图3是本发明另一实施例中的掉电检测电路图;

图4是本发明又一实施例中的掉电检测电路图;

图5是本发明一实施例中的蓄能电路图;

图6是本发明掉电数据存储方法的一实施例的流程图;

图7是本发明掉电数据存储方法的另一实施例的流程图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

本发明实施例的掉电数据存储方法,可以应用于掉电数据存储电路,图1示出了该掉电数据存储电路的硬件结构,如图1所示,掉电数据存储电路10包括掉电检测电路11、蓄能电路12、处理器 13和存储器14。掉电检测电路11分别与输入电源和处理器13相连,用于检测系统是否掉电;蓄能电路12分别与输入电源和处理器13 相连,用于在系统掉电后为处理器13和存储器14提供短暂性供电;存储器13与处理器14相连,用于在系统掉电后保存掉电数据;当掉电检测电路11检测到系统掉电时,生成一个掉电信号传输至处理器13,处理器13接收到掉电信号后,将需要保存的掉电数据写入存储器14中,完成对掉电数据的存储。系统掉电后,蓄能电路12 马上为处理器13和存储器14提供短暂性供电,该时间由蓄能电路中的电解电容决定,系统必须在此时间段内完成对数据的存储,为了缩短掉电数据存储的时间,将存储器14划分为两个存储区域,系统上电后,根据预设条件先擦除其中一个存储区域,在一些实施例中,所述预设条件可以是判断两个存储区域中的数据有效性,当系统掉电时,可以立即将掉电数据写入已经预先擦除的区域,因为节省了擦除数据的时间,所以数据存储效率得到提高,这也意味着短暂性供电的时间可以相应缩减,即可以选择更小容量的电解电容,从而节省了生产成本。

其中,处理器13可以为一个或多个,图1中以一个处理器13为例。处理器13和存储器14可以通过总线或者其他方式连接,图1中以通过总线连接为例。处理器13可包括中央处理单元(CPU)、数字信号处理器(DSP)、专用集成电路(ASIC)、控制器、现场可编程门阵列(FPGA)设备等。处理器13还可以被实现为计算设备的组合,例如, DSP与微处理器的组合、多个微处理器、结合DSP核心的一个或多个微处理器、或者任何其它此类配置。

其中,存储器14作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块。处理器13通过运行存储在存储器14中的非易失性软件程序、指令以及模块,从而执行本发明任一实施例的掉电数据存储方法。

存储器14可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据终端的使用所创建的数据等。

图2示出了掉电检测电路11的一种电路结构,通过该电路可以快速、可靠地检测到系统掉电情况。如图2所示,电压比较器U1的正相输入端连接输入电源VIN,电压比较器U1的反相输入端连接参考电压 V-Ref,电压比较器U1的输出端分别连接第一电阻R1的第一端、第二电阻R2的第一端和处理器(SIG用于连接处理器),第一电阻R1的第二端连接所述电压比较器的正相输入端,所述第二电阻R2的第二端接第二电源VCC。

所述电压比较器U1的作用是比较输入电源VIN与所述参考电压V-Ref的大小,如果所述输入电源VIN大于或等于所述参考电压V- Ref,则输出低电平,如果所述输入电源VIN小于所述参考电压V- Ref,则输出高电平。

当系统掉电时,所述输入电源VIN小于所述参考电压V-Ref,电压比较器U1输出高电平,经过反相器U2变成低电平,该低电平信号即为掉电信号,将掉电信号传送至处理器,处理器接收到掉电信号做出相应的处理,比如控制存储器进行数据的擦写,这样就完成了一次掉电数据存储过程。

所述第一电阻R1为反馈电阻,使所述掉电检测电路具有迟滞功能,防止电路振荡;

所述第二电阻R2为上拉电阻,使所述比较器U1的输出端能够输出高电平。

在其中一些实施例中,所述掉电检测电路还包括第三电阻R3和第一电容C1,图3示出了该掉电检测电路的电路图。

所述第三电阻R3和所述第一电容C1组合构成一个低通滤波器,作用是降低所述输入电源VIN的毛刺。

在其中一些实施例中,所述掉电检测电路还包括第四电阻R4、第五电阻R5和反相器U2,图4示出了该掉电检测电路的电路图。

所述第四电阻R4和所述第五电阻R5组成分压电路,通过一定的比例可以调节输入电源VIN的大小;

所述反相器U2将所述电压比较器U1的输出反相输出,即当所述电压比较器的输出为高电平时,经过反相器U2后变成低电平,当所述电压比较器的输出为低电平时,经过反相器U2后变成高电平,其作用是对所述电压比较器U1输出的波形进行整形,使其成为所述处理器能够正确识别的电平信号。

图5示出了蓄能电路12的一种电路结构,该蓄能电路12可以为处理器和存储器提供短暂性的供电。

如图5所示,输入电源VIN与第一电解电容C11正极、直流电压转换集成电路DC-DCIC的输入端正极相连,第二电压VSS与所述第一电容C11负极、直流电压转换集成电路DC-DCIC的输入端负极相连,直流电压转换集成电路DC-DCIC的输出端正极与二极管D10 的正极相连,所述二极管的负极与所述第二电解电容C12的正极相连,所述第二电解电容C12的正极还与所述处理器和所述存储器的供电引脚相连,所述直流电压转换集成电路DC-DCIC集成电路的输出端负极与所述第二电解电容C12的负极相连。

本发明实施例还提供了一种掉电数据存储方法,可以应用于图 1所示的掉电数据存储电路,如图7所示,所述方法包括:

S201:确定存储器中第一掉电数据和第二掉电数据的有效性,所述存储器包括第一存储区域和第二存储区域,所述第一存储区域包括第一数据存储区,所述第一数据存储区用于存储第一掉电数据,所述第二存储区域还包括第二数据存储区,所述第二数据存储区用于存储第二掉电数据;

存储器可以是一切非易失性固态存储器,把存储器划分为第一、第二两个存储区,两个存储区均设有数据存储区,即第一数据存储区和第二数据存储区。在其他实施例中,第一存储区和第二存储区还可分别设置第一掉电标识区和第二掉电标识区,第一掉电标识区可以存储例如区域标识、第一掉电序号、第一掉电数据长度、第一掉电校验码等数据,第二掉电标识区可以存储例如区域标识、第二掉电序号、第二掉电数据长度、第二掉电校验码等数据。

在加载用户数据之前,需要先判断第一、第二存储区中的掉电数据是否有效,在一些实施例中,具体的判断方法可以是使用CRC 校验,CRC即循环冗余校验码,是数据通信领域中最常用的一种查错校验码,循环冗余检查是一种数据传输检错功能,对数据进行多项式计算,并将得到的结果附在帧的后面,数据校验端也执行类似的算法,以保证数据传输的正确性和完整性。在一些实施例中,具体的判断方法还可以是纵向冗余校验(LRC校验)和MD5校验等校验方法。

具体的,计算第一掉电数据的第一校验码和第二掉电数据的第二校验码,当所述第一校验码与所述第一掉电校验码一致时,所述第一掉电数据有效,否则,所述第一掉电数据无效,当所述第二校验码与所述第二掉电校验码一致时,所述第二掉电数据有效,否则,所述第二掉电数据无效。

S202:根据所述第一掉电数据的有效性和所述第二掉电数据的有效性加载用户数据、并擦除所述第一存储区域和所述第二存储区域中的其中一个存储区域;

所述用户数据可以是默认用户数据或上一次掉电存储器中存储的掉电数据,用户数据可以是涉及钢铁、石油、化工、电力、建材、机械制造、汽车、轻纺、交通运输、环保及文化娱乐等各个行业的数据,不同的行业用户数据的内容各有不同,例如印刷机、订书机械、组合机床等需要保存的生产数据(当日产量、昨日产量、总产量等)、工艺参数、品质参数等。默认用户数据是一组用于初始化的数据,可以人为设定,存储器中的掉电数据是指上一次掉电保存在存储器中的用户数据。

传统的工艺手段,在掉电时要先擦除存储器内保存的数据,再写入最新的掉电数据,为了加快掉电数据的保存速度,本发明实施例采取的方法是,上电时先擦除一块存储区,在掉电数据存储时可以节省擦除存储器的时间,是一种以空间换时间的手段,优点是,储能电路元件的选择可以更低要求,从而节省成本,另一方面,数据保存也更可靠,避免数据擦除所延长的时间段内出现意外导致存储失败。

在一些实施例中,根据所述第一掉电数据的有效性和所述第二掉电数据的有效性加载用户数据、并擦除所述第一存储区域和所述第二存储区域中的其中一个存储区域,包括:

当第一掉电数据和第二掉电数据均有效时,则要根据第一存储区的掉电序号和第二存储区的掉电序号进一步判断,掉电信号用于记录第一存储区和第二存储区的掉电次数,掉电序号可以从0开始计数,每掉一次电,掉电序号加1,如果第一存储区掉电序号大于或等于第二存储区掉电序号,也即第一存储区的掉电数据为最新的掉电数据,或者第一存储区与第二存储区的掉电数据都为最新掉电数据,则为处理器加载第一存储区的掉电数据,同时擦除第二存储区,如果第一存储区的掉电序号小于第二存储区的掉电序号,也即第二存储区的数据为最新的掉电数据,则为处理器加载第二存储区的掉电数据,同时擦除第一存储区,从而保证了掉电数据为最新的有效数据;

当第一存储区的掉电数据有效,第二存储区的掉电数据无效时,加载第一存储区的掉电数据,同时擦除第二存储区;

当第二存储区的掉电数据有效,第一存储区的掉电数据无效时,加载第二存储区的掉电数据,同时擦除第一存储区;

当第一存储区的掉电数据和第二存储区的掉电数据均无效时,加载默认用户数据,也即将设备初始化,同时擦除第一存储区;

把储存器划分为两个区域,轮流擦写,理论上可以延长该储存器一倍的寿命,最大程度降低存储器的更换频率。

S203:当掉电时,将最新用户数据写入擦除后的存储区域。

在一些实施例中,包含掉电检测电路,当掉电检测电路检测到掉电时,向处理器发出掉电信号,该掉电信号可以是处理器的中断触发信号,使处理器跳到相应的中断程序,完成对存储器擦写工作的控制。

以下以一具体实施例为例说明本发明掉电数据存储方法的执行过程,如图3所示,所述方法包括::

S301:系统上电;

S302:加载第一、第二掉电数据;

S303:判断第一掉电数据是否有效;

S304:判断第二掉电数据是否有效;

如果第一、第二掉电数据均有效,则执行步骤S305,如果第一掉电数据有效,第二掉电数据无效,则执行步骤S306,如果第二掉电数据有效,第一掉电数据无效,则执行步骤S308,如果第一、第二数据均无效,则执行步骤S310;

S305:判断第一掉电序号是否大于第二掉电序号,如果第一掉电序号大于或等于第二掉电信号,则执行步骤S306,如果第一掉电序号小于第二掉电序号,则执行步骤S308;

S306:根据第一掉电数据长度加载第一掉电数据到处理器中;

S307:擦除第二存储区域;

S308:根据第二掉电数据长度加载第二掉电数据到处理器中;

S309:擦除第一存储区域;

S310:加载用户默认数据到处理器中;

S311:掉电序号加1。

该实施例中,通过将存储器划分为第一、第二两个存储区域,通过一定的逻辑控制,在上电时将第一、第二存储区域的其中一个进行擦除,使得掉电时可以即刻保存数据,节省了擦除数据的时间,节约了储能电路的成本,使掉电数据存储更高效、经济。

需要说明的是,本发明实施例的掉电数据存储方法除用于图7 所示的掉电数据存储电路之外,还可用于其他任何合适的电子设备,例如工业控制设备、个人计算机设备、移动通信终端或服务器等。

本发明实施例还提供了一种非易失性计算机存储介质,所述计算机存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图1中的一个处理器13,可使得上述一个或多个处理器可执行上述任意方法实施例中的掉电数据存储方法。

本发明实施例还提供了一种计算机程序产品,包括存储在非易失性计算机可读存储介质上的计算程序,所述计算机程序包括程序指令,当所述程序指令被计算机执行时,使所述计算机执行上述任意方法实施例中的掉电数据存储方法。

最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号