首页> 中国专利> 具有容错架构的微处理器系统

具有容错架构的微处理器系统

摘要

本发明涉及微处理器系统(MCUSA),其用于执行软件模块,所述软件模块中的至少一些在分配给软件模块的控制功能或任务的范围内是关键安全性的,包括具有至少两个微处理器核心(CPUi)的本质上安全的微处理器模块(HWSAi)。根据本发明,提供至少一个另一具有至少两个微处理器核心(CPU1,CPU2;CPU3,CPU4)的本质上安全的微处理器模块(HWSAi,i=1,…n),其中所述至少两个微处理器模块(HWSA1,HWSA2)经由总线系统(B)连接,提供至少两个执行至少部分重叠的功能的软件模块,具有至少部分重叠的功能的所述软件模块分布在微处理器模块(HWSA1,HWSA2)上或者分布在至少两个微处理器模块(HWSA1,HWSA2)上,以及提供用于针对相同功能比较和/或裁定所述软件模块产生的事件的装置,以便检测软件和/或硬件故障。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-02-14

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

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

  • 2015-06-17

    授权

    授权

  • 2013-09-18

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

    实质审查的生效

  • 2013-08-21

    公开

    公开

说明书

技术领域

本发明涉及根据专利权利要求的前序部分的微处理器系统,该微处理 器系统用于,作为与至少部分关键安全性软件模块相关联的功能或任务的 控制和/或调节的一部分,执行所述软件模块。

背景技术

现有技术公开了用于安全性相关的机动车辆控制器的固有安全微控制 器和微处理器系统。

在这种情况下,术语“固有安全”被认为是电子系统的如下能力:一旦 发生特定故障就保持在安全状态或者立即变化到另一安全状态,或者当故 障发生时关闭。该属性的子集是系统中部件的故障静默属性,所述部件与 其它部件通信并且一旦识别出该部件内部的故障就不再传送信息且其自身 不再执行任何进一步的动作。

举例而言,已知的固有安全微控制器包括以时钟同步(锁步模式, LSM)执行相同程序并且一旦发生故障就关闭的两个微处理器核心。其它 已知微控制器包括三个或更多核心以及主要单元,该主要单元在发生故障 时判定哪个处理器执行了正确的计算并且随后将待执行的任务传递到正确 地进行计算的处理器(容错原理),即,这是系统在甚至存在有限数量的 故障子系统或部件的情况下执行其特定功能或任务的属性或能力。

此外,由具有两个核心的两个故障静默系统构成的微控制器也是已知 的,其中每一个核心形成一个容错系统。

此外,已知这样的硬件结构,其中两个分离的微控制器单元(MCU) 设置成在物理上紧密相邻,因此它们能够快速地彼此交换数据。

当今的机动车辆中的安全性相关系统,例如ESP控制系统,需要安全 地检测到电子装置中的故障,它们通常使用冗余性来对这种系统中的相关 控制器进行故障识别,也就是说固有安全微处理器模块或微处理器平台具 有两个微处理器核心(双核心架构),这两个核心例如以锁步模式被锁定。 这种微处理器模块可用于冗余地计算ESP功能以及检查其是否匹配。如果 结果中存在不一致,则关闭该ESP系统。

硬件部件中的缺陷通过特定保护识别,例如,在总线传输前通过校验 和计算,或者在快闪存储器的情况下通过校验和存储器。此外,实践中也 已知基于冗余部件,例如存储器模块(例如RAM、ROM、高速缓冲存储 器)、CPU、监测模块和总线比较器或存储器保护单元,来实现固有安全 性。

然而,这些架构不能用于识别软件中的“缺陷”或“设计错误”。

这种缺陷可能是仅在特定约束下才出现并且变得显而易见的编译器或 汇编程序的转化缺陷——在例如软件的释放过程中不被识别。

用于保护软件构件免受这些缺陷的已知解决方案是形成不同的汇编程 序/编译器或者修改的汇编程序/编译器选择,例如,速度优化的而不是存储 器优化的或者不同的优化水平。

软件中的设计缺陷包括例如来自开发人员的“谬误”,并且当软件在特 定环境下被执行时导致未指定的行为或者系统的错误操作模式,即,所期 望的外部环境或操作情况未令人满意地映射到软件结构或操作模式上。

为了保护软件构件免受这种设计缺陷,实践中已知的是由第二、第 三、......第n软件构件执行功能并且将每一个结果与(n-1)个其它软件构 件的结果相比较和评价。

这种用于识别设计错误的已知错误识别方法具有如下缺点:

-对于在单个固有安全微处理器模块上的单个运行时间环境中的计 算,n个软件构件需要几乎n倍的运行时间。

-在下层的单冗余硬件发生故障的情况下,全部软件关闭;就整个嵌 入式系统的鲁棒性和可用性而言,这导致差的结果,

-超出安全等级ASIL-D,双硬件故障不能保证被调整为识别单个故障 的硬件监测模块识别,并且可导致不清楚的环境,就编程而言,该环境不 允许清楚地区分软件构件中的设计错误与硬件缺陷。举例而言,快闪存储 器或RAM存储器中的以及微处理器中的双重故障因此未在硬件级别识 别,并且导致一个或多个软件构件的输入讹误、算法讹误或输出讹误,结 果是受影响的软件构件关闭而不可能解释确切的原因。下游离线分析将是 困难、劳动量大并且高成本的,

-基于经验,在原则上不能再分开的软件结构,n倍的软件构件的顺 序执行(串行化)具有中期结果。几乎没有在受限制的环境中考虑、开发 和计划的单片块被生产出来。由于软件构件的边界不再清楚地限定,从 FSM的观点来考虑这样的整体系统越来越困难,且多级低效运行级别概念 的引入非常复杂,

-最终,由于该单片结构,失去了软件构件自身的可管理性、护理和 维护。

为了评估汽车系统的软件构件和硬件部件的安全性功能的可靠性, ISO标准26262定义了简称为ASIL(汽车安全性等级)的安全性等级。相 应的安全性等级是基于对人的风险和危害的系统的功能安全性的度量,这 可以基于系统功能。与具有相对高危害的过程相比,具有相对低危害的功 能或过程在原则上被安全组设置为具有较低安全整体性等级。基于该标准, 有四种安全性等级ASIL-A至ASIL-D,其中ASIL-D为最高安全性要求。 在这种情况下,基于设计错误的软件故障对应于ASIL-D安全性等级。

发明内容

本发明基于这样的目的:指定在起始处提及的微处理器,该微处理器 在硬件和软件级别确保基于ASIL-D分级的固有安全性,此外,就软件构 件的处理和维护而言具有灵活性,并且具有多级低效运行级别概念。

该目的通过专利权利要求1的特征实现。

根据本发明区分这种用于作为与至少部分关键安全性的软件模块相关 联的功能或任务的控制和/或调节的一部分来执行所述软件模块的微处理 器系统,其中该为处理器系统包括至少一个具有至少两个微处理器核心的 固有安全微处理器模块,在其中

-提供至少一个另外的具有至少两个微处理器核心的固有安全微处理 器模块,其中该至少两个微处理器模块通过总线系统连接,

-提供至少两个执行至少部分重叠的功能的软件模块,

-具有至少部分重叠的功能的这些软件模块分布在微处理器模块上或 者分布在至少两个微处理器模块上,以及

-提供用于针对相同功能比较和/或裁定所述软件模块产生的结果的 装置,以便识别软件和/或硬件故障。

根据本发明的这种微处理器系统可以用于集成固有安全微处理器模 块,使得在发生故障时相关硬件部件或软件构件能够被清楚地识别并且能 够根据情况关闭。

微处理器模块的固有安全性属性确保了这一点,因此在发生硬件故障 时另一微处理器模块被激活或者留下来继续工作,并且执行同一或相同或 类似或相似但是不那么广泛的功能的软件模块在此时被启动。前述的软件 模块也可以准备好以一种待机模式运行,但可能仍需要清理以访问致动器 的最终控制或者总线介质上的通信的最终控制,例如在其有效地获得控制 或清理以执行活跃的动作之前。这种清理可以如下提供,例如,即通过形 式为监测软件模块的仲裁器显性地或者利用主要负责的软件模块的自指示 (具有由于故障其正在关闭或者已经关闭的报告)显性地提供,或者通过 使没有来自其上执行主要负责的软件模块的微处理器的有效信号而隐性地 提供。所述至少部分冗余的软件模块是指,在这些软件模块中的一个发生 故障时,有可能执行分配在同一或不同微处理器模块上的具有相关功能的 软件模块。

尤其是,采用能够被识别为有故障的软件模块,有可能识别是固有安 全微处理器模块发生故障还是软件模块发生故障,即使在同一时间确保了 该软件模块所在的微处理器模块的适用性。

最后,根据本发明的微处理器系统可以用于提供允许例如ABS或ESP 功能或程序模块或任务的软件模块的硬件/软件架构分布在不同的固有安 全微处理器模块上,举例来说,如果需要,也有可能两个相互监测的ESP 软件模块(它们不必以相同的方式编程以符合规定的ASIL安全等级,或 者当对照原始功能规格被测量时,它们意味着或者甚至需要满足基本上相 同的开发条款但是以不同的方式实施)并行地在一个固有安全微处理器模 块上运行。

在本发明的一个有利实施例中,当识别出有故障的软件模块时,通过 所述软件模块的功能允许被另一软件模块执行来纠正该故障,所述另一软 件模块至少作为与所述有故障的软件模块重叠的功能而具有该功能或者就 待执行的功能或任务而言其是相同的,也就是说,用于相同目的。

因此,这种微处理器系统提供了具有增强的鲁棒性的安全架构,这是 因为当一个软件模块发生故障时其它软件模块仍是活动的。尤其是,发生 故障的软件模块的子功能或子任务可以作为同一或另一微处理器模块上的 另一软件模块上的备份例程或程序段启动,所述备份例程或程序段不同于 发生故障的软件模块但是也能够执行该子功能或子任务。

此外,尤其有利的是,基于本发明的一个发展,当故障的微处理器模 块被识别时,通过由另一微处理器模块承担该故障的微处理器模块的功能 的执行来纠正该故障,其中执行所述功能所需的软件模块位于所述故障的 微处理器模块上。这提供了具有进一步增强的鲁棒性的安全架构,这是因 为当一个微处理器模块发生故障时,其它微处理器模块仍是活动的,在发 生故障时软件模块继续被部分或完全执行,并且在这种情况下,子功能或 子任务也可以作为另一微处理器模块上的另一软件模块中的备份例程或程 序段用控制掌管。

在这种情况下,基于一个发展,特别有利的是为了执行安全性相关的 功能,提供了具有实质上冗余的软件并且在一个或多个微处理器模块上多 次分布的软件模块。

相应增加的可用性表达为根据本发明的微处理器系统对软件模块故障 的容错性,这是因为可以执行相同或部分相同的软件模块来用于故障处理。

此外,如果基于本发明的一个改进,为了执行安全性相关的功能,提 供了具有有着多样化冗余性的软件并且在一个或多个微处理器模块上多次 分布的软件模块,则该微处理器系统的功能安全性增加。这通过微处理器 模块的固有安全性确保了硬件级的保护,并且通过具有多样化冗余性软件 的这些软件模块的冗余性确保了软件级的保护。

此外,特别有利的是,基于本发明的一个实施例,每一个微处理器模 块都具有用于执行基本功能目的的软件基本模块,所述软件基本模块优选 是通信软件模块、输入似真化软件模块和任务指定软件模块,它们均位于 该微处理器模块上一次。

因此,根据本发明的具有多个微处理器模块的微处理器系统不仅可用 于执行关键安全性的软件(例如制动控制软件(ABS/ASR/EBV)或驱动动 态控制软件(ESP/ESC)),而且可以用于执行非关键安全性软件,例如 用于导航系统或者不是高度关键安全性的系统(例如巡航控制系统 (ACC))的软件,或者用于非关键安全性的驾驶员辅助系统或者与关键 安全性软件并行的附加便利功能的其它软件。由于微处理器模块设计成具 有固有安全的多处理器结构,因此由于鲁棒性和尽可能小的交互这可以在 各种运行时间环境(RTE)下实施。

优选地,所述微处理器模块可以实现为ASIC,只要确保各微处理器 模块不仅使其IC封装体在物理上短的距离上连接(其对于引入到适于印 刷电路板或接线线束的总线系统一直是必须的,所述总线系统快但并不是 最快的),而且能够在常用于硅的DIE或结构或总线的级别上使用,以获 得最佳可能的数据传输速度,结果是短距离迎合快速数据传输的需求,可 以提供快速的总线系统并且仅引起短的延迟时间。

另一个优点是不同来源(例如,OEM特定的应用和专有的改进)的 软件模块可以在该微处理器系统上解耦,这是因为对于要位于一个固有安 全微处理器模块上的一个软件模块以及对于要位于另一固有安全微处理器 模块上的另一软件模块,这都是可能的。特别地,这也允许安全性相关的 软件从非安全性相关的软件解耦。

优选地,基于一个改进,所提供的软件基本模块是输出仲裁软件模块, 其执行仲裁并且也有利地对来自执行安全性相关功能的冗余和/或多样化 冗余软件模块的结果执行似真性校验。这允许清楚的故障关联,也就是说 是微处理器模块发生了故障还是软件模块发生了故障。原因在于,与固有 安全的微处理器模块相结合,在来自冗余软件模块的负的比较结果的情况 下,软件模块可以被检测为有故障,同时确保了微处理器模块的适用性。 因此,优点在于不仅有可能发现硬件故障,也有可能通过软件的并行执行 发现面向设计的软件故障。

基于本发明的一个改进,尤其有利的是,作为多处理器平台的至少一 个微处理器模块的微处理器核心以锁步模式(LSM)操作,这实现了很大 程度上基于物理冗余(也就是说,复制的结构)的保护。原则上这种微处 理器模块以该LSM模式操作,但是其也可以在初始化例程之后的电源接 通之后或者在外部复位信号之后或者在运行时间作为一次性处理进入该 LSM模式,并且该微处理器模块也保持在该LSM模式。

此外,基于一个改进,作为多处理器平台的至少一个微处理器模块的 微处理器核心可以以解耦并行模式(DPM)操作,也就是说所述微处理器 模块通过非对称冗余性的构造措施实现其功能性安全的目的。这通过基于 部件的非对称物理冗余性的相对于时间的整体匹配实现了保护。

基于本发明的一个实施例,根据本发明的微处理器系统不仅可以具有 多个微处理器模块作为多核心处理器平台,也可以具有至少一个具有单个 微处理器核心的微处理器模块(单核心处理器)。优选地,这些微处理器 模块连接到至少一个具有输入/输出接口的总线系统以便允许外部可扩展 性。

此外,基于本发明的一个改进,根据本发明的微处理器系统可以设计 成具有多个微处理器模块,每一个微处理器模块都具有相同类型的操作系 统。因此,优选地这有可能涉及这样的操作系统的使用,该操作系统静态 地、半动态地或全动态地将计算负载分布在多个微处理器模块上。

在本发明的一个实施例中,一些微处理器模块中的每一个配备有基于 时间片的操作系统,这些微处理器模块是同步的。这意味着这些微处理器 模块以锁相方式彼此耦合。例如,这可以通过由发射器使用外部或芯片上 总线系统以等距离时间发送的时间戳结合接收器方的时间片的有利对准来 实现。

最后,本发明允许所述微处理器模块至少一定程度上设计为具有共同 封装体的ASIC。

根据本发明的微处理器系统有利地适用于电子车辆控制器,所述电子 车辆控制器优选提供用于制动控制和调节,但是基于属性通常也预定容纳 与底盘控制器的驱动动态行为或者底盘控制器中选定组的驱动动态行为协 作的软件模块。在这种情况下,该协作可以包括用于底盘范围内的或者单 级或多级或级联或嵌入式控制环内的控制器的操作点的操作模式的系统宽 度的变化的动作。

附图说明

参考附图使用示例性实施例更详细地描述本发明,在附图中,

图1示出了根据本发明的以固有安全微处理器模块作为基本元件的微 处理器系统的示意性框图,

图2示出了图1所示的微处理器系统的固有安全微处理器模块的示意 性框图,

图3示出了图1所示的微处理器系统的另一固有安全微处理器模块的 示意性框图,以及

图4示出了图1所示微处理器系统的两个微处理器模块上的各种软件 模块的分割的示意性图示。

具体实施方式

如图1所示的微处理器系统MCUSA包括多个复制的基本元件,这些 基本元件,作为固有安全微处理器模块HWSAi(i=1,...i=n),也称为CPU 模块,具有至少两个微处理器核心CPU1和CPU2或CPU3和CPU4,这可 以从图2和3看出。此外,该微处理器系统MCUSA可以包括至少一个微 处理器CPU,所述微处理器CPU作为标准微处理器(即,非固有安全) 仅具有一个核心(单核处理器)。这些微处理器模块HWSAi(i=1,...i=n) 以及所述标准微处理器CPU中的每一个均经由接口IF连接到中央总线系 统或网络B,其中接口IFext能够用于扩展以连接另外的部件,例如硬件模 块。微处理器模块HWSAi(i=1,...i=n)以及所述标准微处理器CPU都有可 能通过多个可能是自足的总线系统彼此完全或部分网络连接。

固有安全微处理器模块HWSAi作为图2所示的双核心微处理器以所 谓的LSM(锁步)模式工作,即这些微处理器冗余地且以时钟同步(因此 是锁步模式)执行相同的程序段,比较这两个微处理器核心CPU1和CPU2的结果,然后在比较是否匹配的过程中检测故障。

图2所示的微处理器模块HWSAi的每个微处理器核心CPU1和CPU2具有专用总线系统B1或B2,它们通过接口IF连接。为了执行结果的比较, 有利的是提供冗余比较器K1和K2,所述冗余比较器K1和K2为了检测硬 件缺陷导致的单个故障,在故障的情况下监测该微处理器模块HWSAi以 及在图2中示例性示出的两个微处理器核心CPU1和CPU2的冗余基本元 件的所有输入和输出,即,在两个微处理器核心CPU1和CPU2之间发生 不一致时提示该微处理器模块HWSAi的关闭或者其降级。该保护通过大 量的对称物理冗余实现,即结构被复制。除了所示的微处理器核心CPU1和CPU2,该微处理器模块HWSAi还包括诸如主存储器(RAM)、程序 存储器(闪存或ROM)、比较器和安全模块、用于外部总线的模块(CAN、 LIN、Flexray、MOST、ISOK、Ethernet)的另外的部件,这些部件也能 够为了安全因素而具有冗余设计。除了没有完全复制的完全单次执行的情 况,为了结构的实质上的复制,也有可能的是这些部件具有除了物理冗余 之外的对称冗余。举例而言,应当提及闪存或ROM存储器可以以另外的 存储器容量扩展,以用于容纳校验和。这些不是用于功能性而是用于面向 安全性的目的存储器位意义上的另外的元件在形式上与部分冗余的实施例 是相当的,所述部分冗余的实施无论是否基于其不完整性都不能基于物理 冗余(前述锁步模式LSM)操作,而是需要基于非对称保护结构的原理关 于时间整体地操作。

固有安全微处理器模块HWSAj作为图3所示的具有两个微处理器核 心CPU3和CPU4的双核微处理器以所谓的DPM(解耦并行)模式操作, 即,它可以彼此独立地执行不同的程序序列。每一个微处理器核心CPU3和CPU4具有通过接口IF连接的专用总线B3或B4。除了这两个核心CPU3和CPU4,也存在另外的部件,例如主存储器(RAM)、程序存储器(闪 存或ROM)、比较器和安全模块、用于外部总线的模块(CAN、LIN、 Flexray、MOST、ISOK、Ethernet)。保护通过关于时间的整体匹配实现, 并且既可以基于部件的对称物理冗余也可以基于部件的非对称物理冗余。

因此,图1所示的微处理器系统MCUSA包括由多个固有安全基本元 件(即,微处理器模块HWSAi(i=1,...i=n))构成的并行结构,并且是微 处理器安全架构,该结构能够作为ASIC生产或者至少与几个ASIC一起 在单个封装体中。

图1所示的微处理器系统MCUSA不仅仅是基于ASL-D分级确保固 有安全性的硬件系统架构,也基于软件级的安全性级别ASIL-D确保固有 安全性,这将在下文中解释。

就这一点而言,图4示出了各种软件模块在例如图1所示的微处理器 系统MCUSA的两个固有安全微处理器模块HWSA1和HWSA2上的静态 分配或分布。在这种情况下,这两个微处理器模块HWSA1和HWSA2可 以如图2或3所示那样设计。微处理器模块HWSA1和HWSA2中分别示 出的软件模块按照例如相关运行时间环境的时间轴或时基tHWSA1和tHWSA2顺序执行,在每种情况下以“HWSA通信”软件基本模块开始和结束。在这 种情况下,在特定实施例中出现的对应于安全等级ASIL-D的那些软件模 块,即具有高安全等级的软件,例如用于关键安全性的应用的软件,诸如 ABS或ESP功能,用(D)表示。

对于这两个微处理器模块HWSA1和HWSA2上的软件模块,所谓的 软件基本模块与软件模块之间存在区别,一方面,软件基本模块在两个微 处理器模块HWSA1和HWSA2中的每一个上都提供并且每一个仅执行一 次,另一方面,软件模块以多倍冗余静态地在一个微处理器模块(也就是 说例如HWSA1或HWSA2)上或多个微处理器模块(也就是说例如HWSA1和HWSA2)上分配和执行。在这种情况下,一些软件模块甚至可能具有 重叠的任务。

这些软件基本模块是通信软件模块、输入似真性软件模块以及任务特 定的软件模块。

前述“HWSA通信”软件基本模块允许对于微处理器系统MCUSA(参 见图1)经由总线系统或网络B单向或者双向交换数据。这意味着包括控 制函数的输入变量、运行时间相关数据(计数器、状态信息、系统时间等) 以及来自控制函数的输出变量/结果。

输入似真化软件模块“HWSA1输入似真化”以及“HWSA2输入似真 化”用于对预先通过通信(也就是说通过“HWSA通信”软件基本模块)获 得的输入变量进行似真化,以便能够被作为合格的值转送至控制函数,这 是因为仅来自可能包含合格的输入变量的控制函数的结果也可以在完成计 算之后被有意义地比较。

除了在输入似真化软件模块中执行的通信数据的校验之外,也可能使 用所谓的端到端保护(也称为E2E),所述端到端保护基于操作原理早在 控制函数产生通信数据项时就将清楚的保护校验和添加到数据项,并且将 所述校验和与数据项作为原子单位同时一起发送。该保护校验和由接收数 据项的控制函数或接收数据项的所有控制函数基于用于E2E校验和的已知 计算密钥使用,以便交叉校验数据项的正确传输,因此被提供用来检测由 于发射器方的输出似真化软件模块中的以及接收器方的输入似真化软件模 块中的设计错误而发生的讹误的装置也是如此,该装置能够相应地作出反 应。

如图4所示,微处理器模块HWSA1和微处理器模块HWSA2的任务 特定的(专门任务)软件基本模块被标记为“HWSA1专门任务1”,“HWSA1 专门任务2”和“HWSA1专门任务3”或“HWSA2专门任务Y”、“HWSA2专 门任务Z”和“HWSA2专门任务W”。这些软件基本模块也以简单的方式执 行,而不必满足对多样性以及增强的鲁棒性的进一步要求或者不需要冗余 性。这些任务特定的软件基本模块实质上仅存在一次并且“以专门的方式” 在微处理器模块HWSA1或HWSA2上执行。

此外,所提供的软件模块也是标记为“HWSA1输出似真化”和 “HWSA2输出似真化”的输出仲裁软件模块,它们用于对由所有控制函数 的满载事先确定输出值或者操纵变量进行似真化。在这种情况下,功能性 所需的似真化和功能安全性所需的似真化之间有区别。在下文中进一步描 述这些不同的似真化。

此外,存在位于一个微处理器模块上多次和/或以分布的形式位于多个 微处理器模块上的软件模块,这些软件模块被标记为“HWSA任务Aij”、 “HWSA任务Bij”、“HWSA任务Cij”和“HWSA任务Xij”,如图4所示。 这些冗余软件模块具有相同任务,即,很大程度上用于相同目的。

因此微处理器系统MCUSA的结果是作为一个整体具有增加的可用性 及增加的安全性。

当这些软件模块分布在多个微处理器模块HWSAi上时,满足了在面 对硬件故障时更高的鲁棒性要求和更高的可用性。

在这些软件模块在一个微处理器模块HWSA1或HWSA2中多次地或 者在多个微处理器模块HWSA1和HWSA2中静态分配的情况下,满足了 在面对“缺陷”或“设计错误”时增加的安全性要求。

因此,分配在微处理器模块HWSA2上的两个软件模块“HWSA2任务 X13”和“HWSA2任务X23”具有实质上相同的算法冗余设计,这两个软件模 块由同一程序设计者A编程,但是软件模块“HWSA2任务X23”与软件模 块“HWSA任务X13”相比不同地编译或汇编,这导致在程序代码级别实质 上一个身份,但是不同的转化意味着可能预防系统故障。

此外,两个冗余的软件模块“HWSA任务C33”和“HWSA任务C23”分 布在两个微处理器模块HWSA1和HWSA2上,这两个软件模块类似地由 同一程序设计者A编程,但是软件模块“HWSA任务C23”与软件模块 “HWSA任务C33”不同地编译或汇编,这导致在程序代码级别实质上一个 身份,但是不同的转化意味着可能预防系统故障。

因此,这些冗余软件模块“HWSA任务X13”和“HWSA任务X23”或 “HWSA任务C33”和“HWSA任务C23”具有相同或者仅仅被微小地修改的 算法。

最后,具有多样化的冗余性的软件模块在同一微处理器模块HWSA1或HWSA2上分布。

如图4所示,在微处理器模块HWSA1上分配两个软件模块“HWSA 任务A12”和“HWSA任务A22”,它们由两个不同的程序设计者A和B编程。 微处理器模块HWSA2上的两个冗余的软件模块“HWSA2任务X13”和 “HWSA2任务X23”也具有软件模块“HWSA任务X33”,此时在同一微处理 器模块HWSA2上存在多样化的冗余性。这些软件模块在结构上有很大程 度的变化。

具有多样化的冗余性的这些软件模块也可以分布在不同的微处理器模 块上。因此,图4示出了分配在微处理器模块HWSA1上并且由程序设计 者A编程的软件模块“HWSA任务B12”,以及分配在微处理器模块 HWSA2上的具有多样化的冗余性并且由另一程序设计者B编程的软件模 块“HWSA任务B22”。分布在微处理器模块HWSA1和HWSA2二者上并且 由程序设计者A编程的两个冗余软件模块“HWSA任务C23”和“HWSA任 务C33”,也具有存在于微处理器模块HWSA1上的软件模块“HWSA任务 C13”,所述软件模块具有多样化的冗余性并且由另一程序设计者B编程。 这些软件模块在结构上有很大程度的变化。

具有多样化冗余性的软件模块的数量m可以大于微处理器模块 HWSAi(i=1,...n)的数量n(n<m)。在这种情况下,可以对要在单个微处 理器模块HWSAi上执行的n个软件模块进行串行化。不言自明,在这种 情况下,下层微处理器模块的充足的计算能力是先决条件,通过被顺序计 算且最终被似真化——就其输出信号而言——的软件模块,可以实现增强 的安全性。然而,在引入所有软件模块的这种情况下,面对下层微处理器 模块的故障时的可用性并未增加,这些软件模块是否被冗余地编程或者不 同地转化并不重要。当冗余的软件模块以多样化的方式被结合在不同的微 处理器中时,可用性增加。

这些具有多样化冗余性的用于相同目的并且具有与所期望的完全不同 的算法的软件模块“HWSA任务Aij”、“HWSA任务Bij”、“HWSA任务Cij” 和“HWSA2任务Xij”为以通过设计而冗余的方式计算来自控制函数的输 出变量或结果提供了基础,确保了在面对设计错误时的保护。

相对高的可用性被微处理器系统MCUSA证实在面对微处理器模块 HWSAi的故障时是有容忍度的,这是因为在检测到故障或者一个微处理器 模块HWSAi发生故障的情况下,有可能由另一微处理器模块HWSAj(i□j) 来执行适当的软件模块。

通过在不同微处理器模块HWSAi上执行的具有多样化冗余性的软件 模块实现了增强的功能安全性,由于微处理器模块HWSAi的固有安全性 这确保了硬件级的保护,并且由于软件模块的多样化冗余性(也就是说由于 其软件不是相同的)这也确保了软件级的保护。

回到图4所示的微处理器模块HWSA1或HWSA2上的软件模块 “HWSA1输出似真化”和“HWSA2输出似真化”。

在通过软件模块“HWSA1输出似真化”和“HWSA2输出似真化”进行 功能性所需的似真化的情况下,执行控制功能的特定软件模块被优先而其 它软件模块被推迟。举例而言,就ESP控制功能和ABS控制功能而言, ESP介入的控制功能因此优于ABS介入的控制功能,并且因此优先地首先 执行。执行这种功能性的似真化以对于车辆的操纵有利。

从功能安全性的观点来看是必要的使用软件模块“HWSA1输出似真 化”和“HWSA2输出似真化”的似真化涉及这样的软件模块的结果,所述软 件模块被冗余地或者准冗余地执行,并且取决于静态分配,分布在被彼此 比较或评价的不同微处理器模块HWSAi上。因此,来自两个独立的ESP 控制功能(也就是说用于相同目的,即,为车辆提供“ESP”功能)的结果 将被彼此比较。在图4所示的例子中,软件模块“HWSA任务Bij”例如被 执行两次,即作为微处理器模块HWSA1上的“HWSA任务B12”,以及作 为微处理器模块HWSA2上的“HWSA任务B22”。该软件模块的相关输入 数据的一致性由先前在时间α(见图4)执行的软件模块“HWSA通信”确 保。在时间β处的软件模块“HWSA通信”确保了在两侧存在用于比较或加 权的所计算的输出数据。在时间γ处的软件模块“HWSA通信”确保了微处 理器模块HWSA1和HWSA2上都存在所实现的比较结果或加权结果。

此外,图1所示的微处理器系统MCUSA设计为用于针对软件模块进 行动态处理。

如果例如软件模块“HWSA1专门任务3”发生故障,因此子功能或子任 务不能被执行并且该子任务或子功能也呈现为微处理器模块HWSA2的软 件模块“HWSA2专门任务Z”上的程序段,则该“HWSA2专门任务Z”软件 模块根据其角色作为备份软件模块被激活并且其备份例程被执行。

动态处理是指,取决于状态,也就是说就硬件或软件或者微处理器系 统的操作模式而言,特定微处理器模块HWSAi或特定软件模块,也就是 说基于需要,被执行。这一点的先决条件自然是适当的软件模块的静态分 配,这已经结合图4进行了描述。

分布的或多样化的软件模块组实质上包括两种类型:

a)例如用于增强的功能安全性的软件模块,也就是说,在微处理器模 块HWSAi中执行持续的结果比较;以及

b)例如这样的软件模块,其用于增加的可用性并且能够理想地被备选 地执行或者动态地启动,以便在正常操作模式下节约资源和执行时间,如 果这样做是有利的。

如上所述,引入具有多样化冗余性的软件模块以对于在面对“设计错 误”时保护软件或算法是有利的。

这些具有多样化冗余性的软件模块并不是必须提供在不同的微处理器 模块HWSAi上。这些软件模块归为上述a类。这些具有多样化冗余性的 软件模块从另外的观点来看也被冗余地开发,由不同的团队设计并且由不 同的程序设计者实施。因此,特定的“设计错误”重复的概率降低。

举例而言,设计错误可以由于所包含的状态机的实施例、从一个操作 模式到另一个的变化时的状态传输、故障反应过程等导致。特别是在这样 的程序段中,在所述程序段中(一个或多个)程序设计者将相互依赖的不 同瞬时测量或受控变量或实际状态并且也将操纵的或控制值或目标状态 (也就是说组合的分析或者以特定的顺序(也就是说就顺序而言)而言) 映射到算法上,后者打算如何工作,例如执行备选的方程或者跳到不同的 安全等级,从对要使用多通道组合分析执行的多级序列的考虑,产生了极 其错综复杂的排列树。这些情况对于在据推测小的隔离的或者——一旦发 生——可能是致命的程序片段上蔓延的设计错误是有利的,所述程序片段 由于他们并不是非常庞大的性质,难以使用开发测试和/或持续运行预先完 全识别。

对于微处理器系统MCUSA在面对硬件故障时的鲁棒性有利的是,可 如上所述将软件模块分布或多样化在各种微处理器模块HWSAi上。这些 软件模块归为上述b)类。为了安全性,因此不需要永久且同时的执行, 包括这些软件模块的结果的相互比较。因此,鲁棒性也不增加。对照而言, 多样化的软件模块的基于需要的执行将意味着微处理器模块HWSAi的运 行时间储备量的更有效的利用。所述需要可以通过输入特定操作条件而产 生。该特定操作条件可以是微处理器模块HWSAi中检测到的故障,并且 其也可以是在时间上约束适用性的诊断过程的特定自校准,或者可以是持 续存在的电压不足情况。不必要使备份软件模块覆盖全部功能。备份软件 模块可以是更微小的并且可以在代码大小以及运行时间消耗方面更小。出 于效率的原因,动态执行备份软件的微处理器模块HWSAi可以动态关闭 一组其本地的非实质性的软件模块,以便能够确保备份软件模块被处理。

此外,图1所示的微处理器系统MCUSA在时间上持续提供似真化, 也就是说持续比较来自分布的软件模块的结果。

为了评估呈现在相应微处理器模块HWSAi上并且以分布式方式计算 的相关输入数据、结果和部分结果以及还有来自软件模块的输出数据,所 述数据和结果是功能安全性所需的,将它们以适当的方式在不同的时间(如 图4所示的α、β和γ)在微处理器系统MCUSA内传送,这已经结合图4 在上文中针对时间α、β和γ进行了解释。因此,提供了一种手段,其允许 分布式冗余的微处理器模块HWSAi在待通信的微处理器系统MCUSA中 的适用性,以及就程序弱点的排除而言所述分布式软件模块的适用性,所 述程序弱点由于要在运行时间证明的算法中的设计错误而发生。

总而言之,根据本发明的微处理器系统MCUSA由于下述优点而与众 不同:

-就硬件以及软件而言,对于嵌入的整个系统,其都展现出增强的鲁 棒性。

-如果一个微处理器模块发生故障,其它未处理模块仍然活动,软 件模块继续部分或完全被执行。此外,另一微处理器模块上的另一软件模 块中的备份例程掌握控制,

-如果一个软件模块发生故障,其它软件模块仍活动。同一软件模 块有可能基于冗余重启或者重新初始化。此外,同一或另一微处理器模块 HWSAi上的另一软件模块中的备份例程可以被启动。

-在故障的情况下清理与硬件或软件相关的故障的机会:

-如果一个微处理器模块HWSAi发生故障,这由例如寄存器、中断、 异常或者一件自动设置信号或引脚的监测硬件清楚地指示;

-如果一个软件模块发生故障,这通过与另一软件模块的结果的比 较或评价清楚地确立;

-关于解释微处理器模块HWSAi或者软件模块是否发生故障的原 因的识别可能是清楚的,这是因为使用了具有对应固有安全设计的基础模 块(RAM、FLASH、总线等)的固有安全微处理器模块HWSAi,这意味 着在负面结果比较(即,来自冗余软件模块的结果不一致)的情况下,软 件模块可以被分类为不适用而同时确保了微处理器模块HWSAi的适用性。 任选地,可能使用软件模块的两倍或多倍冗余以便通过大多数形成以及仍 然保持安全功能执行,来清楚地识别有问题的软件模块。

-动态计算能力分配:

-如果一个微处理器模块HWSAi发生故障,另一微处理器模块 HWSAj上的另一软件模块的备份例程掌握控制;并且

-如果一个软件模块发生故障,同一或另一微处理器模块HWSAi上的另一软件模块中的备份例程可以被启动。

-包括微处理器模块HWSAi和软件模块的嵌入式整体系统的灵活设 计:

-“通过设计”可以隐含地实现超越微处理器模块HWSAi的软件模块 的结构化性质和易于便携性。

微处理器系统MCUSA可以被设计成单个封装体中的ASIC。自然地, 微处理器系统MCUSA也可以在两个或更多个ASIC上实施,然后与单个 IC封装体组合,或者每一个ASIC封装到单独的IC封装体中。

此外,微处理器模块HWSAi的操作系统可以是相同的或具有不同性 质,并且也可以使用单个操作系统,其可以静态地、半动态地或完全动态 地在各个微处理器模块HWSAi上分布计算负载。

最后,以时间片基础上操作的微处理器模块HWSAi的那些操作系统 可以设计成能够彼此同步,即,可以相对于彼此采用限定的锁相状态,这 可以通过由发射器使用外部或芯片上总线系统在等距离的时间发送时间戳 结合接收器方的时间片(环)的有利对准来实现。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号