CN115629934A - 监控方法、微控制器、计算机程序及其存储介质 - Google Patents
监控方法、微控制器、计算机程序及其存储介质 Download PDFInfo
- Publication number
- CN115629934A CN115629934A CN202211177567.7A CN202211177567A CN115629934A CN 115629934 A CN115629934 A CN 115629934A CN 202211177567 A CN202211177567 A CN 202211177567A CN 115629934 A CN115629934 A CN 115629934A
- Authority
- CN
- China
- Prior art keywords
- amu
- monitoring
- state
- engine
- task
- 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
- 238000012544 monitoring process Methods 0.000 title claims abstract description 264
- 238000000034 method Methods 0.000 title claims abstract description 47
- 238000004590 computer program Methods 0.000 title claims abstract description 23
- 238000004364 calculation method Methods 0.000 claims abstract description 168
- 230000004044 response Effects 0.000 claims abstract description 19
- 230000002159 abnormal effect Effects 0.000 claims description 20
- 230000002708 enhancing effect Effects 0.000 abstract 1
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 9
- 230000005856 abnormality Effects 0.000 description 4
- 238000011161 development Methods 0.000 description 4
- 230000001133 acceleration Effects 0.000 description 3
- 238000003745 diagnosis Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000004422 calculation algorithm Methods 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 206010063385 Intellectualisation Diseases 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000005192 partition Methods 0.000 description 1
- 238000000638 solvent extraction Methods 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3003—Monitoring arrangements specially adapted to the computing system or computing system component being monitored
- G06F11/3013—Monitoring arrangements specially adapted to the computing system or computing system component being monitored where the computing system is an embedded system, i.e. a combination of hardware and software dedicated to perform a certain function in mobile devices, printers, automotive or aircraft systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/3089—Monitoring arrangements determined by the means or processing involved in sensing the monitored data, e.g. interfaces, connectors, sensors, probes, agents
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/30—Monitoring
- G06F11/34—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment
- G06F11/3409—Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation ; Recording or statistical evaluation of user activity, e.g. usability assessment for performance assessment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Quality & Reliability (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Mathematical Physics (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供一种监控方法、微控制器、计算机程序及其存储介质。其中,在监控状态下,安全核调用存储器内的用于监控的输入数据,并输入至AMU计算引擎的寄存器内,以触发AMU计算引擎进行监控运算。然后,比较监控运算结果与预设标准值是否一致,如是,本次监控任务结束,等待执行下一次监控任务;如否,累计故障次数并判断故障次数是否达到阈值,如是,触发故障响应指令,并停止监控,如否,本次监控任务结束,等待执行下一次监控任务。可见,本发明实现对AMU计算引擎的安全性的实时监控,保证在AMU计算引擎在被确认为故障时能及时响应,从而增强AMU模块的安全性,以在安全核的监控下,AMU模块可适用于安全等级较高的应用场景,拓展其适用范围。
Description
技术领域
本发明涉及智能汽车技术领域,特别涉及一种监控方法、微控制器、计算机程序及其存储介质。
背景技术
随着汽车智能化的发展,汽车控制器的集成度和复杂度越来越高,传统的硬件架构和开发模式已无法处理复杂的功能开发和大量的标定数据。对此,为保证控制器的控制精度,现有的汽车控制器中会采用机器学习算法进行数学建模,以解决上述技术难题。其中,基于高斯过程回归(Gaussian Process Regression,GPR)的建模算法,可以使得建模更加方便、高效,且模型精度也可以得到保证。然而,传统微控制器(Micro-Controller Unit,MCU)的安全核(Central Processing Unit,CPU)很难处理高斯过程回归公式,且无法满足控制器所需要的实时性要求。为此,现在的主流车用微控制器芯片均具备了高级建模单元(Advanced Modelling Unit,AMU)。AMU模块是一个高性能硬件加速单元,集成在MCU内部,可专门用于拟合计算高斯过程回归GPR表达式。开发者只需要将模型参数和输入配置到相应寄存器中,触发计算,即可得到相应的输出结果,大大提升了运算速度,为传统控制器开发提供了新的想象力。
但是,AMU模块在设计时没有考虑到功能安全问题,无法直接用于安全关键(Safety Critical)系统。则在AMU模块中的AMU计算引擎运算过程中,无法实时监控其安全状况,对于控制器的稳定性和安全性来说是个潜在的隐患。
因此,亟需一种用于AMU模块的监控方法,以实现实时监控AMU模块的安全状况,提高控制器的整体安全性。
发明内容
本发明的目的在于提供一种监控方法、微控制器、计算机程序及其存储介质,以解决如何对AMU模块进行实时性的安全监控,如何拓展AMU模块的应用范围以及如何提高微控制器的安全性中的至少一个问题。
为解决上述技术问题,本发明提供一种监控方法,用于对AMU模块进行安全监控,其中,所述AMU模块中设置有至少一个AMU计算引擎,所述AMU计算引擎用于执行运算指令,且具有工作状态和监控状态;所述监控方法包括:
所述AMU计算引擎进入所述监控状态;
将用于监控的输入数据输入至所述AMU计算引擎的寄存器内,以触发所述AMU计算引擎执行监控运算;
获取所述AMU计算引擎的监控运算结果,并比较所述监控运算结果与预设标准值是否一致,如是,本次监控任务结束,等待执行下一次监控任务;如否,累计故障次数并判断所述故障次数是否达到阈值,如是,触发故障响应指令,并停止监控,如否,本次监控任务结束,等待执行下一次监控任务。
可选的,在所述的监控方法中,在所述监控状态下,执行至少一次所述监控任务。
可选的,在所述的监控方法中,所述AMU计算引擎的所述工作状态和所述监控状态交替切换。
可选的,在所述的监控方法中,当所述AMU计算引擎的数量大于或等于2时,部分个所述AMU计算引擎具有所述工作状态和所述监控状态,剩余部分个所述AMU计算引擎具有所述工作状态;
其中,每一个具有所述监控状态的所述AMU计算引擎对应于若干个不具有所述监控状态的所述AMU计算引擎,以所述工作状态下,执行与各个不具有所述监控状态的所述AMU计算引擎相同的运算指令。
可选的,在所述的监控方法中,所述监控方法还包括:
当一个具有所述监控状态的所述AMU计算引擎位于所述工作状态下时,执行相对应的一个不具有所述监控状态的所述AMU计算引擎的运算指令,比较两个所述AMU计算引擎的运算结果,并判断是否一致,如是,结束本次比较任务,等待执行下一次比较任务;如否,累计所述相对应的一个不具有所述监控状态的所述AMU计算引擎的异常次数,并判断所述异常次数是否达到设定值,如是,触发所述故障响应指令,并停止监控;如否,结束本次比较任务,等待执行下一次比较任务。
可选的,在所述的监控方法中,在具有监控状态的所述AMU计算引擎的所述工作状态中,所述具有监控状态的所述AMU计算引擎与若干个相对应的不具有所述监控状态的所述AMU计算引擎执行至少一次所述比较任务。
基于同一发明构思,本发明还提供一种计算机程序,包括用于当在合适的计算机设备上执行所述计算机程序时执行所述的监控方法。
基于同一发明构思,本发明还提供一种微控制器,包括:AMU模块、存储器和安全核;其中,
所述存储器用于存储所述计算机程序;
所述安全核用于运行所述计算机程序,以对所述AMU模块执行安全监控。
可选的,在所述的微控制器中,所述存储器还用于存储多套所述用于监控的输入数据及对应的所述预设标准值,以在执行所述监控任务时,所述安全核调用一套所述用于监控的输入数据,并输入至所述AMU计算引擎的寄存器内;以及,所述存储器还用于至少存储所述AMU计算引擎在所述工作状态下的运算结果、所述监控运算结果、所述监控运算结果与所述预设标准值的比较结果以及所述故障次数。
基于同一发明构思,本发明还提供在所述计算机可读存储介质上编码有所述的计算机程序。
综上所述,本发明提供一种监控方法、微控制器、计算机程序及其存储介质。其中,所述微控制器内设置有所述安全核,用于对所述AMU计算引擎执行安全监控。即,当所述AMU计算引擎进入所述监控状态时,所述安全核调用所述存储器内的所述用于监控的输入数据,并输入至所述AMU计算引擎的寄存器内,以触发所述AMU计算引擎进行监控运算。然后,比较所述监控运算结果与预设标准值是否一致,如是,本次监控任务结束,等待执行下一次监控任务;如否,累计故障次数并判断所述故障次数是否达到阈值,如是,触发故障响应指令,并停止监控,如否,本次监控任务结束,等待执行下一次监控任务。可见,本发明实现了对所述AMU计算引擎的安全性的实时监控,保证在所述AMU计算引擎在被确认为故障时能够及时响应,提升所述微控制器的整体安全性能。并且,通过对AMU计算引擎的监控,来掌握AMU模块内部的公用支持性硬件的失效情况,进而实现对AMU模块的安全监控。
因此,本发明解决了AMU模块设计时没有考虑功能安全的问题,则在所述安全核的安全监控下,所述AMU模块可直接适用于安全关键系统,或其他安全等级较高的应用场景,拓展其适用范围。
附图说明
图1是本发明实施例中监控方法的流程图。
图2是本发明实施例中AMU模块的内部结构示意图。
图3是本发明实施例中工作状态和监控状态交替关系示意图。
图4是本发明实施例中微控制器的结构示意图。
图5是本发明实施例中执行一次监控任务的流程图。
图6是本发明实施例中一种AMU模块的内部结构示意图。
图7是本发明实施例中AMU0的状态示意图及时间段划分示意图。
图8是本发明实施例中AMU1的状态示意图及时间段划分示意图。
图9是本发明实施例中两个AMU计算引擎与安全核的关系示意图。
图10是本发明实施例中执行一次比较任务的流程图。
图11是本发明实施例中第二AMU计算引擎的状态示意图及时间段划分示意图。
其中,附图标记为:
10-AMU模块;101-AMU计算引擎;1011-第一AMU计算引擎;1012-第二AMU计算引擎;20-安全核;30-存储器;a-工作状态;b-监控状态。
具体实施方式
为使本发明的目的、优点和特征更加清楚,以下结合附图和具体实施例对本发明作进一步详细说明。需说明的是,附图均采用非常简化的形式且未按比例绘制,仅用以方便、明晰地辅助说明本发明实施例的目的。此外,附图所展示的结构往往是实际结构的一部分。特别的,各附图需要展示的侧重点不同,有时会采用不同的比例。还应当理解的是,除非特别说明或者指出,否则说明书中的术语“第一”、“第二”、“第三”等描述仅仅用于区分说明书中的各个组件、元素、步骤等,而不是用于表示各个组件、元素、步骤之间的逻辑关系或者顺序关系等。
请参阅图1,本实施例提供一种监控方法,包括:
步骤一S11:所述AMU计算引擎进入所述监控状态;
步骤二S12:将用于监控的输入数据输入至所述AMU计算引擎的寄存器内,以触发所述AMU计算引擎执行监控运算;
步骤三S13:获取所述AMU计算引擎的监控运算结果,并比较所述监控运算结果与预设标准值是否一致,如是,本次监控任务结束,等待执行下一次监控任务;如否,累计故障次数并判断所述故障次数是否达到阈值,如是,触发故障响应指令,并停止监控,如否,本次监控任务结束,等待执行下一次监控任务。
可见,本实施例提供的所述监控方法实现了对所述AMU计算引擎的安全性的实时监控,保证在所述AMU计算引擎在被确认为故障时能够及时响应,提升所述微控制器的整体安全性能,进而通过对所述AMU计算引擎的安全监控,覆盖对AMU模块内部公用支持性硬件失效的安全监控,从而解决了AMU模块设计时没有考虑功能安全的问题。在所述安全核的安全监控下,所述AMU模块可直接适用于安全关键系统,或其他安全等级较高的应用场景,拓展其适用范围。
以下结合附图1-11具体介绍本实施例提供的所述监控方法。
请参阅图2,所述AMU模块10是一个高性能硬件加速单元,包含有若干个AMU计算引擎101,以及一些支持性硬件,例如为静态存储模块SRAM和内存访问模块DMA。其中,所述AMU计算引擎101为硬件实现的专门用于RBF核函数计算的内核,SRAM用于机器学习模型的存储,DMA模块用于从Flash中将模型参数加载到SRAM。因此,本实施例提供的所述监控方法是通过对AMU计算引擎101进行监控,由此来覆盖DMA和SRAM等公用支持性硬件的失效,从而实现对AMU模块10整体的安全监控。
请参阅图3-4,所述AMU计算引擎101用于执行运算指令,具有工作状态a和监控状态b。其中,在所述工作状态a的时间段内所述AMU计算引擎101根据运算指令,执行工作任务运算。在所述监控状态b的时间段内所述AMU计算引擎101根据运算指令,执行监控任务运算。进一步的,在上电后,所述AMU计算引擎的所述工作状态a和所述监控状态b交替切换。如图3所示,工作状态a对应的时间段T1、T2、T3……Tx之间均插入有所述监控状态b的时间段Tm。其中,x为正整数。本实施例不限定所述工作状态a和所述监控状态b的切换次数,可以是只切换一次,也可以是多次。例如,上电后所述AMU计算引擎101一直为所述工作状态a,在经过时间T1后,所述AMU计算引擎101一直为所述监控状态b,即处于时间段Tm直至下电或休眠。当然,所述AMU计算引擎101也可以是先呈所述监控状态b再切换至所述工作状态a,本实施例对所述工作状态a和所述监控状态b的先后顺序也不作限定。进一步的,通过调节所述工作状态a对应的时间段T1、T2、T3……Tx,以及调节所述监控状态b的时间段Tm的时间长短,可实现对所述AMU计算引擎101执行不同频率的安全监控。则可根据所述AMU计算引擎101实际使用负荷与功能安全诊断覆盖率的要求,调整所述监控状态b的时间段Tm插入的时刻与频率,本实施例对此不做具体限定。
请参阅图2和4,基于同一发明构思,本实施例还提供一种计算机程序及微控制器。其中,所述计算机程序用于当在合适的计算机设备上执行所述计算机程序时执行所述监控方法。所述微控制器包括AMU模块10、安全核20和所述存储器30。其中,所述存储器30用于存储所述计算机程序;所述安全核20用于运行所述计算机程序,以实现对所述AMU模块10执行安全监控,保证所述AMU模块10的功能安全。
其中,所述AMU模块10内可设置有若干个AMU计算引擎101,本实施例对具体的数量不做限定,可以为1个、2个或3个以上。进一步的,在一个实施例中,所述AMU模块10中只设置有一个所述AMU计算引擎101,则对所述AMU计算引擎101的监控过程如下:
请参阅图1~5,其中,图5为执行一次监控任务的流程图。
步骤一S11:所述AMU计算引擎101进入所述监控状态b。
因所述AMU计算引擎101具有交替切换的所述工作状态a和所述监控状态b,故当所述AMU计算引擎101的状态从工作状态a切换至所述监控状态b,或直接进入所述监控状态b时,所述安全核20开始对所述AMU计算引擎101进行监控。
步骤二S12:将用于监控的输入数据输入至所述AMU计算引擎101的寄存器内,以触发所述AMU计算引擎101执行监控运算。
需要说明的是,所述存储器30内存储有多套所述用于监控的输入数据,以在执行所述监控任务时,所述安全核20调用其中一套所述用于监控的输入数据,并输入至所述AMU计算引擎101的寄存器内,以触发所述AMU计算引擎101执行监控运算。
例如,图3所示的三个监控状态b的时间段Tm,每一所述时间段Tm内执行一次监控任务,则在执行第一个所述时间段Tm对应的所述监控任务时,所述安全核20调取所述存储器30中的第一套用于监控的输入数据,并输入至所述AMU计算引擎101的寄存器内。在执行第二个所述时间段Tm对应的所述监控任务时,所述安全核20调取所述存储器30中的第二套用于监控的输入数据,并输入至所述AMU计算引擎101的寄存器内。以及,在执行第三个所述时间段Tm对应的所述监控任务时,所述安全核20调取所述存储器30中的第三套用于监控的输入数据,并输入至所述AMU计算引擎101的寄存器内。在后续的监控任务中,可以使用新的一套用于监控的输入数据,还可以重复使用前述的各套用于监控的输入数据。
或者,每一所述时间段Tm内执行两次监控任务,在执行第一个所述时间段Tm内的第一次所述监控任务时,所述安全核20调取所述存储器30中的第一套用于监控的输入数据;以及,在执行第一个所述时间段Tm内的第二次所述监控任务时,所述安全核20调取所述存储器30中的第二套用于监控的输入数据。基于此,可以避免因单套所述用于监控的输入数据及对应的预设标准值所带来的监控局限性,以提高诊断覆盖率,从而获取更为准确的安全监控结果。其中,本实施例不限定每切换至所述监控状态b后,所述监控状态b下对应的时间段Tm内执行监控任务的数量,可以为一次、两次或三次等;以及不限定每套所述用于监控的输入数据及对应的所述预设标准值的具体使用顺序及次数,可设置为随机使用。
步骤三S13:获取所述AMU计算引擎101的监控运算结果,并比较所述监控运算结果与预设标准值是否一致,如是,本次监控任务结束,等待执行下一次监控任务;如否,累计故障次数并判断所述故障次数是否达到阈值,如是,触发故障响应指令,并停止监控,如否,本次监控任务结束,等待执行下一次监控任务。
在所述AMU计算引擎101执行监控运算的过程中,所述安全核20处于等待状态。当所述AMU计算引擎101完成所述监控运算之后,所述安全核20会获取对应的监控运算结果,并与预设标准值进行比较。如果二者数据一致,则说明本次监控任务中,所述AMU计算引擎101运算正确,无故障。相应的,本次监控任务结束,等待执行下一次监控任务。如果二者数据不一致,则说明在本次监控任务中,所述AMU计算引擎101运算错误,可能存在故障。基于此,需要进行更进一步的判断,则所述安全核20中的故障计数器加1,即累计所述故障次数,并判断所述故障次数是否达到阈值,如是,所述安全核20触发故障响应指令,并停止监控,如否,本次监控任务结束,等待执行下一次监控任务。
例如,在所述监控状态下,所述AMU计算引擎101获取第一用于监控的输入数据(x1,x2,x3,x4 x5,x6),且所述第一用于监控的输入数据对应的预设标准值为1。若所述AMU计算引擎101的输出结果w=1,则表明在本次监控任务中所述AMU计算引擎101运算正确,进入等待执行下一次监控任务的状态中。若所述AMU计算引擎101的输出结果w≠1,则表明在本次监控任务中所述AMU计算引擎101运算错误,所述故障计数器在之前的计数基础上加1。即,若所述故障计数器之前累计所述故障次数为2,则更新所述故障次数为3。继而,所述安全核20内继续执行判断程序,即判断更新后所述故障次数是否达到阈值q。若阈值q=5,3<5,表明更新后所述故障次数未达到阈值,则结束本次监控任务,等待执行下一次监控任务。若阈值q=3,表明更新后所述故障次数达到阈值,所述安全核20确认所述AMU计算引擎101故障,并发出所述故障响应指令,同时停止监控。
进一步的,所述存储器30还用于存储:所述AMU计算引擎101在所述工作状态下的运算结果,所述监控运算结果、所述监控运算结果与所述预设标准值的比较结果以及所述故障次数。
在其他实施例中,所述AMU模块10内设置有多个AMU计算引擎101。部分个所述AMU计算引擎101具有所述工作状态a和所述监控状态b,剩余部分个所述AMU计算引擎101只具有所述工作状态a。其中,每一个具有所述监控状态b的所述AMU计算引擎101对应于若干个不具有所述监控状态b的所述AMU计算引擎101,以所述工作状态下,执行与各个不具有所述监控状态的所述AMU计算引擎相同的运算指令。换言之,具有所述监控状态b的所述AMU计算引擎101在自身的任意一个或多个所述工作状态a下,执行与其对应的不具有所述监控状态b的所述AMU计算引擎101相同的运算指令。可选的,在同一所述工作状态a下只执行一个不具有所述监控状态b的所述AMU计算引擎101相同的运算指令;或者,在同一所述工作状态a下执行两个以上不具有所述监控状态b的所述AMU计算引擎101相同的运算指令。其中,针对每一种不具有所述监控状态b的所述AMU计算引擎101相同的运算指令可执行一次或多次。
例如,图6-8所示,所述AMU模块10内设置有10个AMU计算引擎101,相应的序号分别为AMU0~AMU9。其中,AMU0和AMU1具有所述工作状态a和所述监控状态b,AMU2~AMU9只具有所述工作状态a。其中,AMU0对应于AMU2~AMU6;AMU1对应于AMU7~AMU9。在一个实施例中,所述AMU0的任意一个所述工作状态a下,可以执行AMU2~AMU6中任意一个或多个的相同运算指令。例如,在所述AMU0的第一个工作状态a下,执行多次AMU2的相同运算指令;在所述AMU0的第二个工作状态a下,依次执行AMU3~AMU4的相同运算指令;在所述AMU0的第三个工作状态a下,执行多次AMU5和AMU6的相同运算指令。本实施例对于AMU0的每个工作状态a下,执行相同运行指令的对象和次数不做限定。同样,对于AMU1的每个工作状态a下,执行相同运行指令的对象和次数也不做限定。
在其他实施例中,可以对所述AMU0和AMU1的运行状态的时间段进行划分,以在不同的实间段内执行对应的不具有所述监控状态的AMU计算引擎101的相同运算指令。例如,AMU0的运行时间段可以分为五段及以上,且任意一个时间段中均具有工作状态a和监控状态b。假设AMU0的运行时间段分为五段,在第一时间段T-AMU2内,AMU0的状态保持为工作状态a和监控状态b的交替,且在所述第一时间段T-AMU2内工作状态a下,AMU0执行与AMU2相同的运算指令,在所述第一时间段T-AMU2内监控状态b下,安全核对AMU0执行监控任务。以此类推,AMU0的第二时间段T-AMU3内的工作状态a下,AMU0执行与AMU3相同的运算指令;AMU0的第三时间段T-AMU4内的工作状态a下,AMU0执行与AMU4相同的运算指令;AMU0的第四时间段T-AMU5内的工作状态a下,AMU0执行与AMU5相同的运算指令;AMU0的第五时间段T-AMU6内的工作状态a下,AMU0执行与AMU6相同的运算指令。
同样,AMU1的运行时间段可以分为三段及以上,AMU1的第一时间段T-AMU7内的工作状态a下,AMU1执行与AMU7相同的运算指令;AMU1的第二时间段T-AMU8内的工作状态a下,AMU1执行与AMU8相同的运算指令;AMU1的第三时间段T-AMU9内的工作状态a下,AMU1执行与AMU9相同的运算指令。当然,AMU0和AMU1的运行时间段还分为很多段时,可以循环执行各个时间段内的运算。本实施例不限定AMU0和AMU1执行AMU2~AMU9中的运算指令的顺序。
基于此,在所述AMU模块10内设置有两个以上AMU计算引擎101时,所述监控方法还包括:当一个具有所述监控状态b的所述AMU计算引擎101位于所述工作状态a下时,执行相对应的一个不具有所述监控状态的所述AMU计算引擎101的运算指令,比较两个所述AMU计算引擎101的运算结果,并判断是否一致,如是,结束本次比较任务,等待执行下一次比较任务;如否,累计所述相对应的一个不具有所述监控状态b的所述AMU计算引擎101的异常次数,并判断所述异常次数是否达到设定值,如是,触发所述故障响应指令,并停止监控;如否,结束本次比较任务,等待执行下一次比较任务。需要说明的是,执行相同所述运算指令是指执行的运算程序相同,以及所接收的输入数据相同。
例如,图9-10所示,所述AMU模块10包括两个所述AMU计算引擎,本实施例分别命名为第一AMU计算引擎1011和第二AMU计算引擎1012。第一AMU计算引擎1011只具有所述工作状态;所述第二AMU计算引擎1012具有所述工作状态和所述监控状态;且在所述工作状态下,两个所述AMU计算引擎执行相同所述运算指令。可以理解的是,所述第一AMU计算引擎1011用于执行正常的工作运算指令。所述第二AMU计算引擎1012不仅执行与所述第一AMU计算引擎101相同的运算指令,同时还配合所述安全核20进行安全监控。因此,在对所述第二AMU计算引擎1012执行监控的过程中,所述监控方法还包括:
步骤S21:第二AMU计算引擎1012进入工作状态。即,所述第二AMU计算引擎1012切换至所述工作状态,或直接进入所述工作状态。
步骤S22:所述第一AMU计算引擎1011和所述第二AMU计算引擎1012执行相同的运算。
步骤S23:所述安全核20分别获取所述第一AMU计算引擎1011和所述第二AMU计算引擎1012的运算结果,并判断二者是否一致,若一致,则说明本次比较没有异常,则结束本次比较任务,等待执行下一次比较任务。若不一致,则说明本次比较结果出现异常,即所述第一AMU计算引擎1011和所述第二AMU计算引擎1012中至少一个出现故障。对此,需要对所述第一AMU计算引擎1011对应的异常次数进行累计加1,并判断所述异常次数是否到达设定值,如是,所述安全核20触发所述故障响应指令,停止监控;如否,说明本次比较出现异常,但未表明所述第一AMU计算引擎1011和所述第二AMU计算引擎1012一定故障,则结束本次比较任务,等待执行下一次比较任务。需要说明的是,当所述第一AMU计算引擎1011和所述第二AMU计算引擎1012的运算结果一致时,也存在二者出现相同故障的可能,因此进一步对所述第二AMU计算引擎1012进行安全监控,可以排查出相同故障的情况,进一步提升诊断覆盖率。
其中,等待执行下一次比较任务所指包括但不限定为以下三种情况:第一,当设定所述微控制器上电后执行一次所述比较任务,则在本次比较任务结束后,等待下一次上电后再执行一次所述比较任务。第二,当设定每次进入所述工作状态后均执行一次比较任务,则在本次比较任务结束后,所述工作状态切换至所述监控状态,执行监控任务,待从所述监控状态再切换回所述工作状态后再执行一次所述比较任务。第三,当设定每一所述工作状态内执行两次以上比较任务,则在本次比较任务结束后,直接进入下一次比较任务,或等待设定间隔时间后再执行一次比较任务。以及,所述停止监控是指停止执行比较任务和监控任务。进一步的,本实施例中的图10为执行一次工作状态下的运算结果比较的流程图。本实施例不限定执行所述比较任务的次数,可以是所述微控制器在上电后的第一个所述工作状态下执行一次或多次,也可以是所述微控制器在上电后每一次切换至所述工作状态下均执行一次或多次的运算结果比较。
进一步的,当所述第二AMU计算引擎1012还对应于其他所述AMU计算引擎时,在具有监控状态的所述AMU计算引擎的所述工作状态中,所述具有监控状态的所述AMU计算引擎与若干个相对应的不具有所述监控状态的所述AMU计算引擎执行至少一次所述比较任务。例如,所述第二AMU计算引擎1012还对应于第三AMU计算引擎1013和第四AMU计算引擎1014。在所述第二AMU计算引擎1012位于某一个所述工作状态下,可以与第一AMU计算引擎1011、第三AMU计算引擎1013和第四AMU计算引擎1014分别执行一次或多次比较任务,或者所述第二AMU计算引擎1012与对应的这三个AMU计算引擎中任意一个或几个执行一个或多次比较任务。即,在所述第二AMU计算引擎1012的每一所述工作状态下,执行比较任务的对象、执行次数以及执行顺序不限定。
进一步的,在一个实施例中,所述第一AMU计算引擎1011的状态还可以根据时间划分为多个时间段,以执行不同的比较任务。如图11所示,在所述第一AMU计算引擎1011对应的时间段T-1011内,所述第二AMU计算引擎1012与所述第一AMU计算引擎1011执行比较任务;当在时间段T-1013内,所述第二AMU计算引擎1012与所述第三AMU计算引擎1013执行比较任务;当在时间段T-1014内,所述第二AMU计算引擎1012与所述第四AMU计算引擎1014执行比较任务。其中,比较过程中产生的异常次数累计,也分别对应于各个AMU计算引擎。例如,在时间段T-1011内,所述第二AMU计算引擎1012与所述第一AMU计算引擎1011执行至少一次比较任务,则比较过程中的异常次数累计对应的为所述第一AMU计算引擎1011的异常次数。假设,在所述第二AMU计算引擎1012的第一个时间段T-1011结束后,所述第一AMU计算引擎1011的异常次数为3,未达到所述设定值,则所述第二AMU计算引擎1012进入到时间段T-1013内,则所述第二AMU计算引擎1012会与第三AMU计算引擎1013执行至少一次比较任务,如果在此期间也出现异常,则累计为第三AMU计算引擎1013的异常次数,并不在所述第一AMU计算引擎1011的异常次数3上加1,则是在第三AMU计算引擎1013对应的之前累计的异常次数上加1。直至所述第二AMU计算引擎1012再次进入时间段T-1011时,继续与所述第一AMU计算引擎1011执行比较任务,若期间出现异常,则在之前的异常次数3上加1。
进一步的,当其中某一个AMU计算引擎的异常次数累计达到所述设定值时,对应的所述AMU计算引擎产生故障响应,并且根据所述故障涉及的范围,执行全局响应或分区响应。其中,在全局响应中,所有的AMU计算引擎停止运行;在分区响应中,无故障的其他AMU计算引擎可以正常运行,也可以根据功能关联性停止运行。
进一步的,所述存储器30至少还用于存储所述AMU计算引擎101在所述工作状态下的比较结果以及各所述AMU计算引擎101对应的所述异常次数。
需要说明的是,本实施例提供的所述监控方法通过对AMU计算引擎101进行监控,由此来覆盖DMA和SRAM等公用支持性硬件的失效,从而实现对AMU模块10整体的安全监控。并且,所述监控方法不限于对所述AMU计算引擎10进行监控,还使用于其他硬件加速单元。
基于同一发明构思,本实施例还提供在所述计算机可读存储介质上编码有所述的计算机程序。
综上所述,本实施例提供一种监控方法、微控制器、计算机程序及其存储介质。其中,所述微控制器内设置有所述安全核20,用于对所述AMU计算引擎10执行安全监控。即,当所述AMU计算引擎10进入所述监控状态时,所述安全核20调用所述存储器30内的所述用于监控的输入数据,并输入至所述AMU计算引擎10的寄存器内,以触发所述AMU计算引擎10进行监控运算。然后,比较所述监控运算结果与预设标准值是否一致,如是,本次监控任务结束,等待执行下一次监控任务;如否,累计故障次数并判断所述故障次数是否达到阈值,如是,触发故障响应指令,并停止监控,如否,本次监控任务结束,等待执行下一次监控任务。可见,本实施例实现了对所述AMU计算引擎10的安全性的实时监控,保证在所述AMU计算引擎10在被确认为故障时能够及时响应,提升所述微控制器的整体安全性能。并且,本实施例通过对AMU计算引擎101的监控,来掌握AMU模块10内部的公用支持性硬件的失效情况,进而实现对AMU模块10的安全监控。因而,本实施例解决了AMU计算引擎10设计时没有考虑功能安全的问题,则在所述安全核20的安全监控下,所述AMU计算引擎10可直接适用于安全关键系统,或其他安全等级较高的应用场景,拓展其适用范围。
此外还应该认识到,虽然本发明已以较佳实施例披露如上,然而上述实施例并非用以限定本发明。对于任何熟悉本领域的技术人员而言,在不脱离本发明技术方案范围情况下,都可利用上述揭示的技术内容对本发明技术方案作出许多可能的变动和修饰,或修改为等同变化的等效实施例。因此,凡是未脱离本发明技术方案的内容,依据本发明的技术实质对以上实施例所做的任何简单修改、等同变化及修饰,均仍属于本发明技术方案保护的范围。
Claims (10)
1.一种监控方法,用于对AMU模块进行安全监控,其中,所述AMU模块中设置有至少一个AMU计算引擎,其特征在于,所述AMU计算引擎用于执行运算指令,且具有工作状态和监控状态;所述监控方法包括:
所述AMU计算引擎进入所述监控状态;
将用于监控的输入数据输入至所述AMU计算引擎的寄存器内,以触发所述AMU计算引擎执行监控运算;
获取所述AMU计算引擎的监控运算结果,并比较所述监控运算结果与预设标准值是否一致,如是,本次监控任务结束,等待执行下一次监控任务;如否,累计故障次数并判断所述故障次数是否达到阈值,如是,触发故障响应指令,并停止监控,如否,本次监控任务结束,等待执行下一次监控任务。
2.根据权利要求1所述的监控方法,其特征在于,在所述监控状态下,执行至少一次所述监控任务。
3.根据权利要求1所述的监控方法,其特征在于,所述AMU计算引擎的所述工作状态和所述监控状态交替切换。
4.根据权利要求3所述的监控方法,其特征在于,当所述AMU计算引擎的数量大于或等于2时,部分个所述AMU计算引擎具有所述工作状态和所述监控状态,剩余部分个所述AMU计算引擎具有所述工作状态;
其中,每一个具有所述监控状态的所述AMU计算引擎对应于若干个不具有所述监控状态的所述AMU计算引擎,以在所述工作状态下,执行与各个不具有所述监控状态的所述AMU计算引擎相同的运算指令。
5.根据权利要求4所述的监控方法,其特征在于,所述监控方法还包括:
当一个具有所述监控状态的所述AMU计算引擎位于所述工作状态下时,执行相对应的一个不具有所述监控状态的所述AMU计算引擎的运算指令,比较两个所述AMU计算引擎的运算结果,并判断是否一致,如是,结束本次比较任务,等待执行下一次比较任务;如否,累计所述相对应的一个不具有所述监控状态的所述AMU计算引擎的异常次数,并判断所述异常次数是否达到设定值,如是,触发所述故障响应指令,并停止监控;如否,结束本次比较任务,等待执行下一次比较任务。
6.根据权利要求5所述的监控方法,其特征在于,在具有监控状态的所述AMU计算引擎的所述工作状态中,所述具有监控状态的所述AMU计算引擎与若干个相对应的不具有所述监控状态的所述AMU计算引擎执行至少一次所述比较任务。
7.一种计算机程序,其特征在于,包括用于当在合适的计算机设备上执行所述计算机程序时执行如权利要求1~6中任意一项所述的监控方法。
8.一种微控制器,其特征在于,包括AMU模块、存储器和安全核;其中,
所述存储器用于存储如权利要求7所述的计算机程序;
所述安全核用于运行所述计算机程序,以对所述AMU模块执行安全监控。
9.根据权利要求8所述的微控制器,其特征在于,所述存储器还用于存储多套所述用于监控的输入数据及对应的所述预设标准值,以在执行所述监控任务时,所述安全核调用一套所述用于监控的输入数据,并输入至所述AMU计算引擎的寄存器内;以及,
所述存储器还用于至少存储所述AMU计算引擎在所述工作状态下的运算结果、所述监控运算结果、所述监控运算结果与所述预设标准值的比较结果以及所述故障次数。
10.一种计算机可读存储介质,其特征在于,在所述计算机可读存储介质上编码有如权利要求7所述的计算机程序。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211177567.7A CN115629934A (zh) | 2022-09-26 | 2022-09-26 | 监控方法、微控制器、计算机程序及其存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211177567.7A CN115629934A (zh) | 2022-09-26 | 2022-09-26 | 监控方法、微控制器、计算机程序及其存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN115629934A true CN115629934A (zh) | 2023-01-20 |
Family
ID=84902928
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211177567.7A Pending CN115629934A (zh) | 2022-09-26 | 2022-09-26 | 监控方法、微控制器、计算机程序及其存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115629934A (zh) |
-
2022
- 2022-09-26 CN CN202211177567.7A patent/CN115629934A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7890800B2 (en) | Method, operating system and computing hardware for running a computer program | |
US20170293541A1 (en) | Self-testing in a processor core | |
JP4648396B2 (ja) | コンピュータプログラムを処理する方法、駆動システムおよび計算装置 | |
CN113946148B (zh) | 一种基于多ecu协同控制的mcu芯片唤醒系统 | |
JP2017097633A (ja) | 車両制御装置 | |
CN115237644B (zh) | 系统故障处理方法、中央运算单元以及车辆 | |
JP2008513899A (ja) | コンピュータシステム上でコンピュータプログラムを処理する方法 | |
CN115629934A (zh) | 监控方法、微控制器、计算机程序及其存储介质 | |
JP6654230B2 (ja) | 車両制御装置 | |
US8412496B2 (en) | Simulation system, method, and program | |
US7711985B2 (en) | Restarting an errored object of a first class | |
JP3755415B2 (ja) | 処理実行装置、当該処理実行装置に搭載される処理プログラム、及び記録媒体 | |
CN102005251B (zh) | 用于检验存储器的方法 | |
CN114633705A (zh) | 带有同步驱动程序的车辆控制装置 | |
CN113946130A (zh) | 一种电机控制器芯片唤醒系统 | |
CN113302592A (zh) | 用于控制具有多核处理器的发动机控制单元的方法 | |
US20230176882A1 (en) | Method for simulating a control unit on a computer based on the autosar standard, and computer therefor | |
JP2013109652A (ja) | コンパイラ、そのコンパイラによって作成されたプログラムモジュールの制御方法、及び、その制御方法を実現する制御装置 | |
CN118035030A (zh) | 一种基于Uboot的操作系统故障监控方法 | |
JPH02264340A (ja) | マイクロプロセッサ | |
JPH0962534A (ja) | 電子計算機の自己診断方法 | |
JP2004102324A (ja) | 割り込みプログラムモジュール、該モジュールを記録した記録媒体およびモニタのための割り込み処理が可能のコンピュータ | |
JPH08123704A (ja) | 制御装置 | |
JPH033041A (ja) | タイムアウト監視回路 | |
CN116225840A (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 |