CN104714855A - 安全系统中的输入/输出操作 - Google Patents

安全系统中的输入/输出操作 Download PDF

Info

Publication number
CN104714855A
CN104714855A CN201410418147.2A CN201410418147A CN104714855A CN 104714855 A CN104714855 A CN 104714855A CN 201410418147 A CN201410418147 A CN 201410418147A CN 104714855 A CN104714855 A CN 104714855A
Authority
CN
China
Prior art keywords
register
value
fsc
module
application
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.)
Granted
Application number
CN201410418147.2A
Other languages
English (en)
Other versions
CN104714855B (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.)
Smart Embedded Computing Inc
Original Assignee
Artesyn Embedded Computing Inc
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 Artesyn Embedded Computing Inc filed Critical Artesyn Embedded Computing Inc
Publication of CN104714855A publication Critical patent/CN104714855A/zh
Application granted granted Critical
Publication of CN104714855B publication Critical patent/CN104714855B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3055Monitoring arrangements for monitoring the status of the computing system or of the computing system component, e.g. monitoring if the computing system is on, off, available, not available
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/22Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing
    • G06F11/2284Detection or location of defective computer hardware by testing during standby operation or during idle time, e.g. start-up testing by power-on test, e.g. power-on self test [POST]
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0751Error or fault detection not based on redundancy
    • G06F11/0754Error or fault detection not based on redundancy by exceeding limits
    • G06F11/0757Error or fault detection not based on redundancy by exceeding limits by exceeding a time limit, i.e. time-out, e.g. watchdogs
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1633Error detection by comparing the output of redundant processing systems using mutual exchange of the output between the redundant processing components
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1629Error detection by comparing the output of redundant processing systems
    • G06F11/1654Error detection by comparing the output of redundant processing systems where the output of only one of the redundant processing components can drive the attached hardware, e.g. memory or I/O
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/34Recording 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/3466Performance evaluation by tracing or monitoring
    • G06F11/3495Performance evaluation by tracing or monitoring for systems
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/1608Error detection by comparing the output signals of redundant hardware
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • 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/16Error detection or correction of the data by redundancy in hardware
    • G06F11/20Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements
    • G06F11/202Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant
    • G06F11/2038Error detection or correction of the data by redundancy in hardware using active fault-masking, e.g. by switching out faulty elements or by switching in spare elements where processing functionality is redundant with a single idle spare processing component

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 Hardware Design (AREA)
  • Computing Systems (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明公开安全系统中的输入/输出操作。一种模块健康系统包括模块健康电路,该模块健康电路包括:硬件寄存器,响应于该系统起动被设置为第一值;应用寄存器,响应于该系统起动被设置为该第一值;以及监视狗计时器寄存器,响应于该系统起动被设置为该第一值。该系统进一步包括:通电自检,确定该系统是否已通过多个测试,并且基于该确定选择性地将该硬件寄存器设置为第二值;外部软件应用,确定安全临界系统是否健康,并且基于该确定选择性地设置该应用寄存器;监视狗计时器应用,选择性地设置该监视狗计时器寄存器;中央处理单元,确定是否使模块健康信号失效。

Description

安全系统中的输入/输出操作
相关申请的交叉引用
本申请要求2013年12月16日提交的美国临时申请No.61/916,410的权益。
技术领域
本公开内容涉及容错故障安全计算机系统。
背景技术
该部分提供与本公开内容相关的背景信息,该背景信息不一定是现有技术。
本文提供的背景描述是为了概括地呈现本公开内容的背景。当前命名的发明人的工作,就其在该背景部分中描述的范围以及不可能另外成为提交时的现有技术的描述的方面而言,既不明确地也不隐含地被认为是相对于本公开内容的现有技术。
外部安全系统,如轨道系统,可以包括被配置为实现安全应用的容错故障安全计算机系统。该容错故障安全计算机系统可以包括多个硬件组件,该多个硬件组件以电气方式和以逻辑方式联接来实现安全应用。安全应用选择性地与安全临界硬件和软件通信。将安全临界硬件和软件配置为控制轨道系统的安全相关功能。
例如,在轨道系统上行驶的火车包括制动系统。该制动系统配置为实现至少一个安全相关功能,如制动功能。该制动系统包括制动器和被配置为对该制动器进行促动的软件。该软件接收指令来对该制动器进行促动。例如,火车的驾驶员可以操作制动系统用户界面,以指令该软件对该制动器进行促动。该轨道系统的故障组件可以定期地生成差错指令来对该制动器进行促动。相应地,被配置为验证由外部安全系统接收的指令的容错故障安全计算机系统是期望的。
发明内容
该部分提供本公开内容的一般概括,并且不是本公开内容的全部范围或本公开内容的全部特征的全面公开。
一种模块健康系统包括模块健康电路。该模块健康电路包括硬件(HW)寄存器,该硬件(HW)寄存器响应于系统起动被设置为第一值。该模块健康电路进一步包括:应用寄存器,响应于系统起动被设置为该第一值;以及监视狗(WD)计时器寄存器,响应于系统起动被设置为该第一值。
该系统进一步包括:通电自检(POST),确定该系统是否已通过多个测试,并且基于该确定选择性地将HW寄存器设置为第二值;以及外部软件应用,确定安全临界系统是否健康,并且基于该确定选择性地设置应用寄存器。该系统进一步包括:监视狗计时器应用,响应于接收监视狗信号选择性地设置WD计时器寄存器;以及中央处理单元(CPU),基于HW寄存器、应用寄存器和WD计时器寄存器的值,确定是否使模块健康信号失效。
在其它特征中,一种方法包括:响应于模块健康系统起动,将硬件(HW)寄存器设置为第一值;响应于系统起动,将应用寄存器设置为该第一值;响应于系统起动,设置监视狗(WD)计时器寄存器;响应于确定该系统是否已通过多个测试,选择性地将HW寄存器设置为第二值;响应于确定安全临界系统是否健康,选择性地将应用寄存器设置为该第二值;响应于接收监视狗信号,选择性地将WD计时器寄存器设置为该第二值;以及基于HW寄存器、应用寄存器和WD计时器寄存器的值,确定是否使模块健康信号失效。
适用性的进一步方面将从本文提供的描述中变得明显。该发明内容中的描述和特定示例旨在仅用于说明目的,而不旨在限制本公开的范围。
附图说明
本文描述的附图仅用于所选择实施例的说明用途,而不是用于所有可能的实施方式,并且不旨在限制本公开的范围。
图1是根据本公开原理的容错故障安全计算机系统的功能框图;
图2是根据本公开原理的故障安全底架的功能框图;
图3是根据本公开原理的模块健康电路的功能框图;以及
图4是图示根据本公开原理的模块健康方法的流程图。
在附图的若干视图中,相对应的附图标记始终表示相对应的部分。
具体实施方式
现在将参考附图更充分地描述示例实施例。
现在参考图1,示出示例性容错故障安全计算机系统100的功能框图。系统100被布置为与安全应用交互。例如,系统100被布置为与安全临界硬件和软件通信,作为非限制示例,安全临界硬件和软件与轨道系统相关联。安全临界硬件和软件控制轨道系统的安全相关组件。例如,安全临界硬件可以联接至在轨道系统上运行的列车的制动系统。进一步,系统100也许能够根据工业认可的安全标准被验证。
安全临界硬件从安全临界软件接收数据元素,以促动制动系统的制动器。系统100与安全临界硬件和软件接合,以保证安全临界硬件和软件正根据预定的操作标准操作。要理解,尽管仅描述列车的制动系统,但是本公开的原理适用于任何安全临界硬件和软件。用于本文描述的实施例的其它可能应用包括但不限于:飞机系统的组件、医学治疗系统的组件、油和气控制系统的组件、智能电网系统的组件、以及各种制造系统的组件。
在一些实施方式中,系统100从外部安全系统(如轨道系统)接收多个进入数据分组。系统100被配置为处理多个进入数据分组,并且将多个外出数据分组传递给外部安全系统的安全相关组件。例如,系统100确定多个进入数据分组中的第一分组是否是有效分组。当系统100确定第一分组是有效分组时,系统100将外出分组传递给轨道系统的至少一个安全相关组件。
第一分组包括要由轨道系统的至少一个安全相关组件行动的数据元素。数据元素可以包括传感器数据和/或输入/输出(I/O)点状态。该至少一个安全相关组件可以是与在轨道系统上行驶的列车联接的制动器。要理解,尽管仅描述外部安全系统的安全相关组件,但是第一分组可以包括要由外部安全系统的非安全相关组件行动的数据元素。根据传输协议对数据元素进行格式化。例如,将轨道系统配置为根据预确定的封装标准将数据元素封装为可传输的分组。然后,轨道系统根据传输协议传输多个进入数据分组。
将系统100布置为接收根据传输协议传输的分组。进一步,将系统100配置为解释预确定的封装标准。然后,系统100从第一分组中提取数据元素,并且基于数据元素生成外出数据分组。外出数据分组包括基于数据元素的一组指令。尽管仅讨论指令,但是外出数据分组还可以包括控制I/O的操作指令、读取输入来搜集信息的请求、健康消息通信、对中间过程通信的请求、或其它适合的元素。该组指令包括至少一个指令,该至少一个指令指示安全临界硬件和软件中至少之一运行过程。
例如,该组指令可以指示安全临界软件运行制动过程。制动过程包括硬件制动指令。将硬件制动指令传递给安全临界硬件。安全临界硬件运行制动指令。例如,安全临界硬件施加制动。
系统100确定是否要将外出数据分组和数据元素传递给安全临界硬件和软件。例如,系统100保证多个进入数据分组中每个进入数据分组满足预确定的安全标准。预确定的安全标准包括确定轨道系统是否正根据一组预限定的操作标准操作。系统100验证多个进入数据分组中每个数据分组是由轨道系统100有意传输的。仅例如,轨道系统可以传递由轨道系统内的硬件或软件故障引起的错误进入数据分组。
安全临界硬件和软件响应于来自轨道系统的操作者的命令接收多个进入数据分组中的第一分组。安全临界硬件和软件接收多个进入数据分组中由轨道系统中的故障引起的第二分组。仅作为非限定示例,轨道系统中的故障可以包括硬件故障,如延长暴露于热或湿气引起的恶化电连接。安全临界硬件和软件将包括第一分组和第二分组的多个进入数据分组传递至系统100。系统100被配置为确定多个进入数据分组中的每个数据分组是否由于轨道系统中的故障而由安全临界硬件和软件接收。
当系统100确定多个进入数据分组之一是响应于来自操作者的命令被接收时,系统100生成与所接收的进入数据分组对应的外出数据分组。例如,系统100基于第一分组生成第一外出数据分组。第一外出数据分组包括与第一分组内的数据元素对应的一组指令。当系统100确定第一分组是有效分组时,系统100将第一外出数据分组传递至安全临界硬件和软件。例如,系统100确定第一分组是响应于来自操作者的命令而接收的。系统100将第一外出数据分组传递至安全临界硬件和软件。安全临界硬件和软件运行在第一外出数据分组中包括的那组指令。
相反,当系统100确定多个进入数据分组之一是响应于轨道系统内的故障而被接收时,系统100不将外出数据分组传递至安全临界硬件和软件。例如,系统100确定第二分组是由于轨道系统中的故障而接收的。系统100不将与第二分组对应的外出数据分组传递至安全临界硬件和软件。因此,安全临界硬件和软件不运行与第二分组中包括的数据元素对应的指令。
进一步,系统100基于确定在轨道系统内出现故障,生成故障指示。以此方式,由安全临界硬件和软件运行的数据元素首先被系统100验证。该验证保证轨道系统正根据预确定的安全标准操作。
在一些实现中,系统100接收多个进入数据分组中的第一分组。同时,系统100接收多个进入数据分组中的第二分组。然后,系统100对第一分组和第二分组运行表决逻辑。可以将表决逻辑实现为双二选二(2oo2)系统。下面更详细地说明该2oo2表决逻辑。系统100确定第一分组和第二分组是否相同。当系统100确定第一分组和第二分组相同时,系统100生成第一外出数据分组并且将第一外出数据分组传递至安全临界硬件和软件的至少一个组件。
然后,该至少一个组件运行在第一外出数据分组中包括的操作数据元素。相反,当第一分组和第二分组不相同时,系统100将系统100或轨道系统的至少一个组件识别为有故障。要理解,尽管描述轨道系统,但是本公开的原理适用于任何外部安全系统。
系统100还生成安全指示。安全指示可以表示系统100或安全临界硬件和软件内的故障。进一步,系统100指示该至少一个组件在预确定的安全状态下操作。例如,安全状态可以包括被布置为保持轨道系统的安全操作环境的一组安全状态数据元素。
安全状态数据元素包括指示轨道系统在预确定的操作模式下操作,该预确定的操作模式保证轨道系统的总体安全。仅例如,预确定的操作模式包括使在轨道系统上操作的列车停止。在一些实现中,安全状态包括禁用所有安全相关的通信接口。例如,在安全状态下操作的故障安全计算机不能够与安全临界硬件和软件通信。以此方式,在安全状态下操作的故障安全计算机不能够与不正确地指示安全临界硬件和软件。
系统100包括活跃的故障安全底架(FSC)104和待命FSC 108。为了提高系统100的可用性和可靠性,活跃FSC 104和待命FSC 108是冗余FSC。例如,将活跃FSC 104配置为运行待命FSC 108的任何和全部操作。以此方式,当活跃FSC104和待命FSC 108之一遇到硬件或软件故障时,活跃FSC 104和待命FSC 108中另一个被配置为代替故障的FSC操作。
活跃FSC 104实现二选二(2oo2)表决体系结构,该二选二表决体系结构检测表决不匹配并且在发生表决不匹配时执行故障安全操作。2oo2表决体系结构包括双冗余处理和表决子系统。冗余处理和表决子系统对进入或离开活跃FSC 104的分组进行表决。例如,活跃FSC 104接收多个进入数据分组。活跃FSC 104接收多个进入数据分组中第一分组的两个复本。
活跃FSC 104确定第一分组的有效性。活跃FSC 104基于确定第一分组是否有效而连续地生成第一健康状态信号和第二健康状态信号。在一些实现中,连续地生成信号可以包括将该信号设置为第一预确定的值。然后,所连续生成的信号保持在该第一预确定的值,直到将该信号失效为第二预确定的值。
活跃FSC 104将第一分组的这两个复本的每个复本进行比较。当这两个复本相同时,活跃FSC 104确定第一分组有效。当活跃FSC 104确定第一分组有效时,活跃FSC 104连续地生成第一健康状态信号和第二健康状态信号。可以将第一健康状态信号和第二健康状态信号生效(assert)为第一值。在一些实现中,第一值等于1。在另一实现中,第一值可以是表示该FSC 104是健康的一串字符。
相反,当活跃FSC 104确定第一分组的这两个复本不相同时,活跃FSC 104使第一健康状态信号和第二健康状态信号失效(de-assert)。要理解,第一健康状态信号和第二健康状态信号可以被失效为第二值。例如,第二值可以等于0。在另一实现中,第二值可以是表示该FSC 104不健康的一串字符。如下面将更详细地描述的,活跃FSC 104包括第一处理器和第二处理器。当第一处理器确定第一分组的复本是有效的时,第一处理器连续地生成第一健康状态信号。类似地,当第二处理器确定第一分组的第二复本是有效的时,第二处理器连续地生成第二健康状态信号。
活跃FSC 104将第一健康状态信号和第二健康状态信号传递至系统100。系统100监视第一健康状态信号和第二健康状态信号,以确定活跃FSC 104是否健康。例如,当系统100接收第一健康状态信号和第二健康状态信号时,系统100确定活跃FSC 104是健康的。相反,当系统100未收到第一健康状态信号和第二健康状态信号之一时,系统100确定活跃FSC 104是不健康的。
如下面将更详细地讨论的,系统100指示活跃FSC 104在安全状态下操作,以便保持系统100的安全。要理解,尽管仅关于被失效(de-asserted)的第一状态信号和第二状态信号讨论表决不匹配,但是系统100内的任何硬件或软件故障可以导致第一状态信号和第二状态信号之一被失效。健康状态信号可以表示系统100正根据预确定的操作标准操作。以此方式,健康状态信号表示系统100是健康的。
当活跃FSC 104确定第一分组的这两个复本不相同时,活跃FSC 104确定已经发生表决故障。活跃FSC 104基于确定已经发生表决故障,生成故障信号。该故障信号表示系统100内检测到的故障。该故障可以由系统100内或外部安全系统内的硬件或软件故障引起。出于可用性的原因,如果活跃FSC 104遇到硬件或软件故障,则系统100迫使活跃FSC 104至预确定的安全状态。然后,待命FSC 108作为活跃FSC操作。
活跃FSC 104和待命FSC 108中每个FSC均可以包括多个通信链路。这些通信链路包括但不限于上行链路、下行链路和用户界面。上行链路是较高层设备的双向通信信道。该较高层设备可以是在总体系统体系结构中包括的系统硬件。例如,较高层设备可以是轨道系统的轨道制动系统的组件。
下行链路是较低层硬件的双向通信信道。例如,较低层硬件可以包括与较高层设备通信的交换机和中继器。下行链路可以依照任何适合的硬件标准实现。例如,可以将下行链路实现为RS-232、RS-422、RS-485、CAN、MVB、以太网、以太网HSR环网或其它适合的技术。用户界面是被设计为允许系统100的用户访问系统100的组件和子系统的界面。仅例如,可以将用户界面实现为多个发光二极管(LED)。
通信链路与系统100外部的硬件组件和软件应用通信。进一步,将系统100配置为接收输入并将输出传递给现场工程师。例如,现场工程师可以通过与系统100的用户界面通信,选择性地配置系统100。
将活跃FSC 104和待命FSC 108中每个FSC布置为运行健康和安全应用。例如,活跃FSC 104和待命FSC 108包括存储器和处理器。健康和安全应用可以是被加载到活跃FSC 104和待命FSC 108的存储器内的软件。然后,健康和安全应用由活跃FSC 104和待命FSC 108的处理器运行。
健康和安全应用监视并控制活跃FSC 104和待命FSC 108。例如,健康和安全应用生成多个健康信号。多个健康信号可以包括但不限于模块健康信号和屏蔽信号。健康和安全应用基于例如活跃FSC 104中的故障,生成多个信号。健康和安全应用是功能安全子系统,其被设计为检测故障并通过迫使活跃FSC 104或待命FSC 108之一进入安全状态来对故障做出响应。
要理解,健康和安全应用可以包括在外部安全系统上运行的任何安全应用。这可以包括在一组数据元素由轨道系统的硬件和软件运行以前保证该组数据元素的有效性和安全性。还将健康和安全应用配置为,在该健康和安全应用检测到系统100中的故障时,保证轨道系统在预确定的安全状态下操作。
活跃FSC 104和待命FSC 108中的每个FSC包括处理子系统。活跃FSC 104处理子系统包括主中央处理单元(CPU)116a和检查器CPU 120a。类似地,待命FSC 108处理子系统包括主CPU 116b和检查器CPU 120b。将主CPU 116a和116b中每个CPU配置为相同。类似地,将检查器CPU 120a和120b中每个检查器配置为相同。以此方式,主CPU 116a、主CPU 116b、检查器CPU 120a和检查器CPU120b起到提高系统100的可用性和可靠性的作用。
为监视和控制系统100的总体健康和安全,还将主CPU 116a和检查器CPU120a配置为相同。例如,主CPU 116a和检查器CPU 120a运行相同的软件并且实现相同的处理功能。将主CPU 116a和检查器CPU 120a配置为执行相同的功能,以便保持安全临界硬件和软件的全硬件故障和错误检测覆盖,并且允许以正确的顺序对外出分组进行表决。
在一些实现中,主CPU 116a从轨道系统的安全临界硬件或软件中至少之一中接收执行任务的请求。该执行任务的请求基于由安全临界硬件和软件从外部安全系统的操作者接收的命令。例如,轨道系统的操作者可以命令在轨道系统上行驶的列车提高速度。操作者可以促动列车内的物理操纵杆。将物理操纵杆布置为生成表示提高列车速度的命令的信号。将该信号传递至安全临界硬件和软件。
在运行该命令以前,安全临界硬件和软件将安全相关任务传递至系统100。将系统100配置为解释该信号并且确定与该信号关联的请求任务。然后,系统100确定所请求的任务是否表示安全相关任务。例如,所请求的任务可以是安全相关任务或者非安全相关任务。在一个示例中,非安全相关任务包括指示安全临界硬件和软件返回在轨道系统内操作的列车的当前状态的指令。在另一示例中,安全相关任务包括指示安全临界硬件和软件提高列车速度的指令。
系统100将所请求的任务与一系列预限定的任务进行比较。基于预限定的任务,系统100确定所请求的任务是否是安全相关的。当系统100确定所请求的任务是安全相关任务时,系统100生成与所请求的任务对应的分组。要理解,尽管本文只描述安全相关任务,但是系统100可以根据任何任务生成分组。系统100将分组传递至主CPU 116a。将主CPU 116a和检查器CPU 120a都配置为,在安全临界硬件和软件运行所请求的任务以前验证分组的有效性。例如,执行任务的请求可以是多个进入数据分组之一。
同时,检查器CPU 120a接收与所请求的任务对应的同一分组的复本。将主CPU 116a和检查器CPU 120a中每个CPU都配置为将分组的复本传递至主CPU116a和检查器CPU 120a中的另一CPU。在主CPU 116a指示安全临界硬件和软件执行所请求的任务以前,主CPU 116a和检查器CPU 120a对由主CPU 116a和检查器CPU 120a中每个CPU接收的分组进行比较。例如,主CPU 116a和检查器CPU120a对分组执行2oo2表决。
当分组相同时,主CPU 116a指示安全临界硬件和软件执行所请求的任务。例如,主CPU 116a和检查器CPU 120a生成与所请求的任务关联的外出分组。当表决成功时(即,分组是相同的),主CPU 116a将外出分组传递至安全临界硬件和软件去运行所请求的任务。
外出分组可以包括控制I/O的操作数据元素、读取输入来搜集信息的请求、健康消息、对中间过程通信的请求、或与安全临界硬件和软件关联的其它适合的请求。操作数据元素可以包括指示安全临界硬件和软件之一运行预确定的过程的一组指令。例如,操作数据元素可以指示安全临界软件运行加速过程。加速过程包括控制至少一个安全临界硬件组件。该至少一个硬件组件包括列车的节流阀机构。
相反,当分组不相同时,主CPU 116a和检查器CPU 120a不指示安全临界硬件和软件执行所请求的任务。主CPU 116a生成故障信号。该故障信号表示系统100、安全临界硬件和软件或外部安全系统内的故障。以此方式,主CPU 116验证所请求的任务是来自有效源(即外部硬件组件或软件应用)的有效请求。
仅例如,主CPU 116a接收由外部硬件故障、软件差错或整体系统失灵引起的执行任务的差错请求。要理解,尽管仅描述主CPU 116a和检查器CPU 120a,但是上面描述的原理还适用于主CPU 116b和检查器CPU 120b。
活跃FSC 104和待命FSC 108中每个FSC均包括多个输入/输出单元(IOU)模块。活跃FSC 104包括IOU模块128a-128f。下文中,将IOU模块128a-128f称为IOU模块128。类似地,待命FSC 108包括IOU模块132a-132f,IOU模块132a-132f与IOU模块128a-128f相同。下文中,将IOU模块132a-132f称为IOU模块132。
活跃FSC 104和待命FSC 108每个还包括表决子系统、输入/输出(I/O)子系统以及分别的交换模块124a和交换模块124b。将交换模块124a和交换模块124b配置为相同。交换模块124a和交换模块124b将从I/O子系统接收的分组路由至主CPU 116a和116b以及检查器CPU 120a和120b。
例如,交换模块124a可以将从主CPU 116a接收的分组路由至外部网络组件。进一步,交换模块124a从外部组件接收分组并且将所接收的分组路由至主CPU116a、检查器CPU 120b以及I/O子系统。进一步,交换模块124a将所接收的分组传递至表决子系统。应当理解,尽管仅描述交换模块124a,但是上面描述的原理还适用于交换模块124b。
IOU模块128实现活跃FSC 104内的I/O子系统。将该I/O系统配置为提供下层网络设备和主CPU116a及检查器CPU 120a之间的网关。IOU模块128将主CPU116a和检查器CPU 120a与由外部硬件和软件需要的下层协议隔离。以此方式,IOU模块128在内部以太网上添加安全层,以支持主CPU 116a、检查器CPU 120a和外部硬件和软件之间的安全通信。IOU模块128和交换模块124a可以被共同称为前刀片(blade)124a-128f。类似地,IOU模块132和交换模块124b可以被共同称为前刀片124b-132f。
活跃FSC 104和待命FSC 108还包括多个后端转换模块(RTM)。活跃FSC 104包括RTM 136a-136i。待命FSC 108包括RTM 140a-140i。应当理解,由于待命FSC108是活跃FSC 104的冗余配置,所以RTM 136a-136i与RTM 140a-140i是相同的。在一些实现中,RTM 136a-136i中每个可以是可热交换的现场可更换单元(FRU)。
例如,RTM 136a-136i中每个RTM可以由现场工程师在不必首先对全部系统100断电的情况下移除和更换。RTM 136a-136i允许活跃FSC 104与外部硬件组件和软件组件通信。例如,RTM 136a以电的方式和以逻辑方式将主CPU 116a联接至活跃FSC 104外部的组件。类似地,RTM 136b以电的方式和以逻辑方式将待命FSC 108联接至外部的硬件组件和软件组件。
前刀片124a-128f每个包括第一存储器位置和第二存储器位置。第一存储器位置和第二存储器位置存储从活跃FSC 104的对应硬件组件接收的值。例如,主CPU116a连续地生成表示主CPU 116a的模块健康状况的模块健康信号(上面描述的)。当模块健康信号表示主CPU 116a是健康的时,主CPU 116a将“1”存储在第一存储器位置中。
前刀片124a-128f和主CPU 116a中每个均生成模块健康信号。前刀片124a-128f中每个前刀片将表示模块健康信号的值存储在第一存储器位置中。仅例如,当模块健康信号表示交换模块124a是健康的时,交换模块124a将“1”存储在与交换模块124a关联的第一存储器位置中。
相反,当模块健康信号表示交换模块124a是不健康的时,交换模块124a将“0”存储在第一存储器位置中。要理解,尽管仅描述交换模块124a,但是本文讨论的原理适用于系统100内的所有模块。进一步要理解,尽管仅描述基于模块健康信号存储“1”和“0”,但是可以使用任何适合的指示符来表示系统100内的每个模块的健康状况。然后,系统100内的每个模块将存储在关联的第一存储器位置中的值传递至主CPU 116a。
主CPU 116a基于与由前刀片124a-128f中每个前刀片生成的模块健康信号和由主CPU 116a生成的模块健康信号对应的多个值的接收,确定活跃FSC 104是否是健康的。仅例如,当所接收的与模块健康信号对应的值中每个值表示系统100内的每个模块均是健康的时,主CPU 116a确定活跃FSC 104是健康的。相反,当所接收的与模块健康信号对应的值中至少一个值表示系统100内的模块中至少一个模块是不健康的时,主CPU 116a确定活跃FSC 104是不健康的。
在另一实现中,将表示模块健康信号的值存储在在系统100的前端配置的模块中。例如,当模块健康信号表示主CPU 116a是健康的时,在系统100的与RTM136相对侧配置的模块将“1”存储在第一存储器位置中。要理解,尽管仅描述主CPU 116a,但是本文描述的原理适用于检查器CPU 120a。
主CPU 116a接收多个进入数据分组中的第一分组。同时,检查器CPU 120a接收第一分组的复本。主CPU 116a和检查器CPU 120a确定第一分组和第一分组的复本是否相同。当第一分组和第一分组的复本相同时,主CPU 116a连续地生成模块健康信号。可以将模块健康信号设置为1或者高的信号值。模块健康信号的值表示活跃FSC 104的健康状况。主CPU 116a将“1”存储在第一存储器位置中。
相反,当第一分组和第一分组的复本不相同时,主CPU 116a生成无效的模块健康信号。例如,主CPU 116a使模块健康信号失效。主CPU 116a将“0”存储在第一存储器位置中。主CPU 116a接收表示主CPU 116a内的屏蔽寄存器的状态的屏蔽信号。例如,屏蔽寄存器是主CPU 116a和检查器CPU 120a中每个CPU内的可编程的位。
当所请求的任务是安全相关的任务时,设置屏蔽寄存器。例如,当系统100确定所请求的任务是安全相关任务时,将屏蔽寄存器设置为1。当屏蔽信号表示主CPU 116a内的屏蔽寄存器被设置为1时,RTM 136a将“1”存储在第二存储器位置中。相反,当屏蔽信号表示主CPU 116a内的屏蔽寄存器被设置为0时,RTM 136a将“0”存储在第二存储器位置中。
系统100还包括监视狗计时器应用。监视狗计时器应用是持续运行的监视狗功能,其表示主CPU 116a是否已经停止运行代码。例如,监视狗计时器应用监视主CPU 116a。主CPU 116a生成监视狗计时器复位信号。主CPU 116a将监视狗计时器复位信号传递至监视狗计时器应用。监视狗计时器应用确定监视狗计时器复位信号是否是在预限定的时间段内接收的。例如,预限定的时间段可以是1分钟。预限定的时间段可以是可配置的项。
监视狗计时器应用根据监视狗计时器复位信号生成监视狗健康信号。例如,当主CPU 116a在预限定的时间段以后传递监视狗计时器复位信号时,监视狗计时器应用将监视狗健康信号设置为0。相反,当主CPU 116a在预限定的时间段内传递监视狗计时器复位信号时,监视狗计时器应用将监视狗健康信号设置为1。换言之,当主CPU 116a不能在预限定的时间段内与监视狗应用通信时,监视狗计时器应用确定主CPU 116a内的故障。例如,故障可以是主CPU 116a被卡在软件循环中的结果。要理解,尽管上面仅描述主CPU 116a,但是将检查器CPU 120a配置为与主CPU 116a相同的任务。
RTM 136a传递表示主CPU 116a的总体健康状况的模块健康值。例如,将RTM136a配置为对存储在第一存储器位置中的值和存储在第二存储器位置中的值执行逻辑“或(OR)”。例如,当存储在第一存储器位置中的值是0并且存储在第二存储器位置中的值是0时,RTM 136a将传递0的模块健康值。
当存储在第一存储器位置中的值是1并且存储在第二存储器位置中的值是0时,RTM 136a传递1的模块健康值。要理解,将RTM 136a-136i中每个RTM配置为对存储在与前刀片124a-128f中每个前刀片关联的存储器中的值执行逻辑“或”。
RTM 136a和136b将底架健康值传递至安全继电器箱模块144。安全继电器箱模块144基于多个底架健康值,选择性地确定系统100内的FSC中哪个FSC将是活跃FSC并且哪个FSC将是待命FSC。例如,安全继电器箱模块144从RTM 136a、RTM 136b、RTM 140a和RTM 140b接收多个底架健康值。RTM 136a基于由主CPU116a和前刀片124a-128f生成的模块健康信号的累积结果和存储在屏蔽寄存器中的值,生成第一底架健康值。
RTM 136a将底架健康值传递至安全继电器箱模块144。类似地,RTM 136b基于由检查器CPU 120a和前刀片124a-128f生成的模块健康信号的累积结果和存储在屏蔽寄存器中的值,生成第二底架健康值。RTM 140a基于由主CPU 116b和前刀片124b-132f生成的模块健康信号的累积结果和存储在屏蔽寄存器中的值,生成第三底架健康值。类似地,RTM 140b基于由检查器CPU 120b和前刀片124b-132f生成的模块健康信号的累积结果和存储在屏蔽寄存器中的值,生成第四底架健康值。
安全继电器箱模块144确定活跃FSC 104和待命FSC 108中哪个FSC将作为系统100内的活跃FSC操作。例如,安全继电器箱模块144基于第一底架健康值至第四底架健康值确定活跃FSC 104将作为系统100内的活跃FSC操作。当第一底架健康信号和第二底架健康信号表示活跃FSC 104是健康的时,安全继电器箱模块144确定活跃FSC 104将是系统100内的活跃FSC。
安全继电器箱模块144基于活跃FSC确定,生成活跃FSC信号和待命FSC信号。例如,安全继电器箱模块144生成第一活跃FSC信号和第二活跃FSC信号。第一活跃FSC信号和第二活跃FSC信号是冗余信号,它们都表示选择哪个FSC作为活跃FSC操作。安全继电器箱模块144还生成第一待命FSC信号和第二待命FSC信号。
第一待命FSC信号和第二待命FSC信号是冗余信号,它们都表示选择哪个FSC作为待命FSC操作。安全继电器箱模块144将第一活跃FSC信号和第一待命FSC信号传递至活跃FSC 104。类似地,安全继电器箱模块144将第二活跃FSC信号和第二待命FSC信号传递至待命FSC 108。
安全继电器箱模块144还基于第一底架健康信号至第四底架健康信号确定在活跃FSC 104和待命FSC 108之一中是否已出现故障。例如,当安全继电器箱模块144从RTM 136a和RTM 136b之一接收无效底架健康信号时,安全继电器箱模块144确定在活跃FSC 104中已出现故障。例如,无效底架健康信号可以是0的底架健康值。安全继电器箱模块144基于无效的底架健康信号生成待命信号。安全继电器箱模块144将待命信号传递至活跃FSC 104。活跃FSC 104基于该待命信号确定是否进入故障安全状态。例如,当活跃FSC 104接收待命信号时,活跃FSC104确定进入故障安全状态。
安全继电器箱模块144基于底架健康值生成活跃信号。安全继电器箱模块144将活跃信号传递至待命FSC 108。活跃信号向待命FSC 108指示活跃FSC 104正操作在故障安全状态或待命状态。当待命FSC 108接收活跃信号时,待命FSC 108开始作为活跃FSC操作。以此方式,安全继电器箱模块144迫使有故障的活跃FSC进入故障安全状态,并且提示待命FSC担当活跃FSC的角色。
在一些实现中,将安全继电器箱模块144配置为与多个商业现货供应(COTS)产品通信。例如,活跃FSC 104和待命FSC 108可以是在系统100内实现的COTS产品。根据预确定的实现标准,对活跃FSC 104和待命FSC 108进行配置。实现标准包括预限定的通信协议。
将安全继电器箱模块144配置为根据通信协议接收和解释来自活跃FSC 104和待命FSC 108的信号和消息。以此方式,无论活跃FSC 104和待命FSC 108的物理属性如何,只要活跃FSC 104和待命FSC 108服从通信协议,安全继电器箱模块144就与活跃FSC 104和待命FSC 108通信。要理解,安全继电器箱模块144与系统100内的任何组件通信。进一步,系统100内的任何组件可以使用COTS产品实现,只要该任何组件服从通信协议。
在一些实现中,I/O子系统还从像轨道系统的硬件组件和软件组件这样的外部源接收分组。所接收的分组可以包括上面讨论的多个进入数据分组。然后,I/O子系统将所接收的分组传递至表决子系统。
表决子系统是功能安全子系统并且被配置为检测故障和对故障做出响应。当表决子系统检测活跃FSC 104和待命FSC 108之一中的差错时,表决子系统迫使活跃FSC 104和待命FSC 108的该之一进入故障安全状态。表决子系统执行处理子系统的故障检测。例如,主CPU 116a和检查器CPU 120a基于所请求的任务生成外出分组。
表决子系统将由主CPU 116a生成的外出分组与由检查器CPU 120a生成的外出分组进行比较。当这些外出分组相同时,表决子系统将分组的单个复本传递至交换模块124a和I/O子系统。当外出分组不同时,表决子系统迫使活跃FSC 104进入故障安全状态。以此方式,表决子系统检测活跃FSC 104和待命FSC 108之一中的故障。当检测活跃FSC 104和待命FSC 108之一中的故障时,表决子系统通过迫使有故障的FSC进入故障安全状态,将系统100带入安全状态。
表决子系统还从I/O子系统接收分组。例如,IOU模块128经由交换模块124a与表决子系统通信。IOU模块128将第一分组传递至交换模块124a。交换模块124a复制第一分组。例如,交换模块124a生成第二分组。第二分组是第一分组的复本。交换模块124a将第一分组传递至主CPU 116a和检查器CPU 120a。主CPU 116a和检查器CPU 120a如上面描述的那样对第一分组和第二分组运行表决逻辑。以此方式,表决子系统验证所接收的分组的有效性。
在另一示例中,由于外部组件中的硬件(如轨道系统中的安全临界硬件)失灵,第一分组可能与第二分组不同。当表决子系统确定第一分组与第二分组不同时,安全应用迫使活跃FSC 104进入故障安全状态。此外或可替代地,可以悄悄地丢弃不匹配的分组。例如,主CPU 116a和检查器CPU 120a都不基于第一分组和第二分组生成外出分组。以此方式,系统100可以避免由其它可恢复的差错引起的过多故障转移/故障安全转换。在另一实现中,可以将输入表决配置为导致故障转移/故障安全转换。
现在参考图2,200处示出根据本公开原理的示例性故障安全底架(FSC)的框图。FSC 200包括主CPU 204和检查器CPU 208。主CPU 204和检查器CPU 208运行相同的软件并且实现相同的处理功能。将主CPU 204和检查器CPU 208配置为执行相同的功能,以便保持安全临界硬件和软件的全硬件故障和错误检测覆盖。
例如,主CPU 204从外部安全系统的安全临界硬件或软件至少之一中接收执行任务的请求。外部安全系统可以是需要根据预确定的安全标准操作的系统,如轨道系统。轨道系统包括安全临界硬件和软件。安全临界硬件和软件与轨道系统的组件交互,以便控制轨道系统的方面。例如,安全临界硬件和软件控制在轨道系统内操作的列车。
执行任务的请求可以包括但不限于:确定硬件组件的状态、接合轨道系统的制动器或者向轨道系统的操作者指示在轨道系统内操作的列车的位置。执行任务的请求是以分组的形式接收的。例如,执行任务的请求可以是多个进入数据分组之一。
同时,检查器CPU 208接收同一请求的复本。将主CPU 204和检查器CPU 208中每个CPU都配置为将所请求的任务的复本传递至主CPU 204和检查器CPU 208中的另一CPU。在主CPU 204执行所请求的任务以前,主CPU 204和检查器CPU208对由主CPU 204和检查器CPU 208中每个CPU接收的所请求的任务进行比较。
当所请求的任务相同时,主CPU 204和检查器CPU 208将所请求的任务传递至安全临界硬件和软件。例如,主CPU 204和检查器CPU 208生成与所请求的任务关联的外出分组。外出分组包括操作数据元素。操作数据元素可以包括指示安全临界硬件和软件之一运行预确定的过程的一组指令。例如,操作数据元素可以指示安全临界软件运行制动器接合过程。制动器接合过程包括控制至少一个安全临界硬件组件。该至少一个硬件组件可以包括轨道系统的制动器机构。
相反,当所请求的任务不同时,主CPU 204和检查器CPU 208不将所请求的任务传递至安全临界硬件和软件。以此方式,主CPU 204验证所请求的任务是来自有效源(即外部硬件组件或软件应用)的有效请求。仅例如,主CPU 204接收由外部硬件故障、软件差错或整体系统失灵引起的执行任务的差错请求。
主CPU 204和检查器CPU 208包括屏蔽寄存器。屏蔽寄存器是主CPU 204和检查器CPU 208内的可编程的位。在屏蔽寄存器内存储的值是所请求的任务是否是安全相关任务的指示。例如,当系统100确定所请求的任务是安全相关任务时,将屏蔽寄存器设置为1。进一步,当系统100最初起动时,健康和安全应用设置屏蔽寄存器。
主CPU 204和检查器CPU 208每个均基于所请求的任务是否相同的确定,连续地生成模块健康信号。当主CPU 204和检查器CPU 208确定所请求的任务相同时,主CPU 204和检查器CPU 208连续地生成模块健康信号脉冲。当主CPU 204和检查器CPU 208确定所请求的任务不同时,主CPU 204和检查器CPU 208使模块健康信号脉冲失效。
主CPU 204和检查器CPU 208基于由与FSC 200关联的多个模块中每个模块生成的多个模块健康信号脉冲,生成底架健康信号脉冲。FSC 200包括与关于活跃FSC 104描述的那些特征类似的特征。例如,FSC 200包括如上面描述的前刀片124a-128f。FSC 200内的每个模块连续地生成模块健康信号(如上面所述的)。当多个模块健康信号表示FSC 200是健康的时,主CPU 204生成第一底架健康信号脉冲。换言之,当屏蔽寄存器表示所请求的任务是安全相关的并且多个模块健康信号表示FSC 200是健康的时,第一底架健康信号脉冲被连续地生效(即设置为1)。
要理解,当屏蔽寄存器表示所请求的任务不是安全相关的时(即屏蔽寄存器被设置为0),可以使第一模块健康信号脉冲失效。然而,将不运行安全相关的过程(即,迫使活跃FSC 204进入安全状态。以此方式,当在安全相关任务期间出现故障时,仅实现故障转移/故障安全过程。底架健康信号脉冲表示FSC 200的总体健康状况。
要理解,关于主CPU 204描述的原理适用于检查器CPU 208。检查器CPU 208基于由与FSC 200关联的多个模块中每个模块生成的多个模块健康信号脉冲,生成第二底架健康信号脉冲。当多个模块健康信号表示FSC 200是健康的时,检查器CPU 208连续地生成第二底架健康信号脉冲。主CPU 204将第一底架健康信号脉冲传递至安全继电器箱212。类似地,检查器CPU 208将第二底架健康信号脉冲传递至安全继电器箱212。
安全继电器箱模块212基于多个底架健康信号,选择性地确定FSC 200是否将作为活跃FSC操作。例如,当初始化FSC 200时,安全继电器箱模块212开始从主CPU 204接收底架健康信号脉冲。安全继电器箱212还开始从检查器CPU 208接收底架健康信号脉冲。安全继电器箱模块212基于底架健康信号,确定FSC 200将被选择作为活跃FSC。
在一些实现中,安全继电器箱模块212还从另一FSC接收多个底架健康信号脉冲。安全继电器箱模块212基于多个底架健康信号脉冲,确定FSC 200或另一FSC将被选择作为活跃FSC。例如,安全继电器箱模块212首先确定FSC 200或另一FSC之一是否是健康的。当从FSC 200接收的底架健康信号脉冲表示FSC 200是健康的时,安全继电器箱模块212确定FSC 200是健康的。例如,当安全继电器箱模块212从FSC 200接收底架健康信号时,安全继电器箱模块212确定FSC 200是健康的。
类似地,当从另一FSC接收的多个底架健康信号脉冲表示另一FSC是健康的时,安全继电器箱模块212确定另一FSC是健康的。当安全继电器箱模块212确定FSC 200和另一FSC都是健康的时,安全继电器箱模块212基于FSC 200和另一FSC中哪个FSC首先传递多个底架健康信号脉冲之一,选择活跃FSC。例如,当FSC 200在另一FSC向安全继电器箱模块212传递信号以前向安全继电器箱模块212传递信号时,安全继电器箱212选择FSC 200作为活跃FSC。
安全继电器箱模块212监视活跃FSC的健康状况。例如,安全继电器箱模块212从FSC 200接收第一底架健康信号脉冲和第二底架健康信号脉冲。安全继电器箱模块212基于第一底架健康信号脉冲和第二底架健康信号脉冲,确定在FSC 200中是否已出现故障。当第一底架健康信号脉冲和第二底架健康信号脉冲表示所请求的任务的不匹配时,安全继电器箱模块212确定在FSC 200中已经出现故障。换言之,当安全继电器箱模块212未收到第一底架健康信号脉冲和第二底架健康信号脉冲之一时,安全继电器箱模块212确定已经出现故障。
当安全继电器箱模块212确定在FSC 200中已经出现故障时,安全继电器箱模块212生成故障安全信号。安全继电器箱模块212将故障安全信号传递至活跃FSC 200。FSC 200基于该故障安全信号确定是否进入安全状态。例如,当FSC 20接收故障安全信号时,FSC 200进入安全状态。相反,FSC 200将继续在活跃FSC模式下操作,除非FSC 200接收故障安全信号。
可替代地,当FSC 200未收到活跃信号时,FSC 200可以进入待命状态。当安全继电器箱模块212确定FSC 200要作为活跃FSC操作时,安全继电器箱模块212传递活跃信号。安全继电器箱模块212将活跃信号连续地传递至FSC 200。当安全继电器箱模块212确定FSC 200有故障时,安全继电器箱模块212不将活跃信号传递至FSC 200。然后,FSC 200操作在待命状态。
在一些实现中,将多个底架健康信号脉冲实现为动态脉冲信号,以消除未检测到的潜在的故障模式。将安全继电器箱模块212配置为确定脉冲信号被卡在0还是被卡在1。例如,安全继电器箱212从主CPU 204接收第一脉冲信号。将安全继电器箱模块212配置为等待一预确定的时间段。
例如,该预确定的时间段可以是与对于使动态脉冲复位而言足够长的时间对应的时间段。当在预确定的时间段以后尚未复位第一脉冲信号时,安全继电器箱模块212确定第一脉冲信号被卡住。然后,当安全继电器箱模块212确定第一脉冲信号被卡住时,安全继电器箱模块212确定主CPU 204中的故障。安全继电器箱模块212基于确定主CPU 204中的故障,生成故障安全信号。
现在参考图3,示出示例模块健康系统400。在一些实施例中,FSC内的每个模块包括模块健康电路。例如,系统100包括如上面关于图1描述的健康和安全子系统。该健康和安全子系统是分布式子系统。该健康和安全子系统配置为检测与系统100关联的硬件和软件的故障。基于所检测的故障,该健康和安全子系统指示系统100内的FSC在安全模式下操作。例如,当健康和安全子系统检测到FSC内的故障时,健康和安全子系统确保故障的FSC不与位于系统100外部的安全相关硬件和软件通信。
该健康和安全子系统被配置为对系统100内的每个模块和RTM对实现逻辑。例如,该健康和安全子系统对活跃FSC 104、待命FSC 108、主CPU 116、检查器CPU 120、交换模块124、IOU模块128和132、RTM 136和140以及安全继电器箱模块144、FSC 200、主CPU 204和检查器CPU 208实现硬件逻辑。
在一些实现中,对上面提到的模块中每个模块实现的硬件逻辑包括模块健康电路。模块健康是该健康和安全子系统的根本。其通过空间和时间的冗余方案被保护不受功能的和瞬时的单个故障点。
作为非限制示例,图3描绘主CPU 204和检查器CPU 208(图2)。要理解,尽管本文仅描述主CPU 204和检查器CPU 208,但是模块健康电路可以在系统100内的每个模块上实现。主CPU 204包括模块健康电路404a。模块健康电路404a包括多个单元健康寄存器。例如,模块健康电路404a包括硬件(HW)寄存器412a、应用寄存器416a和监视狗(WD)计时器寄存器420a。
单元健康寄存器中的每个可以被实现为可编程的位。这些单元健康寄存器中的每个被编程为初始状态。例如,这些单元健康寄存器中的每个被编程为第一值。如下面将更详细地介绍的,在系统100的工作期间,单元健康寄存器中的每个可以被编程为第二值。
在一些实现中,当系统100通电时,HW寄存器412a被清除(即,被设置为0)。当系统100通电时,系统100执行通电自检(POST)。POST是由在系统100内集成的固件执行的过程。
POST对主CPU 204执行多个自诊断测试。例如,多个自诊断测试中的第一测试可以包括将预定的值存储在多个存储器位置中。然后,POST将在多个存储器位置中的每个存储器位置中存储的值与预定的预期值进行比较。当POST确定在每个存储器位置中存储的值等于该预期值时,POST确定主CPU 204通过第一测试。
相反,当POST确定在多个存储器位置中至少一个存储器位置中存储的值不等于该预期值时,POST确定主CPU 204未通过第一测试。应理解,POST可以对主CPU 204运行多个测试。第一测试是上面作为非限制性示例描述的。当POST确定主CPU 204已经通过由POST执行的多个测试时,POST设置HW寄存器412a。POST将HW寄存器412a设置为1。HW寄存器412a保持被设置为1,直至系统100随后重启动。
当系统100初始化时,应用寄存器416a被清除(作为非限制性示例,应用寄存器416a可以被设置为0)。例如,当系统100重启动时,应用寄存器416a被设置为0。然后,应用寄存器416a通过位于系统100外部的软件应用被选择性地编程。在一些实现中,该软件应用是与轨道系统关联的控制软件(见图1)。例如,该软件应用控制轨道系统的输入和输出。
该软件应用被配置为对轨道系统执行多个诊断程序。该软件应用可以基于多个诊断程序确定轨道系统是否准备好安全操作。仅例如,该软件应用可以执行网络通信测试。该网络通信测试包括生成网络测试分组。该软件应用指示轨道系统通过网络通信链路传输网络测试分组。
如果传输成功,则该软件应用确定轨道系统通过网络通信测试。进一步,当传输不成功时,该软件应用确定轨道系统未通过网络通信测试。应理解,尽管仅描述网络通信测试,但是该软件应用对轨道系统运行多个测试。该软件应用确定轨道系统是否已通过或未通过多个测试中的每个。
该软件应用可以确定通过测试对未通过测试的比率。以此方式,该软件应用确定轨道系统的诊断测试通过百分比。该软件应用基于通过百分比是否高于通过阈值,确定轨道系统是否准备好安全操作(即,健康)。应理解,通过阈值可以是100%(即,任何单个未通过导致该软件应用确定轨道系统未准备好安全操作)或任何预定的百分比。
基于轨道系统是否是健康的,该软件应用选择性地对应用寄存器416a进行编程。例如,当该软件应用确定通过百分比大于通过阈值时,该软件应用确定轨道系统是健康的。该软件应用将应用寄存器416a设置为1。相反,当通过百分比小于通过阈值时,该软件应用确定轨道系统是不健康的。该软件应用将应用寄存器416a设置为0。
该软件应用连续地监视轨道系统以寻找故障。基于是否已出现故障,该软件应用对应用寄存器416a连续地编程。例如,当软件应用检测到系统100内的存储器错误时,该软件应用确定已经出现故障(即,不健康)。该软件应用将应用寄存器416a设置为0。
当软件应用确定未出现故障(即,健康的)时,该软件应用将应用寄存器416a设置为1。应理解,该软件应用位于系统100外部。进一步应理解,该软件应用可以以除本文描述的方法以外的或替代本文描述的方法的任何适合方式确定轨道系统是否是健康的。
当系统100初始化时,WD计时器寄存器420a被清除(作为非限制性示例,应用寄存器416a可以被设置为0)。例如,当系统100重启动时,WD计时器寄存器420a被设置为0。然后,WD计时器寄存器420a通过监视狗计时器应用被编程。监视狗计时器应用监视主CPU 204。主CPU 204生成监视狗计时器复位信号。主CPU 204将监视狗计时器复位信号传递至监视狗计时器应用。监视狗计时器应用确定监视狗计时器复位信号是否在预限定的时间段内被接收。例如,预限定的时间段可以是1分钟或任何其它适合的时间段。
基于主CPU 204中已经出现故障的确定,监视狗计时器应用选择性地对WD计时器寄存器420a进行编程。例如,当主CPU 204在预限定的时间段以后传送监视狗计时器复位信号时,监视狗计时器应用确定主CPU 204内已经出现故障。然后,监视狗计时器应用将WD计时器寄存器420a设置为0。相反,当主CPU 204在预限定的时间段内传送监视狗计时器复位信号时,监视狗计时器应用不确定主CPU 204内已经出现故障。然后,监视狗计时器应用将WD计时器寄存器420a设置为1。
换言之,当主CPU 204不能够在预限定的时间段内与监视狗应用通信时,监视狗计时器应用确定主CPU 204内已经出现故障。该故障可以是主CPU 204被陷入软件循环的结果。仅例如,主CPU 204可能不能够处理一系列任务中的随后任务。应理解,尽管上面仅描述主CPU 204,但是检查器CPU 208被配置给与主CPU204相同的任务。
模块健康电路404a基于在HW寄存器412a、应用寄存器416a和WD计时器寄存器420a中的每个中存储的值,连续地生成(即,生效)模块健康信号。模块健康信号表示主CPU 204是否是健康的。在图1和图2中更详细地描述模块健康信号。
模块健康电路404a确定在HW寄存器412a、应用寄存器416a和WD计时器寄存器420a中的每个中存储的值。当在HW寄存器412a、应用寄存器416a和WD计时器寄存器420a中的每个中存储的值是1时,模块健康电路404a连续地生成模块健康信号。当在HW寄存器412a、应用寄存器416a和WD计时器寄存器420a中的每个中存储的值中的至少一个是0时,模块健康电路494使模块健康信号失效。模块健康电路404a将模块健康信号传送给主CPU 204。
模块健康电路404a确定在HW寄存器412a、应用寄存器416a和WD计时器寄存器420a中的每个中存储的值。当在HW寄存器412a、应用寄存器416a和WD计时器寄存器420a中的每个中存储的值是1时,模块健康电路404a连续地生成模块健康信号。当在HW寄存器412a、应用寄存器416a和WD计时器寄存器420a中的每个中存储的值中的至少一个是0时,模块健康电路404使模块健康信号失效。模块健康电路404a将模块健康信号传送给主CPU 204。
如关于图2描述的,主CPU 204基于接收多个模块健康信号,生成第一底架健康信号。例如,主CPU 204从在系统100内的每个模块上实现的模块健康电路接收模块健康信号。主CPU 204基于模块健康信号中的每个生成第一底架健康信号。主CPU 204将第一底架健康信号传送给安全继电器箱212。
尽管主CPU 204和检查器CPU 208被配置为相同,但是作为所添加的安全检查,检查器CPU 208包括模块健康电路404b。模块健康电路404b包括多个单元健康寄存器。例如,模块健康电路404b包括硬件(HW)寄存器412b、应用寄存器416b和监视狗(WD)计时器寄存器402b。
模块健康电路404b基于在HW寄存器412b、应用寄存器416b和WD计时器寄存器420b中的每个中存储的值,连续地生成(即,生效)模块健康信号。模块健康信号表示检查器CPU 208是否是健康的。在图1和图2中更详细地描述模块健康信号。
模块健康电路404b确定在HW寄存器412b、应用寄存器416b和WD计时器寄存器420b中的每个中存储的值。当在HW寄存器412b、应用寄存器416b和WD计时器寄存器420b中的每个中存储的值是1时,模块健康电路404b连续地生成模块健康信号。当在HW寄存器412b、应用寄存器416b和WD计时器寄存器420b中的每个中存储的值中的至少一个是0时,模块健康电路404b使模块健康信号失效。模块健康电路404b将模块健康信号传送给检查器CPU 208。
如关于图2描述的,检查器CPU 208基于接收多个模块健康信号,生成第二底架健康信号。例如,检查器CPU 208从在系统100内的每个模块上实现的模块健康电路接收模块健康信号。主CPU 208基于模块健康信号中的每个生成第二底架健康信号。检查器CPU 208将第二底架健康信号传送给安全继电器箱212。
现在参考图4,用于实现模块健康电路的方法300在304处开始。在308处,方法300对容错故障安全计算机系统进行初始化。例如,容错故障安全计算机系统可以是系统100。在312处,方法300将多个健康寄存器设置为0。多个健康寄存器包括HW寄存器412a、应用寄存器416a和WD计时器寄存器420a。在316处,方法300执行通电自检(POST)。
在320处,方法300确定POST是否成功。如果真,则方法300在324处继续。如果假,则方法300在316处继续。在324处,方法300将HW寄存器设置为1。在328处,方法300启动与安全临界系统关联的外部软件应用。例如,外部软件应用可以是关于图3描述的与轨道系统关联的软件应用。在332处,方法300确定安全临界系统是否准备好安全操作。如果真,则方法300在336处继续。如果假,则方法300在340处继续。
在340处,方法300将应用寄存器416a设置为0。方法300在344处继续。在336处,方法300将应用寄存器416a设置为1。在344处,方法300开始监视狗(WD)计时器应用。在348处,方法300确定WD计时器是否在预定的时间段内被复位。如果真,则方法300在352处继续。如果假,则方法300在356处继续。在356处,方法300将WD计时器寄存器420a设置为0。方法在360处继续。在352处,方法300将WD计时器寄存器设置为1。在360处,方法300基于HW寄存器412a、应用寄存器416a和WD计时器寄存器420a使模块健康信号生效。方法300在352处结束。
已经为了说明和描述目的提供上面对实施例的描述。描述不旨在是详尽的或者限制本公开内容。特定实施例的单独元件或特征通常不局限于该特定实施例,而是可在适用时互换并且可以在选择的实施例中使用,即便未具体地示出或描述。本发明还可以以多种方式变化。这样的变化不应被视为背离本公开内容,并且所有这样的修改旨在包含在本公开内容的范围内。
本文中使用的术语“模块”可以指下面的组件、可以是下面的组件的一部分,或者可以包括下面的组件:专用集成电路(ASIC)、电子电路、组合逻辑电路、现场可编程门阵列(FPGA)、运行代码的处理器(共享的、专用的或它们的组合)、提供所描述的功能的其它适合的硬件组件、或者上面组件中一些组件或全部组件的组合,如在片上系统中。术语“模块”可以包括存储由处理器运行的代码的存储器(共享的、专用的或它们的组合)。
上面使用的术语“代码”可以包括软件、固件和/或微代码,并且可以指程序、例程、函数、类和/或对象。上面使用的术语“共享的”指来自多个模块的一些代码或全部代码可以使用单个(共享的)处理器运行。此外,来自多个模块的一些代码或全部代码可以由单个(共享的)存储器存储。上面使用的术语“组合”指来自单个模块的一些或全部代码可以使用一组处理器运行。此外,来自单个模块的一些或全部代码可以使用一组存储器存储。
本文描述的装置和方法可以被由一个或多个处理器运行的一个或多个计算机程序实现。计算机程序包括在非瞬态有形计算机可读介质上存储的处理器可运行指令。计算机程序还可以包括存储的数据。非瞬态有形计算机可读介质的非限定性示例是非易失性存储器、磁性存储和光存储。

Claims (20)

1.一种模块健康系统,包括:
模块健康电路,包括:
第一硬件(HW)寄存器,响应于所述系统起动被设置为第一值;
第一应用寄存器,响应于所述系统起动被设置为所述第一值;
第一监视狗(WD)计时器寄存器,响应于所述系统起动被设置为所述第一值;
第一通电自检(POST),确定所述系统是否已通过多个测试,并且基于该确定选择性地将所述第一HW寄存器设置为第二值;
外部软件应用,确定安全临界系统是否健康,并且基于该确定选择性地设置所述第一应用寄存器;
监视狗计时器应用,响应于接收监视狗信号选择性地设置所述第一WD计时器寄存器;以及
第一中央处理单元(CPU),基于所述第一HW寄存器、所述第一应用寄存器和所述第一WD计时器寄存器的值,确定是否使第一模块健康信号失效。
2.根据权利要求1所述的系统,其中当所述第一POST确定所述系统通过所述多个测试时,所述POST将所述第一HW寄存器设置为所述第二值。
3.根据权利要求1所述的系统,其中当所述POST确定所述系统未通过所述多个测试中的至少一个时,所述POST不将所述HW寄存器设置为所述第二值。
4.根据权利要求1所述的系统,其中当所述软件应用确定所述安全临界系统健康时,所述软件应用将所述第一应用寄存器设置为所述第二值。
5.根据权利要求1所述的系统,其中当所述软件应用确定所述安全临界系统不健康时,所述软件应用不将所述第一应用寄存器设置为所述第二值。
6.根据权利要求1所述的系统,其中当所述监视狗计时器应用在预定的时间段内接收到所述监视狗计时器信号时,所述监视狗计时器应用将所述第一WD计时器寄存器设置为所述第二值,并且其中当所述监视狗计时器应用在所述预定的时间段内未接收到所述监视狗计时器信号时,所述监视狗计时器应用不将所述第一WD计时器寄存器设置为所述第二值。
7.根据权利要求1所述的系统,其中当所述第一HW寄存器、所述第一应用寄存器和所述第一WD计时器寄存器中的每个被设置为所述第二值时,所述第一CPU确定不使所述第一模块健康信号失效。
8.根据权利要求1所述的系统,其中当所述第一HW寄存器、所述第一应用寄存器和所述第一WD计时器寄存器中的至少一个被设置为所述第一值时,所述第一CPU确定使所述第一模块健康信号失效。
9.根据权利要求1所述的系统,其中所述第一CPU响应于确定是否使所述第一模块健康信号失效而确定是否使第一底架健康信号失效。
10.根据权利要求1所述的系统,进一步包括第二CPU,所述第二CPU基于第二HW寄存器、第二应用寄存器和第二WD计时器寄存器的值来确定是否使第二模块健康信号失效,其中所述第二CPU响应于确定是否使所述第二模块健康信号失效而确定是否使第二底架健康信号失效。
11.一种方法,包括:
响应于模块健康系统起动,将硬件(HW)寄存器设置为第一值;
响应于所述系统起动,将应用寄存器设置为所述第一值;
响应于所述系统起动,设置监视狗(WD)计时器寄存器;
响应于确定所述系统是否已通过多个测试,选择性地将所述HW寄存器设置为第二值;
响应于确定安全临界系统是否健康,选择性地将所述应用寄存器设置为所述第二值;
响应于接收监视狗信号,选择性地将所述WD计时器寄存器设置为所述第二值;以及
基于所述HW寄存器、所述应用寄存器和所述WD计时器寄存器的值,确定是否使模块健康信号失效。
12.根据权利要求11所述的方法,进一步包括:响应于确定所述系统通过所述多个测试,将所述HW寄存器设置为所述第二值。
13.根据权利要求11所述的方法,进一步包括:响应于确定所述系统未通过所述多个测试中的至少一个测试,不将所述HW寄存器设置为所述第二值。
14.根据权利要求11所述的方法,进一步包括:响应于确定所述安全临界系统是健康的,将所述应用寄存器设置为所述第二值。
15.根据权利要求11所述的方法,进一步包括:响应于确定所述安全临界系统不是健康的,不将所述应用寄存器设置为所述第二值。
16.根据权利要求11所述的方法,进一步包括:响应于在预定的时间段内接收到所述监视狗计时器信号,将所述WD计时器寄存器设置为所述第二值。
17.根据权利要求16所述的方法,进一步包括:响应于在所述预定的时间段内未接收到所述监视狗计时器信号,不将所述WD计时器寄存器设置为所述第二值。
18.根据权利要求11所述的方法,进一步包括:当所述HW寄存器、所述应用寄存器和所述WD计时器寄存器中的每个被设置为所述第二值时,确定不使所述模块健康信号失效。
19.根据权利要求11所述的方法,进一步包括:当所述HW寄存器、所述应用寄存器和所述WD计时器寄存器中的至少一个被设置为所述第一值时,确定使所述模块健康信号失效。
20.根据权利要求11所述的方法,进一步包括:响应于确定是否使所述模块健康信号失效,确定是否使底架健康信号失效。
CN201410418147.2A 2013-12-16 2014-08-22 安全系统中的输入/输出操作 Active CN104714855B (zh)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201361916410P 2013-12-16 2013-12-16
US61/916,410 2013-12-16
US14/219,043 US9747184B2 (en) 2013-12-16 2014-03-19 Operation of I/O in a safe system
US14/219,043 2014-03-19

Publications (2)

Publication Number Publication Date
CN104714855A true CN104714855A (zh) 2015-06-17
CN104714855B CN104714855B (zh) 2018-12-14

Family

ID=53368581

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410418147.2A Active CN104714855B (zh) 2013-12-16 2014-08-22 安全系统中的输入/输出操作

Country Status (2)

Country Link
US (2) US9747184B2 (zh)
CN (1) CN104714855B (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830596A (zh) * 2020-01-10 2020-02-21 浙江众合科技股份有限公司 一种基于异构云的多重故障安全列车控制平台实现方法

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9747184B2 (en) * 2013-12-16 2017-08-29 Artesyn Embedded Computing, Inc. Operation of I/O in a safe system
CN106354596A (zh) * 2016-09-26 2017-01-25 积成电子股份有限公司 一种检验外部看门狗芯片是否正常工作的方法
US10372579B2 (en) * 2017-03-10 2019-08-06 Artesyn Embedded Computing, Inc. FPGA mismatched packet stop for a safety system
JP2018163498A (ja) * 2017-03-24 2018-10-18 エイブリック株式会社 監視回路
US20180285217A1 (en) * 2017-03-31 2018-10-04 Intel Corporation Failover response using a known good state from a distributed ledger
US10621031B2 (en) * 2017-06-15 2020-04-14 Smart Embedded Computing, Inc. Daisy-chain of safety systems
US10621024B2 (en) * 2017-09-11 2020-04-14 Smart Embedded Computing, Inc. Signal pairing for module expansion of a failsafe computing system
US11144358B1 (en) 2018-12-06 2021-10-12 Pure Storage, Inc. Asynchronous arbitration of shared resources
US11669391B2 (en) * 2019-12-09 2023-06-06 Ievgenii Bakhmach Data processing procedure for safety instrumentation and control (IandC) systems, IandC system platform, and design procedure for IandC system computing facilities

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030236880A1 (en) * 2002-02-22 2003-12-25 Rahul Srivastava Method for event triggered monitoring of managed server health
US20060036879A1 (en) * 2004-08-16 2006-02-16 Standard Microsystems Corporation Failsafe slave mechanism for mission critical applications
CN101779193A (zh) * 2007-08-17 2010-07-14 Nxp股份有限公司 为至少一个微控制器单元提供容错的系统
US20100257343A1 (en) * 2009-04-02 2010-10-07 Infineon Technologies Ag Processing unit, device comprising two processing units, method for testing a processing unit and a device comprising two processing units

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6249885B1 (en) * 1997-05-13 2001-06-19 Karl S. Johnson Method for managing environmental conditions of a distributed processor system
US6338150B1 (en) * 1997-05-13 2002-01-08 Micron Technology, Inc. Diagnostic and managing distributed processor system
US6370656B1 (en) * 1998-11-19 2002-04-09 Compaq Information Technologies, Group L. P. Computer system with adaptive heartbeat
US6601165B2 (en) * 1999-03-26 2003-07-29 Hewlett-Packard Company Apparatus and method for implementing fault resilient booting in a multi-processor system by using a flush command to control resetting of the processors and isolating failed processors
US6975966B2 (en) * 2003-01-28 2005-12-13 Fisher-Rosemount Systems, Inc. Integrated diagnostics in a process plant having a process control system and a safety system
US7197666B1 (en) * 2003-03-21 2007-03-27 Xilinx, Inc. Method for checking the reset function in an embedded processor
US20050132032A1 (en) * 2003-12-15 2005-06-16 Bertrand Daniel W. Autonomous agent-based system management
US7724758B2 (en) * 2004-01-12 2010-05-25 Hewlett-Packard Development Company, L.P. Data forwarding
US20060229777A1 (en) * 2005-04-12 2006-10-12 Hudson Michael D System and methods of performing real-time on-board automotive telemetry analysis and reporting
WO2007084496A2 (en) * 2006-01-17 2007-07-26 Broadcom Corporation Power over ethernet controller integrated circuit architecture
JP2007323631A (ja) * 2006-05-01 2007-12-13 Shinko Electric Ind Co Ltd Cpu暴走判定回路
US7693625B2 (en) * 2007-01-09 2010-04-06 Gm Global Technology Operations, Inc. State of health monitoring and reset methods and systems for on-board device driver integrated circuits
US20100049268A1 (en) * 2007-02-20 2010-02-25 Avery Biomedical Devices, Inc. Master/slave processor configuration with fault recovery
JP4569623B2 (ja) * 2007-12-20 2010-10-27 株式会社デンソー 車両監査装置およびそれを用いた車両制御システム
RU2512794C2 (ru) * 2008-02-06 2014-04-10 Капи Спрл Способ и устройство для определения частотного диапазона шума
ES2384005T3 (es) * 2008-09-19 2012-06-28 Bombardier Transportation Gmbh Dispositivo y sistema de monitorización de inestabilidad, en particular para un vehículo ferroviario
US8509963B1 (en) * 2009-07-23 2013-08-13 Rockwell Collins, Inc. Remote management of aircraft computer systems
DE102010003538A1 (de) * 2010-03-31 2011-10-06 Robert Bosch Gmbh Verfahren zur Überprüfung von Signal- und Modulaktivitäten in einem Timermodul und Timermodul
JP5512383B2 (ja) * 2010-05-12 2014-06-04 ルネサスエレクトロニクス株式会社 計算機システム
WO2012053110A1 (ja) * 2010-10-22 2012-04-26 富士通株式会社 障害監視装置、障害監視方法及びプログラム
JP5126393B2 (ja) * 2011-06-29 2013-01-23 日本精工株式会社 車載電子制御装置
EP2546745B1 (en) * 2011-07-13 2017-11-29 Harman Becker Automotive Systems GmbH Indicating states in a telematic system
JP5476363B2 (ja) * 2011-12-19 2014-04-23 レノボ・シンガポール・プライベート・リミテッド 生体認証装置を利用したコンピュータの起動方法およびコンピュータ
US9747184B2 (en) * 2013-12-16 2017-08-29 Artesyn Embedded Computing, Inc. Operation of I/O in a safe system

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030236880A1 (en) * 2002-02-22 2003-12-25 Rahul Srivastava Method for event triggered monitoring of managed server health
US20060036879A1 (en) * 2004-08-16 2006-02-16 Standard Microsystems Corporation Failsafe slave mechanism for mission critical applications
CN101779193A (zh) * 2007-08-17 2010-07-14 Nxp股份有限公司 为至少一个微控制器单元提供容错的系统
US20100257343A1 (en) * 2009-04-02 2010-10-07 Infineon Technologies Ag Processing unit, device comprising two processing units, method for testing a processing unit and a device comprising two processing units

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110830596A (zh) * 2020-01-10 2020-02-21 浙江众合科技股份有限公司 一种基于异构云的多重故障安全列车控制平台实现方法

Also Published As

Publication number Publication date
US20150169424A1 (en) 2015-06-18
CN104714855B (zh) 2018-12-14
US9747184B2 (en) 2017-08-29
US20170315896A1 (en) 2017-11-02
US10120772B2 (en) 2018-11-06

Similar Documents

Publication Publication Date Title
CN104714855A (zh) 安全系统中的输入/输出操作
US9367375B2 (en) Direct connect algorithm
CN104714517B (zh) 用于安全关键系统的可靠、低延迟的硬件和软件进程间通信通道
CN104765587A (zh) 用于使处理器同步到相同的计算点的系统和方法
US9497099B2 (en) Voting architecture for safety and mission critical systems
CN104714853A (zh) 使用cots组件的容错故障安全计算机系统
CN109491842B (zh) 用于故障安全计算系统的模块扩展的信号配对
CN108572893B (zh) 用于安全系统的端到端fpga诊断的方法和系统
CN104714510A (zh) 用于容错故障安全计算机系统的基于任务的表决
USRE49043E1 (en) Apparatus and method for communications in a safety critical system
CN109144758A (zh) 安全系统的菊花链
ES2774418T3 (es) Sistema de seguridad automatizado de una instalación industrial

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant