CN100507872C - 软硬件协调处理的自诊断系统和方法 - Google Patents
软硬件协调处理的自诊断系统和方法 Download PDFInfo
- Publication number
- CN100507872C CN100507872C CNB2007101757485A CN200710175748A CN100507872C CN 100507872 C CN100507872 C CN 100507872C CN B2007101757485 A CNB2007101757485 A CN B2007101757485A CN 200710175748 A CN200710175748 A CN 200710175748A CN 100507872 C CN100507872 C CN 100507872C
- Authority
- CN
- China
- Prior art keywords
- instruction
- software program
- hardware
- hardware module
- module
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 20
- 238000012545 processing Methods 0.000 title abstract description 19
- 239000000284 extract Substances 0.000 claims description 13
- 238000012544 monitoring process Methods 0.000 claims description 6
- 230000008569 process Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 4
- 238000007689 inspection Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 2
- 230000008676 import Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 1
- 238000003745 diagnosis Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 238000011002 quantification Methods 0.000 description 1
Images
Landscapes
- Debugging And Monitoring (AREA)
Abstract
本发明公开了一种软硬件协调处理的自诊断系统和一种软硬件协调处理的自诊断方法。本发明在软硬件协调处理的系统中,设置系统规则检查模块,该模块存储了预设的各种系统规则。本发明由系统规则检查模块实时监测各硬件模块,并在控制硬件模块执行相应处理的指令不符合预设系统规则时,向软件程序上报错误,使得软件程序能够获知其发出的指令违反了系统规则。根据系统规则检查模块上报的错误,软件工程师即可调整软件程序,以降低各硬件模块在软件程序控制下的错误发生率,从而提高软硬件协同处理的可靠性。
Description
技术领域
本发明涉及故障诊断技术,特别涉及一种软硬件协同处理的自诊断系统和一种软硬件协调处理的自诊断方法。
背景技术
在现有软硬件协同处理的系统中,包括软件程序和多个硬件模块。其中,软件程序可以分别向各硬件模块发送指令,实现对各硬件模块的控制;各硬件模块在软件程序的控制下,利用系统中的硬件资源进行相应处理。
在实际应用中,在各硬件模块共享相同的硬件资源等情况下,软件程序对这些硬件模块的控制必须要满足相应的系统规则。
其中,系统规则通常可以理解为:各硬件模块协同处理的规则和/或为各硬件模块合理分配共享资源的规则。
例如,如果硬件模块M的激活需要在硬件模块N关闭后执行,则对应的系统规则为:硬件模块M必须在另一个关闭之后才能激活。如果不满足该系统规则,硬件模块M和硬件模块N同时激活,则可能导致系统错误。
再例如,如果硬件模块M的输出数据作为硬件模块N的输入数据,则对应的系统规则为:硬件模块M输出数据的存储空间必须与硬件模块N输入数据的存储空间完全一致,其中,存储空间即为硬件模块M和硬件模块N共享的硬件资源。如果不满足该系统规则,当硬件模块M将其输出数据存储到特定存储空间后,硬件模块N从其它存储空间读取数据作为其输入数据、而不是从存储了硬件模块M的输出数据的存储空间读取,则硬件模块N执行其处理后无法得到正确的结果。
其中,上述的M和N只是类似于甲、乙、丙、丁的通用指代符号,并不是具有特殊含义的符号。
而当软件工程师编写软件程序时,往往只是考虑软件程序是否满足语法规则,而不会全面考虑到各种系统规则,从而导致软件程序向硬件模块发出违反系统定义规则的控制指令,造成的系统错误,使得软硬件协调处理的可靠性不高。
发明内容
有鉴于此,本发明的一个主要目的在于提供一种软硬件协调处理的自诊断系统,能够提高软硬件协同处理的可靠性。
本发明的另一个主要目的在于,提供一种软硬件协调处理的自诊断方法,能够提高软硬件协同处理的可靠性。
根据上述的一个主要目的,本发明提供了一种软硬件协调处理的自诊断系统,包括:软件程序和多个硬件模块,
所述硬件模块中包括寄存器,用于存储软件程序发出的指令;且该系统进一步包括:
存储了预设系统规则的系统规则检查模块,用于读取各硬件模块的寄存器中存储的指令并提取出指令中的特征内容,在提取出的特征内容与所述系统规则不匹配时,判断出所述指令不符合预设系统规则,以实时监测各硬件模块接收自软件程序的指令;在所述指令不符合存储的预设系统规则时,向所述软件程序上报错误指令;
其中,所述系统规则包括:不同特征内容的发生顺序、不同特征内容是否相等、不同特征内容是否相交。
所述系统规则检查模块通过中断方式向所述软件程序上报错误指令。
所述错误指令中包括软件程序向各硬件模块发出的指令所不符合的系统规则的标识。
据上述的另一个主要目的,本发明提供了一种软硬件协调处理的自诊断方法,预设各种系统规则,该方法包括:
读取各硬件模块接收自软件程序的指令并提取出所述指令中的特征内容,在所述提取出的特征内容与所述系统规则不匹配时,判断出所述指令不符合预设系统规则,以实时监测各硬件模块接收自软件程序的指令;
在所述指令不符合所述系统规则时,上报错误指令;
其中,所述系统规则包括:不同特征内容的发生顺序、不同特征内容是否相等、不同特征内容是否相交。
所述上报错误指令为:通过中断方式上报错误指令。
所述错误指令中包括所述指令所不符合的系统规则的标识。
由上述技术方案可见,本发明在软硬件协调处理的系统中,设置系统规则检查模块,该模块存储了预设的各种系统规则。本发明由系统规则检查模块实时监测各硬件模块,并在硬件模块所执行的处理不符合预设系统规则时,向软件程序上报错误,使得软件程序能够获知其发出的指令违反了系统规则。根据系统规则检查模块上报的错误,软件工程师即可调整软件程序,以降低各硬件模块在软件程序控制下的错误发生率,从而提高软硬件协同处理的可靠性。
附图说明
图1为本发明中软硬件协同处理的自诊断系统的结构示意图。
图2为本发明中软硬件协同处理的自诊断方法的流程示意图。
具体实施方式
为使本发明的目的、技术方案及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明中,在软硬件协调处理的系统中,设置一系统规则检查模块,在该模块中存储了预设的各种系统规则。当软件程序向各硬件模块发出各种指令以控制各硬件模块执行相应的处理时,系统规则检查模块自动监测各硬件模块,以检查软件程序发送给各硬件模块的指令是否符合预设的系统规则,如果不符合,则自动向软件程序上报错误。
这样,软件工程师即可根据系统规则检查模块上报的错误,调整软件程序,以降低各硬件模块在软件程序控制下的错误发生率,从而提高软硬件协同处理的可靠性。
图1为本发明中自诊断系统的结构示意图。如图1所示,本发明中软硬件协同处理的自诊断系统包括:软件程序、多个硬件模块、以及系统规则检查模块。
软件程序,用于向各硬件模块发出指令,分别控制各硬件模块执行指令对应的处理。
硬件模块,用于根据软件程序发出的指令执行与该指令对应的处理,即在软件程序的控制下执行相应的处理。
系统规则检查模块中存储了预设的各种系统规则,用于实时监测各硬件模块接收自软件程序的指令,判断软件程序向各硬件模块发出的指令是否符合存储的预设系统规则,在该指令不符合预设系统规则时,向软件程序上报错误指令,将不符合的系统规则通知软件程序。
实际应用中,系统规则检查模块可以通过中断方式上报错误指令,即向软件程序上报的错误指令为中断请求。系统规则检查模块中还可以存储每个系统规则的标识,并在中断请求中携带检测的指令所不符合的系统规则的标识,用于将不符合的系统规则通知软件程序。
可见,上述系统中由系统规则检查模块实时监测各硬件模块,并在控制硬件模块执行相应处理的指令不符合预设系统规则时,向软件程序上报错误,使得软件程序能够获知其发出的指令违反了系统规则。根据系统规则检查模块上报的错误,软件工程师即可调整软件程序,以降低各硬件模块在软件程序控制下的错误发生率,从而提高软硬件协同处理的可靠性。
上述系统中,硬件模块中通常包括寄存器,用于存储软件程序的指令。
这种情况下,系统规则检查模块可读取各硬件模块的寄存器中存储的指令,以实现对各硬件模块的监测。
具体来说,系统规则检查模块可以读取寄存器中存储的指令,并提取出指令中的特征内容。
例如,特征内容可以包括:硬件模块的激活、硬件模块的关闭、存储区域的地址等。
针对上述特征内容,对应的系统规则即可包括:
特征内容M与特征内容N的发生顺序;
特征内容M与特征内容N相等;
特征内容M与特征内容N不相等;
特征内容M与特征内容N不相交。
其中,特征内容M与特征内容N不相交通常只针对存储区域的地址等量化的特征内容。
除此之外,针对不同的特征内容,系统规则检查模块中还可以存储其它的预设系统规则,在此不再赘述。
下面,结合具体实例对上述系统进行进一步说明。
实例1:假设特征内容M为硬件模块M的激活、特征内容N为硬件模块N的关闭、系统规则检查模块中存储的系统规则包括“特征内容M在特征内容N之后发生”。软件程序先向硬件模块N发出指令控制其激活,该指令存储在硬件模块N的寄存器中,软件程序再向硬件模块M发出指令控制其激活,该指令存储在软件模块M的寄存器中。系统规则检查模块读取硬件模块M和硬件模块N的寄存器中存储的指令,并提取出表示硬件模块M激活的特征内容M、以及表示硬件模块N激活的特征内容L。由于系统规则检查模块中存储的系统规则包括“特征内容M在特征内容N之后发生”,而系统规则检查模块从硬件模块N的寄存器读取的指令中,并未包括表示硬件模块N关闭的特征内容N,即特征内容N还未发生,则系统规则检查模块判断出此时发生特征内容M不符合系统规则,并向软件程序上报错误,通知软件程序,其对硬件模块M和硬件模块N的指令不符合系统规则“特征内容M在特征内容N之后发生”。
实例2:假设特征内容M为硬件模块M输出数据的存储空间地址、特征内容N为硬件模块N输入数据的存储空间地址、系统规则检查模块中存储的系统规则包括“特征内容M与特征内容N相等”。软件程序先向硬件模块M发出指令,控制其将相应的数据输出并存储到该指令所指定的存储空间,该指令中包括指定存储空间的地址,并存储在硬件模块M的寄存器中;软件程序再向硬件模块N发出指令,控制其从该指令所指定的存储空间读取数据作为其输入数据,该指令中包括指定存储空间的地址,并存储在软件模块N的寄存器中。系统规则检查模块读取硬件模块M和硬件模块N的寄存器中存储的指令,并提取出表示存储硬件模块M输出数据的存储空间地址的特征内容M、以及表示硬件模块N读取数据的存储空间地址的特征内容N。如果特征内容M与特征内容N不相等时,即硬件模块M输出数据的存储空间与硬件模块N输入数据的存储空间不一致,则系统规则检查模块判断出此时发生特征内容M和特征内容N不符合系统规则,并向软件程序上报错误,通知软件程序,其对硬件模块M和硬件模块N的指令不符合系统规则“特征内容M与特征内容N相等”。
实例3:对于上述实例2,假设系统规则检查模块中存储的系统规则不包括“特征内容M与特征内容N相等”,而是包括“特征内容M与特征内容N不相交”,则如果特征内容M与特征内容N不相交时,即硬件模块M输出数据的存储空间与硬件模块N输入数据的存储空间不存在交集,系统规则检查模块判断出此时发生特征内容M和特征内容N不符合系统规则,并向软件程序上报错误,通知软件程序,其对硬件模块M和硬件模块N的指令不符合系统规则“特征内容M与特征内容N不相交”。
以上,是对本发明中软硬件协同处理的自诊断系统的详细说明。下面,再对本发明中软硬件协同处理的自诊断方法进行说明。
图2为本发明中软硬件协同处理的自诊断方法的流程示意图。如图2所示,该方法包括:
步骤200,在软硬件协同处理系统中设置系统规则检查模块,并在系统规则检查模块中存储预设的各种系统规则。
步骤201,软件程序向各硬件模块发出指令,控制各硬件模块执行指令对应的处理。
步骤202,硬件模块根据软件程序发出的指令执行与该指令对应的处理,即在软件程序的控制下执行相应的处理。
本步骤中,如果硬件模块中包括了用于存储软件程序发出的指令的寄存器,则可以将软件程序发出的指令存储在寄存器中。
步骤203,系统规则检查模块实时监测各硬件模块接收自软件程序的指令,判断软件程序向各硬件模块发出的指令是否符合存储的预设系统规则,如果符合,则返回步骤201或步骤202;如果不符合,则执行步骤204。
本步骤中,如果硬件模块中包括用于存储软件程序发出的指令的寄存器,则系统规则检查模块可以读取各硬件模块的寄存器中存储的指令,并提取出指令中的特征内容,以实现对各硬件模块接收自软件程序的指令,再根据提取出的特征内容来判断指令是否符合预设系统规则。
步骤204,系统规则检查模块向软件程序上报错误指令,将不符合的系统规则通知软件程序。
本步骤中,系统规则检查模块可以通过中断方式上报错误指令,即向软件程序上报的错误指令为中断请求。中断请求中还可以包括检测到的指令所不符合的系统规则的标识,用于将不符合的系统规则通知软件程序。
至此,本流程结束。
上述流程中的步骤201~步骤204为循环执行的过程,步骤203并不限于在步骤202之后再执行,而是可以与步骤202同时执行。
由上述流程可见,系统规则检查模块实时监测各硬件模块,并在控制硬件模块执行相应处理的指令不符合预设系统规则时,向软件程序上报错误,使得软件程序能够获知其发出的指令违反了系统规则。根据系统规则检查模块上报的错误,软件工程师即可调整软件程序,以降低各硬件模块在软件程序控制下的错误发生率,从而提高软硬件协同处理的可靠性。
实际应用中,上述流程中由系统规则检查模块所执行的处理过程,也可以由其他模块来执行,例如所有硬件模块中的任意一个、或者应用程序、或者系统中的其他已有模块;在判断出硬件模块接收自应用程序的指令不符合所述系统规则时,也可以不向应用程序上报错误指令,而是上报给能够使软件工程师能够获知错误指令的其他功能模块,例如预设的存储模块、或具有显示功能的各种模块等。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换以及改进等,均应包含在本发明的保护范围之内。
Claims (6)
1、一种软硬件协调处理的自诊断系统,包括:软件程序和多个硬件模块,
其特征在于,所述硬件模块中包括寄存器,用于存储软件程序发出的指令;
且该系统进一步包括:
存储了预设系统规则的系统规则检查模块,用于读取各硬件模块的寄存器中存储的指令并提取出指令中的特征内容,在提取出的特征内容与所述系统规则不匹配时,判断出所述指令不符合预设系统规则,以实时监测各硬件模块接收自软件程序的指令;在所述指令不符合存储的预设系统规则时,向所述软件程序上报错误指令;
其中,所述系统规则包括:不同特征内容的发生顺序、不同特征内容是否相等、不同特征内容是否相交。
2、如权利要求1所述的系统,其特征在于,所述系统规则检查模块通过中断方式向所述软件程序上报错误指令。
3、如权利要求2所述的系统,其特征在于,所述错误指令中包括软件程序向各硬件模块发出的指令所不符合的系统规则的标识。
4、一种软硬件协同处理方法,其特征在于,预设各种系统规则,该方法包括:
读取各硬件模块接收自软件程序的指令并提取出所述指令中的特征内容,在所述提取出的特征内容与所述系统规则不匹配时,判断出所述指令不符合预设系统规则,以实时监测各硬件模块接收自软件程序的指令;
在所述指令不符合所述系统规则时,上报错误指令;
其中,所述系统规则包括:不同特征内容的发生顺序、不同特征内容是否相等、不同特征内容是否相交。
5、如权利要求4所述的方法,其特征在于,所述上报错误指令为:通过中断方式上报错误指令。
6、如权利要求5所述的方法,其特征在于,所述错误指令中包括所述指令所不符合的系统规则的标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101757485A CN100507872C (zh) | 2007-10-11 | 2007-10-11 | 软硬件协调处理的自诊断系统和方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2007101757485A CN100507872C (zh) | 2007-10-11 | 2007-10-11 | 软硬件协调处理的自诊断系统和方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101154186A CN101154186A (zh) | 2008-04-02 |
CN100507872C true CN100507872C (zh) | 2009-07-01 |
Family
ID=39255859
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2007101757485A Expired - Fee Related CN100507872C (zh) | 2007-10-11 | 2007-10-11 | 软硬件协调处理的自诊断系统和方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100507872C (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101477605B (zh) * | 2009-01-15 | 2011-03-16 | 北京航空航天大学 | 一种基于硬件的嵌入式系统程序执行安全增强模块 |
CN101833368B (zh) * | 2010-04-13 | 2012-03-28 | 杭州电子科技大学 | 一种软硬件协调处理的局部动态可重构系统能量管理方法 |
-
2007
- 2007-10-11 CN CNB2007101757485A patent/CN100507872C/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101154186A (zh) | 2008-04-02 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190205233A1 (en) | Fault injection testing apparatus and method | |
US7813820B2 (en) | Method to increase the safety integrity level of a control system | |
Backes et al. | Requirements analysis of a quad-redundant flight control system | |
US8402315B2 (en) | Electronic card able to execute a command originating from a simulation system and a command originating from a diagnostic module and associated simulation method | |
CN104182683B (zh) | 一种联机事务的监控方法、装置及系统 | |
CN104914815A (zh) | 处理器监控方法、装置及系统 | |
Shin et al. | STPA-based hazard and importance analysis on NPP safety I&C systems focusing on human–system interactions | |
US20120124411A1 (en) | System on chip fault detection | |
CN104133768A (zh) | 一种程序代码复查方法和装置 | |
US10540218B2 (en) | Processor system and method for monitoring processors | |
CN100507872C (zh) | 软硬件协调处理的自诊断系统和方法 | |
JP5975923B2 (ja) | 車両用制御装置 | |
CN102521086B (zh) | 基于锁步同步的双模冗余系统及其实现方法 | |
US9355506B2 (en) | Method for managing fault messages of a motor vehicle | |
CN109995597B (zh) | 一种网络设备故障处理方法及装置 | |
US20160224456A1 (en) | Method for verifying generated software, and verifying device for carrying out such a method | |
CN202771317U (zh) | 一种基于divbit 技术的安全计算机 | |
CN109254898A (zh) | 一种软件模块执行顺序监视方法及监视系统 | |
CN106610878A (zh) | 双控制器系统的故障调试方法 | |
WO2020109252A1 (en) | Test system and method for data analytics | |
Manimaran et al. | Fault tolerant distributed real time computer systems for I&C of prototype fast breeder reactor | |
JP2006344086A (ja) | データ照合装置,データ照合方法,データ制御装置及びデータ制御方法 | |
JP2011081705A (ja) | メモリ制御装置及びメモリ制御装置の制御方法 | |
US9164852B2 (en) | System on chip fault detection | |
KR20200085055A (ko) | 엔진 제어기용 제어 로직 검증 장치 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
C17 | Cessation of patent right | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20090701 Termination date: 20121011 |