用于容错故障安全计算机系统的基于任务的表决的制作方法
【技术领域】
[0001]本公开涉及容错故障安全计算机系统。
【背景技术】
[0002]该部分提供与本公开相关的背景信息,该背景信息不一定是现有技术。
[0003]本文提供的背景描述是为了概括地呈现本公开的背景。当前命名的发明人的工作,就其在该背景部分中描述的范围以及不可能另外成为提交时的现有技术的描述的方面而言,既不明确地也不隐含地被认为是相对于本公开的现有技术。
[0004]外部安全系统,如轨道系统,可以包括被配置为实现安全应用的容错故障安全计算机系统。该容错故障安全计算机系统可以包括多个硬件组件,该多个硬件组件以电气方式或以逻辑方式联接来实现安全应用。安全应用选择性地与安全临界硬件和软件通信。将安全临界硬件和软件配置为控制轨道系统的安全相关功能。
[0005]例如,在轨道系统上行驶的火车包括制动系统。将该制动系统配置为实现至少一个安全相关功能,如制动功能。该制动系统包括制动器和被配置为对该制动器进行促动的软件。该软件接收指令来对该制动器进行促动。例如,火车的驾驶员可以操作制动系统用户界面,以指示该软件对该制动器进行促动。该轨道系统的错误组件可以定期地生成差错指令来对该制动器进行促动。相应地,被配置为验证由外部安全系统接收的指令的容错故障安全计算机系统是期望的。
【发明内容】
[0006]该部分提供本公开的一般概括,并且不是本公开的全部范围或本公开的全部特征的全面公开。
[0007]—种系统包括:第一应用,该第一应用在第一时钟周期期间将多个第一任务写至第一存储器缓冲器;第二存储器缓冲器,该第二存储器缓冲器在第二时钟期间接收所述多个第一任务的复本;第二应用,该第二应用在所述第一时钟周期期间将多个第二任务写至第三存储器缓冲器;以及第四存储器缓冲器,所述第四存储器缓冲器在所述第二时钟周期期间接收所述多个第二任务的复本。所述系统进一步包括:第一比较模块,所述第一比较模块接收所述多个第一任务中的第一任务和所述多个第二任务中的第二任务,并且基于所述第一任务和所述第二任务之间的第一比较,选择性地生成第一表决信号。
[0008]所述系统进一步包括:第二比较模块,所述第二比较模块接收所述多个第一任务中的所述第一任务和所述多个第二任务中的所述第二任务,并且基于所述第一任务和所述第二任务之间的第二比较,选择性地生成第二表决信号。所述系统进一步包括第一中央处理单兀(CPU),该第一中央处理单兀基于所述第一表决信号和所述第二表决信号,选择性地确定是否使模块健康信号失效。
[0009]在其它特征中,一种方法包括:在第一时钟周期期间写多个第一任务;在第二时钟周期期间拷贝所述多个第一任务;在第一时钟周期期间写多个第二任务;在所述第二时钟周期期间拷贝所述多个第二任务;接收所述多个第一任务中的第一任务;接收所述多个第二任务中的第二任务;基于所述第一任务和所述第二任务之间的第一比较,选择性地生成第一表决信号;基于所述第一任务和所述第二任务之间的第二比较,选择性地生成第二表决信号;基于所述第一表决信号和所述第二表决信号,选择性地确定是否使模块健康信号失效。
[0010]其它应用领域将从本文提供的描述中变得清楚。该
【发明内容】
中的描述和特定示例旨在仅用于说明目的,而不旨在限制本公开的范围。
【附图说明】
[0011]本文描述的图仅用于所选择实施例的说明用途,而不是用于所有可能的实现,并且不旨在限制本公开的范围。
[0012]图1是根据本公开原理的容错故障安全计算机系统的功能框图;
[0013]图2是根据本公开原理的故障安全底架的功能框图;
[0014]图3是根据本公开原理的基于任务的表决系统的功能框图;以及
[0015]图4是图示根据本公开原理的基于任务的表决计算机的操作方法的流程图。
[0016]在附图的全部几个图中,相对应的附图标记表示相对应的部分。
【具体实施方式】
[0017]现在将参考附图更全面地描述示例实施例。
[0018]现在参考图1,示出示例性容错故障安全计算机系统100的功能框图。将系统100布置为与安全应用交互。例如,作为非限定示例,将系统100布置为与安全临界硬件和软件关联轨道系统通信。安全临界硬件和软件控制轨道系统的安全相关组件。例如,安全临界硬件可以联接至在轨道系统上操作的列车的制动系统。进一步,系统100也许能够根据工业认可的安全标准被验证。
[0019]安全临界硬件从安全临界软件接收数据元素,以促动制动系统的制动器。系统100与安全临界硬件和软件交互,以保证安全临界硬件和软件正根据预确定的操作标准操作。要理解,尽管仅描述列车的制动系统,但是本公开的原理适用于任何安全临界硬件和软件。用于本文描述的实施例的其它可能应用包括但不限于:飞机系统的组件、医学治疗系统的组件、油和气控制系统的组件、智能电网系统的组件、以及各种制造系统的组件。
[0020]在一些实现中,系统100从外部安全系统(如轨道系统)接收多个进入数据分组。将系统100配置为处理多个进入数据分组,并且将多个外出数据分组传递给外部安全系统的安全相关组件。例如,系统100确定多个进入数据分组中的第一分组是否是有效分组。当系统100确定第一分组是有效分组时,系统100将外出分组传递给轨道系统的至少一个安全相关组件。
[0021]第一分组包括要由轨道系统的至少一个安全相关组件行动的数据元素。数据元素可以包括传感器数据和/或输入/输出(I/o)点状态。该至少一个安全相关组件可以是与在轨道系统上行驶的列车联接的制动器。要理解,尽管仅描述外部安全系统的安全相关组件,但是第一分组可以包括要由外部安全系统的非安全相关组件行动的数据元素。根据传输协议对数据元素进行格式编排。例如,将轨道系统配置为根据预确定的封装标准将数据元素封装为可传输的分组。然后,轨道系统根据传输协议传输多个进入数据分组。
[0022]将系统100布置为接收根据传输协议传输的分组。进一步,将系统100配置为解释预确定的封装标准。然后,系统100从第一分组中提取数据元素,并且基于数据元素生成外出数据分组。外出数据分组包括基于数据元素的一组指令。尽管仅讨论指令,但是外出数据分组还可以包括控制I/o的操作指令、读取输入来搜集信息的请求、健康消息通信、对中间过程通信的请求、或其它适合的元素。该组指令包括至少一个指令,该至少一个指令指示安全临界硬件和软件中至少之一运行过程。
[0023]例如,该组指令可以指示安全临界软件运行制动过程。制动过程包括硬件制动指令。将硬件制动指令传递给安全临界硬件。安全临界硬件运行制动指令。例如,安全临界硬件施加制动。
[0024]系统100确定是否要将外出数据分组和数据元素传递给安全临界硬件和软件。例如,系统100保证多个进入数据分组中每个进入数据分组满足预确定的安全标准。预确定的安全标准包括确定轨道系统是否正根据一组预限定的操作标准操作。系统100验证多个进入数据分组中每个数据分组是由轨道系统100有意传输的。仅例如,轨道系统可以传递由轨道系统内的硬件或软件错误引起的差错进入数据分组。
[0025]安全临界硬件和软件响应于来自轨道系统的操作者的命令接收多个进入数据分组中的第一分组。安全临界硬件和软件接收多个进入数据分组中由轨道系统中的错误引起的第二分组。仅作为非限定示例,轨道系统中的错误可以包括硬件故障,如由对热或潮湿的延长暴露引起的恶化电连接。安全临界硬件和软件将包括第一分组和第二分组的多个进入数据分组传递至系统100。将系统100配置为确定是否由于轨道系统中的错误而由安全临界硬件和软件接收多个进入数据分组中的每个数据分组。
[0026]当系统100确定响应于来自操作者的命令接收多个进入数据分组之一时,系统100生成与所接收的进入数据分组对应的外出数据分组。例如,系统100基于第一分组生成第一外出数据分组。第一外出数据分组包括与第一分组内的数据元素对应的一组指令。当系统100确定第一分组是有效分组时,系统100将第一外出数据分组传递至安全临界硬件和软件。例如,系统100确定第一分组是响应于来自操作者的命令接收的。系统100将第一外出数据分组传递至安全临界硬件和软件。安全临界硬件和软件运行在第一外出数据分组中包括的那组指令。
[0027]相反,当系统100确定多个进入数据分组之一是响应于轨道系统内的错误接收的时,系统100不将外出数据分组传递至安全临界硬件和软件。例如,系统100确定第二分组是由于轨道系统中的错误的原因接收的。系统100不将与第二分组对应的外出数据分组传递至安全临界硬件和软件。因此,安全临界硬件和软件不运行与第二分组中包括的数据元素对应的指令。
[0028]进一步,系统100基于在轨道系统内发生错误的确定,生成错误指示。以此方式,由安全临界硬件和软件运行的数据元素首先被系统100验证。该验证保证轨道系统正根据预确定的安全标准操作。
[0029]在一些实现中,系统100接收多个进入数据分组中的第一分组。同时,系统100接收多个进入数据分组中的第二分组。然后,系统100对第一分组和第二分组运行表决逻辑。可以将表决逻辑实现为双二选二(2002)系统。下面更详细地说明该2oo2表决逻辑。系统100确定第一分组和第二分组是否相同。当系统100确定第一分组和第二分组相同时,系统100生成第一外出数据分组并且将第一外出数据分组传递至安全临界硬件和软件的至少一个组件。
[0030]然后,该至少一个组件运行在第一外出数据分组中包括的操作数据元素。相反,当第一分组和第二分组不相同时,系统100将系统100或轨道系统的至少一个组件识别为有错误。要理解,尽管描述轨道系统,但是本公开的原理适用于任何外部安全系统。
[0031]系统100还生成安全指示。安全指示可以表示系统100或安全临界硬件和软件内的故障。进一步,系统100指示该至少一个组件在预确定的安全状态下操作。例如,安全状态可以包括被布置为保持轨道系统的安全操作环境的一组安全状态数据元素。
[0032]安全状态数据元素包括指示轨道系统在预确定的操作模式下操作,该预确定的操作模式保证轨道系统的总体安全。仅例如,预确定的操作模式包括使在轨道系统上操作的列车停止。在一些实现中,安全状态包括禁用所有安全相关的通信接口。例如,在安全状态下操作的故障安全计算机不能够与安全临界硬件和软件通信。以此方式,在安全状态下操作的故障安全计算机不能够与不正确地指示安全临界硬件和软件。
[0033]系统100包括活跃的故障安全底架(FSC) 104和待命FSC108。为了提高系统100的可用性和可靠性,活跃FSC104和待命FSC108是冗余FSC。例如,将活跃FSC104配置为运行待命FSC108的任何和全部操作。以此方式,当活跃FSC104和待命FSC108之一遇到硬件或软件故障时,活跃FSC104和待命FSC108中另一个被配置为代替故障的FSC操作。
[0034]活跃FSC104实现二选二(2oo2)表决体系结构,该二选二表决体系结构检测表决不匹配并且在发生表决不匹配时执行故障安全操作。2oo2表决体系结构包括双冗余处理和表决子系统。冗余处理和表决子系统对进入或离开活跃FSC104的分组进行表决。例如,活跃FSC104接收多个进入数据分组。活跃FSC104接收多个进入数据分组中第一分组的两个复本。
[0035]活跃FSC104确定第一分组的有效性。活跃FSC104基于第一分组是否有效的确定,连续地生成第一健康状态信号和第二健康状态信号。在一些实现中,连续地生成信号可以包括将该信号设置为第一预确定的值。然后,所连续生成的信号保持在该第一预确定的值,直到使将信号失效(de-asser