首页> 中国专利> 控制计算机系统、用于控制控制计算机系统的方法及控制计算机系统的使用

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

摘要

本发明涉及一种控制计算机系统。该控制计算机系统包括:至少两个被配置为相互冗余的模块(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),以便可性地完全地或选择性地阻止访问所述至少两个冗余模块或者所述至少两个冗余模块访问所述外围单元。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-03-03

    专利权的转移 IPC(主分类):G06F11/16 专利号:ZL2011800155628 登记生效日:20230221 变更事项:专利权人 变更前权利人:大陆-特韦斯贸易合伙股份公司及两合公司 变更后权利人:大陆汽车科技有限公司 变更事项:地址 变更前权利人:德国法兰克福 变更后权利人:德国汉诺威

    专利申请权、专利权的转移

  • 2015-09-02

    授权

    授权

  • 2013-01-30

    实质审查的生效 IPC(主分类):G06F11/16 申请日:20110318

    实质审查的生效

  • 2012-12-12

    公开

    公开

说明书

技术领域

本发明涉及冗余处理器控制器和控制方法。更具体地说,本发明涉及 冗余双处理器控制器和多核冗余控制计算机系统。

背景技术

已知的做法是使两个处理器以锁步(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。这些单元通过相应的外围桥(peripheral  bridge)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模块) 相应地控制所述多路复用器,处理器对中的第一处理器便可访问第二开关 矩阵,并且处理器对中的第二处理器便可访问第一开关矩阵。

根据一个实施例,至少一个开关矩阵包括可以阻止访问存储器或外围 单元、或者可以在优选地为非易失的外部或内部存储器中记录所述访问的 监视单元。

根据一个实施例,错误处理单元在没有介于其间的开关矩阵的情况下, 直接从至少两个比较单元接收信号。

根据一个实施例,控制计算机系统包括第一和第二易失性存储器和非 易失性存储器,其中,具体而言,一个处理器对访问所述第一易失性存储 器,且第二处理器对访问所述第二易失性存储器,所述两个处理器对访问 所述一个非易失性存储器。

根据一个实施例,处理器对中的第一处理器与至少一个开关矩阵直接 相连,也就是说,可以对存储器和/或外围单元进行读写访问,而处理器对 中的第二处理器仅可对数据进行读访问,其中,具体而言,与处理器对中 的两个处理器直接相连的比较单元将数据发送到相连的处理器对中的第二 处理器。

一个实施例提供一种用于控制包括至少两个处理器对、至少两个用于 检测错误的比较单元、至少一个用于允许或阻止处理器或处理器对访问存 储器和/或外围单元的开关矩阵、以及至少一个可以控制至少所述开关矩阵 的错误处理单元的控制计算机系统的方法,其中所述方法被执行以使得所 述处理器对可以执行不同的程序,以便以无错误模式提供功能,并且如果 发生错误,则无错误处理器对承担故障处理器对的至少某些功能。

根据一个实施例,对于控制计算机驱动的装置的安全关键的功能独立 于错误的发生执行。

根据一个实施例,当错误发生时,非安全关键功能至少部分地不再提 供。

根据一个实施例,当错误发生时,阻止故障处理器或处理器对访问外 围单元。

根据一个实施例,在错误发生之后,故障处理器对执行诊断程序。

根据一个实施例,对已发生的错误进行分类,其中至少在临时错误和 永久错误之间做出区分。

根据一个实施例,故障处理器对在发生永久错误之后永久停用。

根据一个实施例,当故障处理器对运行完诊断程序,而没有检测到永 久错误时,两个处理器对可以再次执行不同的程序。

根据一个实施例,错误处理单元在非易失性存储器中记录错误的发生。

根据一个实施例,如果已发生的错误数和/或错误频率超过预定阈值, 则处理器对永久停用。

根据一个实施例,上述一种控制计算机系统可以在机动车辆中使用, 具体是为了控制或调节刹车系统。

本发明不限于本案中描述的示例性实施例,而是可以适当地进行扩展 和修改。以下权利要求是对一般地定义本发明的首次非约束性的尝试。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号