CN113296430B - 主从芯片处理单元逻辑运算数据流故障监测方法及系统 - Google Patents
主从芯片处理单元逻辑运算数据流故障监测方法及系统 Download PDFInfo
- Publication number
- CN113296430B CN113296430B CN202110394662.1A CN202110394662A CN113296430B CN 113296430 B CN113296430 B CN 113296430B CN 202110394662 A CN202110394662 A CN 202110394662A CN 113296430 B CN113296430 B CN 113296430B
- Authority
- CN
- China
- Prior art keywords
- processing unit
- chip processing
- master
- slave
- slave 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
Classifications
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B19/00—Programme-control systems
- G05B19/02—Programme-control systems electric
- G05B19/04—Programme control other than numerical control, i.e. in sequence controllers or logic controllers
- G05B19/042—Programme control other than numerical control, i.e. in sequence controllers or logic controllers using digital processors
- G05B19/0428—Safety, monitoring
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B2219/00—Program-control systems
- G05B2219/20—Pc systems
- G05B2219/24—Pc safety
- G05B2219/24215—Scada supervisory control and data acquisition
Abstract
本发明涉及一种主从芯片处理单元逻辑运算数据流故障监测方法及系统。该监测方法包括如下步骤:当从芯片处理单元和主芯片处理单元上电后,对主芯片处理单元和从芯片处理单元的运算状态进行实时监控;控制从芯片处理单元向主芯片处理单元发送同步信息,并控制主芯片处理单元对接收的同步信息进行逻辑转换成翻转信息并返回给从芯片处理单元,控制从芯片处理单元校验翻转信息的状态;当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理。本发明可在芯片处理单元运行中进行实时监控,当监控到相关故障时,进行故障后处理,保证控制系统处于安全的状态。
Description
技术领域
本发明涉及控制芯片处理单元运行安全技术领域,特别涉及一种主从芯片处理单元逻辑运算数据流故障监测方法及系统。
背景技术
随着控制系统的控制功能越来越强大,且需要多任务同时进行,对控制器系统的设计要求就会越来越高。在控制器设计时,由于需要多任务和多功能同时进行,会采用多芯片处理单元架构,各芯片处理单元同时运行来执行多任务功能。而且,多芯片处理单元同时运行时,一方面的功能是完成功能运算,另一方面的功能是与其他芯片进行相互逻辑校验,来监控其他芯片处理单元处于正常的算术运算逻辑中。
但是,在芯片处理单元运算过程中,假如运算逻辑出现故障,则会引起不可预想的后果,轻则造成被控制对象出现错误或者损坏,重则造成人员伤亡。例如,被控对象是车辆里程表计算系统,假如运算不准确,则显示里程与实际里程会出现差异,这只会引起数字上的错误,驾驶员会抱怨该故障现象,但该故障不会带来严重的安全事故;再比如,被控对象是发动机或者是驱动电机系统,假如运算不准确,则可能会造成车辆处于非驾驶员预想的行驶工况当中,特殊情况下会造成车毁人亡的严重后果。
在传统技术中,会在硬件设计时,考虑设计一些保护电路,例如过压/过流保护,但这并不能将所有的故障监测出来,特别是运算逻辑类型故障,就无法通过硬件设计进行监测,也不能在监测出来故障后进行相应的故障后处理。
发明内容
本发明提供一种主从芯片处理单元逻辑运算数据流故障监测方法及系统,可在芯片处理单元运行中进行实时监控,当监控到相关故障时,进行故障后处理,保证控制系统处于安全的状态。
第一方面,本发明提供了一种主从芯片处理单元逻辑运算数据流故障监测方法,包括如下步骤:
当从芯片处理单元和主芯片处理单元上电后,对主芯片处理单元的运算逻辑状态和从芯片处理单元的运算状态进行实时监控;
控制从芯片处理单元向主芯片处理单元发送同步信息,并控制主芯片处理单元在执行被调用的应用程序时对接收的同步信息进行逻辑转换成翻转信息并返回给从芯片处理单元,控制从芯片处理单元校验翻转信息的状态;
当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理。
在一些实施例中,所述“控制从芯片处理单元向主芯片处理单元发送同步信息,并控制主芯片处理单元在执行被调用的应用程序时对接收的同步信息进行逻辑转换成翻转信息并返回给从芯片处理单元,控制从芯片处理单元校验翻转信息的状态”步骤,具体包括如下步骤:
建立从芯片处理单元与主芯片处理单元之间的应答响应机制;
根据应答响应机制,控制从芯片处理单元通过内部串行数据通道周期性地向主芯片处理单元发送作为同步信息的问题信号;
控制主芯片处理单元在所有安全相关的软件模块单元中调用相关函数来处理从芯片处理单元发出的问题信号,并计算得到相应的作为翻转信息的响应值,并在规定的时间窗口内返回给从芯片处理单元;
当从芯片处理单元接收到主芯片处理单元的响应值后,判断响应值与预定义数值的一致性,并检测从芯片处理单元接收到响应值的时间窗口的超限状态。
在一些实施例中,所述“当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理”步骤,具体包括如下步骤:
当从芯片处理单元监测到主芯片处理单元的响应值不正确时,或从芯片处理单元接收到响应值的时间窗口超限时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理。
在一些实施例中,所述“当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理”步骤,具体包括如下步骤:
当从芯片处理单元监测到主芯片处理单元的响应值不正确时,或从芯片处理单元接收到响应值的时间窗口超限时,判断主芯片处理单元出现故障并对故障进行计数处理;
当故障次数达到设定限值时,发出故障预警并对主芯片处理单元进行复位处理。
在一些实施例中,所述应答响应机制是指在从芯片处理单元中将从主芯片处理单元处接收到的运算结果与一个预先定义好的数值进行比较,根据比较结果判定当前算术和逻辑指令是否正确;
其中,算术和逻辑指令包括:算术运算,包含加、减、乘、除;偏移和指针运算,包含左偏移、右偏移、指针运算;位运算,包含逻辑与、逻辑或、取反运算、异或运算;控制流运算,包含条件运算。
在一些实施例中,所述“发出故障预警并对主芯片处理单元进行复位处理”步骤,具体包括如下步骤:
发出故障预警并对主芯片处理单元进行复位处理,并控制主芯片处理单元的关键安全系统关闭。
在一些实施例中,所述“控制主芯片处理单元的关键安全系统关闭”步骤之前,具体包括如下步骤:
当检测到主芯片处理单元出现故障时,测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力。
在一些实施例中,所述“测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力”步骤,具体包括如下步骤:
在每次从芯片处理单元关和主芯片处理单元上电期间,控制从芯片处理单元发送关闭硬件指令给主芯片处理单元,控制主芯片处理单元判定当前的硬件系统的关闭状态;
当主芯片处理单元判定当前的硬件系统关闭时,判断从芯片处理单元具有关闭主芯片处理单元的硬件系统的能力。
在一些实施例中,所述“测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力”步骤,具体包括如下步骤:
控制主芯片处理单元在正常的应答响应机制中注入故障,当从芯片处理单元监控到故障后启用抗反弹计数器,并传输给主芯片处理单元;
当抗反弹计数器的计数大于零时,控制对应答值进行偏移并停止计数,判断从芯片处理单元具有关闭主芯片处理单元的硬件系统的能力。
第二方面,本发明提供了一种主从芯片处理单元逻辑运算数据流故障监测系统,包括:
主从芯片监测模块,用于当从芯片处理单元和主芯片处理单元上电后,对主芯片处理单元的运算逻辑状态和从芯片处理单元的运算状态进行实时监控;
主从芯片数据流处理模块,与所述主从芯片监测模块通信连接,用于控制从芯片处理单元向主芯片处理单元发送同步信息,并控制主芯片处理单元在执行被调用的应用程序时对接收的同步信息进行逻辑转换成翻转信息并返回给从芯片处理单元,控制从芯片处理单元校验翻转信息的状态;
故障处理模块,与所述主从芯片数据流处理模块通信连接,用于当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理。
本发明提供的技术方案带来的有益效果包括:本发明提供的监测方法,从芯片处理单元可通过与主从芯片处理单元的约定规则判定主芯片处理单元的运算逻辑是否处于正常状态,同理主芯片处理单元也可通过与从芯片处理单元的约定规则判定从芯片处理单元逻辑运算是否处于正常状态。具体地,为了保证主芯片处理单元软件运行在正确的逻辑顺序中,可使得从芯片处理单元传输一个同步信息字节给主芯片处理单元,当主芯片处理单元执行被调用的应用程序时、可与从芯片处理单元发送的同步信息字节的相关字节进行逻辑转换,并在规定的时间内将转换后的翻转字节返回给从芯片处理单元,从芯片处理单元通过校验主芯片处理单元返回的翻转字节是否正确,从而判定主芯片处理单元和从芯片处理单元的运算逻辑是否处于正常状态;而且,当主芯片处理单元出现故障,可发出故障预警并对主芯片处理单元进行复位处理,从而保障系统安全。而且,在目前使用的嵌入式系统方案中,有许多管理芯片,例如电源芯片等,都是独立于主芯片处理单元运行的芯片,都可作为从芯片处理单元使用,本发明可在已有的从芯片处理单元的基础上进行芯片之间的故障监测,无需增加硬件成本;而且,该方法可有效的监测到主芯片处理单元和从芯片处理单元的逻辑运算和数据流是否存在问题,可极大地提升嵌入式系统的安全性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例所述主从芯片处理单元逻辑运算数据流故障监测方法所涉及的硬件环境的结构示意简框图;
图2为本发明实施例所述主从芯片处理单元逻辑运算数据流故障监测方法的步骤流程示意图;
图3为本发明实施例所述主从芯片处理单元逻辑运算数据流故障监测方法所涉及的程序数据流监测流程框图;
图4为本发明实施例所述主从芯片处理单元逻辑运算数据流故障监测方法所涉及的应答响应机制逻辑框图;
图5为本发明实施例所述主从芯片处理单元逻辑运算数据流故障监测方法中所涉及的硬件关闭故障监测流程框图。
具体实施方式
现在将详细参照本发明的具体实施例,在附图中例示了本发明的例子。尽管将结合具体实施例描述本发明,但将理解,不是想要将本发明限于所述的实施例。相反,想要覆盖由所附权利要求限定的在本发明的精神和范围内包括的变更、修改和等价物。应注意,这里描述的方法步骤都可以由任何功能块或功能布置来实现,且任何功能块或功能布置可被实现为物理实体或逻辑实体、或者两者的组合。
为了使本领域技术人员更好地理解本发明,下面结合附图和具体实施方式对本发明作进一步详细说明。
注意:接下来要介绍的示例仅是一个具体的例子,而不作为限制本发明的实施例必须为如下具体的步骤、数值、条件、数据、顺序等等。本领域技术人员可以通过阅读本说明书来运用本发明的构思来构造本说明书中未提到的更多实施例。
本发明提出一种主从芯片处理单元逻辑运算数据流故障监测方法及系统,可在芯片处理单元运行中进行实时监控,当监控到相关故障时,进行故障后处理,保证控制系统处于安全的状态。而且,如图1所示,上述主从芯片处理单元逻辑运算数据流故障监测方法及系统所依赖的硬件系统系统包含主芯片处理单元,从芯片处理单元,安全硬件电路,通信连接主芯片处理单元和从芯片处理单元的主从芯片串行传输通道,以及通信连接连接主芯片处理单元和安全硬件电路、通信连接从芯片处理单元和安全硬件电路的串行传输通道。即本发明在此硬件配置的基础上进行故障监测,上述主芯片处理单元和从芯片处理单元都支持安全监控机制和接口配置。
如图2所示,本发明提供的主从芯片处理单元逻辑运算数据流故障监测方法,包括如下步骤:
S100、当从芯片处理单元和主芯片处理单元上电后,对主芯片处理单元的运算逻辑状态和从芯片处理单元的运算状态进行实时监控;
S200、控制从芯片处理单元向主芯片处理单元发送同步信息,并控制主芯片处理单元在执行被调用的应用程序时对接收的同步信息进行逻辑转换成翻转信息并返回给从芯片处理单元,控制从芯片处理单元校验翻转信息的状态;
S300、当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理。
本发明提供的监测方法,从芯片处理单元可通过与主从芯片处理单元的约定规则判定主芯片处理单元的运算逻辑是否处于正常状态,同理主芯片处理单元也可通过与从芯片处理单元的约定规则判定从芯片处理单元逻辑运算是否处于正常状态。具体地,为了保证主芯片处理单元软件运行在正确的逻辑顺序中,可使得从芯片处理单元传输一个同步信息字节给主芯片处理单元,当主芯片处理单元执行被调用的应用程序时、可与从芯片处理单元发送的同步信息字节的相关字节进行逻辑转换,并在规定的时间内将转换后的翻转字节返回给从芯片处理单元,从芯片处理单元通过校验主芯片处理单元返回的翻转字节是否正确,从而判定主芯片处理单元和从芯片处理单元的运算逻辑是否处于正常状态;而且,当主芯片处理单元出现故障,可发出故障预警并对主芯片处理单元进行复位处理,从而保障系统安全。
而且,在目前使用的嵌入式系统方案中,有许多管理芯片,例如电源芯片等,都是独立于主芯片处理单元运行的芯片,都可作为从芯片处理单元使用,本发明可在已有的从芯片处理单元的基础上进行芯片之间的故障监测,无需增加硬件成本;而且,该方法可有效的监测到主芯片处理单元和从芯片处理单元的逻辑运算和数据流是否存在问题,可极大地提升嵌入式系统的安全性。
而且,在上述步骤S200即所述“控制从芯片处理单元向主芯片处理单元发送同步信息,并控制主芯片处理单元在执行被调用的应用程序时对接收的同步信息进行逻辑转换成翻转信息并返回给从芯片处理单元,控制从芯片处理单元校验翻转信息的状态”步骤,具体包括如下步骤:
S210、建立从芯片处理单元与主芯片处理单元之间的应答响应机制;
在一些实施例中,上述应答响应机制是指在从芯片处理单元中将从主芯片处理单元处接收到的运算结果与一个预先定义好的数值进行比较,根据比较结果判定当前算术和逻辑指令是否正确;
其中,算术和逻辑指令包括:算术运算,包含加、减、乘、除;偏移和指针运算,包含左偏移、右偏移、指针运算;位运算,包含逻辑与、逻辑或、取反运算、异或运算;控制流运算,包含条件运算。
S220、根据应答响应机制,控制从芯片处理单元通过内部串行数据通道周期性地向主芯片处理单元发送作为同步信息的问题信号;
具体地,主芯片处理单元所运行的软件程序包含多个运行子任务,每个运行子任务都会被设定在特定的调用周期里面,正常运行情况下,子任务会被周期性调用,典型的子任务调用周期为2ms,10ms,100ms,1000ms,而子任务是否被正常调用,需要根据以下步骤进行监控(如图3所示)。
从芯片处理单元接收到程序数据流监控命令后,会定期发送同步程序数据流(可作为同步信息的问题信号)给主芯片处理单元,主芯片处理单元会调用程序数据流服务程序,并读取同步程序数据流(ProgrameFlowMonitoring,以下简称PMF),数据流字节长度可设为1个Byte,还可定义信号名称为:PMF_Data,并对每个字节定义如下:
BIT0:2ms调用任务程序数据流监控;
BIT1:10ms调用任务程序数据流监控;
BIT2:100ms调用任务程序数据流监控;
BIT3:1000ms调用任务程序数据流监控;
BIT4:2ms调用任务程序数据流抗反弹计数器状态;
BIT5:10ms调用任务程序数据流抗反弹计数器状态;
BIT6:100ms调用任务程序数据流抗反弹计数器状态;
BIT7:1000ms调用任务程序数据流抗反弹计数器状态。
S230、控制主芯片处理单元在所有安全相关的软件模块单元中调用相关函数来处理从芯片处理单元发出的问题信号,并计算得到相应的作为翻转信息的响应值,并在规定的时间窗口内返回给从芯片处理单元;
S240、当从芯片处理单元接收到主芯片处理单元的响应值后,判断响应值与预定义数值的一致性,并检测从芯片处理单元接收到响应值的时间窗口的超限状态。
具体地,主芯片处理单元接收到同步程序数据流PMF_Data,对其进行低字节和高字节分离,得到程序同步数据流和抗反弹计数器状态,高低字节分离计算公式如下:
PMF_SynchByte=PMF_Data&0x0F;
PMF_AntiBounceCounter_Status=PMF_Data>>4;
在进行程序数据流监测时,同时还需要调用子任务调用单元服务,该服务会依次调用各周期内的子任务,在此以10ms调用任务为例进行阐述,定义子任务数组包含[子任务1,子任务2,子任务3,子任务4,子任务5,子任务6],定义子任务数组个数PFM_NumOfSWUs=6,定义信号翻转标定量BitsToInvert_ms10=63;
当子任务在设定周期调用时,利用斐波那契数列进行校验确认,见公式(1),其中n≥3;
F(n)=F(n-1)+Fn-2 式(1)。
而且,在本实施例中,斐波那契数列初始化前两次数值,分别为1,当执行子任务1时输出为2,当执行执行子任务2时输出为3,以此类推,当执行子任务6时输出数值为21,在执行期间也会对执行次数进行计数,在执行完所有子任务数组任务时,可推算出预期输出数值和实际输出数值,当预期输出数值和实际输出数值相等时,则代表所有子任务都按照设定周期进行执行,并将程序数据流标志位PFM_BitsToInvert与BitsToInvert_ms10做位或运算,将对应子任务位置1;否则,子任务未按照调用周期调用,则不进行PFM_BitsToInvert与BitsToInvert_ms10做位或运算,子任务对应位不置1;
根据上述步骤计算的PMF_SynchByte和PFM_BitsToInvert进行与或预算,将结果取反预算,将运算结果的低四位作为应答信号(响应值)的低四位;并可根据上述步骤计算的PMF_SynchByte和PFM_BitsToInvert进行与或预算,将结果左移4位,将运算结果的高四位作为应答信号(响应值)的高四位。
而且,应答信号计算完成后,返回给从芯片处理单元,从芯片处理单元会根据主芯片处理单元的应答数据流判断主芯片运算单元程序数据流运算是否按照顺序执行,若未按照顺序执行,则反馈故障信息ErrorInformation给主芯片控制单元,主芯片处理单元根据故障信息进行故障判定;ErrorInformationd定义信息如表1所示,可定义0x01为PFM数据流故障,若有其他故障类型,可用其他字节进行故障定义;
表1故障信息定义表
而且,上述步骤S300即所述“当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理”步骤,具体包括如下步骤:
当从芯片处理单元监测到主芯片处理单元的响应值不正确时,或从芯片处理单元接收到响应值的时间窗口超限时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理。
进一步地,上述步骤具体包括如下步骤:
S310、当从芯片处理单元监测到主芯片处理单元的响应值不正确时,或从芯片处理单元接收到响应值的时间窗口超限时,判断主芯片处理单元出现故障并对故障进行计数处理;
S320、当故障次数达到设定限值时,发出故障预警并对主芯片处理单元进行复位处理。
具体地,在正常的应答机制中,主芯片处理单元接收到从芯片处理单元的应答信号后,会对其进事先规定好的规则进行逻辑运算,这里简要描述逻辑运算规则(如图4所示)。
根据下列表2设定规则,设定规则要包含上述步骤中的算术运算,以0x00为例,对0x00进行取非运算,则主芯片处理单元的响应值应该是0xFF;
表2主芯片处理单元的运算规则定义表
若从芯片处理单元的问题信号(Question信号)不在制定列表规则之中,则主芯片处理单元接收到问题信号(Question信号)后会进行判定;
进一步的,当主芯片处理单元检测到从芯片处理芯片的问题信号(Question信号)不在规则之中,则判断主芯片处理单元出现故障,并对故障进行计数,当故障计数超过设定范围时,进行报故障码预警并对主芯片处理单元进行复位处理;
而且,当从芯片处理单元监测到主芯片处理单元返回的应答信号(即Answer信号,响应值)不正确,则判断主芯片处理单元出现故障,并进行对故障进行计数,当故障计数超过设定范围时,返回无效信号给主芯片处理单元,主芯片处理单元接收到从芯片处理单元的无效信号后,进行报故障码预警并对主芯片处理单元进行复位处理。
而且,上述步骤S300中所述“发出故障预警并对主芯片处理单元进行复位处理”步骤,具体包括如下步骤:
发出故障预警并对主芯片处理单元进行复位处理,并控制主芯片处理单元的关键安全系统关闭。
而且,所述“控制主芯片处理单元的关键安全系统关闭”步骤之前,具体包括如下步骤:
S330、当检测到主芯片处理单元出现故障时,测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力。
为保证系统出现异常时能够被停止运行,保证系统处于安全的状态,从芯片处理单元需要具备关闭主芯片处理单元硬件系统的功能,该功能可通过两个步骤来确保该路径是非物理改变,来验证从芯片处理单元能正确响应(如图5所示)。
进一步地,上述步骤S330中所述“测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力”步骤,具体包括如下步骤:
S332、在每次从芯片处理单元关和主芯片处理单元上电期间,控制从芯片处理单元发送关闭硬件指令给主芯片处理单元,控制主芯片处理单元判定当前的硬件系统的关闭状态;
S334、当主芯片处理单元判定当前的硬件系统关闭时,判断从芯片处理单元具有关闭主芯片处理单元的硬件系统的能力。
即在每次上电阶段,从芯片处理单元会发送硬件关闭指令,若主芯片处理单元能够正常响应关闭功能,则该功能正常,若不能响应,则主从芯片处理单元存在异常,报故障码。
而且,上述步骤S330中所述“测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力”步骤,具体包括如下步骤:
S336、控制主芯片处理单元在正常的应答响应机制中注入故障,当从芯片处理单元监控到故障后启用抗反弹计数器,并传输给主芯片处理单元;
S338、当抗反弹计数器的计数大于零时,控制对应答值进行偏移并停止计数,判断从芯片处理单元具有关闭主芯片处理单元的硬件系统的能力。
具体地,可设定一个状态变量ABC_TestState,并将其定义成四个状态,分别为:TestNotRun/TestInitiated/ErrorInjected/RespondOk,可更清晰地描述各个阶段的运行步骤。其中,ABC_TestState初始化状态为TestNotRun,代表当前处于未运行状态。当主芯片处理单元未监测到从芯片处理单元反馈抗反弹计数器计数故障和应答故障时,将ABC_TestState状态切换为TestInitiated状态,此时设定时间变量QA_ABC_Timer=100ms,在切换状态的同时,主芯片处理单元对从芯片处理单元的应答信号进行主动注入故障功能,将应答信号与0x01进行异或处理,并将ABC_TestState状态切换到ErrorInjected状态,并将应答信号传送给从芯片处理单元。
而且,在上述步骤中,从芯片处理单元接收到主芯片处理单元的错误应答信号时,会对抗反弹计数器加1,并反馈给主芯片处理单元,主芯片处理单元在ErrorInjected状态接收到抗反弹计数器计数故障后,则会将ABC_TestState状态切换为RespondOk状态,代表当前故障已经被监测到,从芯片处理单元运行正常。
此外,若从芯片处理单元的抗反弹计数器反馈计数仍然为0,则代表从芯片处理单元没有监测到故障,或者还未接收到主芯片处理单元的应答信号,此时进行将QA_ABC_Timer减去10ms的算法处理;
而且,若QA_ABC_Timer减到10ms,主芯片处理单元仍未接收到从芯片处理单元的抗反弹计数器加1的反馈,则代表当前从芯片处理单元的抗反弹计数器存在故障;
而且,在上述步骤中,会实时判断QA_ABC_Timer的值,判断其是否小于10ms,在此过程中,主芯片处理单元的调用该函数的周期需要在设定范围内。此处以10ms调用为例,首先要判断主芯片处理单元的看门狗时间是否为标准的10ms,不能过长,也不能过短;
此外,设定变量TaskWD_10ms,初始值为5ms,设定两个调用函数,其中一个函数是QA_Sever函数,由底层软件触发调用,调用周期最短时长是10ms;另外一个函数是10ms_Server函数,由看门狗10ms触发调用;
而且,在QA_Sever函数中,对TaskWD_10ms增加固定步长,步长值为QA_ServerTrigTime=10ms,设定过度调用计数变量TaskWD_10msOverrunCount,以及内部观测信号变量TaskWD_10msOkTimer;同理,既然在QA_Sever函数中增加步长,则另外一个调用函数10ms_Server中,就要对TaskWD_10ms减去故障步长TriggerTime10ms=10ms,与QA_ServerTrigTime步长值相对应,设定未调用计数变量TaskWD_10msUnderrunCount及内部观测信号变量TaskWD_10msOkTimer;
若监测到TaskWD_10ms时长增加到TaskWD_10msOverrunLim=25ms,说明QA_Sever被过度调用、或者10ms_Server并未按照设定进行执行,此时过度调用计数器TaskWD_10msOverrunCount加2处理,设定TaskWD_10msOkTimer=25ms,TaskWD_10ms初始化为5ms;
而且,当TaskWD_10msOverrunCount大于设定值7时,代表当前10ms运行周期存在故障,则不进行上述步骤操作;
此外,10ms_Server函数按照设定执行,TaskWD_10ms时长不会增加到限值TaskWD_10msOverrunLim以上,执行TaskWD_10msOverrunCount减1处理,设定TaskWD_10msOkTimer=25ms,则TaskWD_10ms输出当前时间值;
而且,在QA_Sever每次被调用时,TaskWD_10msOkTimer会进行减去QA_ServerTrigTime运算,当TaskWD_10msOkTimer大于QA_ServerTrigTime时,TaskWD_10ms时间和TaskWD_10msOverrunCount次数会直接输出而不进行更改;
此外,在上述步骤中,TaskWD_10ms初始化后需要等待10ms_Server函数执行,TaskWD_10msOkTimer的时间功能就是在中间起衔接作用;同理,在上述步骤中,同样需要等待10ms_Server函数执行阶段才能进行下一步的判断;
而且,在10ms_Server函数运行函数中,会对TaskWD_10ms做减法处理,步长为TriggerTime10ms,假如TaskWD_10ms值小于TaskWD_10msUnderrunLim=-25ms,说明QA_Sever未调用、或者10ms_Server过度调用,此时未调用计数器TaskWD_10msUnderrunCount加2处理,设定TaskWD_10msOkTimer=-25ms,TaskWD_10ms初始化为5ms;
而且,当TaskWD_10msUnderrunCount大于设定值7时,代表当前QA_Sever运行周期存在故障,则不进行上述操作;
在QA_Sever按照设定执行时,TaskWD_10ms时长不会减少到限值TaskWD_10msUnderrunLim以下,执行TaskWD_10msUnderrunCount减1处理,设定TaskWD_10m9OkTimer=25ms,TaskWD_10ms输出当前时间值;
在10ms_Server函数每次被调用时,TaskWD_10msOkTimer会进行减去QA_ServerTrigTime运算,当TaskWD_10msOkTimer大于QA_ServerTrigTime时,TaskWD_10ms时间和TaskWD_10msOverrunCount次数会直接输出不进行更改;
而且,在上述步骤中,TaskWD_10ms初始化后需要等待QA_Sever执行,TaskWD_10msOkTimer的时间功能也是在中间起衔接作用;同理,在上述步骤中,同样需要等待QA_Sever执行阶段才能进行下一步的判断;
上述步骤描述了主芯片处理单元为了校验从芯片处理单元的抗反弹计数器功能进行的一系列逻辑应答。
此外,对应于上述的主从芯片处理单元逻辑运算数据流故障监测方法,本发明提供了一种主从芯片处理单元逻辑运算数据流故障监测系统,包括:
主从芯片监测模块,用于当从芯片处理单元和主芯片处理单元上电后,对主芯片处理单元的运算逻辑状态和从芯片处理单元的运算状态进行实时监控;
主从芯片数据流处理模块,与所述主从芯片监测模块通信连接,用于控制从芯片处理单元向主芯片处理单元发送同步信息,并控制主芯片处理单元在执行被调用的应用程序时对接收的同步信息进行逻辑转换成翻转信息并返回给从芯片处理单元,控制从芯片处理单元校验翻转信息的状态;
故障处理模块,与所述主从芯片数据流处理模块通信连接,用于当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理。
本实施例所述的主从芯片处理单元逻辑运算数据流故障监测系统与上述的主从芯片处理单元逻辑运算数据流故障监测方法相互对应,本实施例中主从芯片处理单元逻辑运算数据流故障监测系统中各个模块的功能在相应的方法实施例中详细阐述,在此不再一一说明。
本发明提出的主从芯片处理单元逻辑运算数据流故障监测方案,在主从芯片处理单元运行中进行实时监控,当监控到相关故障时,进行故障后处理,保证控制系统处于安全的状态。而且,对主从芯片处理单元之间故障监测内容进行详细定义,对监测到的故障类型进行详细算法描述,对故障本身描述清晰,可实施性强。
基于同一发明构思,本申请实施例还提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述方法的所有方法步骤或部分方法步骤。
本发明实现上述方法中的全部或部分流程,也可以通过计算机程序来指令相关的硬件来完成,计算机程序可存储于一计算机可读存储介质中,该计算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,计算机程序包括计算机程序代码,计算机程序代码可以为源代码形式、对象代码形式、可执行文件或某些中间形式等。计算机可读介质可以包括:能够携带计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,RandomAccess Memory)、电载波信号、电信信号以及软件分发介质等。需要说明的是,计算机可读介质包含的内容可以根据司法管辖区内立法和专利实践的要求进行适当的增减,例如在某些司法管辖区,根据立法和专利实践,计算机可读介质不包括电载波信号和电信信号。
基于同一发明构思,本申请实施例还提供一种电子设备,包括存储器和处理器,存储器上储存有在处理器上运行的计算机程序,处理器执行计算机程序时实现上述方法中的所有方法步骤或部分方法步骤。
所称处理器可以是中央处理单元(Central Processing Unit,CPU),还可以是其他通用处理器、数字信号处理器(Digital Signal Processor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现成可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件等。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等,处理器是计算机装置的控制中心,利用各种接口和线路连接整个计算机装置的各个部分。
存储器可用于存储计算机程序和/或模型,处理器通过运行或执行存储在存储器内的计算机程序和/或模型,以及调用存储在存储器内的数据,实现计算机装置的各种功能。存储器可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(例如声音播放功能、图像播放功能等);存储数据区可存储根据手机的使用所创建的数据(例如音频数据、视频数据等)。此外,存储器可以包括高速随机存取存储器,还可以包括非易失性存储器,例如硬盘、内存、插接式硬盘,智能存储卡(SmartMedia Card,SMC),安全数字(Secure Digital,SD)卡,闪存卡(Flash Card)、至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、服务器或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、服务器和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。
Claims (7)
1.一种主从芯片处理单元逻辑运算数据流故障监测方法,其特征在于,包括如下步骤:
当从芯片处理单元和主芯片处理单元上电后,对主芯片处理单元的运算逻辑状态和从芯片处理单元的运算状态进行实时监控;
控制从芯片处理单元向主芯片处理单元发送同步信息,并控制主芯片处理单元在执行被调用的应用程序时对接收的同步信息进行逻辑转换成翻转信息并返回给从芯片处理单元,控制从芯片处理单元校验翻转信息的状态;
当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理;
其中,发出故障预警并对主芯片处理单元进行复位处理具体包括:
发出故障预警并对主芯片处理单元进行复位处理,并控制主芯片处理单元的关键安全系统关闭;
其中,控制主芯片处理单元的关键安全系统关闭之前具体包括:
当检测到主芯片处理单元出现故障时,测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力;
其中,测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力具体包括:
控制主芯片处理单元在正常的应答响应机制中注入故障,当从芯片处理单元监控到故障后启用抗反弹计数器,并传输给主芯片处理单元;
当抗反弹计数器的计数大于零时,控制对应答值进行偏移并停止计数,判断从芯片处理单元具有关闭主芯片处理单元的硬件系统的能力。
2.根据权利要求1所述的主从芯片处理单元逻辑运算数据流故障监测方法,其特征在于,所述控制从芯片处理单元向主芯片处理单元发送同步信息,并控制主芯片处理单元在执行被调用的应用程序时对接收的同步信息进行逻辑转换成翻转信息并返回给从芯片处理单元,控制从芯片处理单元校验翻转信息的状态步骤,具体包括如下步骤:
建立从芯片处理单元与主芯片处理单元之间的应答响应机制;
根据应答响应机制,控制从芯片处理单元通过内部串行数据通道周期性地向主芯片处理单元发送作为同步信息的问题信号;
控制主芯片处理单元在所有安全相关的软件模块单元中调用相关函数来处理从芯片处理单元发出的问题信号,并计算得到相应的作为翻转信息的响应值,并在规定的时间窗口内返回给从芯片处理单元;
当从芯片处理单元接收到主芯片处理单元的响应值后,判断响应值与预定义数值的一致性,并检测从芯片处理单元接收到响应值的时间窗口的超限状态。
3.根据权利要求2所述的主从芯片处理单元逻辑运算数据流故障监测方法,其特征在于,所述当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理步骤,具体包括如下步骤:
当从芯片处理单元监测到主芯片处理单元的响应值不正确时,或从芯片处理单元接收到响应值的时间窗口超限时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理。
4.根据权利要求3所述的主从芯片处理单元逻辑运算数据流故障监测方法,其特征在于,所述当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理步骤,具体包括如下步骤:
当从芯片处理单元监测到主芯片处理单元的响应值不正确时,或从芯片处理单元接收到响应值的时间窗口超限时,判断主芯片处理单元出现故障并对故障进行计数处理;
当故障次数达到设定限值时,发出故障预警并对主芯片处理单元进行复位处理。
5.根据权利要求2所述的主从芯片处理单元逻辑运算数据流故障监测方法,其特征在于,所述应答响应机制是指在从芯片处理单元中将从主芯片处理单元处接收到的运算结果与一个预先定义好的数值进行比较,根据比较结果判定当前算术和逻辑指令是否正确;
其中,算术和逻辑指令包括:算术运算,包含加、减、乘、除;偏移和指针运算,包含左偏移、右偏移、指针运算;位运算,包含逻辑与、逻辑或、取反运算、异或运算;控制流运算,包含条件运算。
6.根据权利要求1或2所述的主从芯片处理单元逻辑运算数据流故障监测方法,其特征在于,所述测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力步骤,具体包括如下步骤:
在每次从芯片处理单元关和主芯片处理单元上电期间,控制从芯片处理单元发送关闭硬件指令给主芯片处理单元,控制主芯片处理单元判定当前的硬件系统的关闭状态;
当主芯片处理单元判定当前的硬件系统关闭时,判断从芯片处理单元具有关闭主芯片处理单元的硬件系统的能力。
7.一种主从芯片处理单元逻辑运算数据流故障监测系统,其特征在于,包括:
主从芯片监测模块,用于当从芯片处理单元和主芯片处理单元上电后,对主芯片处理单元的运算逻辑状态和从芯片处理单元的运算状态进行实时监控;
主从芯片数据流处理模块,与所述主从芯片监测模块通信连接,用于控制从芯片处理单元向主芯片处理单元发送同步信息,并控制主芯片处理单元在执行被调用的应用程序时对接收的同步信息进行逻辑转换成翻转信息并返回给从芯片处理单元,控制从芯片处理单元校验翻转信息的状态;
故障处理模块,与所述主从芯片数据流处理模块通信连接,用于当从芯片处理单元检测到翻转信息不正确时,判断主芯片处理单元出现故障,发出故障预警并对主芯片处理单元进行复位处理;
其中,发出故障预警并对主芯片处理单元进行复位处理具体包括:
发出故障预警并对主芯片处理单元进行复位处理,并控制主芯片处理单元的关键安全系统关闭;
其中,控制主芯片处理单元的关键安全系统关闭之前具体包括:
当检测到主芯片处理单元出现故障时,测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力;
其中,测试从芯片处理单元关闭主芯片处理单元的硬件系统的能力具体包括:
控制主芯片处理单元在正常的应答响应机制中注入故障,当从芯片处理单元监控到故障后启用抗反弹计数器,并传输给主芯片处理单元;
当抗反弹计数器的计数大于零时,控制对应答值进行偏移并停止计数,判断从芯片处理单元具有关闭主芯片处理单元的硬件系统的能力。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110394662.1A CN113296430B (zh) | 2021-04-13 | 2021-04-13 | 主从芯片处理单元逻辑运算数据流故障监测方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110394662.1A CN113296430B (zh) | 2021-04-13 | 2021-04-13 | 主从芯片处理单元逻辑运算数据流故障监测方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113296430A CN113296430A (zh) | 2021-08-24 |
CN113296430B true CN113296430B (zh) | 2022-10-18 |
Family
ID=77319679
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110394662.1A Active CN113296430B (zh) | 2021-04-13 | 2021-04-13 | 主从芯片处理单元逻辑运算数据流故障监测方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113296430B (zh) |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19539343C2 (de) * | 1995-10-23 | 1997-12-11 | Siemens Ag | Verfahren zur Fehlererkennung eines digitalen Bitdatenstroms, der von einem Sender zu einem Empfänger übertragen wird |
US9158618B2 (en) * | 2010-03-11 | 2015-10-13 | Mitsubishi Electric Corporation | Memory diagnostic method, device, and non-transitory computer-readable storage medium for diagnosing a memory used by a process during execution of the process |
CN105760253B (zh) * | 2016-01-13 | 2018-08-10 | 奇瑞汽车股份有限公司 | 一种电子节气门芯片安全监控的软件实现方法 |
CN111976790B (zh) * | 2019-05-24 | 2022-04-15 | 比亚迪股份有限公司 | 应答器仿真的方法及系统 |
-
2021
- 2021-04-13 CN CN202110394662.1A patent/CN113296430B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN113296430A (zh) | 2021-08-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8549277B2 (en) | Server system including diplexer | |
US8509989B2 (en) | Monitoring concept in a control device | |
US9068527B2 (en) | Monitoring computer in a control device | |
CN101286129A (zh) | 嵌入式系统调试 | |
US20120317576A1 (en) | method for operating an arithmetic unit | |
CN104035536A (zh) | 一种嵌入式系统监控及复位控制方法 | |
US7788533B2 (en) | Restarting an errored object of a first class | |
CN113296430B (zh) | 主从芯片处理单元逻辑运算数据流故障监测方法及系统 | |
KR100836297B1 (ko) | 듀얼 프로세서를 이용한 차량 고장 감시 시스템 | |
CN102567174B (zh) | 微处理器操作监视系统 | |
CN110832459B (zh) | 车辆控制装置 | |
WO2011144965A1 (en) | Integrated circuit device, signal processing system and method for managing power resources of a signal processing system | |
WO2022199787A1 (en) | Program flow monitoring for gateway applications | |
CN114860512A (zh) | 车辆的soc芯片工作状态检测方法、装置、设备和系统 | |
KR102158773B1 (ko) | 펄스 폭 변조기 및 이를 이용한 펄스 폭 변조 신호 모니터링 방법 | |
CN117032223A (zh) | 自移动设备的速度控制方法、装置、电子设备和存储介质 | |
CN113221176B (zh) | 一种基于区块链的业务处理方法、装置和电子设备 | |
CN116431377B (zh) | 一种看门狗电路 | |
JP2013109652A (ja) | コンパイラ、そのコンパイラによって作成されたプログラムモジュールの制御方法、及び、その制御方法を実現する制御装置 | |
CN111427723B (zh) | 基于AutoSAR的程序流监控方法及应用装置 | |
JP3308670B2 (ja) | イベントドリブン型処理装置の故障検出装置 | |
CN109992510B (zh) | 一种远程调试装置及方法 | |
CN114218025A (zh) | 一种超频控制方法、超频控制装置及水上设备 | |
US20130055038A1 (en) | Computing unit abnormality determining apparatus and method | |
WO2023110069A1 (en) | Data processing apparatus and method implementing a software lockstep |
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 |