CN102822807A - 控制计算机系统、用于控制控制计算机系统的方法及控制计算机系统的使用 - Google Patents

控制计算机系统、用于控制控制计算机系统的方法及控制计算机系统的使用 Download PDF

Info

Publication number
CN102822807A
CN102822807A CN2011800155628A CN201180015562A CN102822807A CN 102822807 A CN102822807 A CN 102822807A CN 2011800155628 A CN2011800155628 A CN 2011800155628A CN 201180015562 A CN201180015562 A CN 201180015562A CN 102822807 A CN102822807 A CN 102822807A
Authority
CN
China
Prior art keywords
processor
computer system
control computer
switch matrix
peripheral
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
CN2011800155628A
Other languages
English (en)
Other versions
CN102822807B (zh
Inventor
L·D·卡布莱帕
T·埃伦贝格
D·鲍迈斯特
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.)
Continental Automotive Technologies GmbH
Original Assignee
Continental Teves AG and Co OHG
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 Continental Teves AG and Co OHG filed Critical Continental Teves AG and Co OHG
Publication of CN102822807A publication Critical patent/CN102822807A/zh
Application granted granted Critical
Publication of CN102822807B publication Critical patent/CN102822807B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • 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/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by 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/165Error detection by comparing the output of redundant processing systems with continued operation after detection of the error
    • 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/18Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits
    • G06F11/183Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components
    • G06F11/184Error detection or correction of the data by redundancy in hardware using passive fault-masking of the redundant circuits by voting, the voting not being performed by the redundant components where the redundant components implement processing functionality
    • 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/2023Failover techniques
    • G06F11/203Failover techniques using migration
    • 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/1641Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components
    • G06F11/1645Error detection by comparing the output of redundant processing systems where the comparison is not performed by the redundant processing components and the comparison itself uses 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
    • G06F11/2035Error 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 without idle spare 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
    • G06F11/2043Error 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 where the redundant components share a common memory address space

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Hardware Redundancy (AREA)

Abstract

本发明涉及一种控制计算机系统。该控制计算机系统包括:至少两个被配置为相互冗余的模块(1001、1002、1003、1004);至少一个比较单元(1011、1012),用于监视至少两个冗余模块(1001、1002、1003、1004)的同步状态以及用于检测同步错误;至少一个外围单元(1030、1031、…、1038)。该控制计算系统还包括至少一个开关矩阵(1013),被设置为允许或阻止访问所述至少两个冗余模块访问(1001、1002、1003、1004)或者所述至少两个冗余模块访问外围单元(1030、1031、…、1038)。错误处理单元(1080)被设置为接收至少一个比较单元(1011、1012)的信号以及驱动至少一个开关矩阵(1013),以便可性地完全地或选择性地阻止访问所述至少两个冗余模块或者所述至少两个冗余模块访问所述外围单元。

Description

控制计算机系统、用于控制控制计算机系统的方法及控制计算机系统的使用
技术领域
本发明涉及冗余处理器控制器和控制方法。更具体地说,本发明涉及冗余双处理器控制器和多核冗余控制计算机系统。
背景技术
已知的做法是使两个处理器以锁步(lockstep)模式执行相同的指令并通过比较输出数据来判定是否发生错误。在这种情况下,两个处理器可通过时钟同步的方式运行或以一定的时间偏移(在比较期间相应地被补偿)运行。在这种情况下,可能发生例如由制造期间引入的故障造成的永久错误和例如由临时电磁干扰造成的临时错误。如果发生锁步错误,程序执行会被中断,在最简单的情况下,计算机系统会被停用,因此,这种情况下,来自两个处理器的输出数据相互不同。
但是,对于双冗余处理器而言,提供计算机系统在发生错误时得以继续执行所需程序的容错尤其具有挑战性。已有人尝试在只有两个冗余处理器的安全平台中帮助实现容错能力。US 5915082 B2公开了其中为内部总线提供被比较的奇偶校验位的系统体系结构。在一端检测到奇偶校验错误之后,会断开相关处理器,从而其不再对系统有任何影响。每次在没有奇偶校验错误的情况下发生锁步错误之后,系统便会关闭。这种基于奇偶性检查的过程没有充分涵盖其中即使在出现锁步错误之后,也非常需要冗余系统的可用性的情况。如果两个内部冗余单元同时显示不同的多位错误时,奇偶性检查可以导致例如不正确的决定。
进一步已知的容错系统体系结构包括至少三个具有共享或共用内存的处理器核。在这种情况下,总是通过监视总线信号来检查处理器的锁步模式。锁步模式在下文中也被称为处理器同步执行程序或程序部分。
如果活动处理器失败,则活动处理器通过输入/输出通道驱动的存储区和组件的所有权移交给另一处理器。在锁步错误之后的锁步错误状态(同步错误)中,数据访问和控制进程从活动处理器中移除并由另一处理器维护。
包括处理器的三重冗余(TMR:三模块冗余)和一个共用存储器的容错系统的经典最低配置对于许多安全体系结构而言仍然非常昂贵,所述安全体系结构的安全概念基于使用以锁步或同步方式运行的两个冗余处理器。但是,容错能力对于带有双冗余的处理器而言尤其具有挑战性。
US 7366948 B2和US 2006/0107106描述了用于帮助实现由多个在锁步模式中运行的处理器对组成的系统中的可用性的方法。两个冗余处理器在每个对中进行组合,并且它们的输出不断进行比较。如果在一个处理器对中发生错误,则另一处理器对将作为引导处理器对承担驱动系统的任务。同时,出现错误的处理器对将尝试恢复同步并使其可用作备用处理器对。这样确保系统的高度可用性。然而,此方法对于许多嵌入式系统而言成本太高,因为当不存在错误时,不使用一个处理器对,因此此方法提供的成本/性能比太差。被分为两对并且输出信号被比较的四个处理器必须始终被用于单个任务。如果在一处理器对中检测到锁步错误(LOL:锁步丢失)或另一处理器内部错误,操作系统便会将故障处理器对更改为静止(quiescent)状态并激活另一处理器对。
EP 1380953 B1定义了具有锁步同步功能的容错计算机系统,所述系统包含多个带有处理器和存储器的计算模块,并描述了一种用于再同步所述系统的方法。由于每个计算模块同步处理相同的指令串,因此该计算机系统并非很有效率。
EP 1456720 B1公开了用于包括两个或更多个控制计算机系统的机动车辆中安全关键应用的计算机组,每个控制计算机系统包括两个控制计算机,所述控制计算机以时钟同步方式运行,并且具有在芯片上集成的部分或完全冗余的外围组件以及部分或完全冗余的存储元件。以时钟同步方式运行的控制计算机系统的控制计算机与仲裁单元相连,所述仲裁单元监视这些计算机是否出现错误并且可以将指定给控制计算机系统的通信控制器连接到车辆数据总线,或者可以分离所述控制器。如果其中一个控制计算机出现故障,则对应的控制计算机系统部分地或完全地停用。
DE 10 2009 000 045 A1公开了一种用于操作包含计算机系统的控制设备的装置,所述计算机系统包括两对执行单元,每对执行单元包含两个执行单元,并且具体而言,所述控制设备在机动车辆中使用。每对中的执行单元执行相同的程序,并且每个执行单元的输出信号由相应的比较单元相互比较,并且如有不一致,则输出错误信号。如果针对第一对执行单元出现错误信号,则关闭该对,并且计算机系统继续使用第二对执行单元运行,并且预先警告信号被输出到驱动器。
所述文档的缺点是必须提供高度冗余,因为当没有错误时,至少一个处理器对不活动或者执行与驱动外围单元的活动处理器对相同的程序。因此,每个单独的处理器必须提供全部所需的计算能力,其结果是已知的计算机系统不能以非常高效的方式运行。从成本角度来讲,这种情况是不合需要的,尤其是对于大批量生产的系统。
US 7366948 B2中描述的方法对于嵌入式系统而言是成本非常高的解决方案。另一个事实是,除了处理器核之外,其他组件不能总是以冗余方式实现。在设计用于不同安全相关系统(例如,汽车行业中的刹车应用)的安全体系结构时,财务原因通常起着重要作用。程序存储器,例如闪存,不是冗余的,但是由所有现有处理器使用。传统方法在确保基于冗余处理器的安全体系结构中的可用性的方法中不会考虑非冗余组件的这种边界条件。有关确保安全体系结构中的处理器可用性的另一问题是只能在成功完成安全检查之后才能再次启动之前失败的处理器。
在此背景之下,需要仅有两个冗余处理器并且允许实现系统的高度可用性的安全体系结构。另外还需要具有三个或更多处理器(例如两个处理器,每个带有两个核)并允许实现系统的高度可用性的安全体系结构。
发明内容
根据一个方面,本发明的目标是提供同时容错和高效的控制计算机系统。
根据一个实施例,基于冗余处理器核对的安全体系结构旨在被配置以保留现有安全级别,同时实现系统的高级别可用性。此外,处理器旨在在正常(或无错误)模式下提供高级别性能。检测到错误之后,旨在在考虑非冗余组件的安全连接的情况下维持系统的可用性。
在此背景下,提供了如权利要求1中所述的控制计算机系统。同时还提供了双处理器控制设备。还提供了如权利要求22或33中所述的用于控制控制计算机系统的方法。还提供了如权利要求32中所述的控制计算机系统的使用。
一个实施例提供了一种控制计算机系统。所述控制计算机系统包括至少两个被设计为相互冗余的模块;至少一个用于监视所述至少两个冗余模块的同步状态以及用于检测同步错误的比较单元;至少一个外围单元;至少一个被设置为允许或阻止对所述至少两个冗余模块的访问或由所述至少两个冗余模块对外围单元的访问的开关矩阵。所述控制计算机系统还包括被设置为从所述至少一个比较单元接收信号以及驱动所述至少一个开关矩阵,以便完全地或选择性地阻止对所述至少两个冗余模块的访问或由所述至少两个冗余模块对所述外围单元的访问的错误处理单元。
当发生错误时,所述错误处理单元驱动的开关矩阵便会阻止对故障模块的访问或者故障模块对外围单元的访问。根据一个实施例,所述错误处理单元启动和监视用于检查冗余模块中是否有错误的一个或多个测试,并且如果检测到错误,便会控制所述开关矩阵,具体而言,使得不再为安全相关应用考虑故障模块。
根据一个实施例,所述至少两个冗余模块是至少两个用于同步执行控制程序的处理器单元或其他单元,例如冗余设计的存储器模块。
根据一个实施例,所述控制计算机系统包括至少四个处理器单元,其中所述处理器单元可以是单处理器、处理器对中的处理器或双核或多核处理器中的核。
根据一个实施例,基于冗余处理器核对的安全体系结构被修改以使得故障处理器对、具有至少两个处理器核的处理器的单独的故障处理器核和/或故障组件不能驱动现有的致动器,因为在检测到错误之后,一独立模块阻止故障处理器对对安全相关的外围单元的任何访问。无错误处理器对或处理器核或故障组件将离开正常模式,以便确保应急模式。在应急模式中,每个无错误处理器对/处理器核在必要时承担故障处理器对/处理器核的某些任务,并且还执行其原始任务的子集。对于每个处理器对/处理器核,在后者上运行的软件程序被分为两组。一组软件程序旨在能够在既正常模式中也在应急模式中运行,而另一组软件程序在应急模式中关闭。因此,无错误处理器对/处理器核能够在应急模式中承担附加任务。每个软件组件针对应急模式被划分为适当的或非适当的以及/或者非必要的或必要的。如果处理器对/处理器核发生故障,则对于应急模式而言必要的任务由无错误处理器对/处理器核来承担。
在本发明的一个优选实施例中,目标是恢复安全体系结构的正常模式,正是基于此原因才对故障处理器对/处理器核执行若干检查测试。在执行这些测试时,该处理器对/处理器核将存储各种结果,所述结果旨在对应于已执行算法的先前已知结果。在这种情况下,一独立硬件模块检查结果的正确性。在成功测试恢复条件之后,所有处理器对/处理器核返回到正常模式。
由于根据本发明的控制计算机系统可以阻止故障处理器对/处理器核访问外围单元,因此,阻止了由故障处理器对/处理器核驱动致动器所导致的损害。
当没有错误时,根据本发明的控制计算机系统的单独处理器对或处理器核可以执行不同的程序,从而提供了高计算能力。如果发生错误,则由无错误处理器对或无错误处理器核承担故障处理器对/处理器核的关键功能,而某些非关键功能不再可用。此应急模式允许根据本发明的控制计算机系统的高度容错。
本发明还涉及在机动车辆中使用根据本发明的控制计算机系统,具体地以便控制或调节刹车系统。
根据一个或多个实施例,例如采取冗余双处理器控制设备形式的控制计算机系统包括用于同步执行控制程序的第一处理器(或处理器的第一核)和第二处理器(或处理器的第二核)、至少一个选择性地将至少一个要被驱动的第一外围单元连接到两个处理器之一的第一多路复用器,以及至少一个用于监视所述两个处理器的同步状态和用于检测同步错误的第一比较单元(比较器)。所述控制计算机系统(控制设备)还包括恢复控制单元(在某些实施例中也称为SAM模块),所述恢复控制单元被设置为在同步错误发生之后监视所述两个处理器对至少一个测试程序的执行并评估测试结果,同时还被设置为配置至少第一多路复用器。
所述比较单元监视所述处理器的同步操作,也就是说锁步。这可以通过“逐行”比较控制程序的执行来实现,在这种情况下,相同的结果必须在相同的时间出现。如果情况并非如此,则出现锁步错误,也就是说,处理器不再同步运行。
控制程序的同步执行是冗余系统的一个重要特征,因为它可用于检查当前活动的处理器是否在没有错误的情况下运行,在这种情况下,假设两个处理器中的相同错误的同时发生在统计学上而言是非常不可能的。但是,如果发生同步错误,则最初不清楚所述错误发生在活动处理器(核)上还是被动处理器(核)上。在这种情况下,主动处理器(核)旨在被理解为意味着实际驱动外围单元的处理器。被动处理器(核)是指仅附随地(concomitantly)同步运行的处理器,也就是说,接收与主动处理器相同的数据并执行相同的程序步骤。
如果发生同步错误,则不再确保控制被正确地执行,也就是说,存在风险,尤其是在例如汽车行业或在其他行业中所使用的安全相关系统中。诸如图7和8中所示的控制系统之类的控制系统通常必须完全关闭。
这里所提出的解决方案提供了恢复控制单元(独立硬件模块),该单元使得两个处理器(核)在发生同步错误时接受测试,从而判定其中哪个处理器出现故障。执行测试并评估测试结果之后,恢复控制单元决定后续过程。
如果两个处理器均通过测试,则认定这两个处理器均无错误。在这种情况下,继续控制程序的同步执行。
该解决方案具有决定性优势,即继续驱动外围单元,而同时保持高安全级别,因为两个处理器已经过用于表明无错误的测试。该解决方案与其他解决方案相比具有决定性优势,在所述其他解决方案中,原则上,当发生同步错误(锁步错误)之后执行完全关闭,并且系统只能从外部再次重置。在这种情况下,必须知道仅仅重置系统对于安全相关应用而言通常不是一项令人满意的解决方案,因为未执行任何错误评估,也就是说,仍未确定导致同步错误的原因。因此,这里所描述的解决方案提供了一种处理同步错误的方式,并且允许在发生锁步错误之后恢复两个冗余系统的同步。
相反,如果认定处理器(核)发生故障,则所述恢复控制单元(SAM模块)会重新配置控制设备(控制计算机系统),确切地讲,其重新配置方式使得从那以后忽略故障处理器的输出,并确保外围单元于是只能由无错误处理器而非故障处理器驱动。这通常是通过重新配置第一多路复用器来实现的,其结果是数据流仅在外围单元和无错误处理器之间才是可能的。此外,重新配置导致比较单元不再执行任何监视。
该解决方案具有决定性优势,即可以继续驱动外围单元,即使现在这是在处理器端没有冗余的情况下实现的。与在发生同步错误(锁步错误)时完全关闭控制的已知解决方案相比,这是一种巨大的优势。所提出的解决方案增强了系统可用性,这对于关键应用程序而言尤其重要,从而可以继续维持对系统的控制。但是,控制设备可以发出错误信号以便指示目前存在的“单处理器操作”,从而可以执行维护。
这里所提出的并且具有用于控制同步错误的装置的冗余控制装置可以在任何所需的安全相关系统中使用。汽车行业中的刹车应用是一个例子。在这种情况下,仅基于两个冗余处理器的控制装置被配置为使其保持现有安全级别并允许系统的高度可用性。
原则上,要驱动的外围单元可被理解为意味着由相应处理器访问的任何单元。例子有存储器、致动器、输入/输出单元和传感器。
根据一个或多个实施例,所述恢复控制单元被设置为将同步错误指定到错误类型和根据所述错误类型选择测试程序。对已发生的错误进行分析以便找出可能发生错误的地方或哪个组件造成错误。然后据此选择适当的测试程序,在这种情况下,例如在所述恢复控制单元中提前存储测试程序和预期测试结果。如果在不同的存储器地址中呈现了错误(也就是说,两个处理器输出之间的差异),则可以选择例如可用于检测存储器错误的测试程序。此方法改善了错误定位。
根据一个或多个实施例,所述恢复控制单元(SAM模块)被设置为根据测试结果配置第一多路复用器。所述多路复用器(以及一般地,控制设备)因此根据测试结果进行配置。所述多路复用器的功能可能由总线矩阵承担。
根据一个或多个实施例,所述控制设备还具有至少一个用于可选地将至少一个要被驱动的第二外围单元连接到两个处理器之一的第二多路复用器,其中所述第二多路复用器可由所述恢复控制单元进行配置。因此,所述控制装置使得能够在考虑安全方面的同时可选地驱动多个外围单元。
根据一个或多个实施例,所述控制设备还具有至少一个用于监视所述两个处理器的同步状态和用于检测同步错误的第二比较单元(比较器)。这样允许进行相互监视,从而增加系统可靠度。
根据一个或多个实施例,所述控制设备具有将所述第一处理器连接到所述第一多路复用器的第一总线矩阵,以及将所述第二处理器连接到所述第二多路复用器的第二总线矩阵。
根据一个或多个实施例,所述第一外围单元为可以可选地地由所述两个处理器之一驱动的公共单元。根据一个实施例,所述控制装置还具有至少两个进一步的外围单元,其中所述两个外围单元中的一个仅被指定给所述第一处理器,所述两个外围单元中的另一个仅被指定给所述第二处理器,作为只能被分别指定的处理器访问的专用外围单元。在这种情况下,公共外围单元或组件被理解为意味着以冗余方式驱动的单元,也就是说,由所述两个处理器之一可选地实现驱动,在这种情况下,另一处理器用于进行比较。与之相对,专用单元在每种情况下仅由所述两个处理器之一驱动。相应的其他处理器不能访问此单元,甚至不能通过多路复用器访问。这里提供的解决方案允许恢复两个冗余处理器之间的同步,即使考虑到因成本原因通常在各种嵌入式系统中实现的非冗余组件时也是如此。
根据一个或多个实施例,所述两个进一步的外围单元为冗余单元,也就是说,它们在物理上相同并用于执行相同功能。
根据一个或多个实施例,所述第一和/或第二比较单元被配置为在发生同步错误时产生同步错误信号。所述同步错误信号例如可以是中断。
一个实施例提供一种例如采取冗余双处理器控制设备形式的控制计算机系统。所述控制计算机系统包括:用于同步执行控制程序的第一处理器和第二处理器;至少一个用于可选地将公共第一外围单元连接到所述两个处理器之一的第一多路复用器;至少两个进一步的外围单元,其中所述两个外围单元中的一个仅被指定给所述第一处理器,所述两个外围单元中的另一个仅被指定给所述第二处理器,作为只能被分别指定的处理器访问的专用外围单元;至少一个用于监视所述两个处理器的同步状态和用于在所述两个处理器失同步(desynchronize)时,检测同步错误的第一比较单元;被设置为监视在同步错误发生之后由所述两个处理器对至少一个测试程序的执行和评估测试结果,以及被设置为根据所述测试结果配置所述第一多路复用器的恢复控制单元。
根据一个实施例,所述控制计算机系统还包括:将所述第一处理器连接到所述第一多路复用器的第一总线矩阵;将所述第二处理器连接到所述第一多路复用器的第二总线矩阵。
一个实施例提供一种例如采取冗余双处理器控制设备形式的控制计算机系统,包括:用于同步执行控制程序的第一处理器和第二处理器;至少一个第一和一个第二外围单元;至少一个用于可选地将所述第一外围单元连接到所述两个处理器之一的第一多路复用器;至少一个用于可选的将所述第二外围单元连接到所述两个处理器之一的第二多路复用器;至少一个第一和一个第二比较单元,用于分别监视所述两个处理器的同步状态和用于检测同步错误;被设置为监视在同步错误发生之后由所述两个处理器对至少一个测试程序的执行和评估测试结果,以及被设置为根据所述测试结果配置所述第一和第二多路复用器的恢复控制单元。
根据一个实施例,例如采取冗余双处理器控制设备形式的控制计算机系统还包括:将所述第一处理器连接到所述第一多路复用器的第一总线矩阵;将所述第二处理器连接到所述第二多路复用器的第二总线矩阵。
一个或多个实施例提供了一种控制方法。所述控制方法包括由第一处理器和第二处理器同步执行控制程序,所述第一处理器和第二处理器通过多路复用器连接到至少一个要被驱动的外围单元,在特定时刻,所述两个处理器中的仅一个驱动所述外围单元。所述控制程序的同步执行由比较单元进行监视。当两个处理器失同步时,便会输出同步错误信号。在输出同步错误信号之后,首先中断两个处理器对控制程序的执行。然后执行测试以检查所述两个处理器之一是否发生故障。如果两个处理器均无错误,则继续由所述两个处理器同步执行控制程序。相反,如果所述两个处理器之一被确定发生故障,则配置多路复用器和比较单元,以使得不进一步与故障处理器进行通信,比较单元不进一步执行监视,以及无错误处理器驱动外围单元。所述控制程序的执行由无错误处理器继续。如果两个处理器都发生故障,则关闭控制器。
根据一个或多个实施例,所述测试包括由所述两个处理器同时执行至少一个测试程序,当满足以下至少一个条件时,认定所考虑的处理器发生故障:
-所述处理器在第一时间段T1内未执行测试程序,
-所述处理器未成功执行测试程序,
-经过第一时间段T1之后,所述处理器未在第二时间段T2内更改为静止状态。
这旨在确保不仅考虑正确的或不正确的执行,而且也考虑处理器是否在预定时间内执行了测试。检查静止状态用于判定处理器是否在不执行任何指令时仍然输出数据。这同样指示故障处理器。
根据一个或多个实施例,评估同步错误并将其指定到错误类型,其中至少一个测试程序根据所述错误类型进行选择,以便检查处理器。这样便可能选择一个、或者可能多个错误特定的测试程序。
附图说明
在下面的描述、附图和权利要求中描述了进一步的实施例、修改和优势。现在使用附图中示出的特定示例性实施例描述本发明。但是,所述实施例不应被理解为限制性的。通过下面的描述,本领域的技术人员将理解旨在附随地包括在保护范围内的进一步的修改。
图1示出根据一个实施例的正常模式中的采取控制装置形式的控制计算机系统,图2示出当一个处理器失败时的控制计算机系统(控制装置)。
图3示出根据一个实施例采取控制装置形式的控制计算机系统。
图4示出根据一个实施例采取控制装置形式的控制计算机系统。
图5示出根据一个实施例采取控制装置形式的控制计算机系统。
图6示出根据一个实施例的控制程序的序列。
图7示出具有两个处理器的体系结构。
图8示出体系结构,其中将外围模块分为两组A和B。
图9示出控制计算机系统。
图10示出根据一个实施例的控制计算机系统。
图11示出根据一个实施例的错误处理方法的流程图。
图12示出进一步的控制计算机系统。
图13示出根据一个实施例的控制计算机系统。
图14示出根据本发明采取图13的体系结构的控制计算机系统,其中处理器核2B在恢复之后关闭。
图15示出根据本发明采取图13的体系结构的控制计算机系统,其中处理器核1A和2B在恢复之后关闭。
图16示出根据本发明采取图13的体系结构的控制计算机系统,其中处理器核1B和2B在恢复之后关闭。
图17示出根据一个实施例的控制计算机系统。
图18示出根据一个实施例的错误处理方法的流程图。
图19示出根据一个实施例的错误处理方法的流程图。
图20示出图17的体系结构,其中处理器核2B在恢复之后关闭。
图21示出图17的体系结构,其中处理器核1B和2B在恢复之后关闭。
图22示出图17的体系结构,其中处理器核1A、2A和1B在恢复之后关闭。
图23示出图17的体系结构,其中处理器核1A和2B在恢复之后关闭。
图24示出图17的体系结构,其中数据存储器21在恢复之后关闭。
具体实施方式
图1示意性地示出具有第一处理器1和第二处理器2以及第一多路复用器91和第二多路复用器92的控制计算机系统或控制装置。多路复用器91、92中的每个形成带有一个相应的比较设备的单元,所述相应的比较设备在附图中被指定为比较器。多路复用器91、92中的每个与相应的外围单元95、96相连并使处理器1、2能够可选地访问外围单元95、96。恢复控制单元44同时与两个处理器1、2以及多路复用器95、96相连。
处理器1、2也可以是处理器核。
图1中示出的粗箭头示出实际由多路复用器91、92从处理器1、2传输到外围单元95、96的数据流。处理器1与外围单元95通信并控制后者,且处理器2与外围单元96通信并控制后者。在这种情况下,处理器1、多路复用器/比较器91和外围单元95形成分支A,而处理器2、多路复用器/比较器92和外围单元96形成分支B。但是,存在交叉的通信路径,确切地讲,一方面,在处理器2和多路复用器/比较器91之间,另一方面,在处理器1和多路复用器/比较器92之间存在交叉通信路径。
比较器91、92中的每个比较处理器是否相互同步运行,也就是说,比较它们是否在相同时间输出相同的结果。如果情况并非如此,则存在同步错误。在这种情况下,测试处理器并根据测试结果重新配置控制设备。这在图2中示意性地示出。
在图2中,假设由恢复控制单元44监视和评估的测试揭示出处理器1发生故障。在这种情况下,两个多路复用器91、92被重新配置,确切地讲,被配置以使得两个多路复用器91、92忽略处理器1的输出。与此同时,多路复用器91现在允许处理器2和外围单元95之间的通信。处理器2现在驱动分支A和分支B两者中的外围单元。处理器2不必为此目的进行不同的编程,因为处理器2已经为了比较目的在正常状态中针对外围单元95(分支A)执行了控制程序。差别仅在于现在它还对外围单元95具有写权限。比较器的比较功能也被禁用,因为所述比较器现在不再接收来自处理器1的输入。这样做是必要的,从而比较器91、92不输出任何进一步的错误信号。
因此,可以再次继续执行控制程序(其包括用于外围单元95和外围单元96的控制程序)。这增加了系统可用性。
如果测试揭示出两个处理器1、2均无错误,则再次假设图1中的状态。如果两个处理器均发生故障,则系统关闭。
图1和2中示出的程序是有利的,具体而言,在未被设计为冗余的外围单元中是有利的。
图1和2中示出的体系结构包括将外围模块划分为两个组A和B。每个组包括至少一个处理器1、2、一个总线转接开关(总线矩阵、总线交叉开关)(此处未示出)和要驱动的外围模块95、96。存储器模块可以在一个组或在两个组中实现。A端实际上(也就是说物理上)始终由处理器1(处理器A)驱动。B端实际上始终由处理器2(处理器B)驱动。来自外围模块95的数据可以通过多路复用器91、92横向传递到B端。处理器1可以通过类似的方式从外围模块96读取数据。
图3示出其中外围单元22(在那里被称为外围模块)由两个处理器1和2冗余地驱动的实施例,在预定时间,两个处理器中仅有一个实际驱动单元22。这是通过多路复用器21实现的。进一步的外围单元5(可以是公共内部外围单元,例如存储器5)通过多路复用器20与两个处理器1、2相连。处理器1、2本身各通过总线矩阵3、4与多路复用器20、21相连。也是在该实施例中,多路复用器20、21(与相应的比较单元(比较器)一起位于一个单元中)可以在发生错误时以适当方式进行配置,以便保持控制器可用。
根据一个或多个实施例,控制器的共用区域和控制器的专用冗余区域之间具有明确的分界。专用组件或单元被指定给每个处理器1、2并且仅由所述处理器驱动。专用组件(图4中的两个外围单元61、62)优选地为冗余的,以便能够尽可能模拟冗余专用区域的完美对称性。由于财务原因,某些组件(例如,程序存储器)可以仅实现一次,确切地讲,在共用区域内实现一次。在锁步模式中,两个处理器1、2同步运行。共用组件或外围单元的实际驱动可以由两个冗余处理器中的任何一个承担并且在特定时刻仅由一个处理器实际执行,而由于锁步模式的缘故,另一处理器及时接收所有数据。
在检测到锁步错误之后,每个处理器1、2旨在在时间间隔T期间,在指定的专用区域中尽可能保持活动,并且不旨在执行在体系结构外部有影响的任何安全相关功能。也就是说,具体而言,中断具有外部效果的外部外围单元或组件的驱动。
为了对非冗余组件(例如,程序存储器)进行必要的访问,在时间间隔T1内实现用于两个冗余处理器1、2的多路复用工作模式。每个锁步错误触发程序序列中的中断。在中断例程中,处理器1、2将相互独立地执行相同的测试程序并存储测试结果以便以后通过自主硬件监视模块进行检查,所述自主硬件监视模块在附图中是指恢复控制单元44。
有些测试程序可以从错误上下文中得出。例如,对所发生的错误进行分类并将其指定到错误类型,且该指定用于选择相应的一个或多个测试程序。
每个处理器旨在温和地退出中断的执行而不会回弹(rebound)。背景是测试程序由中断启动并且,在测试程序结束之后,处理器1、2通常希望再次继续由于所述中断而中断的控制程序。这旨在被阻止,而处理器1、2旨在更改为静止状态。这种情况是否发生也是测试的一部分。
每个处理器旨在接着存储其状态特征,例如,存储在可由自主硬件监视模块(恢复控制单元44)读取的寄存器内。时间段使用所述自主硬件监视模块的计时器来测量。
在此不确定的时间之后(在停用模式以外),冗余处理器旨在在时间段T2中具有闲置模式(静止状态)。如果处理器在时间段T2内访问组件,例如存储器模块或外围模块,则它会被恢复控制单元44自动排除于恢复过程之外。在时间窗口T2之后,恢复控制单元44将两个处理器1、2的测试结果与硬件中预编程的值进行比较。如果处理器的测试结果不对应于预定值,则相应的处理器不再被考虑用于运行的同步化尝试。相应地,处理器1、2的存储的状态特征也必须适合于恢复。如果结果评估是肯定的,则恢复控制单元44将通过中断来引起返回到锁步模式。如果仅有一个处理器成功地执行了所有测试,则该处理器将驱动指定给它的外围模块和所有共用组件。
该应急模式增强了系统可用性,但以降低的安全级别运行。
图4示出构建在图3的实施例上的进一步的实施例。控制装置的体系结构被划分为两个专用区域30和31(这两个区域被称为区域A和B)和一个公共区域40。所述专用区域包含在物理上冗余的模块或外围单元和组件。采取硬件模块形式的恢复控制单元44用于在发生锁步错误之后可靠地恢复同步。如果发生锁步错误,恢复控制单元44便会阻止所有对安全相关外围模块或单元的访问。这些单元具体而言为公共外围单元72,以及例如,冗余存在的外围单元61和63。这些单元通过相应的外围桥(peripheralbridge)60、71和62连接在一起。
锁步错误触发程序序列中的中断。在中断例程的后续执行中,每个处理器1、2只能访问位于指定给它的专用区域中的模块,并且不能执行任何安全相关部分功能。此外,可以在多路复用工作模式中实现对非安全相关组件41、42的访问。此类组件41、42例如为公共程序域42和公共RAM域。组件42具有模块50(该模块包括多路复用器、控制器和比较器),以及实际的程序存储器51。组件41具有模块53(该模块包括多路复用器、控制器和比较器),以及在此实现为RAM的存储器52。
在专用外围区域中,在每种情况下,为了测试适当处理器的目的保留一个小的地址空间。中断例程用于检查体系结构的完整性,以及最重要的是,检查处理器的完整性。在中断执行结束时,处理器旨在将计算结果存储在为测试目的保留的地址区域内。正确的结果提前存储在恢复控制单元44中。所述中断例程由测试程序构成,每个测试程序旨在在特定的时间间隔内提供正确结果。在预定时间段过后,恢复控制单元44检查处理器存储的结果的正确性。锁步模式的恢复假设恢复控制单元44要检查的所有结果均正确。否则,只有具有正确结果的处理器将继续针对运行的应用保持是活动的。
由于中断例程不在锁步模式中运行,因此模块50被配置以使得处理器1、2均可以多路复用工作模式访问程序存储器51。
图5示出作为图1和2的扩展的实施例。在这种情况下,恢复控制单元44以类似于图4中的方式运行。如果处理器1、2不提供任何正确的结果来恢复锁步模式,则恢复控制单元44将配置对应的外围控制器91或92(其在此形成多路复用器和比较器),以使得外围控制器91或92下面的外围模块或单元95、96由另一处理器驱动。
图5中的体系结构还具有两个冗余RAM模块80、81。如果锁步错误是由RAM中的错误导致的,则存储故障RAM地址。在中断例程中检查该地址。如果RAM错误无法校正,则恢复控制单元44不会再次将受影响的A或B端(也就是说,处理器和RAM)集成到活动的驱动中。恢复控制单元44接下来将确保先前由目前发生故障的处理器或RAM驱动的外围模块现在由另一端上的处理器来驱动。
图6示意性地示出控制程序的序列。在发生同步错误之后,相应处理器的程序执行300、500通过中断(LOLI,锁步丢失中断)被中断并且在321、521中,相应状态(初始内容)被存储。所述中断同时导致激活所述恢复控制单元(在这里被称为硬件)。
所述恢复控制单元启动计时器400。然后处理器在步骤322、522执行所述恢复控制单元预定的测试,其中,在测试结束之后,强制实施无中断返回到323、523(RFI,从中断返回)。然后处理器旨在更改为静止状态。
所述恢复控制单元检查测试是否已在时间段T1被处理(325、525)以及检查处理器是否更改为静止状态(401)。在预定的时间段T2之后,所述恢复控制单元在402、326、526检查处理器是否仍处于静止状态。
然后检查测试结果。恢复条件404是测试结果无错误,相应处理器在时间段T1到期时已更改为静止状态,以及在时间段T2到期之后处理器仍处于静止状态。如果对于两个处理器情况均是如此,则针对这两个处理器触发恢复中断(RECOI),否则仅针对无错误处理器触发恢复中断,并且恢复初始状态(341、541)。在后者的情况中,所述恢复控制单元重新配置控制装置,如上所述。然后继续执行程序。
图7示出带有两个处理器1和2的传统体系结构,其中处理器2用于监视处理器1。外围模块的整个驱动和所有存储器访问操作通过处理器1发生。该体系结构不适合于处理由于丧失同步而导致的错误(锁步失败)。
图8示出其中将外围模块划分为两个组A和B的传统体系结构。每个组包括至少一个处理器1、2、一个总线转接开关(总线矩阵、总线交叉开关)3、4和外围模块6、7。存储器模块5可以在一个组或在两个组中实现并且通过旁路模块11驱动。A端实际上(也就是说物理上)始终由处理器1驱动。B端实际上始终由处理器2驱动。来自外围模块6的数据可以通过旁路模块10和数据多路复用器12横向传递到B端。处理器1可以通过类似的方式(通过旁路模块9和数据多路复用器13)从外围模块6读取数据。处理器读取来自另一端的外围数据的这种机制只在两个处理器1和2相互同步(以锁步模式)运行时才起作用。通过比较器8执行监视。如果处理器1例如不能运行,则不再驱动整个A端(也就是说,与该端上的外围模块和存储器一起)。这导致对高级别可用性的较差支持。如果两个处理器不再同步运行,则只能重置它们。对于许多安全相关应用而言,直到明确确定了导致同步丧失的原因之后,才允许重置处理器。
双处理器控制设备参考图1和8进行了描述。下面使用控制计算机系统描述带有多个处理器或处理器核的控制设备。但是,处理器或处理器核的数量并不限于具体记载的数量,而是可以根据要求为任意个。
图9示出控制计算机系统(控制设备)。所述系统包括两个处理器对1001和1002(或核1A和1B)以及1003和1004(或核2A和2B)、两个比较单元1011和1012、开关矩阵1013(其也被称为开关元件)、存储器1020和1021以及多个外围单元1030、1031、...、1038所连接的外围桥1022。每个处理器对可以包括两个单独的处理器或可以是具有双核的处理器。在进一步的实施例中,处理器或核的数量也可以根据需要不同。例如,可能使用三个或更多个各具有互为冗余的双核的处理器。但是原则上,三个处理器也可以组合以形成冗余组,所述控制计算机系统能够具有两个、三个或更多个这样的组。
在第一处理器对中,处理器1001(或核1A)实际上访问不同的资源,例如存储器和外围单元。比较单元1011比较处理器1001和1002的输出数据以及将传入数据传输到两个处理器,监视处理器1002没有对存储器和外围单元的访问。两个处理器(核)1001和1002具有相同的构造并且同步或以锁步模式运行,结果是当没有错误时,比较单元1011分别接收相同的数据。处理器对1003和1004具有对应的构造;处理器1003实际访问存储器和外围单元,并且比较单元1012还将传入数据转发到监视处理器1004。开关矩阵1013使得处理器能够访问存储器或外围单元。所述外围单元每次通过中央外围桥1022进行访问。当没有错误时,所述控制计算机系统因此提供两个独立的处理器1001和1003(处理器核1A和2A)。
图10示出根据本发明的控制计算机系统的示例性实施例。与图9中示出的控制计算机系统类似,所述系统包括两个处理器对1001和1002以及1003和1004、两个比较单元1011和1012、开关矩阵1013、存储器1020和1021以及多个外围单元1030、1031、...、1038所连接的外围桥1022。此外,根据本发明的控制计算机系统具有从比较单元1011、1012接收信号的错误处理单元(恢复单元)1080。错误处理单元1080可以驱动开关矩阵1013和外围桥1022以便阻止单个处理器1001、1002、1003、1004(或核1A、1B、2A、2B)或处理器对访问存储器和/或外围单元。在本发明的一个优选实施例中,开关矩阵1013包括不仅可以阻止,也可以记录访问的监视单元1014。来自比较单元1011、1012的信号优选地直接传输到错误处理单元1080,而不经过开关矩阵1013。如以上结合所述恢复控制单元进一步所述的,错误处理单元1080被设置为在发生错误之后以适当方式重新配置开关矩阵1013或外围桥1022。
如果发生比较错误,例如在处理器1001和1002之间(或在第一处理器对的核1A和1B之间),则错误处理单元1080将控制信号1110传输到开关矩阵1013和外围桥1022。然后阻止或记录处理器对1001/1002对存储器的访问和/或阻止对外围单元的访问。这阻止了故障处理器驱动例如致动器,这可能导致严重损害。
换言之,传统体系结构由承担所述恢复控制单元的功能的模块1080扩展。该模块1080还称为SAM(安全和可用性管理)模块。根据已发生的错误类型,SAM模块1080控制开关元件(开关矩阵)1013内的监视单元1014以便阻止故障处理器访问特定外围模块和RAM存储器。立即通知SAM模块1080模块(比较单元)1011和1012中的比较器是否检测到错误。SAM模块1080使用错误信号来确保受影响的处理器核1A或2A(处理器1001、1003)无法通过外围模块驱动致动器。SAM模块1080可以使用控制信号1110在开关元件1013或外围桥1022中阻止访问外围模块。
图11示出根据本发明用于驱动控制计算机系统的方法的示例性实施例,所述控制计算机系统的配置对应于使用图10描述的配置。
如果模块(比较单元)1011中的比较器检测到错误1220,则针对两个处理器对1A/1B和2A/2B触发中断。处理器对1A/1B退出任务1200并跳转到中断例程的执行。在步骤1251对处理器对1A/1B执行检查或状态测试之前,在步骤1250存储用于正常模式的上下文或内容。在询问1252中,处理器对1A/1B检查错误是否为永久的。如果处理器对1A/1B具有永久错误,则该对不再被考虑用于恢复。在步骤1254,判定错误类型并将其存储在非易失性存储器例如外部EPROM中。在步骤1255,存储临时错误的签名和时间戳。如果相同的临时错误重复发生,则步骤1255存储的数据旨在帮助判定重复率。此类重复率可用作决策标准以用于进一步的恢复尝试。在步骤1256,处理器对1A/1B等待来自SAM模块1080的关于是否要进行恢复尝试的信号。
触发中断信号之后,作为无错误处理器对的处理器对2A/2B旨在进入应急模式。处理器对2A/2B首先在1300退出当前执行的任务,并存储用于正常模式的上下文(步骤1350)。在步骤1351执行基于错误的检查测试。在步骤1352,仅执行应急模式所需的程序部分(必要软件模块)。这些必要程序部分由最初指定给不同处理器对的选定任务组成。在应急模式期间,处理器对2A/2B永久地检查是否已发出恢复尝试信号。如果在步骤1353发出正常模式的恢复,则处理器对2A/2B在步骤1354等待发出恢复尝试。
触发中断信号之后,SAM模块1080在步骤1401阻止故障处理器对1A/1B对安全相关性外围模块的所有访问。该步骤旨在避免对致动器进行任何不安全的驱动。如果旨在不支持正常模式的恢复,则SAM模块1080保留在步骤1402中,并且仅由处理器对2A/2B执行驱动。否则,SAM模块1080在步骤1403被设置为恢复尝试所需的条件,这些条件旨在由故障处理器对提供。然后在步骤1405检查这些条件。如果满足恢复条件,则SAM模块1080使用所有处理器对启动恢复尝试。成功恢复之后,控制计算机系统的全部性能因而再次可用,并且也再次提供非安全关键的便利功能,而没有限制。
可以根据图6中示出的序列执行恢复,具体地,执行检查。
根据一个实施例,针对可能发生的错误以及对错误的处理以适当方式准备控制计算机系统的驱动软件。所述驱动软件宝库至少两类软件模块:一方面是必要软件模块,另一方面是可选软件模块。所述模块在正常模式中在处理器对之间分配。发生故障时,所述必要软件模块(也称为应急模块)由剩余的处理器对执行,但是所述可选软件模块不执行,或者仅在有限程度上执行。因此,无错误处理器对也可能接受故障处理器对的必要软件模块。因此,对于驱动外围单元绝对必要的软件模块可以继续执行,而不会导致冗余丢失。只有可选软件模块不执行或者只是部分地执行。但是,这不会限制安全性。
图12所示的具有两个处理器对的控制计算机系统的进一步的体系结构具有两个冗余开关元件(或开关矩阵)1013、1063。处理器核1A和2A(处理器1001、1003)可以通过开关元件1013访问存储器模块1020和1021。处理器核1B和2B(处理器1002、1004)通过开关元件1063访问存储器模块1020和1071。存储器模块1021可以仅由处理器核1A和2A使用,而存储器模块1071可以仅由处理器核1B和2B使用。因此,由处理器核1A和2A、开关元件1013和存储器模块1021构成的块与包含处理器核1B和2B、开关元件1063和存储器模块1071的块完全对称(冗余)。。存储器模块1020可以由所有处理器读取。在正常模式中,处理器1A和1B相互同步运行,其结果是一个处理器形成另一处理器的监视机制。处理器核2A和2B也对应地同步运行并且相互监视。监视使用在模块(比较单元)1091和1090中实现的比较器实现。比较单元1091监视对冗余存储器模块1021和1071的所有访问,且比较单元1090监视对外围单元的所有访问。该体系结构可被实现为所有外围模块均为冗余模块。例如,外围模块1040、1041、...、1048可以相对于外围模块1030、1031、...、1038冗余。在这种情况下,比较单元1090可只包括用于访问外围模块的比较器。由于财务原因,许多外围模块经常不以冗余方式实现。在这种情况下,比较单元1090除了外围比较器之外,还将包括附加的通过同步方式将来自非冗余外围模块的数据转发到冗余开关元件1013和1063的电路。
图13示出根据本发明的控制计算机系统的另一示例性实施例。在这种情况下,图12中示出的体系结构被扩展,以支持用于确保控制计算机系统提供的电子调节算法的更高可用性的理念,这些理念已使用图10和11进行了阐述。多路复用器1171、1172、1173和1174位于每个处理器核1A、2A、1B、2B和对应的开关元件1013、1063之间,其结果是处理器对的相应第二核可以访问处理器对的第一核的数据总线和地址总线,且相反地,对中的第一处理器也可以访问第二处理器的数据总线和地址总线。如果处理器核1A失败,则例如多路复用器1171确保为开关元件1013提供来自冗余处理器核1B的数据。多路复用器1171、1172、1173和1174在SAM模块1080中控制,在所述SAM模块中,所有错误信号1161、1162由比较器监视。检测到锁步错误之后,SAM模块1080通过将对应的控制信号1160转发到开关元件1013和1014中的监视单元1014和1064以及转发到外围桥1022和1072来阻止访问安全相关性组件。原则上,根据图11、18和/或19中示出的方案执行错误分析后的模式恢复,并可以在适当时对方案做出必要修改。
SAM模块1080(恢复控制单元)以适当方式配置开关元件1013、1063和多路复用器1171、1172、1173和1174,以便排除故障处理器或其他组件进一步访问外围单元。这也是使用其他冗余设计的组件(例如,存储器模块)实现的。同样在这种情况下,通过重新配置开关元件1013、1063和多路复用器1171、1172、1173和1171来排除故障存储器模块。
图14、15和16各示出根据本发明采取图13的体系结构的控制计算机系统,其中在每种情况下关闭一个或多个永久故障处理器。剩余处理器核分别驱动外围单元,在这种情况下,将提示用户是否必要且安全关键的功能优选地只在仍具有发挥功能的监视处理器的处理器上执行,也就是说,完整的处理器对仍运行。不带监视处理器的处理器优选地仅执行非安全关键功能。失败的处理器(核)使用虚线示出。
图14例如仅示出处理器核2B的故障。处理器核1A和1B仍是冗余的并且执行所有安全关键任务(必要软件模块),包括最初由处理器对2A/2B执行的那些任务。处理器核2A可以执行非安全相关任务(可选软件模块),包括最初由处理器对1A/1B执行的可选软件模块。因此,所有安全相关任务被转移给仍保留的冗余处理器对1A/1B。此方法的优势是不必为应急模式(处理器对或处理器对中的单个核发生故障)提供不在正常模式(所有处理器均无错误)中执行任何功能的附加后备处理器对。当错误发生时,仅限制可选软件模块的执行。但是这不影响安全性。
图17示出根据一个实施例具有采取扩展双冗余形式的处理器对的控制计算机系统的进一步的体系结构。
与图9中示出的体系结构不同,不仅处理器1001、1002、1003、1004是冗余的,而且其他组件也是冗余的。例如,总线矩阵(开关元件)1013和1063以及数据存储器1021和1071是冗余的。该实施例中外围桥1022和1072之间的连接确保数据以同步方式从非冗余外围组件传输到处理器核的冗余对1A/1B和/或2A/2B。
图17中示出的体系结构由SAM模块1080和开关元件1171、1172、1173和1174扩展。根据错误类型,SAM模块1080将驱动总线矩阵或开关元件1013和1063内的监视单元1014和1064以及开关元件1171、1172、1173和1174,以便阻止故障处理器对1A/1B、2A/2B或仅阻止故障处理器1A、1B、2A、2B访问特定外围模块和RAM存储器。如果模块(比较单元)1090和1091中的比较器检测到错误,则立即通知SAM模块1080。SAM模块1080将使用错误信号确保受影响的处理器对1A/1B或2A/2B或受影响的处理器1A、1B、2A或2B不再能通过外围模块驱动致动器。SAM模块1080可以使用控制信号1160阻止访问总线矩阵1013和1063或外围桥1022和1072中的外围模块。
图18示出根据一个实施例在检测到错误之后的序列的示例图。如果图17的模块1090和1091中的比较器检测到错误1220,则针对两个处理器对1A/1B和2A/2B触发中断。
处理器1A和1B在步骤1200退出锁步模式并跳转到以异步方式执行中断例程。处理器2A和2B也在步骤1300退出锁步模式并跳转到以异步方式执行中断例程。每个处理器首先挽救运行应用所需的上下文数据或内容(1250A、1250B、1350A、1350B)。作为良好状态的标志,所有处理器1A、1B、2A、2B将可由SAM模块1080检测和检查的数字签名写入SAM模块1080的寄存器(1250A、1250B、1350A、1350B)。如果处理器存储的签名不正确或在预定时间间隔T1过后不存在,则所述处理器在恢复过程中不再被考虑。在这种情况下,SAM模块1080控制所有开关元件1014、1064、1171、1172、1173和1174,从而阻止故障处理器对存储器模块和外围模块的任何访问。用于每种错误类型的错误模式被存储在SAM模块1080中。剩余的处理器在步骤1251A、1251B、1351A或1351B接受进一步测试。根据错误模式,在软件和/或硬件中执行不同的测试。具体而言,针对严重错误和在不清楚的错误分配的情况下使用例如LBIST(逻辑内建自测试)形式的硬件测试。步骤1251A、1251B、1351A和1351B中的测试的结果被存储在SAM模块1080中,然后在时间间隔T2之后进行评估。SAM模块1080将使用收集的结果判定哪个或哪些处理器有故障,并相应地配置开关元件1014、1064、1171、1172、1173和1174,从而使得只有无错误处理器在恢复过程继续被考虑。拒绝故障处理器的访问。
图18中示出的过程可以被扩展为在其他冗余模块中检测故障组件。基本理念是在现有体系结构中的所有位置上使用双冗余,以便能够确保增强安全系统的可用性。这例如适用于冗余存储器。SAM模块1080可以使用适当的测试1251A、1251B、1351A和1351B精确地判定两个冗余存储器模块中的哪个发生故障。可以使用开关元件1014、1064、1171、1172、1173和1174的配置转移对冗余存储器模块1021和1071的访问,从而使得只有一个存储器实际保留并再生有效数据。继续的程序可以通过类似于图11中示出的方式执行。
由于大量冗余组件,图17中示出的体系结构提供的容错自由度高于图12中示出的体系结构。
图19示出根据一个实施例在检测到错误之后的序列示例图。如果图10的模块1011中的比较器检测到错误1220,则针对两个处理器对1A/1B和2A/2B触发中断。过程类似于图18中的过程。对于图10中示出的体系结构,对中的冗余处理器不能分离。因此,SAM模块1080将只判定哪个处理器对发生故障。通过适当地配置开关元件1014阻止故障处理器的所有数据访问。在其他方面,通过类似于图11中示出的方式执行。
图20示出了图17的体系结构,其中处理器核2B在恢复之后关闭。
图21示出了图17的体系结构,其中处理器核1B和2B在恢复之后关闭。
图22示出了图17的体系结构,其中处理器核1A、2A和1B在恢复之后关闭。在这种情况下,不再有任何处理器冗余。但是,上述(例如,以类似于图6、11、18和19中阐述的过程的方式描述的)测试确保所有故障处理器被正确地检测出来并且被排除访问外围单元。
图23示出图17的体系结构,其中处理器核1A和2B在恢复之后关闭。
图24示出图17的体系结构,其中数据存储器21在恢复之后关闭。该体系结构包括本身为冗余的数据存储器21和71,在这种情况下,在存储器模块1021发生故障之后,可靠地将后者确定为发生故障并排除它。
总之,在此描述的控制计算机系统以改进的方式提供了安全相关功能,并可靠地确定和排除故障组件。
一个实施例提供一种控制计算机系统(控制设备),其包括至少两个处理器对,至少两个用于检测错误的比较单元(比较器),至少一个存储器,至少一个外围单元,至少一个开关元件,该开关元件例如采取开关矩阵形式,其允许或阻止处理器访问存储器和外围单元,其中优选地公共的错误处理单元(恢复控制单元;SAM模块)从至少两个比较单元接收信号和控制至少一个开关矩阵,以便完全地或选择性地阻止处理器或处理器对访问存储器和/或外围单元。
根据一个实施例,当错误发生时,阻止至少一个故障处理器对访问外围单元,特别是致动器。
根据一个实施例,每次通过由错误处理单元(恢复控制单元;SAM模块)控制的外围桥访问外围单元。
根据一个实施例,至少两个比较单元直接与处理器对中的两个处理器相连。
根据一个实施例,所述比较单元包括至少两个单独的开关矩阵,其中第一开关矩阵与第一外围桥和至少一个第一存储器相连,而第二开关矩阵与第二外围桥和至少一个第二存储器相连。
根据一个实施例,处理器对中的第一处理器与第一开关矩阵相连,处理器对中的第二处理器与第二开关矩阵相连。
根据一个实施例,比较单元比较在第一开关矩阵和第一存储器之间传输的数据与在第二开关矩阵和第二存储器之间传输的数据,其中比较单元比较在第一开关矩阵和第一外围桥之间传输的数据与在第二开关矩阵和第二外围桥之间传输的数据。
根据一个实施例,多路复用器分别位于处理器和开关矩阵之间,其中所述多路复用器被连接,以使得只要错误处理单元(恢复单元、SAM模块)相应地控制所述多路复用器,处理器对中的第一处理器便可访问第二开关矩阵,并且处理器对中的第二处理器便可访问第一开关矩阵。
根据一个实施例,至少一个开关矩阵包括可以阻止访问存储器或外围单元、或者可以在优选地为非易失的外部或内部存储器中记录所述访问的监视单元。
根据一个实施例,错误处理单元在没有介于其间的开关矩阵的情况下,直接从至少两个比较单元接收信号。
根据一个实施例,控制计算机系统包括第一和第二易失性存储器和非易失性存储器,其中,具体而言,一个处理器对访问所述第一易失性存储器,且第二处理器对访问所述第二易失性存储器,所述两个处理器对访问所述一个非易失性存储器。
根据一个实施例,处理器对中的第一处理器与至少一个开关矩阵直接相连,也就是说,可以对存储器和/或外围单元进行读写访问,而处理器对中的第二处理器仅可对数据进行读访问,其中,具体而言,与处理器对中的两个处理器直接相连的比较单元将数据发送到相连的处理器对中的第二处理器。
一个实施例提供一种用于控制包括至少两个处理器对、至少两个用于检测错误的比较单元、至少一个用于允许或阻止处理器或处理器对访问存储器和/或外围单元的开关矩阵、以及至少一个可以控制至少所述开关矩阵的错误处理单元的控制计算机系统的方法,其中所述方法被执行以使得所述处理器对可以执行不同的程序,以便以无错误模式提供功能,并且如果发生错误,则无错误处理器对承担故障处理器对的至少某些功能。
根据一个实施例,对于控制计算机驱动的装置的安全关键的功能独立于错误的发生执行。
根据一个实施例,当错误发生时,非安全关键功能至少部分地不再提供。
根据一个实施例,当错误发生时,阻止故障处理器或处理器对访问外围单元。
根据一个实施例,在错误发生之后,故障处理器对执行诊断程序。
根据一个实施例,对已发生的错误进行分类,其中至少在临时错误和永久错误之间做出区分。
根据一个实施例,故障处理器对在发生永久错误之后永久停用。
根据一个实施例,当故障处理器对运行完诊断程序,而没有检测到永久错误时,两个处理器对可以再次执行不同的程序。
根据一个实施例,错误处理单元在非易失性存储器中记录错误的发生。
根据一个实施例,如果已发生的错误数和/或错误频率超过预定阈值,则处理器对永久停用。
根据一个实施例,上述一种控制计算机系统可以在机动车辆中使用,具体是为了控制或调节刹车系统。
本发明不限于本案中描述的示例性实施例,而是可以适当地进行扩展和修改。以下权利要求是对一般地定义本发明的首次非约束性的尝试。

Claims (35)

1.一种控制计算机系统,包括:
-至少两个被设计为相互冗余的模块(1、2、1001、1002、1003、1004、1021、1071);
-至少一个比较单元(20、21、91、92、1011、1012),用于监视至少两个冗余模块(1、2、1001、1002、1003、1004、1021、1071)的同步状态以及用于检测同步错误;
-至少一个外围单元(95、96、1022、1030、1031、…、1038);
-至少一个开关矩阵(21、1013、1063),被设置为允许或阻止访问所述至少两个冗余模块或者所述至少两个冗余模块访问外围单元(95、96、1022、1030、1031、…、1038);以及
-优选公共的错误处理单元(44、1080),被设置为从至少一个比较单元(20、21、91、92、1011、1012)接收信号以及驱动至少一个开关矩阵(1013、1063),以便完全地或选择性地阻止访问所述至少两个冗余模块或者所述至少两个冗余模块访问所述外围单元。
2.如权利要求1中所述的控制计算机系统,其中:
-所述至少两个冗余模块为用于同步执行控制程序的至少两个处理器单元(1、2、1001、1002、1003、1004);
-所述比较单元(20、21、91、92、1011、1012)用于监视处理器单元(1、2、1001、1002、1003、1004)的同步状态以及用于检测所述处理器单元的同步错误;
-所述控制计算机系统包括至少一个存储器(5、1020、1021);
-所述至少一个开关矩阵(21、1013、1063)被设置为允许或阻止所述处理器单元访问存储器和一个或多个外围单元;以及
-所述错误处理单元(44、1080)被设置为完全地或选择性地阻止所述两个处理器单元之一或者两个处理器单元(1、2、1001、1002、1003、1004)访问存储器(5、1020、1021)和/或外围单元(95、96、1022、1030、1031、…、1038)。
3.如权利要求2中所述的控制计算机系统,包括至少四个处理器单元。
4.如权利要求2或3中所述的控制计算机系统,其中所述处理器单元可以是单处理器、处理器对中的处理器或双核或多核处理器的核。
5.如权利要求4中所述的控制计算机系统,其具有至少两个比较单元(1011、1012),其中所述错误处理单元(1080)被设置为从至少两个比较单元(1011、1012)接收信号以及驱动至少一个开关矩阵(1013、1063),以便完全地或选择性地阻止处理器或核或处理器对访问存储器(1020、1021)和/或外围单元(1022、1030、1031、…、1038)。
6.如权利要求2至5中的一个权利要求中所述的控制计算机系统,其中当错误发生时,所述错误处理单元被设置为驱动所述开关矩阵以阻止至少一个故障处理器对或一个故障处理器单元访问外围单元(1020、1030、1031、…、1038),特别是致动器。
7.如权利要求2至6中所述的控制计算机系统,其中外围单元(1030、1031、…、1038)每次通过至少一个由错误处理单元(1080)控制的外围桥(1022)来访问。
8.如权利要求5至7中的一个权利要求中所述的控制计算机系统,其中至少两个比较单元(1011、1012)直接连接到处理器单元(1、2、1001、1002、1003、1004),例如处理器对中的处理器。
9.如权利要求1至8中的一个权利要求中所述的控制计算机系统,其中所述控制计算机系统包括至少两个单独的开关矩阵(1013、1063),其中第一开关矩阵(1013)与第一外围桥(1022)以及至少一个第一存储器(1021)相连,而第二开关矩阵(1063)与第二外围桥(1072)以及至少一个第二存储器(1071)相连。
10.如权利要求9中所述的控制计算机系统,其中所述处理器对中的第一处理器(1001、1003)与第一开关矩阵(1013)相连,且所述处理器对中的第二处理器(1002、1004)与第二开关矩阵(1063)相连。
11.如权利要求9或10中所述的控制计算机系统,其中比较单元(1091)比较在第一开关矩阵(1013)和第一存储器(1021)之间传输的数据与在第二开关矩阵(1063)和第二存储器(1071)之间传输的数据,以及比较单元(1090)比较在第一开关矩阵(1013)和第一外围桥(1022)之间传输的数据与在第二开关矩阵(1063)和第二外围桥(1072)之间传输的数据。
12.如权利要求10或11中所述的控制计算机系统,其中多路复用器(1171、1172、1173、1174)分别位于处理器对中的处理器(1001、1002、1003、1004)和开关矩阵(1013、1063)之间,其中所述多路复用器被连接为使得只要恢复单元(1080)相应地控制多路复用器(1171、1172、1173、1174),处理器对中的第一处理器(1001、1003)便可访问第二开关矩阵(1063)并且处理器对中的第二处理器(1002、1104)便可访问第一开关矩阵(1013)。
13.如上述权利要求中的一个权利要求所述的控制计算机系统,其中至少一个开关矩阵(1013、1063)包括监视单元(1014、1064),所述监视单元被设置为阻止访问存储器或外围单元,或者将所述访问记录在优选地为非易失性的外部或内部存储器。
14.如权利要求2至13中的一个权利要求中所述的控制计算机系统,其中错误处理单元(1080)在没有介于其间的开关矩阵(1013、1063)的情况下,直接从至少两个比较单元(1011、1012)接收信号。
15.如权利要求1至14中的一个权利要求中所述的控制计算机系统,其中所述控制计算机系统包括第一和第二易失性存储器和一个非易失性存储器,其中,具体而言,第一处理器对访问所述第一易失性存储器,第二处理器对访问所述第二易失性存储器,且这两个处理器对访问所述一个非易失性存储器。
16.如权利要求1至15中的一个权利要求中所述的控制计算机系统,其中所述处理器对中的第一处理器(1001、1003)与至少一个开关矩阵(1013)直接相连,也就是说,能对存储器(1020、1021)和/或外围单元(1022、1030、1031、…、1038)具有进行读写访问,而处理器对中的第二处理器(1002、1004)仅能对数据进行读访问,其中,具体而言,与处理器对中的两个处理器直接相连的比较单元(1011、1012)将数据发送到相连的处理器对中的第二处理器(1002、1004)。
17.如权利要求1至16中的一个权利要求中所述的控制计算机系统,其中所述错误处理单元(1080)是恢复控制单元(44),其被设置为在发生同步错误之后,监视两个或更多个处理器单元(1、2、1001、1002、1003、1004)或两个冗余模块对至少一个测试程序的执行以及评估测试结果,同时还被设置为配置至少一个第一多路复用器(70、91)或开关矩阵(1013、1063)的。
18.如权利要求17中所述的控制计算机系统,其中恢复控制单元(44)被设置为将所述同步错误指定到错误类型以及根据所述错误类型选择测试程序。
19.如权利要求17或18中所述的控制计算机系统,其中恢复控制单元(44)被设置为根据所述测试结果配置第一多路复用器(70、91)。
20.如权利要求2至19中的一个权利要求中所述的控制计算机系统,其中,第一外围单元(72)是可以由两个处理器单元(1、2)中的一个可选地驱动的公共单元,并且所述控制计算机系统包括至少两个进一步的外围单元(61、63),其中两个外围单元(61、63)中的一个仅被指定给第一处理器(1),两个外围单元(61、63)中的另一个仅被指定给第二处理器(2),作为只能被分别指定的处理器(1、2)访问的专用外围单元。
21.如权利要求20中所述的控制计算机系统,其中所述两个进一步的外围单元(61、63)为冗余单元。
22.一种用于控制控制计算机系统的方法,该控制计算机系统包括至少两个处理器对(1001和1002、1003和1004)、至少两个用于检测错误的比较单元(1011、1012)、至少一个允许或阻止处理器或处理器对访问存储器和/或至少一个外围单元的开关矩阵(1013、1063)、以及至少一个可以控制至少开关矩阵(1013、1063)的错误处理单元(1080),其中所述处理器对可以执行不同的程序,以便以无错误模式提供功能,并且如果发生错误,则无错误处理器对承担故障处理器对的至少某些功能。
23.如权利要求22中所述的方法,其中对于所述控制计算机系统驱动的装置的安全关键的功能独立于错误的发生执行。
24.如权利要求2 2或23中所述的方法,其中当错误发生时,非安全关键功能至少部分地不再提供。
25.如权利要求22至2 4中的一个权利要求中所述的方法,其中当错误发生时,阻止故障处理器或处理器对访问所述外围单元。
26.如权利要求22至2 5中的一个权利要求中所述的方法,其中在错误发生之后,所述故障处理器对执行诊断程序。
27.如权利要求2 6中所述的方法,其中对已发生的错误进行分类,其中至少在临时错误和永久错误之间做出区分。
28.如权利要求2 7中所述的方法,其中所述故障处理器对在发生永久错误之后永久停用。
29.如权利要求27或2 8中所述的方法,其中当所述故障处理器对运行完诊断程序,而没有检测到永久错误时,所述两个处理器对可以再次执行不同的程序。
30.如权利要求22至29中的一个权利要求中所述的方法,其中所述错误处理单元在非易失性存储器中记录错误的发生。
31.如权利要求30中所述的方法,其中如果已发生的错误数和/或错误频率超过预定阈值,则处理器对永久停用。
32.在机动车辆中使用如上述权利要求之一中所述的控制计算机系统,特别是为了控制或调节刹车系统。
33.一种用于控制控制计算机系统的方法,包括:
-提供具有以下部件的控制系统:
-至少两个处理器对,每个对具有至少两个处理器(1001和1002、1003和1004),
-至少一个用于检测错误和用于监视每个处理器对中的处理器(1001和1002、1003和1004)的同步的比较单元(1011、1012),
-至少一个允许或阻止所述处理器对中的处理器访问存储器和/或一个或多个外围单元的开关矩阵(1013、1063),以及
-至少一个用于驱动开关矩阵(1013、1063)的错误处理单元(1080);
-在一处理器对上同步执行至少一个第一安全相关软件程序以及在另一处理器对上同步执行至少一个第二安全相关软件程序,以便驱动一个或多个外围单元和/或存储器;
-通过比较单元(1011、1012)监视每个处理器对中的处理器(1001和1002、1003和1004)的同步以及当处理器对中的两个处理器(1001和1002、1003和1004)失同步时,通过比较单元(1011、1012)输出同步错误信号;以及
-如果已输出所述同步错误信号:
-中断所述处理器对所述第一安全相关软件程序和所述第二安全相关软件程序的执行,
-执行测试以检查所述两个处理器对之一是否发生故障,以及
-如果所述两个处理器对之一发生故障,则在无错误处理器对上执行所述第一安全相关软件程序和所述第二安全相关软件程序,并且通过错误处理单元(1080)驱动开关矩阵(1013、1063),以便如果在该处理器对中只有一个处理器发生故障时,阻止故障处理器对或处理器访问存储器和/或一个或多个外围单元。
34.如权利要求33中所述的方法,其中所述测试包括两个处理器对同时执行至少一个测试程序,其中当满足以下至少一个条件时,将所述处理器对中的一处理器视为发生故障:
-所述处理器未在第一时间段T1内执行测试程序,
-所述处理器未成功执行测试程序,
-经过第一时间段T1之后,所述处理器未更改为静止状态第二时间段T2。
35.如权利要求33或34中所述的方法,其中评估所述同步错误并将其指定到错误类型,其中根据所述错误类型选择至少一个测试程序以便检查处理器。
CN201180015562.8A 2010-03-23 2011-03-18 控制计算机系统及其控制方法和使用 Active CN102822807B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
DE102010003161.5 2010-03-23
DE102010003161 2010-03-23
DE102010041890.0 2010-10-01
DE102010041890 2010-10-01
PCT/EP2011/054144 WO2011117156A2 (de) 2010-03-23 2011-03-18 Kontrollrechnersystem, verfahren zur steuerung eines kontrollrechnersystems, sowie verwendung eines kontrollrechnersystems

Publications (2)

Publication Number Publication Date
CN102822807A true CN102822807A (zh) 2012-12-12
CN102822807B CN102822807B (zh) 2015-09-02

Family

ID=44063197

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180015562.8A Active CN102822807B (zh) 2010-03-23 2011-03-18 控制计算机系统及其控制方法和使用

Country Status (8)

Country Link
US (1) US8935569B2 (zh)
EP (1) EP2550599B1 (zh)
JP (1) JP5722426B2 (zh)
KR (1) KR101728581B1 (zh)
CN (1) CN102822807B (zh)
DE (1) DE102011005800A1 (zh)
RU (1) RU2585262C2 (zh)
WO (1) WO2011117156A2 (zh)

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182303A (zh) * 2013-05-22 2014-12-03 通用汽车环球科技运作有限责任公司 冗余计算架构
CN104635745A (zh) * 2015-03-02 2015-05-20 中国航空无线电电子研究所 一种飞行管理系统双机同步的方法
CN106796539A (zh) * 2014-08-29 2017-05-31 大陆-特韦斯贸易合伙股份公司及两合公司 安全关键的机动车系统的微控制器系统和方法及其应用
CN106940667A (zh) * 2015-09-30 2017-07-11 罗伯特·博世有限公司 检验具有多个计算单元的系统中的计算结果的方法和设备
CN107607141A (zh) * 2016-07-12 2018-01-19 英飞凌科技股份有限公司 使用处理器和多样化固件的多样化集成处理
CN108227474A (zh) * 2016-12-13 2018-06-29 中核控制系统工程有限公司 安全级dcs平台零延时冗余切换方法
CN108859859A (zh) * 2017-05-11 2018-11-23 杭州长江汽车有限公司 一种电动车辆的控制系统、控制方法及电动车辆
CN115390431A (zh) * 2022-09-21 2022-11-25 上海小马智行智能科技发展有限公司 控制器与车辆
CN117009128A (zh) * 2023-09-14 2023-11-07 飞腾信息技术有限公司 一种错误上报方法及计算机系统

Families Citing this family (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011086530A1 (de) * 2010-11-19 2012-05-24 Continental Teves Ag & Co. Ohg Mikroprozessorsystem mit fehlertoleranter Architektur
DE102011116617A1 (de) * 2011-10-20 2013-04-25 Continental Automotive Gmbh Kraftfahrzeugsteuergerät mit einem Doppelkernprozessor
CN104718532A (zh) * 2012-10-16 2015-06-17 大陆-特韦斯贸易合伙股份公司及两合公司 用于在冗余运行的机动车控制程序之间交换数据的接口
DE102013202253A1 (de) * 2013-02-12 2014-08-14 Paravan Gmbh Schaltung zur Steuerung eines Beschleunigungs-, Brems- und Lenksystems eines Fahrzeugs
WO2014125606A1 (ja) * 2013-02-15 2014-08-21 三菱電機株式会社 制御装置
AT515454A3 (de) * 2013-03-14 2018-07-15 Fts Computertechnik Gmbh Verfahren zur Behandlung von Fehlern in einem zentralen Steuergerät sowie Steuergerät
KR20140134376A (ko) * 2013-05-14 2014-11-24 한국전자통신연구원 오류감지가 가능한 프로세서 및 이를 이용한 프로세서 코어 오류 감지 방법
CN103399807B (zh) * 2013-06-28 2015-03-25 中国航天科技集团公司第五研究院第五一三研究所 一种用于三模冗余计算机的动态现场自主恢复方法
DE102013218814A1 (de) * 2013-09-19 2015-03-19 Siemens Aktiengesellschaft Verfahren zum Betreiben eines sicherheitskritischen Systems
JP5772911B2 (ja) * 2013-09-27 2015-09-02 日本電気株式会社 フォールトトレラントシステム
FR3031406B1 (fr) * 2015-01-05 2017-07-28 Valeo Schalter & Sensoren Gmbh Architecture pour systeme d'aide a la conduite a automatisation conditionnelle
DE102015003194A1 (de) * 2015-03-12 2016-09-15 Infineon Technologies Ag Verfahren und Vorrichtung zum Handhaben von sicherheitskritischen Fehlern
US10761925B2 (en) 2015-03-24 2020-09-01 Nxp Usa, Inc. Multi-channel network-on-a-chip
CN105446863B (zh) * 2015-11-23 2018-02-23 上海兆芯集成电路有限公司 具有记录能力的电子装置与电路状态记录方法
JP6083480B1 (ja) * 2016-02-18 2017-02-22 日本電気株式会社 監視装置、フォールトトレラントシステムおよび方法
JP6554048B2 (ja) * 2016-02-29 2019-07-31 株式会社日立製作所 表示装置
KR102162321B1 (ko) * 2016-03-14 2020-10-06 한국전자통신연구원 프로세서 시스템 및 그것의 고장 검출 방법
FR3049075B1 (fr) * 2016-03-15 2018-03-09 Sagem Defense Securite Dispositif d'actionnement et carte de commande et de surveillance associee
KR102475879B1 (ko) * 2016-04-05 2022-12-08 현대모비스 주식회사 Mdps mcu 코어 고장 감지 장치 및 방법
JP6960453B2 (ja) * 2017-04-25 2021-11-05 株式会社日立製作所 再構成制御装置
KR102300908B1 (ko) * 2017-05-24 2021-09-10 현대모비스 주식회사 다중 코어 제어 방법
DE102017124354A1 (de) * 2017-10-18 2019-04-18 Infineon Technologies Ag Verfahren und vorrichtung zum verarbeiten von daten
US10409553B2 (en) 2017-11-15 2019-09-10 Accenture Global Solutions Limited Optimized construction of a sample imprint for selecting a sample dataset for comparison testing
US10241903B1 (en) 2017-11-15 2019-03-26 Accenture Global Solutions Limited Parallel testing and reporting system
US10514890B2 (en) 2017-11-15 2019-12-24 Accenture Global Solutions Limited Test case and data selection using a sampling methodology
US10802932B2 (en) * 2017-12-04 2020-10-13 Nxp Usa, Inc. Data processing system having lockstep operation
US10628274B2 (en) * 2017-12-05 2020-04-21 Qualcomm Incorporated Self-test during idle cycles for shader core of GPU
US10671067B2 (en) * 2018-01-15 2020-06-02 Qualcomm Incorporated Managing limited safe mode operations of a robotic vehicle
DE102018101103A1 (de) * 2018-01-18 2019-07-18 Volkswagen Aktiengesellschaft Verfahren und Computerprogramme für eine Überwachungsinstanz und eine Kommunikationskomponente, Überwachungsinstanz, Kommunikationskomponente, System und Fahrzeug
US20200361452A1 (en) * 2019-05-13 2020-11-19 Toyota Research Institute, Inc. Vehicles and methods for performing tasks based on confidence in accuracy of module output
EP3779699B1 (en) * 2019-08-16 2024-06-05 Aptiv Technologies AG Method for checking program execution of a microcontroller, external device, system and non-transitory computer readable medium
US11704205B2 (en) * 2019-08-16 2023-07-18 Verizon Patent And Licensing Inc. Systems and methods for transitioning from legacy computer systems
US11029939B1 (en) * 2020-01-06 2021-06-08 Capital One Services, Llc Dual-core ATM
DE102020203420B4 (de) * 2020-01-15 2021-11-04 Volkswagen Aktiengesellschaft Verfahren und Vorrichtung zum Rekonfigurieren eines automatisiert fahrenden Fahrzeugs in einem Fehlerfall
DE102020208370A1 (de) 2020-07-03 2022-01-05 Vitesco Technologies GmbH Elektronische Steuereinheit
WO2021101643A2 (en) * 2020-10-16 2021-05-27 Futurewei Technologies, Inc. Cpu-gpu lockstep system
DE102021206379A1 (de) 2021-06-22 2022-12-22 Continental Autonomous Mobility Germany GmbH Steuereinrichtung sowie Assistenzsystem für ein Fahrzeug
US12105589B2 (en) * 2022-02-23 2024-10-01 Micron Technology, Inc. Parity-based error management for a processing system
US20240089181A1 (en) * 2022-04-26 2024-03-14 Motional Ad Llc Software-defined compute nodes on multi-soc architectures
EP4325372A1 (en) * 2022-08-15 2024-02-21 Continental Automotive Technologies GmbH Data transmission method, data transmission device, and data transmission system

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3864670A (en) * 1970-09-30 1975-02-04 Yokogawa Electric Works Ltd Dual computer system with signal exchange system
EP0687976A1 (fr) * 1994-06-14 1995-12-20 Commissariat A L'energie Atomique Unité de calcul à pluralité de calculateurs redondants
US5901281A (en) * 1991-01-25 1999-05-04 Hitachi, Ltd. Processing unit for a computer and a computer system incorporating such a processing unit
WO1999030235A2 (en) * 1997-12-10 1999-06-17 Telefonaktiebolaget Lm Ericsson (Publ) A method relating to processors, and processors adapted to function in accordance with the method
US5915082A (en) * 1996-06-07 1999-06-22 Lockheed Martin Corporation Error detection and fault isolation for lockstep processor systems
WO1999066406A1 (en) * 1998-06-15 1999-12-23 Sun Microsystems, Inc. Processor bridge with posted write buffer

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3444528A (en) 1966-11-17 1969-05-13 Martin Marietta Corp Redundant computer systems
JPS5028309B1 (zh) * 1970-11-20 1975-09-13
JPS6429943A (en) * 1987-07-24 1989-01-31 Fujitsu Ltd System for executing remote diagnosis
US5138708A (en) * 1989-08-03 1992-08-11 Unisys Corporation Digital processor using current state comparison for providing fault tolerance
JPH03296831A (ja) * 1990-04-16 1991-12-27 Nissan Motor Co Ltd フェイルセーフ回路の故障診断方式
US5226152A (en) * 1990-12-07 1993-07-06 Motorola, Inc. Functional lockstep arrangement for redundant processors
JPH04349538A (ja) * 1991-05-28 1992-12-04 Nec Corp 障害装置の復旧方式
US5249188A (en) 1991-08-26 1993-09-28 Ag Communication Systems Corporation Synchronizing two processors as an integral part of fault detection
EP0596410B1 (en) * 1992-11-04 1999-07-28 Digital Equipment Corporation Detection of command synchronisation error
US6496940B1 (en) * 1992-12-17 2002-12-17 Compaq Computer Corporation Multiple processor system with standby sparing
JPH10240556A (ja) * 1997-02-28 1998-09-11 Hitachi Ltd 共有メモリを持つ疎結合計算機システム
US6393582B1 (en) * 1998-12-10 2002-05-21 Compaq Computer Corporation Error self-checking and recovery using lock-step processor pair architecture
JP2000200255A (ja) * 1999-01-07 2000-07-18 Hitachi Ltd プロセッサ間の同期化方法及び同期回路
JP2004518578A (ja) * 2001-03-15 2004-06-24 ローベルト ボッシュ ゲゼルシャフト ミット ベシュレンクテル ハフツング 分配された安全上重要なシステムのコンポーネントの駆動方法
DE10124027A1 (de) * 2001-05-16 2002-11-21 Continental Teves Ag & Co Ohg Verfahren,Mikroprozessorsystem für sicherheitskritische Regelungen und dessen Verwendung
WO2003050624A1 (de) * 2001-12-11 2003-06-19 Continental Teves Ag & Co. Ohg Mehrkerniges redundantes kontrollrechnersystem, rechnerverbund für sicherheitskritische anwendungen in kraftfahrzeugen sowie dessen verwendung
JP2004046599A (ja) 2002-07-12 2004-02-12 Nec Corp フォルトトレラントコンピュータ装置、その再同期化方法及び再同期化プログラム
DE102004051991A1 (de) * 2004-10-25 2006-04-27 Robert Bosch Gmbh Verfahren, Betriebssystem und Rechengerät zum Abarbeiten eines Computerprogramms
US7366948B2 (en) 2004-10-25 2008-04-29 Hewlett-Packard Development Company, L.P. System and method for maintaining in a multi-processor system a spare processor that is in lockstep for use in recovering from loss of lockstep for another processor
JP4462238B2 (ja) * 2006-06-21 2010-05-12 株式会社デンソーウェーブ 携帯端末
JP4458119B2 (ja) * 2007-06-11 2010-04-28 トヨタ自動車株式会社 マルチプロセッサシステム及びその制御方法
JP5392594B2 (ja) * 2008-03-05 2014-01-22 日本電気株式会社 仮想計算機冗長化システム、コンピュータシステム、仮想計算機冗長化方法、及びプログラム
DE102009000045A1 (de) 2009-01-07 2010-07-08 Robert Bosch Gmbh Verfahren und Vorrichtung zum Betreiben eines Steuergerätes

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3864670A (en) * 1970-09-30 1975-02-04 Yokogawa Electric Works Ltd Dual computer system with signal exchange system
US5901281A (en) * 1991-01-25 1999-05-04 Hitachi, Ltd. Processing unit for a computer and a computer system incorporating such a processing unit
EP0687976A1 (fr) * 1994-06-14 1995-12-20 Commissariat A L'energie Atomique Unité de calcul à pluralité de calculateurs redondants
US5915082A (en) * 1996-06-07 1999-06-22 Lockheed Martin Corporation Error detection and fault isolation for lockstep processor systems
WO1999030235A2 (en) * 1997-12-10 1999-06-17 Telefonaktiebolaget Lm Ericsson (Publ) A method relating to processors, and processors adapted to function in accordance with the method
WO1999066406A1 (en) * 1998-06-15 1999-12-23 Sun Microsystems, Inc. Processor bridge with posted write buffer

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
R. CUYVERS .ETC: "Fault-tolerance in process control:possibilities, limitations and trends", 《JOURNAL A, SOFT VISION, BRUSSELS, BE》 *

Cited By (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104182303A (zh) * 2013-05-22 2014-12-03 通用汽车环球科技运作有限责任公司 冗余计算架构
US9372774B2 (en) 2013-05-22 2016-06-21 GM Global Technology Operations LLC Redundant computing architecture
CN104182303B (zh) * 2013-05-22 2016-11-23 通用汽车环球科技运作有限责任公司 冗余计算架构
CN106796539A (zh) * 2014-08-29 2017-05-31 大陆-特韦斯贸易合伙股份公司及两合公司 安全关键的机动车系统的微控制器系统和方法及其应用
CN104635745A (zh) * 2015-03-02 2015-05-20 中国航空无线电电子研究所 一种飞行管理系统双机同步的方法
CN104635745B (zh) * 2015-03-02 2017-03-22 中国航空无线电电子研究所 一种飞行管理系统双机同步的方法
CN106940667A (zh) * 2015-09-30 2017-07-11 罗伯特·博世有限公司 检验具有多个计算单元的系统中的计算结果的方法和设备
CN107607141A (zh) * 2016-07-12 2018-01-19 英飞凌科技股份有限公司 使用处理器和多样化固件的多样化集成处理
CN108227474A (zh) * 2016-12-13 2018-06-29 中核控制系统工程有限公司 安全级dcs平台零延时冗余切换方法
CN108859859A (zh) * 2017-05-11 2018-11-23 杭州长江汽车有限公司 一种电动车辆的控制系统、控制方法及电动车辆
CN115390431A (zh) * 2022-09-21 2022-11-25 上海小马智行智能科技发展有限公司 控制器与车辆
CN117009128A (zh) * 2023-09-14 2023-11-07 飞腾信息技术有限公司 一种错误上报方法及计算机系统
CN117009128B (zh) * 2023-09-14 2023-12-22 飞腾信息技术有限公司 一种错误上报方法及计算机系统

Also Published As

Publication number Publication date
RU2585262C2 (ru) 2016-05-27
RU2012144563A (ru) 2014-04-27
US20130024721A1 (en) 2013-01-24
EP2550599B1 (de) 2020-05-06
EP2550599A2 (de) 2013-01-30
JP2013522785A (ja) 2013-06-13
KR101728581B1 (ko) 2017-04-19
DE102011005800A1 (de) 2011-09-29
KR20130009816A (ko) 2013-01-23
WO2011117156A3 (de) 2011-12-08
US8935569B2 (en) 2015-01-13
WO2011117156A2 (de) 2011-09-29
CN102822807B (zh) 2015-09-02
JP5722426B2 (ja) 2015-05-20

Similar Documents

Publication Publication Date Title
CN102822807B (zh) 控制计算机系统及其控制方法和使用
US8010846B1 (en) Scalable self-checking processing platform including processors executing both coupled and uncoupled applications within a frame
US10120772B2 (en) Operation of I/O in a safe system
US10042812B2 (en) Method and system of synchronizing processors to the same computational point
CN102841828B (zh) 逻辑电路中的故障检测和减轻
WO2011101707A1 (en) Data processing method, data processor and apparatus including a data processor
US9367375B2 (en) Direct connect algorithm
US10114356B2 (en) Method and apparatus for controlling a physical unit in an automation system
KR20150007973A (ko) 마이크로컴퓨터
US20160004241A1 (en) Control device
KR101448013B1 (ko) 항공기용 다중 컴퓨터의 고장 허용 장치 및 방법
US20090024908A1 (en) Method for error registration and corresponding register
CN102521086A (zh) 基于锁步同步的双模冗余系统及其实现方法
CN109491842B (zh) 用于故障安全计算系统的模块扩展的信号配对
US9311212B2 (en) Task based voting for fault-tolerant fail safe computer systems
US9772897B1 (en) Methods and systems for improving safety of processor system
JP4546874B2 (ja) デジタルリレー装置
JP5227653B2 (ja) 多重化計算機システム、及びその処理方法
US10621031B2 (en) Daisy-chain of safety systems
Beckschulze et al. A comparison of dual-core approaches for safety-critical automotive applications
CN102696037B (zh) 在硬件平台上执行安全相关和非安全相关软件构件的方法
Bondavalli et al. Fault Tolerance Structures and Mechanisms for the GUARDS Architecture
Dambra et al. Demonstrators
Goring Latent Fault Detection in Fault Tolerant Computer Based Safety and Control Systems
JPH03111941A (ja) フェイルセーフコンピュータシステム

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
TR01 Transfer of patent right

Effective date of registration: 20230221

Address after: Hannover

Patentee after: Continental Automotive Technology Co.,Ltd.

Address before: Frankfurt, Germany

Patentee before: CONTINENTAL TEVES AG & Co. OHG

TR01 Transfer of patent right