混合双重双工故障操作模式和对任意数量的故障的概述的制作方法

文档序号:11176977阅读:364来源:国知局
混合双重双工故障操作模式和对任意数量的故障的概述的制造方法与工艺

实施例涉及容错控制系统。



背景技术:

提供安全功能的系统通常利用冗余控制器来通过关闭已经经历故障(fault或failure)的功能来确保安全。如果检测到故障,那么控制器关闭或控制器遭遇故障沉默,其中控制器没有产生信号且次级控制器重新配置成初级控制器。

某些系统尝试利用故障操作系统实施控制系统,其中使用另外的控制器(诸如双重双工控制器)来确保可继续安全操作持续一定持续时间。如果第一控制器故障并且遭遇故障沉默,那么取决于系统设计,第二控制器可以始终是活动的,并且可能需要启动。如果执行此操作,那么所有致动器将切换以依赖于来自第二控制器的请求。不同于其中一个控制器中的故障将存在于副本控制器中的软件故障,硬件故障(例如,电源故障、短路接地故障等)虽然并非软件故障的临界水平,但是因为软件设计故障将影响这两个控制器,所以这两个控制器将通常单独出现故障且次级控制器此后在通常不具有相同缺陷时可正确地操作。

通常,控制器包括其中在相应控制器上单独地且同时执行功能的两个处理器或两个核心。因此,初级控制器和次级控制器这二者将具有由每个控制器内的两个处理器或两个核心执行的相同功能。因此,如果利用双重双工设计,那么相同的功能将单独地执行四次。比较来自每个控制器的结果用于确定一个控制器中是否存在错误。虽然双重双工设计提供了附加的稳健性,但是冗余操作需要附加的资源(例如,处理器、核心),这是因为每个功能在每个控制器中单独地执行两次。冗余操作需要使用多个副本的并行执行、需要附加的硬件资源,使得对于提供这些硬件资源存在成本影响。



技术实现要素:

实施例的优点是减少了控制器的处理时间,使得处理资源可被释放用于其它操作并且减少处理器的总体处理负担。通过利用先前控制器的结果和数据完整性来进行错误检测和故障沉默性质的实现,在后续控制器中仅需要执行一次该功能。因此,通过不必对每个控制器执行两个功能来减少处理。具有两个控制器的控制系统可实现25%的处理减少,而具有三个控制器的控制系统在正常操作条件(即,没有故障)期间可实现33%的减少。处理的节省可通过以下公式确定:n/(2+2n),其中n是控制系统要处置的故障数量。

实施例预期一种改进型双重双工故障操作控制系统。初级控制器在无故障工作条件下操作时控制装置的特征。该初级控制器包括利用来自感测装置的输入数据执行功能的第一处理单元和利用来自感测装置的输入数据同时执行该功能的第二处理单元。第一比较模块比较来自第一处理单元的功能结果与来自第二处理单元的功能结果以确定第一控制器中是否存在错误。第二控制器包括利用来自感测装置的输入数据执行功能的第一处理单元和以非冗余状态操作的第二处理单元。第二处理单元在非冗余状态下不执行该功能。第二比较模块确定第二控制器中是否存在错误。由第一控制器的第一比较模块识别的匹配功能结果输入至第二控制器的第二比较模块。第二比较模块仅利用由第一比较模块识别的匹配功能结果以及由第二控制器的第一处理单元确定的功能结果来确定第二控制器中是否存在错误。

附图说明

图1是示例性集成控制系统的架构框图。

图2是用于执行冗余检查的改进型双工架构的第一实施例。

图3是用于执行冗余检查的改进型双工架构的第二实施例。

图4示出故障的初级控制器和备份控制器的重新配置的实例。

图5示出故障的次级控制器和备份控制器的重新配置的实例。

具体实施方式

以下详细描述意味着说明性的以理解实施例的主题并且不旨在限制主题的实施例或这些实施例的应用和用途。单词“示例性”的任何使用均旨在被解译为“用作实例、范例或说明”。本文陈述的实施方案是示例性的并且并不意味着被解释为相比其它实施方案更优选或更有利。本文的描述并不意味着受限于前述发明背景、附图简述、发明内容或具体实施方式中呈现的任何明确或隐含的理论。

技术及工艺在本文可以就功能和/或逻辑块部件来描述,并且可以参考可以由各种计算部件或装置执行的操作、处理任务和功能的符号来描述。这样的操作、任务和功能有时候称为是计算机执行的、计算机化的、软件实施的或计算机实施的。应当明白的是,图中所示的各个块部件可以由配置成执行指定功能的任何数量的硬件、软件和/或固件部件来实现。例如,系统或部件的实施例可以采用各种集成电路部件(例如,存储器元件、数字信号处理元件、逻辑元件、查找表等,其可以在一个或多个微处理器或其它控制装置的控制下实行多种功能)。

当在软件中实施时,本文所述的系统的各个元件本质上是执行各项任务的代码段或计算机可执行指令。在某些实施例中,程序或代码段存储在可以包括可存储或传送信息的任何介质的有形处理器可读介质中。非暂时性且处理器可读介质的实例包括电子电路、微控制器、专用集成电路(asic)、半导体存储器装置、rom、闪速存储器、可擦除rom(erom)、软磁盘、cd-rom、光盘、硬盘等。

本文所述的系统和方法论可用来识别执行控制系统中的软件功能的控制器中的故障。虽然方法和方法论在下文关于车辆应用中使用的控制器而描述,但是本领域一般技术人员应明白,汽车应用仅仅是例示性的且本文公开的概念也可以应用于任何其它合适的通信系统,诸如(例如)通用工业自动化应用、制造和组装应用、航空电子、航空航天以及游戏。

如本文所述的术语“车辆”可广泛地解释为不但包括乘用车,而且包括任何其它车辆,该任何其它车辆包括(但不限于)轨道系统、飞机、越野运动车辆、机器人车辆、机动车、卡车、运动型多用途车(suv)、露营车(rv)、军用车、飞行器、农用车以及建筑车辆。

图1中示出示例性集成控制系统的架构框图。这样的控制系统将通常利用两个控制器使得如果初级控制器发生硬件错误,那么可轻易启用备份控制器以控制该控制系统的特征或对错误中的特征的受限功能性提供控制。

在图1中,传统的双重双工系统示为包括初级控制器12和备份控制器14(下文称为次级控制器)。如本文所述的示例性系统是基于车辆的,但是如早期所述,该架构可应用于非车辆系统。初级控制器12包括两个处理单元,其包括用于执行初级控制的第一处理单元16和第二处理单元18。次级控制器14包括两个处理单元,其包括第一处理单元20和第二处理单元22。应当理解的是,术语处理单元可以包括独立处理器或独立核心。替代地,如果需要,处理器单元可以包括在同一芯片上具有两个核的双核处理器。为了说明的目的,初级控制器12和次级控制器14由于具有相似硬件和相似软件而相似。然而,该架构中的某些装置可以利用不同装置(诸如不同电源)使得如果控制器由于电源而发生错误,那么这不影响另一个控制器。初级控制器12指定为主要的主动控制器并且接收输入信号,且基于输入信号执行功能并且在处于操作且无故障状态中时通过通信网络24向其它装置输出控制信号。初级控制器12在无故障操作条件(本文称为正常操作条件)下操作并且将产生控制信号且传输控制信号用于控制车辆装置的特征。

次级控制器14使用与初级控制相似的次级控制来接收数据并且执行功能,但是当初级控制器12在正常操作条件下操作时,输出控制信号不为通信网络上的装置所利用。

初级控制器12和次级控制器14经由通信网络24通信。应当理解的是,通信网络可以包括(但不限于)通信区域网(can)、can-fd、flexray、与以太网的交换联网、无线通信或使用网关的多个网络。要求是控制器和传感器/致动器中的每一个可彼此通信。初级控制器12和次级控制器14利用通信网络24以在传感器26与致动器28之间接收和传输数据。

传感器26感测相应条件并且向控制器传输与相应条件有关的输入信号。当初级控制器12从传感器26接收到输入信号时,初级控制器12的每个处理单元16和18利用输入数据同时执行软件功能。初级控制器12基于所执行的功能向致动器28输出控制信号。术语致动器可以包括(但不限于)接收器和从控制器接收控制信号的其它装置。致动器28包括用于致动车辆系统的特征的装置。通常,特征是至关重要的或车辆用来维持车辆的至少某个安全操作所必需的这些特征。这样的控制装置可以包括(但不限于)制动控制、转向控制以及推进控制。在故障操作条件下,启用关键装置的功能性(虽然有所限制)以允许驾驶员安全地操作车辆直至车辆可驾驶至用于检查的位置、以维持操作直至操作者可接管控制并且手动执行功能,或维持操作持续较短持续时间直至车辆可安全地停止。

在初级控制器12基于输入数据执行功能的时间期间,次级控制器14镜像复制初级控制器12并且基于相同数据同时执行相同功能。这称为冗余。次级控制器14通过在与初级控制器12相同的状态中执行功能来镜像复制初级控制器12。这在初级控制器12中发生错误的情况下执行,次级控制器14必须准备好立即接管初级控制器12的操作。为了能够立即接管,次级控制器14必须处于与初级控制器12相同的状态。即,两个控制器实施并且执行相似功能性以容忍一个控制器故障,且关键安全软件在每个控制器内冗余地执行以检测错误(即,在控制器内部检测到的错误)并且当初级控制器故障(即,故障沉默)时关闭来自初级控制器的任何通信,或检测次级控制器中可造成潜在故障的错误。

初级控制器12包括比较模块25,且次级控制器14包括用于在相应控制器的相应处理单元的输出结果之间执行比较检查的比较模块27。每个相应的比较模块执行比较操作以确定来自相应控制器内的每个处理单元的每个所执行功能的结果是否匹配,这是因为每个处理利用相同输入数据来执行相同功能。如果处理单元没有错误地操作,那么结果应该匹配。如果结果不同,那么该相应控制器中可能存在错误。因此,每个比较模块需要对所执行功能结果进行两次输入比较用于确定它们相应的控制器中是否发生错误。结果在通信网络24上传输至诸如通信网络24上的其它控制器和致动器的其它装置。这两个控制器可以包括诊断功能用于基于观察到另一个控制器在网络上发送的消息监测其它控制器中的错误条件以在出现故障时重新配置控制器。

利用故障操作系统中的关键软件的冗余执行的这种传统双重双工设计消耗系统资源,并且由于其所需的昂贵计算资源而增加了成本。如本文所说明的双重双工模式可处置至多一个控制器故障,并且不能随着对需要在相同驱动周期中容忍的控制器故障的数量的需求不断增长而充分扩展,这将需要增加硬件(即,冗余),从而造成成本增加。另外,正在使用的资源保持闲置或可以用于执行可有效使用现有硬件的其它功能。

图2示出了用于执行冗余检查的改进型双工架构的第一实施例。硬件架构类似于图1中所示的硬件架构,且将使用类似元件符号。初级控制器12包括第一处理单元16和第二处理单元18,且次级控制器14包括第一处理单元20和第二处理单元22。第一处理单元16和第二处理单元18执行该功能,且来自每个处理单元的功能结果输入至比较模块25用于确定由每个处理单元执行的功能结果是否匹配。如果来自每个处理单元的功能结果匹配,那么确定初级控制器12是在正常操作条件下操作。应当理解的是,术语“匹配”可以包括精确匹配或基本接近匹配。精确匹配限定为比较结果相似。基本上接近匹配限定为比较结果虽然不相似但足够接近使得在比较结果之间允许最大偏差。

在该技术下,次级控制器14不在与初级控制器12相同的条件下操作。如图2中所示,仅次级控制器14中的第一处理单元20用于执行该功能。第二处理单元22在非冗余状态中。术语非冗余状态限定为处理单元保持空闲或正在执行除由第一处理单元执行的功能执行的功能之外的某些功能。因此,该功能不由次级控制器14的第二处理单元22执行,且因此,第二处理单元22不向比较模块27提供输入。如本文所述,次级控制器14的第二处理单元22在未使用时可用于其它任务,或替代地甚至可不作为系统的部分存在。为了在次级控制器14的比较模块27中执行冗余检查,需要两个功能结果用于比较。因为次级控制器14中的第二处理单元22不活动,所以必须补充第二功能结果来代替通常由第二处理单元22产生的功能结果。为了向比较模块27提供第二输入,通信链路30耦合在初级控制器12的比较模块25与次级控制器14的比较模块27之间。应当理解的是,为了说明目的,通信链路30示为控制器之间的通信信道。对于本文所述的每个实施例,相应控制器中的每个控制器经由通信网络24或单独通信网络直接彼此通信,该单独通信网络允许相应控制器彼此直接通信。因此,每个控制器可使用所示的通信网络或其它通信网络将相应的功能结果与控制系统内的任何其它控制器直接通信。通信链路30可以包括(但不限于)交换机,广播总线,无线(例如,wifi、蓝牙)或多个单独的网络,诸如桥接的局域网。替代地,通信链路30可实施为直接耦合初级控制器12和次级控制器14用于通信的专用通信信道;然而,优选的通信方法是通信网络,因为控制系统中已经经由网络建立了控制器之间的通信,且该通信是控制器之间的自定义通信模式。应当记得的是比较初级控制器12的第一处理单元16的功能结果与次级控制器14的第二处理单元18的功能结果。如果功能结果彼此匹配,那么识别匹配功能结果且匹配功能结果用作比较模块27的第二输入。因此,术语匹配功能结果在本文将用作来自相应的前面的控制器的功能结果,其中输入至前面的比较模块的两个功能结果彼此匹配。因此,匹配功能结果用作后续控制器的输入。

再次参考图2,来自初级控制器12的比较模块25的匹配功能结果输入至次级控制器14的比较模块27。由第一控制器的比较模块25确定的匹配功能结果不仅提供已检查的功能结果,而且比较模块25还确定数据完整性。在次级控制器14中,比较模块27比较由第一处理单元20产生的功能结果与由初级控制器12的比较模块25提供的匹配功能结果用于基于第二比较模块27的相应输入是否彼此匹配来确定是否存在错误。在由于控制器问题或通信问题(例如,控制器12故障)而未从比较模块25发送结果的范例中,确定第二比较模块27的相应输入是否可用和/或是否存在匹配。例如,第一处理单元20的结果可用作比较模块27的输出,这是因为发生了最大次数的故障,且因此不需要第二次计算。应当记得的是,每个处理单元利用相同传感器数据执行相同软件功能,且如果相应控制器中不存在错误,那么由每个处理单元执行的功能结果应当匹配。由相应比较模块确定的匹配功能结果基本上是相应比较模块的功能结果输入,这是因为如果存在匹配,那么结果应该基本类似。通过利用初级控制器12的匹配功能结果作为次级控制器14的比较模块27的第二输入,不需要由次级控制器14的第二处理单元22执行。因此,减少了系统资源的利用,且与传统的双共方法相比,实现了25%的处理减少。

图3说明用于执行冗余检查的改进型双工架构的第二实施例。以下架构提供用于容忍多达两个控制器故障的三个控制器的概述。在控制系统中利用初级控制器12、次级控制器14和备份控制器32(下文称为第三控制器)。第三控制器32包括与其它控制器相似的架构。第三控制器32在比较模块38中包括第一处理单元34、第二处理单元36。通信链路40耦合次级控制器14的比较模块27和第三控制器32的比较模块38。如前所述,通信链路30和40优选地是通信网络24的部分或单独的通信网络,并且出于说明目的而示出。第三控制器32中的相应处理单元和比较模块38的功能与次级控制器14中的相应处理单元和比较模块的功能相似,其中仅第一处理单元34执行第三控制器32中的功能,而第二处理单元36处于非冗余状态中并且可以用于其它任务。在第三控制器32中,从次级控制器14的比较模块27获得的匹配功能提供至比较模块38和第三控制器32。比较由第三控制器32的第一处理单元34确定的功能结果与从次级控制器14的比较模块27获得的匹配功能结果以确定是否存在匹配。如果存在匹配,那么确定第三控制器32是在正常操作条件下运行。如果相应结果不匹配,那么确定第三控制器32中存在错误。类似于图2中的配置,通过不利用次级控制器14和第三控制器32中的每一个中的相应处理单元来实现处理的减少。即,对于传统的双重双工方法,如果利用三个控制器,那么将利用所有六个处理单元。在利用改进型双重双工方法时,仅利用六个可能的处理单元中的四个处理单元。因此,与传统的双重双工方法相比获得处理的33%的减少。

利用本文所述的技术,处置n个故障需要n+1个控制器,其中n是控制系统设计成要处置的故障数量。在传统的双重双工方法中,必须执行2+2n次执行,而改进型双重双工方法仅需要2+n次执行。处理的减少可以被概述为n/(2+2n),其中n是需要处理的最大故障数量。

如上所述,相应控制器中的每个控制器可以通过通信网络24或单独的通信网络彼此连接。因此,利用比图中实际示出的更多的通信信道使得如果中间备份控制器故障,那么每个控制器直接与所有其它控制器通信。因此,如果例如次级控制器14故障或在次级控制器14中识别出不匹配结果,那么通信网络24或单独的通信网络提供初级控制器12与第三控制器32之间的直接通信。在这种范例中,例如,比较模块25的结果将直接传送至第三控制器32的比较模块38并且经由相应通信网络用作输入。另外,传送结果的另一种技术可以包括每个控制器在通信网络上发送其计算结果,使得当本地控制器利用来自其第一处理单元的结果执行其本地计算时,每个其它控制器具有至少一次计算以供使用。

该系统包括用于将控制器重新配置为初级控制器或备份控制器的算法。即,如果确定一个控制器中发生故障,那么识别出关于哪个控制器将指定为初级控制器或指定的备份控制器的预定顺序。例如,如果活动的初级控制器发生故障,那么执行算法,该算法识别重新配置哪个替代性无故障控制器以用作初级控制器。类似地,如果确定次级控制器14如图2所示般已经出现故障,那么如果利用多个控制器,那么该算法识别哪个相应的控制器配置为备份控制器或初级控制器。

如果三个控制器中除了一个之外的所有控制器均发生故障,那么无故障控制器将重新配置为初级控制器,且将不利用备份控制器。在这种情况下,因为已经达到容忍的最大故障数量,所以不需要利用匹配功能,因此不需要在两个核心上执行此功能。

图4示出故障的初级控制器和备份控制器的重新配置的实例。在图4中,由于第一处理单元16和第二处理单元18的功能结果不匹配,比较模块25确定初级控制器12中存在错误。初级控制器12遭遇故障沉默,且没有信号从初级控制器12输出,且因此,这是其它控制器如何确定初级控制器由于没有信号或通信而出现故障。在其它范例中,初级控制器12中已经发生故障且初级控制器12应该出现了故障的通信发送至通信网络24上的其它控制器和装置。因此,没有其它控制器将传送或收听来自初级控制器12的信号。另外,本文所述的控制系统在每个操作控制器上执行用于确定哪个备份控制器应当重新配置为下一个初级控制器的算法。如图4中所示,次级控制器14重新配置为初级控制器。因此,第一处理单元20和第二处理单元22操作地用于从传感器获得数据和执行功能。在图4中,来自每个相应处理单元的功能结果提供至比较模块27。不再依赖来自比较模块25的先前依赖的功能结果,且因此,来自先前初级控制器12的通信发生故障沉默。重新配置的控制器14现在用作初级控制器,且因此,利用来自次级控制器14中的两个处理单元的功能结果。第三控制器32将继续用作备份控制器,其中仅第一处理单元34用于执行功能。来自现在指定为初级控制器的重新配置的控制器14的比较模块27的匹配功能结果传输至第三控制器32的比较模块38用于与由第一处理单元34确定的功能结果进行比较。应当理解的是,可以利用比本文所描述的更多的控制器,且此技术可应用于与控制系统所利用的控制器一样多的控制器,其中故障的初级控制器在故障沉默模式中发生故障,且指定的备份控制器重新配置为初级控制器,且其中的两个处理单元用于执行功能。所有其它控制器恢复典型操作,其中仅一个处理单元用于执行功能,且来自另一个次级控制器的匹配功能结果用作比较模块的输入。这样做的目的是为了检测备份控制器中的错误以避免潜在错误。如果发生故障(其中三个控制器中除了一个之外的所有控制器均发生故障),那么无故障控制器将重新配置为初级控制器且将不利用备份控制器。在这种情况下,因为已经达到容忍的最大故障数量,所以不需要利用匹配功能,因此不需要在两个核心上执行此功能。

图5示出故障备份控制器的实例。利用相同的元件编号,初级控制器12在无故障状态下操作。次级(备份)控制器14发生故障。故障的备份控制器14将发生故障沉默。来自故障的备份控制器14的通信将不可用,并且将实际上从控制系统中移除。如先前所述,每个控制器通过通信网络24或通过单独的通信网络彼此直接通信。因此,初级控制器12与第三控制器32直接通信以直接传输比较结果。第三控制器32将使用来自比较模块25和第一处理单元34的输入的结果用于错误检测。这是做的目的是为了使第三控制器32能够检测其自身计算中的错误且在次级控制器14已经发生故障且比较模块27的计算形式不再可用的此故障条件下发生故障沉默。如果发生故障(其中三个控制器中的两个发生故障),那么无故障控制器将重新配置为初级控制器且将不利用备份控制器。在这种情况下,因为已经达到容忍的最大故障数量,所以不需要利用匹配功能,因此不需要在两个核心上执行此功能。

虽然已经详细描述了本发明的某些实施例,但是本发明所涉及领域的技术人员将认识到用于实践如由以下权利要求书限定的本发明的各种替代性设计和实施例。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1