CN115188400A - 电能表数据加载方法、装置、设备及计算机可读存储介质 - Google Patents
电能表数据加载方法、装置、设备及计算机可读存储介质 Download PDFInfo
- Publication number
- CN115188400A CN115188400A CN202210725310.4A CN202210725310A CN115188400A CN 115188400 A CN115188400 A CN 115188400A CN 202210725310 A CN202210725310 A CN 202210725310A CN 115188400 A CN115188400 A CN 115188400A
- Authority
- CN
- China
- Prior art keywords
- flash memory
- data
- memory
- electric energy
- power failure
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11C—STATIC STORES
- G11C7/00—Arrangements for writing information into, or reading information out from, a digital store
- G11C7/10—Input/output [I/O] data interface arrangements, e.g. I/O data control circuits, I/O data buffers
- G11C7/1078—Data input circuits, e.g. write amplifiers, data input buffers, data input registers, data input level conversion circuits
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R35/00—Testing or calibrating of apparatus covered by the other groups of this subclass
- G01R35/04—Testing or calibrating of apparatus covered by the other groups of this subclass of instruments for measuring time integral of power or current
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/14—Error detection or correction of the data by redundancy in operation
- G06F11/1402—Saving, restoring, recovering or retrying
- G06F11/1446—Point-in-time backing up or restoration of persistent data
- G06F11/1448—Management of the data involved in backup or backup restore
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Quality & Reliability (AREA)
- General Engineering & Computer Science (AREA)
- Techniques For Improving Reliability Of Storages (AREA)
Abstract
本发明公开了一种电能表数据加载方法、装置、设备及计算机可读存储介质。本发明通过在检测到所述电能表掉电时,确定所述内存中的需掉电存储闪存数据,并将所述内存中的需掉电存储闪存数据写入闪存中;若检测到所述电能表重新上电,则读取所述闪存中的需掉电存储闪存数据,并将所述闪存中的需掉电存储闪存数据加载至所述内存中,本发明新增利用了电能表内部的闪存功能对电能表掉电时的数据进行备份,提高了电能表重新上电后内存加载数据的速度。
Description
技术领域
本发明涉及电能表技术领域,尤其涉及一种电能表数据加载方法、装置、设备及计算机可读存储介质。
背景技术
电能表是用来测量电能的仪表,为了运行可靠性,电能表将相关数据同步存放在RAM(Random Access Memory,随机存取存储器)和外部的非易失性存储器EEPROM(Electrically Erasable Programmable Read-Only Memory,带电可擦可编程只读存储器)中,电能表在掉电后将进入待机模式,在待机模式下MCU(微控制单元)内部RAM中的数据会丢失,目前恢复RAM数据的常规方式是在电能表再次上电时,通过从外部的EEPROM中读取数据,并加载恢复至RAM中,该RAM加载数据的方式存在RAM从EEPROM中读取加载速度较慢的问题,因此,如何加快电能表掉电后RAM加载数据的速度是目前亟待解决的技术问题。
上述内容仅用于辅助理解本发明的技术方案,并不代表承认上述内容是现有技术。
发明内容
本发明的主要目的在于提供一种电能表数据加载方法、装置、设备及计算机可读存储介质,旨在解决电能表掉电后内存加载数据的速度较慢的技术问题。
为实现上述目的,本发明提供一种电能表数据加载方法,所述电能表数据加载方法应用于电能表,所述电能表内部的微控制单元中包括内存和闪存,所述电能表数据加载方法包括:
在检测到所述电能表掉电时,确定所述内存中的需掉电存储闪存数据,并将所述需掉电存储闪存数据写入闪存中;
若检测到所述电能表重新上电,则读取所述闪存中的需掉电存储闪存数据,并将所述闪存中的需掉电存储闪存数据加载至所述内存中。
可选地,所述将所述闪存中的需掉电存储闪存数据加载至所述内存中的步骤包括:
获取所述闪存中的校验值;
根据所述校验值对所述闪存中的需掉电存储闪存数据进行校验;
若校验结果为所述闪存中的需掉电存储闪存数据有效,则将有效的所述闪存中的需掉电存储闪存数据加载至所述内存中。
可选地,所述根据所述校验值对所述闪存中的需掉电存储闪存数据进行校验的步骤包括:
基于预设校验算法对所述闪存中的需掉电存储闪存数据进行校验计算,得到结果值;
将所述结果值与所述校验值进行比较;
若所述结果值与所述校验值相同,则确定校验结果为所述闪存中的需掉电存储闪存数据有效。
可选地,所述读取所述闪存中的需掉电存储闪存数据的步骤之后,还包括:
基于预设校验算法对所述内存中的需掉电存储闪存数据进行校验计算,得到校验值;
将所述校验值写入所述闪存中。
可选地,所述将所述闪存中的需掉电存储闪存数据加载至所述内存中的步骤之后,还包括:
检测所述闪存中的需掉电存储闪存数据是否加载完成;
若所述闪存中的需掉电存储闪存数据加载完成,则在加载完成后,检测所述内存中的需掉电存储闪存数据是否存在更新;
若所述内存中的需掉电存储闪存数据存在更新,则将更新后的需掉电存储闪存数据同步写入所述内存和EEPROM中。
可选地,所述在检测到电能表掉电时,确定所述内存中的需掉电存储闪存数据的步骤包括:
在检测到电能表掉电时,从所述内存的所有数据中提取所述电能表上电过程中所述内存部分需从EEPROM中加载的部分数据,并将所述部分数据确定为需掉电存储闪存数据;
将所述提取的需掉电存储闪存数据汇总至连续的地址空间,并将汇总后的需掉电存储闪存数据写入闪存中。
可选地,所述将所述闪存中的需掉电存储闪存数据加载至所述内存中的步骤之后,还包括:
检测所述闪存中的需掉电存储闪存数据是否加载完成;
若所述闪存中的需掉电存储闪存数据加载完成,则对所述闪存执行擦除操作。
此外,为实现上述目的,本发明还提供一种电能表数据加载方法装置,所述电能表数据加载方法装置包括:
数据存储模块,用于在检测到电能表掉电时,确定所述内存中的需掉电存储闪存数据,并将所述需掉电存储闪存数据写入闪存中;
数据加载模块,用于若检测到所述电能表重新上电,则读取所述闪存中的需掉电存储闪存数据,并将所述闪存中的需掉电存储闪存数据加载至所述内存中。
此外,为实现上述目的,本发明还提供一种电能表数据加载设备,所述电能表数据加载设备包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的电能表数据加载程序,所述电能表数据加载程序被处理器执行时实现如上述的电能表数据加载方法的步骤。
此外,为实现上述目的,本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有电能表数据加载程序,所述电能表数据加载程序被处理器执行时实现如上述的电能表数据加载方法的步骤。
本发明提供一种电能表数据加载方法、装置、设备及计算机可读存储介质,本发明通过在检测到电能表掉电时,确定内存中的需掉电存储闪存数据,并将所述需掉电存储闪存数据写入闪存中,若检测到电能表重新上电,则读取闪存中的需掉电存储闪存数据,并将闪存中的需掉电存储闪存数据加载至内存中,以恢复内存中掉电丢失的数据。本发明在电能表掉电的瞬间将电能表内存中的需掉电存储闪存数据暂存至电能表微控制单元内部的闪存中,后续在检测到电能表重新上电时,内存从闪存中直接获取闪存已备份的数据进行数据加载恢复,相较于现有技术中在电能表掉电后重新上电,从外部的EEPROM中加载数据的方式,本发明新增利用了电能表内部的闪存对电能表掉电时的需掉电存储闪存数据进行备份暂存,以提高电能表重新上电后内存加载需掉电存储闪存数据的速度,避免了由于EEPROM与电能表微控制单元MCU通过IIC(集成电路总线)接口通讯,使用IIC总线的外部EEPROM通讯速率较低,从而导致内存RAM从EEPROM中读取加载数据的速度较慢的问题,基于此,本发明新增电能表内部的闪存模块对电能表掉电时的需掉电存储闪存数据进行备份,电能表MCU内部的闪存操作速率相比外部的EEPROM来说速率较高,极大地提高了RAM对数据加载的速度。
附图说明
图1是本发明实施例方案涉及的硬件运行环境的设备的结构示意图;
图2为本发明电能表数据加载方法第一实施例的流程示意图;
图3为本发明电能表数据加载方法一实施例中涉及的原有数据加载流程示意图;
图4为本发明电能表数据加载方法一实施例中涉及的数据加载流程示意图;
图5为本发明电能表数据加载装置的装置结构示意图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
参照图1,图1为本发明实施例方案涉及的硬件运行环境的终设备结构示意图。
本发明实施例设备可以为PC(personal computer,个人计算机)、便携计算机、服务器等终端设备。
如图1所示,该电能表数据加载设备可以包括:处理器1001,例如CPU(CentralProcessing Unit,中央处理器),通信总线1002,用户接口1003,网络接口1004,存储器1005。其中,通信总线1002用于实现这些组件之间的连接通信。用户接口1003可以包括显示屏(Display)、输入单元比如键盘(Keyboard),可选的用户接口1003还可以包括标准的有线接口、无线接口。网络接口1004可选的可以包括标准的有线接口、无线接口(如无线保真(WIreless-FIdelity,WI-FI)。存储器1005可以是高速的随机存取存储器(Random AccessMemory,RAM)存储器,也可以是稳定的非易失性存储器(Non-Volatile Memory,NVM),例如磁盘存储器。存储器1005可选的还可以是独立于前述处理器1001的存储装置。
可选地,电能表数据加载设备还可以包括RF(Radio Frequency,射频)电路,传感器、WiFi模块;输入单元,比如显示屏,触摸屏;网络接口可选除无线接口中除WiFi外,蓝牙、探针等等。
本领域技术人员可以理解,图1中示出的结构并不构成对设备的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
如图1所示,作为一种计算机存储介质的存储器1005中可以包括操作***、网络通信模块、用户接口模块以及电能表数据加载程序。
在图1所示的设备中,网络接口1004主要用于连接后台服务器,与后台服务器进行数据通信;用户接口1003主要用于连接客户端(用户端),与客户端进行数据通信;而处理器1001可以用于调用存储器1005中存储的电能表数据加载程序,并执行以下操作:
在检测到所述电能表掉电时,确定所述内存中的需掉电存储闪存数据,并将所述内存中的需掉电存储闪存数据写入闪存中;
若检测到所述电能表重新上电,则读取所述闪存中的需掉电存储闪存数据,并将所述闪存中的需掉电存储闪存数据加载至所述内存中。
基于上述硬件结构,提出本发明电能表数据加载方法各个实施例。
本发明实施例提供了一种电能表数据加载方法,参照图2,图2为本发明电能表数据加载方法第一实施例的流程示意图。
在本实施例中,所述电能表数据加载方法包括:
步骤S10,在检测到所述电能表掉电时,确定所述内存中的需掉电存储闪存数据,并将所述内存中的需掉电存储闪存数据写入闪存中;
步骤S20,若检测到所述电能表重新上电,则读取所述闪存中的需掉电存储闪存数据,并将所述闪存中的需掉电存储闪存数据加载至所述内存中。
在本实施例中,具体地,内存为RAM(Random Access Memory,随机存取存储器),闪存为flash存储器,内存和闪存位于电能表中微控制单元即MCU的内部,如图4所示,MCU包括RAM内存和flash闪存,本实施例在MCU内部的flash闪存中开辟出一段空间,用于在电能表掉电时对RAM内存的需掉电存储闪存数据进行备份存储,在检测到电能表掉电时,确定RAM内存中的需掉电存储闪存数据,并将内存中的需掉电存储闪存数据写入flash闪存中,本实施例中需掉电存储闪存数据为电能表正常上电运行状态下,同步存放在内存和EEPROM中进行双重备份,且在电能表掉电重新上电运行时需要加载至内存中的数据,其中,EEPROM为电能表MCU外部的非易失性存储器。
本实施例中,需要说明的是flash闪存是电能表内部的微控制单元中的非易失存储器,可以对称为块的存储器单元块进行快速的擦写,flash闪存的操作速率很高,以某款cortex M0芯片为例,可以达到20-50MHZ,而非易失性存储器EEPROM(ElectricallyErasable Programmable Read-Only Memory,带电可擦可编程只读存储器)的操作速率一般为100KHZ,且最高只能达到400KHZ,可见flash闪存的操作速率为EEPROM的100余倍,本实施例在电能表掉电时,将电能表RAM内存中待备份的需掉电存储闪存数据暂存至flash闪存中,在检测到电能表重新上电时,读取flash闪存中已备份的需掉电存储闪存数据,并加载至RAM内存中,实现了RAM内存对需掉电存储闪存数据的快速加载恢复。
可理解地,flash闪存在电能表掉电瞬间对RAM内存中待备份的需掉电存储闪存数据进行拍照,将拍照得到的快照写入flash闪存中,便于在电能表下一次上电时,直接读取flash闪存中保存的快照数据进行数据加载恢复,而常规的方式中在电能表掉电后重新上电时,是从外部EEPROM存储器中读取需掉电存储闪存数据,该方式由于RAM内存中包括多个功能模块,多个功能模块中的数据分模块地存放在外部EEPROM存储器中,电能表重新上电后多个功能模块中的数据都需要分别从外部EEPROM存储器中进行加载,即需要从外部EEPROM存储器中进行多次读取才能完成需掉电存储闪存数据的加载,因此基于外部EEPROM存储器进行需掉电存储闪存数据加载的速度较慢,同时由于外部EEPROM存储器与MCU通过IIC接口通讯,此通讯速率较低,本实施例中采用flash闪存在电能表掉电时对RAM内存中的需掉电存储闪存数据进行数据备份,避免了RAM内存不保持时,从EEPROM加载数据到RAM内存的时效问题。
进一步地,基于上述第一实施例,提出本发明电能表数据加载方法第二实施例,在本实施例中,上述步骤S20中,将所述闪存中的需掉电存储闪存数据加载至所述内存中的细化步骤包括:
步骤A,获取所述闪存中的校验值;
步骤B,根据所述校验值对所述闪存中的需掉电存储闪存数据进行校验;
步骤C,若校验结果为所述闪存中的需掉电存储闪存数据有效,则将有效的所述闪存中的需掉电存储闪存数据加载至所述内存中。
在本实施例中,获取flash闪存中的校验值,并获取flash闪存中的已备份的需掉电存储闪存数据,根据校验值对闪存中的需掉电存储闪存数据进行校验,若校验结果为闪存中的需掉电存储闪存数据有效,则将有效的闪存中的需掉电存储闪存数据加载至RAM内存中,本实施例在电能表由掉电状态转换到上电状态时,即检测到电能表重新上电时,同步读出flash闪存中的校验值以及闪存中的需掉电存储闪存数据,并根据校验值对闪存中的需掉电存储闪存数据进行校验,如果flash闪存中的需掉电存储闪存数据有效,则将flash闪存中的有效的需掉电存储闪存数据读出恢复至RAM内存中,本实施例通过同步读出flash闪存中的校验值以及闪存中的需掉电存储闪存数据,并对闪存中的需掉电存储闪存数据进行校验,校验成功则认定为闪存中的需掉电存储闪存数据有效,进而再将有效的闪存中的需掉电存储闪存数据加载至RAM内存中,保证了从flash闪存读出数据的可靠性。
具体地,上述步骤B,根据所述校验值对所述闪存中的需掉电存储闪存数据进行校验的细化步骤,还包括:
步骤b1,基于预设校验算法对所述闪存中的需掉电存储闪存数据进行校验计算,得到结果值;
步骤b2,将所述结果值与所述校验值进行比较;
步骤b3,若所述结果值与所述校验值相同,则确定校验结果为所述闪存中的需掉电存储闪存数据有效。
在本实施例中,在电能表重新上电时,先对闪存中的需掉电存储闪存数据进行校验,检验过程可以为:基于预设校验算法对闪存中的需掉电存储闪存数据进行校验计算,得到结果值,将结果值与校验值进行比较,若结果值与校验值相同,则说明闪存中的需掉电存储闪存数据没有出现差错,即确定校验结果为闪存中的需掉电存储闪存数据有效,若结果值与校验值不同,则说明闪存中的需掉电存储闪存数据出现差错,则确定校验结果为闪存中的需掉电存储闪存数据无效,将无效的闪存中的需掉电存储闪存数据舍弃。
进一步地,本实施例在上述步骤S10中,确定所述内存中的需掉电存储闪存数据的步骤之后,还包括:
步骤D,基于所述预设校验算法对所述内存中的需掉电存储闪存数据进行校验计算,得到校验值;
步骤E,将所述校验值写入所述闪存中。
本实施例在检测到电能表掉电时,确定内存中的需掉电存储闪存数据,基于预设校验算法对内存中的需掉电存储闪存数据进行校验计算,得到校验值,将校验值与内存中的需掉电存储闪存数据一并写入到flash闪存中。本实施例中优选地可采用CRC(CyclicRedundancy Check,循环冗余校验)方式计算校验值,当然还可以采用其他的校验方式如MD5校验等对闪存中的需掉电存储闪存数据进行校验,需要说明的是对内存中的需掉电存储闪存数据和闪存中的需掉电存储闪存数据均采用相同的预设校验算法进行校验计算,预设校验算法可以为哈希运算、累加和运算等,例如将内存中的需掉电存储闪存数据经过哈希运算得到32个字节的特征码,将特征码作为校验值,将特征码和和需掉电存储闪存数据存储至闪存中,在电能表恢复上电时,采用哈希运算对闪存中的需掉电存储闪存数据进行校验计算,得到闪存中的需掉电存储闪存数据对应的特征码,将闪存中的需掉电存储闪存数据对应的特征码作为结果值,比较结果值和校验值是否相同,以根据校验值反向验证闪存中的需掉电存储闪存数据的准确性。
本实施例在执行将所述内存中的需掉电存储闪存数据写入闪存中的步骤的同时,还执行对内存中的需掉电存储闪存数据进行校验计算,得到校验值,将校验值也写入闪存中的步骤,以便于后续在电能表重新上电时RAM内存数据初始化的过程中,基于校验值对flash闪存中读出的备份数据进行校验,保证flash闪存中读出数据的可靠性。
进一步地,基于上述第一实施例,提出本发明电能表数据加载方法第三实施例,在本实施例中,上述步骤S20中,将所述闪存中的需掉电存储闪存数据加载至所述内存中的步骤之后,还包括:
步骤F,检测所述闪存中的需掉电存储闪存数据是否加载完成;
步骤G,若所述闪存中的需掉电存储闪存数据加载完成,则在加载完成后,检测所述内存中的需掉电存储闪存数据是否存在更新;
步骤H,若所述内存中的需掉电存储闪存数据存在更新,则将更新后的需掉电存储闪存数据同步写入所述内存和EEPROM中。
在本实施例中,所述EEPROM为所述微控制单元之外的外部存储器,所述EEPROM与所述微控制单元通过集成电路总线连接。
在本实施例中,在检测到电能表重新上电时,从flash闪存中读取需掉电存储闪存数据,并将闪存中的需掉电存储闪存数据加载恢复至内存中,同时监测内存从闪存中加载需掉电存储闪存数据的过程是否完成,若闪存中的需掉电存储闪存数据加载完成,则在加载完成之后,检测内存中的需掉电存储闪存数据是否存在更新,若内存中的需掉电存储闪存数据存在更新,则将更新后的需掉电存储闪存数据同步写入内存和EEPROM中。本实施例中,若闪存中的需掉电存储闪存数据加载完成,则说明RAM内存初始化完成,电能表上电正常运行,此时则检测电能表正常上电运行状态下对应的数据是否存在更新,正常运行状态下的数据更新或改动则同步至内存和EEPROM,即本实施例中在电能表正常上电运行状态下仅在内存和EEPROM之间进行数据交互,本实施例中将电能表重新上电时RAM内存从flash闪存中加载需掉电存储闪存数据的过程记为RAM内存的初始化过程。
在本实施例中,需要说明的是,在电能表掉电时才将RAM内存中待备份的需掉电存储闪存数据写入flash闪存中,在重新上电时RAM内存从flash闪存中读取并加载已备份的需掉电存储闪存数据,在加载完成后,即电能表上电恢复正常运行时,RAM内存与EEPROM之间进行需掉电存储闪存数据的同步交互。本实施例中在电能表掉电时RAM内存与flash闪存进行需掉电存储闪存数据交互,在电能表恢复正常上电运行状态时,RAM内存与EEPROM进行数据的交互。flash的擦除寿命一般为10万次,而EEPROM为100万次,因此本发明考虑到flash闪存的擦写寿命相对于EEPROM擦写寿命较短的特性,并非将flash闪存完全代替EEPROM进行数据交互,而是在电能表掉电时,由flash闪存对RAM内存中的待备份的需掉电存储闪存数据进行暂存备份,以便重新上电时RAM内存从flash闪存中读取已备份的需掉电存储闪存数据,并加载恢复至RAM内存中进行初始化,在初始化完成之后即电能表上电正常运行时,运行数据的更新和同步在EEROM和RAM内存之间完成,保证EEPROM中的数据和RAM内存中的同步,从而避免了由于flash闪存擦写寿命短,全部的数据在flash闪存中进行读写,导致寿命消耗较快的问题。
进一步地,基于上述第一实施例,提出本发明电能表数据加载方法第四实施例,在本实施例中,上述步骤S10中,在检测到电能表掉电时,确定所述内存中的需掉电存储闪存数据的步骤,还可以包括:
步骤K,在检测到电能表掉电时,从所述内存的所有数据中提取所述电能表上电过程中所述内存需从非易失性存储器中加载的需掉电存储闪存数据;
步骤L,将所述提取的需掉电存储闪存数据汇总至连续的地址空间,并将汇总后的需掉电存储闪存数据写入闪存中。
在本实施例中,RAM内存的所有数据中包括多个不同模块对应的需掉电存储闪存数据,以及掉电时不需要备份的其他RAM数据,不同模块对应的数据分模块地存储在RAM内存,并对应同步存储至外部EEPROM存储器中,如图3所示,MCU的RAM内存中包括模块A_RAM需备份数据和模块B_RAM需备份数据,以及夹杂其间的其他RAM数据,对应的EEPROM存储器中包括与RAM内存同步存储的模块A_EEP备份数据和模块B_EEP备份数据,本实施例在检测到电能表掉电时,从内存的所有数据中提取出电能表上电过程中内存需从EEPROM中加载的需掉电存储闪存数据,进而将提取的需掉电存储闪存数据汇总至连续的地址空间,并将汇总后的需掉电存储闪存数据写入闪存中。为便于理解说明,可参照图3和图4,本实施在检测到电能表掉电时,从内存的所有数据中提取出需掉电存储闪存数据,即提取出如图3所示的RAM内存中模块A_RAM需备份数据和模块B_RAM需备份数据,将提取的模块A_RAM需备份数据和模块B_RAM需备份数据汇总至连续的地址空间,即进行集中打包处理为如图4所示的RAM总备份数据,本实施例将汇总后的需掉电存储闪存数据记为RAM总备份数据,并将打包处理后的RAM总备份数据写入闪存中,将不同模块的需掉电存储闪存数据汇总到连续的地址空间,实现数据的一次性写入,而不用多次性写入,进一步提高掉电数据处理效率。
本实施例将RAM内存中不同模块对应的需掉电存储闪存数据进行汇总集中处理,将集中处理后的需掉电存储闪存数据在电能表掉电时写入内部flash闪存中,在电能表重新上电时,将flash闪存中的需掉电存储闪存数据加载至RAM内存中,而目前常规的RAM内存中包括各个不同功能模块对应的需掉电存储闪存数据以及掉电不需要进行备份的其他RAM数据,并且需掉电存储闪存数据和其他RAM数据是无规则排序存储的,如图3,RAM内存需要从外部EEPROM存储器中根据功能模块个数多次读取数据并同步至RAM内存中,数据加载速度较慢,本实施例将不同功能模块对应的需掉电存储闪存数据汇总至连续的地址空间,在电能表掉电时将汇总处理后的需掉电存储闪存数据一并写入闪存中,将所有需掉电存储闪存数据一次性写入flash闪存中,从而减少调用写flash闪存操作的次数,进一步加快了待备份数据的写入速度。
进一步地,上述步骤S20中,将所述第二备份数据加载恢复至所述内存中的步骤之后,还包括:
步骤I,检测所述闪存中的需掉电存储闪存数据是否加载完成;
步骤J,若所述闪存中的需掉电存储闪存数据加载完成,则对所述闪存执行擦除操作。
在本实施例中,在检测到电能表重新上电时,从flash闪存中读取需掉电存储闪存数据,并将闪存中的需掉电存储闪存数据加载恢复至内存中,同时监测闪存中的需掉电存储闪存数据是否加载完成,若内存从闪存中加载需掉电存储闪存数据加载完成,则说明RAM内存初始化完成,电能表上电正常运行,此时对flash闪存执行擦除操作,本实施例中需要说明的是flash器件的写入操作只能在空或已擦除的单元内进行,所以大多数情况下,在进行写入操作之前必须先执行擦除,而擦除所需的时间较长,因此,本实施例中将flash闪存擦除的步骤在初始化完成时执行,在闪存中的需掉电存储闪存数据加载完成即初始化完成后,对flash闪存执行擦除动作,这样在电能表掉电,将内存中的需掉电存储闪存数据写入flash闪存前就不需要做擦除动作,从而可以节约掉电写入flash闪存的时间,进一步加快在掉电时将待备份的需掉电存储闪存数据写入flash闪存的速度。
本发明还提供一种电能表数据加载方法装置,如图5所示电能表数据加载方法装置包括:数据存储模块A10和数据加载模块A20,所述数据存储模块A10,用于在检测到电能表掉电时,确定所述内存中的需掉电存储闪存数据,并将所述需掉电存储闪存数据写入闪存中;所述数据加载模块A20,用于若检测到所述电能表重新上电,则读取所述闪存中的需掉电存储闪存数据,并将所述闪存中的需掉电存储闪存数据加载至所述内存中。本发明电能表的具体实施例与上述电能表数据加载方法各实施例基本相同,在此不作赘述。
本发明还提供一种电能表数据加载设备,其特征在于,所述电能表数据加载设备包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的电能表数据加载程序,所述电能表数据加载程序被处理器执行时实现如以上任一项实施例所述的电能表数据加载方法的步骤。本发明电能表数据加载设备的具体实施例与上述电能表数据加载方法各实施例基本相同,在此不作赘述。
本发明还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有电能表数据加载程序,所述电能表数据加载程序被处理器执行时实现如以上任一项实施例所述的电能表数据加载方法的步骤。本发明计算机可读存储介质的具体实施例与上述电能表数据加载方法各实施例基本相同,在此不作赘述。
可以理解的是,在本说明书的描述中,参考术语“一实施例”、“另一实施例”、“其他实施例”、或“第一实施例~第N实施例”等的描述意指结合该实施例或示例描述的具体特征、结构、材料或者特点包含于本发明的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。而且,描述的具体特征、结构、材料或者特点可以在任何的一个或多个实施例或示例中以合适的方式结合。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者***不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者***所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者***中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在如上所述的一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。
Claims (10)
1.一种电能表数据加载方法,其特征在于,所述电能表数据加载方法应用于电能表,所述电能表内部的微控制单元中包括内存和闪存,所述电能表数据加载方法包括步骤:
在检测到所述电能表掉电时,确定所述内存中的需掉电存储闪存数据,并将所述内存中的需掉电存储闪存数据写入闪存中;
若检测到所述电能表重新上电,则读取所述闪存中的需掉电存储闪存数据,并将所述闪存中的需掉电存储闪存数据加载至所述内存中。
2.如权利要求1所述的电能表数据加载方法,其特征在于,所述将所述闪存中的需掉电存储闪存数据加载至所述内存中的步骤包括:
获取所述闪存中的校验值;
根据所述校验值对所述闪存中的需掉电存储闪存数据进行校验;
若校验结果为所述闪存中的需掉电存储闪存数据有效,则将有效的所述闪存中的需掉电存储闪存数据加载至所述内存中。
3.如权利要求2所述的电能表数据加载方法,其特征在于,所述根据所述校验值对所述闪存中的需掉电存储闪存数据进行校验的步骤包括:
基于预设校验算法对所述闪存中的需掉电存储闪存数据进行校验计算,得到结果值;
将所述结果值与所述校验值进行比较;
若所述结果值与所述校验值相同,则确定校验结果为所述闪存中的需掉电存储闪存数据有效。
4.如权利要求3所述的电能表数据加载方法,其特征在于,所述确定所述内存中的需掉电存储闪存数据的步骤之后,还包括:
基于所述预设校验算法对所述内存中的需掉电存储闪存数据进行校验计算,得到校验值;
将所述校验值写入所述闪存中。
5.如权利要求1所述的电能表数据加载方法,其特征在于,所述将所述闪存中的需掉电存储闪存数据加载至所述内存中的步骤之后,还包括:
检测所述闪存中的需掉电存储闪存数据是否加载完成;
若所述闪存中的需掉电存储闪存数据加载完成,则在加载完成后,检测所述内存中的需掉电存储闪存数据是否存在更新;
若所述内存中的需掉电存储闪存数据存在更新,则将更新后的需掉电存储闪存数据同步写入所述内存和EEPROM中。
6.如权利要求1所述的电能表数据加载方法,其特征在于,所述将所述内存中的需掉电存储闪存数据写入闪存中的步骤包括:
在检测到电能表掉电时,从所述内存的所有数据中提取所述电能表上电过程中所述内存部分需从EEPROM中加载的部分数据,并将所述部分数据确定为需掉电存储闪存数据;
将所述提取的需掉电存储闪存数据汇总至连续的地址空间,并将汇总后的需掉电存储闪存数据写入闪存中。
7.如权利要求1所述的电能表数据加载方法,其特征在于,所述将所述闪存中的需掉电存储闪存数据加载至所述内存中的步骤之后,还包括:
检测所述闪存中的需掉电存储闪存数据是否加载完成;
若所述闪存中的需掉电存储闪存数据加载完成,则对所述闪存执行擦除操作。
8.一种电能表数据加载方法装置,其特征在于,电能表数据加载方法装置包括:
数据存储模块,用于在检测到电能表掉电时,确定所述内存中的需掉电存储闪存数据,并将所述需掉电存储闪存数据写入闪存中;
数据加载模块,用于若检测到所述电能表重新上电,则读取所述闪存中的需掉电存储闪存数据,并将所述闪存中的需掉电存储闪存数据加载至所述内存中。
9.一种电能表数据加载设备,其特征在于,所述电能表数据加载设备包括存储器、处理器、以及存储在所述存储器上并可在所述处理器上运行的电能表数据加载程序,所述电能表数据加载程序配置为实现如权利要求1至7中任一项所述的电能表数据加载方法的步骤。
10.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质上存储有电能表数据加载程序,所述电能表数据加载程序被处理器执行时实现如权利要求1至7中任一项所述的电能表数据加载方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210725310.4A CN115188400A (zh) | 2022-06-24 | 2022-06-24 | 电能表数据加载方法、装置、设备及计算机可读存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210725310.4A CN115188400A (zh) | 2022-06-24 | 2022-06-24 | 电能表数据加载方法、装置、设备及计算机可读存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115188400A true CN115188400A (zh) | 2022-10-14 |
Family
ID=83515131
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210725310.4A Pending CN115188400A (zh) | 2022-06-24 | 2022-06-24 | 电能表数据加载方法、装置、设备及计算机可读存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115188400A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116243234A (zh) * | 2023-05-11 | 2023-06-09 | 石家庄科林电气股份有限公司 | 一种多模组化电能表的掉电检测方法、***及电能表 |
-
2022
- 2022-06-24 CN CN202210725310.4A patent/CN115188400A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN116243234A (zh) * | 2023-05-11 | 2023-06-09 | 石家庄科林电气股份有限公司 | 一种多模组化电能表的掉电检测方法、***及电能表 |
CN116243234B (zh) * | 2023-05-11 | 2023-08-11 | 石家庄科林电气股份有限公司 | 一种多模组化电能表的掉电检测方法、***及电能表 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109634645B (zh) | 固件升级方法及终端 | |
US9164756B2 (en) | Software updating process for an embedded device | |
US20070055969A1 (en) | System and method for updating firmware | |
CN103150231A (zh) | 计算机开机的方法与计算机*** | |
CN105138347A (zh) | 一种差分升级包生成方法、软件升级方法及相应装置 | |
CN109683967B (zh) | 固件支持方法、装置、移动终端及可读存储介质 | |
CN110321170B (zh) | 开机方法 | |
CN113110891B (zh) | 固态硬盘的固件加载方法、装置、计算机设备及存储介质 | |
CN115188400A (zh) | 电能表数据加载方法、装置、设备及计算机可读存储介质 | |
CN104750492A (zh) | 基于嵌入式操作***的移动设备的开机控制方法及装置 | |
CN111258613B (zh) | 固件升级方法、装置、电子设备以及存储介质 | |
CN114780019A (zh) | 电子设备的管理方法、装置、电子设备及存储介质 | |
CN111131861B (zh) | 恢复分区的升级方法、终端和存储介质 | |
CN116521062A (zh) | 数据处理方法、装置、计算机设备和存储介质 | |
CN106293531B (zh) | 一种基于flash写保护的防止SD使用过程中flash被意外篡改的方法 | |
CN113505026A (zh) | 验证备份数据的方法、装置、设备及存储介质 | |
CN116009969A (zh) | 应用程序控制方法、装置、电子设备、芯片及存储介质 | |
CN112540799A (zh) | 启动数据的管理方法、***、终端设备及存储介质 | |
CN107015827B (zh) | 嵌入式***及其自动运行第三方扩展程序的方法 | |
CN111190627A (zh) | ***升级方法及装置 | |
CN110134456A (zh) | 用于管理操作***的方法、装置、设备和存储介质 | |
JP7205982B2 (ja) | メモリ、メモリのエラー復旧方法、およびメモリを含むバッテリ装置 | |
CN104216797A (zh) | 嵌入式***设定值设定***、方法及电子装置 | |
CN117492799A (zh) | 一种软件升级方法、装置、终端设备及存储介质 | |
CN110018968B (zh) | 一种数据读取方法、电子设备及计算机存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |