CN109887539B - 基于March算法的RAM检测方法 - Google Patents
基于March算法的RAM检测方法 Download PDFInfo
- Publication number
- CN109887539B CN109887539B CN201910005392.3A CN201910005392A CN109887539B CN 109887539 B CN109887539 B CN 109887539B CN 201910005392 A CN201910005392 A CN 201910005392A CN 109887539 B CN109887539 B CN 109887539B
- Authority
- CN
- China
- Prior art keywords
- mcu
- detection
- ram
- data
- chip
- 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
Links
Images
Abstract
本发明公开了一种基于March算法的RAM检测方法,包括:MCU上电,完成系统初始化和外部设备参数配置;系统进入并判定ROM检测、RAM检测是否通过;如果否,则对MCU进行掉电;如果是,则配置Bq76930芯片信息和保护参数,并配置外部设备参数信息;读取两个Bq76930芯片信息,并判断是否超出设置的误差值;如果是,则关闭MOS管或熔断FUSE;如果否,则清零看门狗计数器,并进行其他检测;如果检测不正常,则关闭MOS管或熔断FUSE;如果检测正常,则打开MCU输出标志位,完成该检测。本发明采用March算法进行RAM检测,在进行RAM检测时,能够完成对RAM的检测,检测效率比较高,通过判断Bq76930芯片的故障率情况,能够保证存储器检测逻辑的数据完好率,降低数据存储故障。
Description
技术领域
本发明涉及RAM检测技术领域,尤其涉及一种基于March算法的RAM检测方法。
背景技术
系统芯片(System-on-Chip,soc)技术是21世纪初以来迅速发展起来的超大规模集成电路的主流技术,随着集成电路设计规模的不断增大,在系统芯片soc中嵌入大量存储器的设计方法正变得越来越重要,在现有技术中,对RAM检测普遍存在着故障率较高,连续地址错误和干扰错误较多,测试效率不高的问题,同时,检测的时间也比较长,硬件开销比较多,准确率也不高,因此,现有技术需要改进。
发明内容
本发明实施例所要解决的技术问题是:提供一种基于March算法的RAM检测方法,以解决现有技术中存在的问题。
根据本发明实施例的一个方面,公开一种基于March算法的RAM检测方法,包括:
MCU上电,完成系统初始化参数配置,并完成外部设备参数配置;
系统进入ROM检测、RAM检测,并判断ROM检测、RAM检测是否通过;
如果不通过,则对MCU进行掉电处理,重新启动MCU;
如果通过,则配置Bq76930芯片信息和保护参数,并配置外部设备参数信息;
控制、读取两个Bq76930芯片信息,并判断两个Bq76930芯片信息是否超出设置的误差值;
如果是,则关闭MOS管或熔断FUSE,以启动MCU保护;
如果否,则清零看门狗计数器,并依次进行RAM检测、ROM检测、栈检测、寄存器检测;
如果检测不正常,则关闭MOS管或熔断FUSE,以启动MCU保护;
如果检测正常,则打开MCU输出标志位,完成该检测。
基于本发明上述基于March算法的RAM检测方法的另一个实施例中,所述对MCU进行掉电处理,重新启动MCU包括:
MCU检测发现ROM检测、RAM检测无法通过,并发出告警;
MCU获取错误检测标志位,并启动错误保护;
MCU供电单元停止向MCU供电,MCU掉电;
计时器单元开始计时,并在计时到达设定时间阈值时,向MCU发送启动响应;
MCU供电单元开始向MCU供电,并完成MCU参数配置和外部设备参数配置。
基于本发明上述基于March算法的RAM检测方法的另一个实施例中,所述控制、读取两个Bq76930芯片信息,并判断两个Bq76930芯片信息是否超出设置的误差值包括:
MCU读取两个Bq76930芯片信息,并判断两个Bq76930芯片信息是否一致,所述Bq76930芯片信息包括:单节电压信息、实时电流信息、温度信息;
如果不一致,则判定Bq76930芯片信息错误,进行告警;
如果一致,则比较两个Bq76930芯片信息与MCU设定的Bq76930芯片的工作参数阈值是否一致;
如果不一致,则Bq76930芯片的工作参数状态错误,将错误信息发送至MCU,并由MCU启动应急预案;
如果一致,则Bq76930芯片的工作正常。
基于本发明上述基于March算法的RAM检测方法的另一个实施例中,所述MCU进行RAM检测包括:
采用March算法测试RAM区,并将RAM错误标志位置位;
在RAM区以64byte大小为一个单位,从低地址到高地址的顺序测试RAM区;
计算64byte数据的CRC8校验位,及RAM区全部数据的CRC8校验位;
复制64byte RAM区数据到栈区,对测试的RAM区数据的每个byte进行清零;
从低位到高位逐个bit置位,每置位一次则检测相应的bit是否正常置位;
将64byte的数据还原,将复制到栈区的数据还原到对应区域的RAM区;
计算还原后的64byte数据的CRC8检验位,和还原的全部RAM区数据的CRC8检验位,将还原后的CRC8检验位与之前CRC8校验位相比较,判断校验位是否一致;
如果不一致,则检测出现错误,置RAM检测错误标志位;
如果一致,则完成RAM检测。
基于本发明上述基于March算法的RAM检测方法的另一个实施例中,所述计算64byte数据的CRC8校验位,及RAM区全部数据的CRC8校验位包括:
将校验位数据保存,64byte数据为0xFF,由低地址到高地址的顺序测试RAM区;
检测对应的bit是否置位,将该bit清零,每次清零之后重新检测该bit是否为清零状态;
如果是,则重新对bit进行置位;
如果否,则将64byte的数据还原,将复制到栈区的数据还原到对应区域的RAM区。
与现有技术相比,本发明具有如下优点:
本发明的基于March算法的RAM检测方法在进行RAM检测时,能够完成对RAM的检测,检测效率比较高,通过判断Bq76930芯片的故障率情况,能够保证存储器检测逻辑的数据完好率,降低数据存储故障。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所使用的附图做一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明的基于March算法的RAM检测方法的一个实施例的流程图。
图2是本发明的基于March算法的RAM检测方法的另一个实施例的流程图。
图3是本发明的基于March算法的RAM检测方法的又一个实施例的流程图。
图4是本发明的基于March算法的RAM检测方法的又一个实施例的流程图。
图5是本发明的基于March算法的RAM检测方法的又一个实施例的流程图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例只是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
下面结合附图和实施例对本发明提供的一种基于March算法的RAM检测方法进行更详细地说明。
图1是本发明的基于March算法的RAM检测方法的一个实施例的结构示意图,如图1所示,该实施例的基于March算法的RAM检测方法包括:
10,MCU上电,完成系统初始化参数配置,并完成外部设备参数配置;
20,系统进入ROM检测、RAM检测,并判断ROM检测、RAM检测是否通过;
30,如果不通过,则对MCU进行掉电处理,重新启动MCU;
40,如果通过,则配置Bq76930芯片信息和保护参数,并配置外部设备参数信息;
50,控制、读取两个Bq76930芯片信息,并判断两个Bq76930芯片信息是否超出设置的误差值;
60,如果是,则关闭MOS管或熔断FUSE,以启动MCU保护;
70,如果否,则清零看门狗计数器,并依次进行RAM检测、ROM检测、栈检测、寄存器检测;
80,如果检测不正常,则关闭MOS管或熔断FUSE,以启动MCU保护;
90,如果检测正常,则打开MCU输出标志位,完成该检测。
图2是本发明的基于March算法的RAM检测方法的另一个实施例的流程图,如图2所示,所述对MCU进行掉电处理,重新启动MCU包括:
101,MCU检测发现ROM检测、RAM检测无法通过,并发出告警;
102,MCU获取错误检测标志位,并启动错误保护;
103,MCU供电单元停止向MCU供电,MCU掉电;
104,计时器单元开始计时,并在计时到达设定时间阈值时,向MCU发送启动响应;
105,MCU供电单元开始向MCU供电,并完成MCU参数配置和外部设备参数配置。
图3是本发明的基于March算法的RAM检测方法的又一个实施例的流程图,如图3所示,所述控制、读取两个Bq76930芯片信息,并判断两个Bq76930芯片信息是否超出设置的误差值包括:
201,MCU读取两个Bq76930芯片信息,并判断两个Bq76930芯片信息是否一致,所述Bq76930芯片信息包括:单节电压信息、实时电流信息、温度信息;
202,如果不一致,则判定Bq76930芯片信息错误,进行告警;
203,如果一致,则比较两个Bq76930芯片信息与MCU设定的Bq76930芯片的工作参数阈值是否一致;
204,如果不一致,则Bq76930芯片的工作参数状态错误,将错误信息发送至MCU,并由MCU启动应急预案;
205,如果一致,则Bq76930芯片的工作正常。
图4是本发明的基于March算法的RAM检测方法的又一个实施例的流程图,如图4所示,所述MCU进行RAM检测包括:
301,采用March算法测试RAM区,并将RAM错误标志位置位;
302,在RAM区以64byte大小为一个单位,从低地址到高地址的顺序测试RAM区;
303,计算64byte数据的CRC8校验位,及RAM区全部数据的CRC8校验位;
304,复制64byte RAM区数据到栈区,对测试的RAM区数据的每个byte进行清零;
305,从低位到高位逐个bit置位,每置位一次则检测相应的bit是否正常置位;
306,将64byte的数据还原,将复制到栈区的数据还原到对应区域的RAM区;
307,计算还原后的64byte数据的CRC8检验位,和还原的全部RAM区数据的CRC8检验位,将还原后的CRC8检验位与之前CRC8校验位相比较,判断校验位是否一致;
308,如果不一致,则检测出现错误,置RAM检测错误标志位;
309,如果一致,则完成RAM检测。
图5是本发明的基于March算法的RAM检测方法的又一个实施例的流程图,如图5所示所述计算64byte数据的CRC8校验位,及RAM区全部数据的CRC8校验位包括:
401,将校验位数据保存,64byte数据为0xFF,由低地址到高地址的顺序测试RAM区;
402,检测对应的bit是否置位,将该bit清零,每次清零之后重新检测该bit是否为清零状态;
403,如果是,则重新对bit进行置位;
404,如果否,则将64byte的数据还原,将复制到栈区的数据还原到对应区域的RAM区。
以上对本发明所提供的一种基于March算法的RAM检测方法进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
最后应说明的是:以上所述仅为本发明的优选实施例而已,并不用于限制本发明,尽管参照前述实施例对本发明进行了详细的说明,对于本领域的技术人员来说,其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
Claims (5)
1.一种基于March算法的RAM检测方法,其特征在于,包括:
MCU上电,完成系统初始化参数配置,并完成外部设备参数配置;
系统进入ROM检测、RAM检测,并判断ROM检测、RAM检测是否通过;
如果不通过,则对MCU进行掉电处理,重新启动MCU;
如果通过,则配置Bq76930芯片信息和保护参数,并配置外部设备参数信息;
控制、读取两个Bq76930芯片信息,并判断两个Bq76930芯片信息是否超出设置的误差值;
如果是,则关闭MOS管或熔断FUSE,以启动MCU保护;
如果否,则清零看门狗计数器,并依次进行RAM检测、ROM检测、栈检测、寄存器检测;
如果检测不正常,则关闭MOS管或熔断FUSE,以启动MCU保护;
如果检测正常,则打开MCU输出标志位,完成该检测。
2.根据权利要求1所述的方法,其特征在于,所述对MCU进行掉电处理,重新启动MCU包括:
MCU检测发现ROM检测、RAM检测无法通过,并发出告警;
MCU获取错误检测标志位,并启动错误保护;
MCU供电单元停止向MCU供电,MCU掉电;
计时器单元开始计时,并在计时到达设定时间阈值时,向MCU发送启动响应;
MCU供电单元开始向MCU供电,并完成MCU参数配置和外部设备参数配置。
3.根据权利要求1所述的方法,其特征在于,所述控制、读取两个Bq76930芯片信息,并判断两个Bq76930芯片信息是否超出设置的误差值包括:
MCU读取两个Bq76930芯片信息,并判断两个Bq76930芯片信息是否一致,所述Bq76930芯片信息包括:单节电压信息、实时电流信息、温度信息;
如果不一致,则判定Bq76930芯片信息错误,进行告警;
如果一致,则比较两个Bq76930芯片信息与MCU设定的Bq76930芯片的工作参数阈值是否一致;
如果不一致,则Bq76930芯片的工作参数状态错误,将错误信息发送至MCU,并由MCU启动应急预案;
如果一致,则Bq76930芯片的工作正常。
4.根据权利要求1所述的方法,其特征在于,所述MCU进行RAM检测包括:
采用March算法测试RAM区,并将RAM错误标志位置位;
在RAM区以64byte大小为一个单位,从低地址到高地址的顺序测试RAM区;
计算64byte数据的CRC8校验位,及RAM区全部数据的CRC8校验位;
复制64byte RAM区数据到栈区,对测试的RAM区数据的每个byte进行清零;
从低位到高位逐个bit置位,每置位一次则检测相应的bit是否正常置位;
将64byte的数据还原,将复制到栈区的数据还原到对应区域的RAM区;
计算还原后的64byte数据的CRC8检验位,和还原的全部RAM区数据的CRC8检验位,将还原后的CRC8检验位与之前CRC8校验位相比较,判断校验位是否一致;
如果不一致,则检测出现错误,置RAM检测错误标志位;
如果一致,则完成RAM检测。
5.根据权利要求4所述的方法,其特征在于,所述计算64byte数据的CRC8校验位,及RAM区全部数据的CRC8校验位包括:
将校验位数据保存,64byte数据为0xFF,由低地址到高地址的顺序测试RAM区;
检测对应的bit是否置位,将该bit清零,每次清零之后重新检测该bit是否为清零状态;
如果是,则重新对bit进行置位;
如果否,则将64byte的数据还原,将复制到栈区的数据还原到对应区域的RAM区。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910005392.3A CN109887539B (zh) | 2019-01-03 | 2019-01-03 | 基于March算法的RAM检测方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910005392.3A CN109887539B (zh) | 2019-01-03 | 2019-01-03 | 基于March算法的RAM检测方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109887539A CN109887539A (zh) | 2019-06-14 |
CN109887539B true CN109887539B (zh) | 2021-04-09 |
Family
ID=66925537
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910005392.3A Active CN109887539B (zh) | 2019-01-03 | 2019-01-03 | 基于March算法的RAM检测方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109887539B (zh) |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6779141B1 (en) * | 2000-06-08 | 2004-08-17 | Sun Microsystems, Inc. | System and method for implementing memory testing in a SRAM unit |
CN103310852A (zh) * | 2013-05-13 | 2013-09-18 | 桂林电子科技大学 | 基于ieee 1500标准兼容sram/rom的mbist控制器结构系统 |
CN107978337A (zh) * | 2017-12-21 | 2018-05-01 | 上海华力微电子有限公司 | 适用于随机存储器自动测试的高速电路结构及其测试方法 |
-
2019
- 2019-01-03 CN CN201910005392.3A patent/CN109887539B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6779141B1 (en) * | 2000-06-08 | 2004-08-17 | Sun Microsystems, Inc. | System and method for implementing memory testing in a SRAM unit |
CN103310852A (zh) * | 2013-05-13 | 2013-09-18 | 桂林电子科技大学 | 基于ieee 1500标准兼容sram/rom的mbist控制器结构系统 |
CN107978337A (zh) * | 2017-12-21 | 2018-05-01 | 上海华力微电子有限公司 | 适用于随机存储器自动测试的高速电路结构及其测试方法 |
Also Published As
Publication number | Publication date |
---|---|
CN109887539A (zh) | 2019-06-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105528308A (zh) | 掉电处理方法、装置及电子设备 | |
CN106649173B (zh) | 基于1553b总线的高可靠星载计算机在轨自修正系统及方法 | |
CN107145410A (zh) | 一种系统异常掉电后自动上电开机的方法、系统及设备 | |
CN108062259B (zh) | Mcu内部数据存储ecc处理系统及其处理方法 | |
CN100406903C (zh) | 一种可编程逻辑器件配置的检测方法 | |
KR101557572B1 (ko) | 메모리 회로들, 메모리에 액세스하는 방법 및 메모리를 복구하는 방법 | |
CN106463179A (zh) | 利用存储器控制器处理数据错误事件的方法、装置和系统 | |
WO2017215377A1 (zh) | 内存硬错误的处理方法及装置 | |
CN101349905A (zh) | 引擎控制模块的双核体系结构 | |
US9495261B2 (en) | Systems and methods for reducing memory failures | |
CN111459557A (zh) | 一种缩短服务器开机时间的方法及系统 | |
CN103838656A (zh) | 计算机系统及其操作方法 | |
CN109887539B (zh) | 基于March算法的RAM检测方法 | |
CN109979519B (zh) | 存储器完整性的检验方法、非易失性存储器以及电子装置 | |
US7222271B2 (en) | Method for repairing hardware faults in memory chips | |
EP3290558B1 (en) | Washing machine failure detection and processing method | |
JP4950214B2 (ja) | データ記憶装置における停電を検出する方法、およびデータ記憶装置を復旧する方法 | |
CN110865906B (zh) | 一种电机初始位置角度存储方法、装置、车辆及存储介质 | |
CN113917385A (zh) | 一种面向电能表的自检测方法及系统 | |
KR20180116122A (ko) | 디지털 집적회로에 적용되는 esd 검출 장치, 방법 및 집적회로 | |
US20040153783A1 (en) | Circuit for detecting abnormal operation of memory and integrated circuit and method for detectiing abnormal operation | |
CN116308270A (zh) | 数据故障处理方法、装置、设备、介质和产品 | |
CN113626246A (zh) | 单比特翻转快速修复方法、装置、计算机设备和存储介质 | |
WO2023208228A1 (zh) | 存储装置及数据处理方法 | |
US20210366566A1 (en) | Memory testing |
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 | ||
CB02 | Change of applicant information | ||
CB02 | Change of applicant information |
Address after: 523000 Tongsha New Industrial Park, Dongcheng Street, Dongguan City, Guangdong Province Applicant after: Guangdong Boliwei Technology Co., Ltd. Address before: 523000 Tongsha New Industrial Park, Dongcheng Street, Dongguan City, Guangdong Province Applicant before: DongGuan Greenway Battery Co., Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |