CN108153611B - 故障自检方法、故障自检装置、微控制器和可读存储介质 - Google Patents

故障自检方法、故障自检装置、微控制器和可读存储介质 Download PDF

Info

Publication number
CN108153611B
CN108153611B CN201810023798.XA CN201810023798A CN108153611B CN 108153611 B CN108153611 B CN 108153611B CN 201810023798 A CN201810023798 A CN 201810023798A CN 108153611 B CN108153611 B CN 108153611B
Authority
CN
China
Prior art keywords
check
verification
sub
area
result
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.)
Active
Application number
CN201810023798.XA
Other languages
English (en)
Other versions
CN108153611A (zh
Inventor
张燕京
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Wuhu Midea Smart Kitchen Appliance Manufacturing Co Ltd
Original Assignee
Midea Group Co Ltd
Wuhu Midea Kitchen and Bath Appliances Manufacturing Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Midea Group Co Ltd, Wuhu Midea Kitchen and Bath Appliances Manufacturing Co Ltd filed Critical Midea Group Co Ltd
Priority to CN201810023798.XA priority Critical patent/CN108153611B/zh
Publication of CN108153611A publication Critical patent/CN108153611A/zh
Application granted granted Critical
Publication of CN108153611B publication Critical patent/CN108153611B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1004Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's to protect a block of data words, e.g. CRC or checksum
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • G06F11/1008Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices
    • G06F11/1072Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's in individual solid state devices in multilevel memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Techniques For Improving Reliability Of Storages (AREA)

Abstract

本发明提出了一种故障自检方法、故障自检装置、微控制器和可读存储介质,其中,故障自检方法包括:根据微控制器的运行速度,将只读存储器的待检测存储区间划分为第一数量的父区域,并获取每个父区域的地址数据;根据地址数据依次对父区域执行故障校验;在每个父区域校验完毕时,检测校验结果是否与校验预制值匹配;在检测到校验结果与校验预制值不匹配时,控制关闭与微控制器电连接的负载。通过本发明的技术方案,一方面,通过MCU控制关闭负载,以防止在ROM发生故障时,负载根据ROM中的的混乱代码运行,进而降低事故发生的概率,另一方面,通过进行区域划分,能够减少验证过程中对CPU资源的占用,在保证了MCU正常运行的同时,有利于提升校验效率。

Description

故障自检方法、故障自检装置、微控制器和可读存储介质
技术领域
本发明涉及控制器领域,具体而言,涉及一种故障自检方法、一种故障自检装置、一种微控制器和一种计算机可读存储介质。
背景技术
采用MCU(微控制器)作为控制器的家用电器越来越多,MCU包括ROM(只读存储器),ROM用于存储程序代码,由于ROM作为存储单元,也存在一定的故障几率,在ROM发生故障时,会导致程序代码产生混乱,进而可能产生无法预估的故障,更严重的可能生安全危险。
相关技术中,针对存储器校验中计算使用到的CRC校验算法,CRC校验计算会占用很多CPU资源,导致每次的校验区域变小,同时存放预制CRC结果的数组或者区域就会变大,占用存储空间,从而会影响MCU的正常运行。
发明内容
为了解决上述技术问题至少之一,本发明的一个目的在于提出一种故障自检方法。
本发明的另一个目的在于提出一种故障自检装置。
本发明的再一个目的在于提出一种微控制器。
本发明的又一个目的在于提出一种计算机可读取介质。
为了实现上述目的,本发明第一方面的实施例提出了一种故障自检方法,包括:根据微控制器的运行速度,将只读存储器的待检测存储区间划分为第一数量的父区域,并获取每个父区域的地址数据;根据地址数据依次对父区域执行故障校验;在每个父区域校验完毕时,检测校验结果是否与校验预制值匹配;在检测到校验结果与校验预制值不匹配时,控制关闭与微控制器电连接的负载。
在该技术方案中,通过读取微控制器(MCU)的只读存储器(ROM)的存储区间,以确定ROM存储区间的大小,并根据MCU的运行速度对存储区间进行分区,得到多个父区域,在运行速度较快时,分区数量较多,在运行速度较慢时,分区数量较少,并记录每个分区的地址,以根据地址逐一进行故障校验,得到对应的校验值,通过检测校验值与校验值是否匹配(通常比较是否一致),以在检测到不匹配时,表明存在异常,一方面,通过MCU控制关闭负载,以防止在ROM发生故障时,负载根据ROM中的的混乱代码运行,进而降低事故发生的概率,另一方面,通过进行区域划分,能够减少验证过程中对CPU资源的占用,在保证了MCU正常运行的同时,有利于提升校验效率。
另外,本发明提供的上述实施例中的故障自检方法还可以具有如下附加技术特征:
在上述技术方案中,优选地,根据地址数据依次对父区域执行故障校验,具体包括以下步骤:将每个父区域划分为第二数量的子区域;在根据地址数据确定对应的父区域后,对父区域内的每个子区域执行循环冗余校验,直至父区域校验完成,并生成校验结果。
在该技术方案中,通过将每个父区域进一步划分为第二数量的子区域,从而将ROM的存储区间划分为第一数量X第二数量个虚拟子区间,并以子区间为单位进行循环冗余校验(CRC校验),在一个父区间内的所有子区间完全校验完毕后,生成校验结果,并进行下一个负区间中的子区间的CRC校验,通过进一步减少CRC校验单位时间内的数据处理量,以进一步减少CPU的占用量,在实现自检功能的同时,维持MCU的正常运行。
在上述任一技术方案中,优选地,对父区域内的每个子区域执行循环冗余校验,具体包括以下步骤:根据预设循环周期对每个子区域执行循环冗余校验,并在一个循环周期完毕后,生成子校验结果;将子校验结果确定为下个循环周期的输入值,并在循环周期数达到预设循环周期时,将最后的子校验结果确定为父区域的校验结果。
在该技术方案中,通过周期性对每个子区域进行CRC校验,并将上个周期的子校验结果,作为下个周期的输入值,在对第二数量的子区域校验完毕后,将最后的子校验结果作为一个父区域的校验结果,从而完成一个父区域的校验,并根据校验结果确定该区域是否发生故障,最终只需要得到第一数量的校验结果,从而能够减少校验结果的占用空间。
在上述任一技术方案中,优选地,根据预设循环周期对每个子区域执行循环冗余校验,具体包括以下步骤:确定生成多项式,并根据生成多项式确定校验数据帧;确定初始数据帧,初始数据帧分别包括基于子区域生成的信息数据帧以及校验数据帧;对初始数据帧与生成多项式执行除法操作,生成CRC校验码,并将CRC校验码确定为子校验结果,以根据子校验结果与预设循环周期进入下个循环周期。
在该技术方案中,通过确定生成多项式,以将多项式对应的二进制数作为校验使用的除数,并根据二进制数的位数确定校验数据帧,由于信息数据帧也是一个二进制数组,从而将初始数据帧确定为一个多位的二级制数,通过将初始数据帧与生成多项式做除法,得到的余数为CRC校验码,以作为下一个循环周期中的校验数据帧,直至周期性循环结束后,最后得到的余数为校验结果,以将校验结果与预制验证值进行比较,根据比较结果判定是否存在故障。
在上述任一技术方案中,优选地,在根据微控制器的运行速度,将只读存储器的待检测存储区间划分为第一数量的父区域,并获取每个父区域的地址数据前,还包括:将第一数量的校验预制值存储于只读存储器中的任一存储区域中;在任一存储区域中设置校验值,以根据校验值检测任一存储区域是否故障。
在该技术方案中,通过将第一数量的校验预制值存储在任一存储区域,该存储区域用于存储校验预制值,通过在该区域对应设置校验值,以根据校验值检测该区域是否存在故障,进而实现了整个ROM存储区间的故障检测,以避免在存放CRC校验结果区域发生错误时,导致故障误判。
在上述任一技术方案中,优选地,在检测到校验结果与校验预制值不匹配时,控制关闭与微控制器电连接的负载,还包括:在检测到校验结果与校验预制值不匹配时,生成报错信号,以提示只读存储器故障。
在该技术方案中,通过在控制关闭连接负载的同时,生成报错信号,以提示存储器故障,进而使用户根据报错信号及时进行问题定位与修复。
本发明第二方面的实施例提出了一种故障自检装置,包括:划分单元,用于根据微控制器的运行速度,将只读存储器的待检测存储区间划分为第一数量的父区域,并获取每个父区域的地址数据;校验单元,用于根据地址数据依次对父区域执行故障校验;检测单元,用于在每个父区域校验完毕时,检测校验结果是否与校验预制值匹配;控制单元,用于在检测到校验结果与校验预制值不匹配时,控制关闭与微控制器电连接的负载。
在该技术方案中,通过读取微控制器(MCU)的只读存储器(ROM)的存储区间,以确定ROM存储区间的大小,并根据MCU的运行速度对存储区间进行分区,得到多个父区域,在运行速度较快时,分区数量较多,在运行速度较慢时,分区数量较少,并记录每个分区的地址,以根据地址逐一进行故障校验,得到对应的校验值,通过检测校验值与校验值是否匹配(通常比较是否一致),以在检测到不匹配时,表明存在异常,一方面,通过MCU控制关闭负载,以防止在ROM发生故障时,负载根据ROM中的的混乱代码运行,进而降低事故发生的概率,另一方面,通过进行区域划分,能够减少验证过程中对CPU资源的占用,在保证了MCU正常运行的同时,有利于提升校验效率。
在上述技术方案中,优选地,划分单元还用于:将每个父区域划分为第二数量的子区域;校验单元还用于:在根据地址数据确定对应的父区域后,对父区域内的每个子区域执行循环冗余校验,直至父区域校验完成,并生成校验结果。
在该技术方案中,通过将每个父区域进一步划分为第二数量的子区域,从而将ROM的存储区间划分为第一数量X第二数量个虚拟子区间,并以子区间为单位进行循环冗余校验(CRC校验),在一个父区间内的所有子区间完全校验完毕后,生成校验结果,并进行下一个负区间中的子区间的CRC校验,通过进一步减少CRC校验单位时间内的数据处理量,以进一步减少CPU的占用量,在实现自检功能的同时,维持MCU的正常运行。
在上述任一技术方案中,优选地,校验单元还用于:根据预设循环周期对每个子区域执行循环冗余校验,并在一个循环周期完毕后,生成子校验结果;故障自检装置还包括:确定单元,用于将子校验结果确定为下个循环周期的输入值,并在循环周期数达到预设循环周期时,将最后的子校验结果确定为父区域的校验结果。
在该技术方案中,通过周期性对每个子区域进行CRC校验,并将上个周期的子校验结果,作为下个周期的输入值,在对第二数量的子区域校验完毕后,将最后的子校验结果作为一个父区域的校验结果,从而完成一个父区域的校验,并根据校验结果确定该区域是否发生故障,最终只需要得到第一数量的校验结果,从而能够减少校验结果的占用空间。
在上述任一技术方案中,优选地,确定单元还用于:确定生成多项式,并根据生成多项式确定校验数据帧;确定单元还用于:确定初始数据帧,初始数据帧分别包括基于子区域生成的信息数据帧以及校验数据帧;故障自检装置还包括:执行单元,用于对初始数据帧与生成多项式执行除法操作,生成CRC校验码,并将CRC校验码确定为子校验结果,以根据子校验结果与预设循环周期进入下个循环周期。
在该技术方案中,通过确定生成多项式,以将多项式对应的二进制数作为校验使用的除数,并根据二进制数的位数确定校验数据帧,由于信息数据帧也是一个二进制数组,从而将初始数据帧确定为一个多位的二级制数,通过将初始数据帧与生成多项式做除法,得到的余数为CRC校验码,以作为下一个循环周期中的校验数据帧,直至周期性循环结束后,最后得到的余数为校验结果,以将校验结果与预制验证值进行比较,根据比较结果判定是否存在故障。
在上述任一技术方案中,优选地,还包括:存储单元,用于将第一数量的校验预制值存储于只读存储器中的任一存储区域中;设置单元,用于在任一存储区域中设置校验值,以根据校验值检测任一存储区域是否故障。
在该技术方案中,通过将第一数量的校验预制值存储在任一存储区域,该存储区域用于存储校验预制值,通过在该区域对应设置校验值,以根据校验值检测该区域是否存在故障,进而实现了整个ROM存储区间的故障检测,以避免在存放CRC校验结果区域发生错误时,导致故障误判。
在上述任一技术方案中,优选地,还包括:报错单元,用于在检测到校验结果与校验预制值不匹配时,生成报错信号,以提示只读存储器故障。
在该技术方案中,通过在控制关闭连接负载的同时,生成报错信号,以提示存储器故障,进而使用户根据报错信号及时进行问题定位与修复。
本发明第三方面的技术方案提出了一种微控制器,包括处理器,处理器用于执行存储器中存储的计算机程序时实现如上述第一方面的技术方案中任一项所述的故障自检方法的步骤。
在该技术方案中,在家用电器行业,采用MCU执行电控操作,由于当前家电行业普遍采用底端的MCU,自带的处理器(CPU)运算能力较弱,自带的存储器(ROM)存储空间有限,通过本发明提出的故障自检方法,在实现ROM自检功能的同时,能够节省CPU运算资源以及ROM的占用资源。
本发明的第四方面的实施例提出了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述第一方面的技术方案中任一项的故障自检方法的步骤。
通过本发明提出的故障自检方案,可以自动根据ROM区域的大小调整分区(父区域与子区域)数量,并获得分区的地址数据,并通过分区降低了ROM存储区的CRC校验对CPU资源的占用比,通过将每个区域校验后的子校验结果,作为下次计算的输入值,节省了校验结果的存放空间,通过在校验预制值的存储空间放置校验值,实现整个ROM区域的校验,避免由于存放CRC校验的结果区域放生错误,而导致误判的结果。
针对所要解决的技术问题,通过本发明提出的故障自检方案,可以使用一个或者多个校验值即可校验出整个ROM区域的CRC结果。
本发明的附加方面和优点将在下面的描述部分中变得明显,或通过本发明的实践了解到。
附图说明
本发明的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
图1示出了根据本发明的一个实施例的故障自检方法的示意流程图;
图2示出了根据本发明的实施例的故障自检装置的示意框图;
图3示出了根据本发明的另一个实施例的故障自检方法的示意流程图;
图4示出了根据本发明的实施例的微控制器的示意框图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明的保护范围并不受下面公开的具体实施例的限制。
下面参照图1至图3描述根据本发明一些实施例的故障自检方案。
如图1所示,根据本发明的一个实施例的故障自检方法,包括:步骤102,根据微控制器的运行速度,将只读存储器的待检测存储区间划分为第一数量的父区域,并获取每个父区域的地址数据;步骤104,根据地址数据依次对父区域执行故障校验;步骤106,在每个父区域校验完毕时,检测校验结果是否与校验预制值匹配;步骤108,在检测到校验结果与校验预制值不匹配时,控制关闭与微控制器电连接的负载。
在该实施例中,通过读取微控制器(MCU)的只读存储器(ROM)的存储区间,以确定ROM存储区间的大小,并根据MCU的运行速度对存储区间进行分区,得到多个父区域,在运行速度较快时,分区数量较多,在运行速度较慢时,分区数量较少,并记录每个分区的地址,以根据地址逐一进行故障校验,得到对应的校验值,通过检测校验值与校验值是否匹配(通常比较是否一致),以在检测到不匹配时,表明存在异常,一方面,通过MCU控制关闭负载,以防止在ROM发生故障时,负载根据ROM中的的混乱代码运行,进而降低事故发生的概率,另一方面,通过进行区域划分,能够减少验证过程中对CPU资源的占用,在保证了MCU正常运行的同时,有利于提升校验效率。
其中,故障校验的方法可以包括CRC校验法(循环冗余校验)、奇偶校验法与累加和校验法等。
校验预制值为在ROM正常运行状态下计算出的校验值。
另外,本发明提供的上述实施例中的故障自检方法还可以具有如下附加技术特征:
实施例一:
在上述实施例中,优选地,根据地址数据依次对父区域执行故障校验,具体包括以下步骤:将每个父区域划分为第二数量的子区域;在根据地址数据确定对应的父区域后,对父区域内的每个子区域执行循环冗余校验,直至父区域校验完成,并生成校验结果。
在该实施例中,通过将每个父区域进一步划分为第二数量的子区域,从而将ROM的存储区间划分为第一数量X第二数量个虚拟子区间,并以子区间为单位进行循环冗余校验(CRC校验),在一个父区间内的所有子区间完全校验完毕后,生成校验结果,并进行下一个负区间中的子区间的CRC校验,通过进一步减少CRC校验单位时间内的数据处理量,以进一步减少CPU的占用量,在实现自检功能的同时,维持MCU的正常运行。
实施例二:
在上述任一实施例中,优选地,对父区域内的每个子区域执行循环冗余校验,具体包括以下步骤:根据预设循环周期对每个子区域执行循环冗余校验,并在一个循环周期完毕后,生成子校验结果;将子校验结果确定为下个循环周期的输入值,并在循环周期数达到预设循环周期时,将最后的子校验结果确定为父区域的校验结果。
在该实施例中,通过周期性对每个子区域进行CRC校验,并将上个周期的子校验结果,作为下个周期的输入值,在对第二数量的子区域校验完毕后,将最后的子校验结果作为一个父区域的校验结果,从而完成一个父区域的校验,并根据校验结果确定该区域是否发生故障,最终只需要得到第一数量的校验结果,从而能够减少校验结果的占用空间。
实施例三:
在上述任一实施例中,优选地,根据预设循环周期对每个子区域执行循环冗余校验,具体包括以下步骤:确定生成多项式,并根据生成多项式确定校验数据帧;确定初始数据帧,初始数据帧分别包括基于子区域生成的信息数据帧以及校验数据帧;对初始数据帧与生成多项式执行除法操作,生成CRC校验码,并将CRC校验码确定为子校验结果,以根据子校验结果与预设循环周期进入下个循环周期。
在该实施例中,通过确定生成多项式,以将多项式对应的二进制数作为校验使用的除数,并根据二进制数的位数确定校验数据帧,由于信息数据帧也是一个二进制数组,从而将初始数据帧确定为一个多位的二级制数,通过将初始数据帧与生成多项式做除法,得到的余数为CRC校验码,以作为下一个循环周期中的校验数据帧,直至周期性循环结束后,最后得到的余数为校验结果,以将校验结果与预制验证值进行比较,根据比较结果判定是否存在故障。
具体地,CRC校验过程可以包括:
假设生成多项式为G(X)=X4+X3+1,把生成多项式转换成二进制数,然后根据多项式各项的含义,确定对应的二进制比特串为11001。
因为生成多项式的位数为5(最高位的幂次+1),确定CRC的校验数据帧的位数为4(校验帧的位数比生成多项式的位数少1),假设信息数据帧为10110011,在后面加4个0,得到101100110000,然后把这个数以“模2除法”方式除以生成多项式,得到的余数,即CRC校验码为0100。
在下一个循环周期内,采用得到的校验码0100替换初始数据帧中的后四位的0000,得到新帧101100110100,再采用新帧进行下一个循环验证;
将余数作为验证结果以与预制验证值进行比较,在一致时,表明ROM正常,在不一致时,表明ROM故障。
在上述任一实施例中,优选地,在根据微控制器的运行速度,将只读存储器的待检测存储区间划分为第一数量的父区域,并获取每个父区域的地址数据前,还包括:将第一数量的校验预制值存储于只读存储器中的任一存储区域中;在任一存储区域中设置校验值,以根据校验值检测任一存储区域是否故障。
在该实施例中,通过将第一数量的校验预制值存储在任一存储区域,该存储区域用于存储校验预制值,通过在该区域对应设置校验值,以根据校验值检测该区域是否存在故障,进而实现了整个ROM存储区间的故障检测,以避免在存放CRC校验结果区域发生错误时,导致故障误判。
在上述任一实施例中,优选地,在检测到校验结果与校验预制值不匹配时,控制关闭与微控制器电连接的负载,还包括:在检测到校验结果与校验预制值不匹配时,生成报错信号,以提示只读存储器故障。
在该实施例中,通过在控制关闭连接负载的同时,生成报错信号,以提示存储器故障,进而使用户根据报错信号及时进行问题定位与修复。
如图2所示,根据本发明的实施例的故障自检装置200,包括:划分单元202,用于根据微控制器的运行速度,将只读存储器的待检测存储区间划分为第一数量的父区域,并获取每个父区域的地址数据;校验单元204,用于根据地址数据依次对父区域执行故障校验;检测单元206,用于在每个父区域校验完毕时,检测校验结果是否与校验预制值匹配;控制单元208,用于在检测到校验结果与校验预制值不匹配时,控制关闭与微控制器电连接的负载。
在该实施例中,通过读取微控制器(MCU)的只读存储器(ROM)的存储区间,以确定ROM存储区间的大小,并根据MCU的运行速度对存储区间进行分区,得到多个父区域,在运行速度较快时,分区数量较多,在运行速度较慢时,分区数量较少,并记录每个分区的地址,以根据地址逐一进行故障校验,得到对应的校验值,通过检测校验值与校验值是否匹配(通常比较是否一致),以在检测到不匹配时,表明存在异常,一方面,通过MCU控制关闭负载,以防止在ROM发生故障时,负载根据ROM中的的混乱代码运行,进而降低事故发生的概率,另一方面,通过进行区域划分,能够减少验证过程中对CPU资源的占用,在保证了MCU正常运行的同时,有利于提升校验效率。
在上述实施例中,优选地,划分单元202还用于:将每个父区域划分为第二数量的子区域;校验单元204还用于:在根据地址数据确定对应的父区域后,对父区域内的每个子区域执行循环冗余校验,直至父区域校验完成,并生成校验结果。
在该实施例中,通过将每个父区域进一步划分为第二数量的子区域,从而将ROM的存储区间划分为第一数量X第二数量个虚拟子区间,并以子区间为单位进行循环冗余校验(CRC校验),在一个父区间内的所有子区间完全校验完毕后,生成校验结果,并进行下一个负区间中的子区间的CRC校验,通过进一步减少CRC校验单位时间内的数据处理量,以进一步减少CPU的占用量,在实现自检功能的同时,维持MCU的正常运行。
在上述任一实施例中,优选地,校验单元204还用于:根据预设循环周期对每个子区域执行循环冗余校验,并在一个循环周期完毕后,生成子校验结果;故障自检装置200还包括:确定单元210,用于将子校验结果确定为下个循环周期的输入值,并在循环周期数达到预设循环周期时,将最后的子校验结果确定为父区域的校验结果。
在该实施例中,通过周期性对每个子区域进行CRC校验,并将上个周期的子校验结果,作为下个周期的输入值,在对第二数量的子区域校验完毕后,将最后的子校验结果作为一个父区域的校验结果,从而完成一个父区域的校验,并根据校验结果确定该区域是否发生故障,最终只需要得到第一数量的校验结果,从而能够减少校验结果的占用空间。
在上述任一实施例中,优选地,确定单元210还用于:确定生成多项式,并根据生成多项式确定校验数据帧;确定单元210还用于:确定初始数据帧,初始数据帧分别包括基于子区域生成的信息数据帧以及校验数据帧;故障自检装置200还包括:执行单元212,用于对初始数据帧与生成多项式执行除法操作,生成CRC校验码,并将CRC校验码确定为子校验结果,以根据子校验结果与预设循环周期进入下个循环周期。
在该实施例中,通过确定生成多项式,以将多项式对应的二进制数作为校验使用的除数,并根据二进制数的位数确定校验数据帧,由于信息数据帧也是一个二进制数组,从而将初始数据帧确定为一个多位的二级制数,通过将初始数据帧与生成多项式做除法,得到的余数为CRC校验码,以作为下一个循环周期中的校验数据帧,直至周期性循环结束后,最后得到的余数为校验结果,以将校验结果与预制验证值进行比较,根据比较结果判定是否存在故障。
在上述任一实施例中,优选地,还包括:存储单元214,用于将第一数量的校验预制值存储于只读存储器中的任一存储区域中;设置单元216,用于在任一存储区域中设置校验值,以根据校验值检测任一存储区域是否故障。
在该实施例中,通过将第一数量的校验预制值存储在任一存储区域,该存储区域用于存储校验预制值,通过在该区域对应设置校验值,以根据校验值检测该区域是否存在故障,进而实现了整个ROM存储区间的故障检测,以避免在存放CRC校验结果区域发生错误时,导致故障误判。
在上述任一实施例中,优选地,还包括:报错单元218,用于在检测到校验结果与校验预制值不匹配时,生成报错信号,以提示只读存储器故障。
在该实施例中,通过在控制关闭连接负载的同时,生成报错信号,以提示存储器故障,进而使用户根据报错信号及时进行问题定位与修复。
实施例四:
如图3所示,根据本发明的另一个实施例的故障自检方法,包括:步骤302,读取MCU的ROM区间,以计算区间的大小;步骤304,根据MCU运行速度,计算出适合的划分的区域,以将整个ROM区划分为N个大区域,然后每个大区域划分为M个小区域;步骤306,从一个大区域起始地址开始进行ROM的CRC校验,具体包括周期性对每个小区域进行CRC校验,将每个小区域计算出CRC校验结果作为下次计算的输入值;步骤308,在第一个ROM大区域校验结束时,将结果跟预知的ROM区的值进行比较,如果相同,MCU继续正常运行,如果不同则报警,关掉域安全相关的负载;步骤310,根据区域地址执行下一个大区域校验,直至整个ROM区域校验结束,并得到N个大区域的CRC校验和。
另外,为了校验整个ROM区域,在存放CRC的校验预制值的区域增加存放校验值,用以判断存放CRC校验预制值的区域的存储单元是否正常。
如图4所示,根据本发明的实施例的微控制器,包括处理器404,处理器404用于执行存储器402中存储的计算机程序时实现如上述任一实施例中所述的故障自检方法的步骤。
在该实施例中,在家用电器行业,采用MCU执行电控操作,由于当前家电行业普遍采用底端的MCU,自带的处理器(CPU)运算能力较弱,自带的存储器(ROM)存储空间有限,通过本发明提出的故障自检方法,在实现ROM自检功能的同时,能够。节省CPU运算资源以及ROM的占用资源。
根据本发明的实施例的计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现如上述任一实施例所述的故障自检方法的步骤。
本发明实施例方法中的步骤可以根据实际需要进行顺序调整、合并和删减。
本发明实施例装置中的单元可以根据实际需要进行合并、划分和删减。
本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质包括只读存储器(Read-Only Memory,ROM)、随机存储器(Random Access Memory,RAM)、可编程只读存储器(Programmable Read-only Memory,PROM)、可擦除可编程只读存储器(Erasable Programmable Read Only Memory,EPROM)、一次可编程只读存储器(One-time Programmable Read-Only Memory,OTPROM)、电子抹除式可复写只读存储器(Electrically-Erasable Programmable Read-Only Memory,EEPROM)、只读光盘(CompactDisc Read-Only Memory,CD-ROM)或其他光盘存储器、磁盘存储器、磁带存储器、或者能够用于携带或存储数据的计算机可读的任何其他介质。
根据本发明的技术方案,通过读取微控制器(MCU)的只读存储器(ROM)的存储区间,以确定ROM存储区间的大小,并根据MCU的运行速度对存储区间进行分区,得到多个父区域,在运行速度较快时,分区数量较多,在运行速度较慢时,分区数量较少,并记录每个分区的地址,以根据地址逐一进行故障校验,得到对应的校验值,通过检测校验值与校验值是否匹配(通常比较是否一致),以在检测到不匹配时,表明存在异常,一方面,通过MCU控制关闭负载,以防止在ROM发生故障时,负载根据ROM中的的混乱代码运行,进而降低事故发生的概率,另一方面,通过进行区域划分,能够减少验证过程中对CPU资源的占用,在保证了MCU正常运行的同时,有利于提升校验效率。
以上仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (10)

1.一种故障自检方法,适用于微控制器,所述微控制器集成有只读存储器,其特征在于,包括:
根据所述微控制器的运行速度,将所述只读存储器的待检测存储区间划分为第一数量的父区域,并获取每个所述父区域的地址数据;
根据所述地址数据依次对所述父区域执行故障校验;
在每个所述父区域校验完毕时,检测校验结果是否与校验预制值匹配;
在检测到所述校验结果与所述校验预制值不匹配时,控制关闭与所述微控制器电连接的负载;
所述根据所述地址数据依次对所述父区域执行故障校验,具体包括以下步骤:
将每个所述父区域划分为第二数量的子区域;
在根据所述地址数据确定对应的所述父区域后,对所述父区域内的每个所述子区域执行循环冗余校验,直至所述父区域校验完成,并生成所述校验结果;
所述对所述父区域内的每个所述子区域执行循环冗余校验,具体包括以下步骤:
根据预设循环周期对每个所述子区域执行所述循环冗余校验,并在一个循环周期完毕后,生成子校验结果;
将所述子校验结果确定为下个所述循环周期的输入值,并在循环周期数达到所述预设循环周期时,将最后的所述子校验结果确定为所述父区域的所述校验结果。
2.根据权利要求1所述的故障自检方法,其特征在于,所述根据预设循环周期对每个所述子区域执行所述循环冗余校验,具体包括以下步骤:
确定生成多项式,并根据所述生成多项式确定校验数据帧;
确定初始数据帧,所述初始数据帧分别包括基于所述子区域生成的信息数据帧以及所述校验数据帧;
对所述初始数据帧与所述生成多项式执行除法操作,生成CRC校验码,并将所述CRC校验码确定为所述子校验结果,以根据所述子校验结果与所述预设循环周期进入下个所述循环周期。
3.根据权利要求1所述的故障自检方法,其特征在于,在根据所述微控制器的运行速度,将所述只读存储器的待检测存储区间划分为第一数量的父区域,并获取每个所述父区域的地址数据前,还包括:
将所述第一数量的校验预制值存储于所述只读存储器中的任一存储区域中;
在所述任一存储区域中设置校验值,以根据所述校验值检测所述任一存储区域是否故障。
4.根据权利要求1至3中任一项所述的故障自检方法,其特征在于,所述在检测到所述校验结果与所述校验预制值不匹配时,控制关闭与所述微控制器电连接的负载,还包括:
在检测到所述校验结果与所述校验预制值不匹配时,生成报错信号,以提示所述只读存储器故障。
5.一种故障自检装置,适用于微控制器,所述微控制器集成有只读存储器,其特征在于,包括:
划分单元,用于根据所述微控制器的运行速度,将所述只读存储器的待检测存储区间划分为第一数量的父区域,并获取每个所述父区域的地址数据;
校验单元,用于根据所述地址数据依次对所述父区域执行故障校验;
检测单元,用于在每个所述父区域校验完毕时,检测校验结果是否与校验预制值匹配;
控制单元,用于在检测到所述校验结果与所述校验预制值不匹配时,控制关闭与所述微控制器电连接的负载;
所述划分单元还用于:将每个所述父区域划分为第二数量的子区域;
所述校验单元还用于:在根据所述地址数据确定对应的所述父区域后,对所述父区域内的每个所述子区域执行循环冗余校验,直至所述父区域校验完成,并生成所述校验结果;
所述校验单元还用于:根据预设循环周期对每个所述子区域执行所述循环冗余校验,并在一个循环周期完毕后,生成子校验结果;
所述故障自检装置还包括:
确定单元,用于将所述子校验结果确定为下个所述循环周期的输入值,并在循环周期数达到所述预设循环周期时,将最后的所述子校验结果确定为所述父区域的所述校验结果。
6.根据权利要求5所述的故障自检装置,其特征在于,
所述确定单元还用于:确定生成多项式,并根据所述生成多项式确定校验数据帧;
所述确定单元还用于:确定初始数据帧,所述初始数据帧分别包括基于所述子区域生成的信息数据帧以及所述校验数据帧;
所述故障自检装置还包括:
执行单元,用于对所述初始数据帧与所述生成多项式执行除法操作,生成CRC校验码,并将所述CRC校验码确定为所述子校验结果,以根据所述子校验结果与所述预设循环周期进入下个所述循环周期。
7.根据权利要求5所述的故障自检装置,其特征在于,还包括:
存储单元,用于将所述第一数量的校验预制值存储于所述只读存储器中的任一存储区域中;
设置单元,用于在所述任一存储区域中设置校验值,以根据所述校验值检测所述任一存储区域是否故障。
8.根据权利要求5至7中任一项所述的故障自检装置,其特征在于,还包括:
报错单元,用于在检测到所述校验结果与所述校验预制值不匹配时,生成报错信号,以提示所述只读存储器故障。
9.一种微控制器,其特征在于,所述微控制器包括处理器,所述处理器用于执行存储器中存储的计算机程序时实现如权利要求1-4中任意一项所述故障自检方法的步骤。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于:所述计算机程序被处理器执行时实现如权利要求1-4中任意一项所述故障自检方法的步骤。
CN201810023798.XA 2018-01-10 2018-01-10 故障自检方法、故障自检装置、微控制器和可读存储介质 Active CN108153611B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810023798.XA CN108153611B (zh) 2018-01-10 2018-01-10 故障自检方法、故障自检装置、微控制器和可读存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810023798.XA CN108153611B (zh) 2018-01-10 2018-01-10 故障自检方法、故障自检装置、微控制器和可读存储介质

Publications (2)

Publication Number Publication Date
CN108153611A CN108153611A (zh) 2018-06-12
CN108153611B true CN108153611B (zh) 2021-02-23

Family

ID=62461207

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810023798.XA Active CN108153611B (zh) 2018-01-10 2018-01-10 故障自检方法、故障自检装置、微控制器和可读存储介质

Country Status (1)

Country Link
CN (1) CN108153611B (zh)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111061242A (zh) * 2018-10-16 2020-04-24 联合汽车电子有限公司 电动汽车电机控制器的校验系统及方法
CN111382090A (zh) * 2018-12-28 2020-07-07 长城汽车股份有限公司 车辆的配置数据的存储方法及装置、使用方法及装置
CN110542806B (zh) * 2019-07-23 2020-10-23 珠海格力电器股份有限公司 电器故障自检的方法和系统
CN110716423B (zh) * 2019-11-18 2021-08-31 南京科远智慧科技集团股份有限公司 一种应用于三重冗余超速保护装置的自动巡检方法
CN113849393A (zh) * 2020-06-28 2021-12-28 苏州宝时得电动工具有限公司 自移动设备及其工作方法
CN113468008A (zh) * 2021-07-13 2021-10-01 深圳市越疆科技有限公司 安全控制器的检测方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508732A (zh) * 2011-10-25 2012-06-20 深圳芯邦科技股份有限公司 改善一次性可编程存储器使用性能的方法及装置
CN103208313A (zh) * 2013-04-26 2013-07-17 杭州和利时自动化有限公司 一种检测方法及系统
CN105786404A (zh) * 2016-02-22 2016-07-20 深圳市共进电子股份有限公司 一种Flash存储器的保护方法和装置
CN106383751A (zh) * 2016-09-23 2017-02-08 卡斯柯信号有限公司 一种改进的随机存取内存自检方法

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4645741B2 (ja) * 2009-01-09 2011-03-09 株式会社デンソー 電子制御装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102508732A (zh) * 2011-10-25 2012-06-20 深圳芯邦科技股份有限公司 改善一次性可编程存储器使用性能的方法及装置
CN103208313A (zh) * 2013-04-26 2013-07-17 杭州和利时自动化有限公司 一种检测方法及系统
CN105786404A (zh) * 2016-02-22 2016-07-20 深圳市共进电子股份有限公司 一种Flash存储器的保护方法和装置
CN106383751A (zh) * 2016-09-23 2017-02-08 卡斯柯信号有限公司 一种改进的随机存取内存自检方法

Also Published As

Publication number Publication date
CN108153611A (zh) 2018-06-12

Similar Documents

Publication Publication Date Title
CN108153611B (zh) 故障自检方法、故障自检装置、微控制器和可读存储介质
US8694849B1 (en) Shuffler error correction code system and method
CN102521062B (zh) 可全面在线自检测单粒子翻转的软件容错方法
US5542042A (en) Method and apparatus for monitoring volatile memory validity
US6247151B1 (en) Method and apparatus for verifying that data stored in a memory has not been corrupted
JP5038549B2 (ja) メモリ診断方法、メモリ診断装置およびメモリ診断プログラム
KR101805234B1 (ko) 데이터 메모리의 모니터링 방법, 비일시적 컴퓨터 판독가능 저장 매체 및 보조 메모리
JP2012532372A (ja) ストレージデバイス内のエラーデータを追跡するシステムおよび方法
CN110442473B (zh) 一种非易失性数据存储方法、装置、电子设备及介质
CN104216800A (zh) 一种基于数据冗余的系统故障自动恢复方法及装置
CN111176884A (zh) 用于fpga配置存储器的sec校验方法和装置
CN110334486B (zh) 应用程序完整性校验方法及设备
CN113742123A (zh) 内存故障信息记录方法及设备
CN111966071A (zh) 一种车载控制器数据分类、存储及校验方法
JP2009252026A (ja) メモリ診断装置、及び情報処理装置
JP2014075078A (ja) 電子制御装置
WO2016173353A1 (zh) 一种洗衣机故障检测处理方法
CN110194180A (zh) 自动停车的方法及系统
CN104200835A (zh) 在数据存储器中识别供电中断和重建数据存储器的方法
CN114996061A (zh) 处理器及其自检方法、系统、存储器及智能点灯单元
US8190971B2 (en) Data processing system and method for operating a data processing system
JPH09120376A (ja) データ処理装置
CN113626248A (zh) 一种raid中条带数据不一致的修复方法和系统
JPH1091538A (ja) バックアップ用バッテリーの寿命検出方法および装置
CN111666037A (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
GR01 Patent grant
GR01 Patent grant
TR01 Transfer of patent right
TR01 Transfer of patent right

Effective date of registration: 20221108

Address after: 241000 west side of 3 / F, No.5 office building, new energy and new materials gathering area, Fuzhou Road, Jiangbei District, Wuhu City, Anhui Province

Patentee after: Wuhu Midea intelligent kitchen electricity Manufacturing Co.,Ltd.

Address before: 241009 Wan Chun East Road, East District, Wuhu economic and Technological Development Zone, Anhui

Patentee before: WUHU MIDEA KITCHEN AND BATH APPLIANCES MFG. Co.,Ltd.

Patentee before: MIDEA GROUP Co.,Ltd.