CN101779193A - 为至少一个微控制器单元提供容错的系统 - Google Patents

为至少一个微控制器单元提供容错的系统 Download PDF

Info

Publication number
CN101779193A
CN101779193A CN200880103171A CN200880103171A CN101779193A CN 101779193 A CN101779193 A CN 101779193A CN 200880103171 A CN200880103171 A CN 200880103171A CN 200880103171 A CN200880103171 A CN 200880103171A CN 101779193 A CN101779193 A CN 101779193A
Authority
CN
China
Prior art keywords
mcu
ssu
software
fsa
information
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
CN200880103171A
Other languages
English (en)
Other versions
CN101779193B (zh
Inventor
彼得·福尔曼
马库斯·鲍迈斯特
曼弗雷德·秦克
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.)
Koninklijke Philips NV
Original Assignee
Koninklijke Philips Electronics NV
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 Koninklijke Philips Electronics NV filed Critical Koninklijke Philips Electronics NV
Publication of CN101779193A publication Critical patent/CN101779193A/zh
Application granted granted Critical
Publication of CN101779193B publication Critical patent/CN101779193B/zh
Expired - Fee Related 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0706Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
    • G06F11/0736Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function
    • G06F11/0739Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment in functional embedded systems, i.e. in a data processing system designed as a combination of hardware and software dedicated to performing a certain function in a data processing system embedded in automotive or aircraft systems
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/079Root cause analysis, i.e. error or fault diagnosis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T2270/00Further aspects of brake control systems not otherwise provided for
    • B60T2270/40Failsafe aspects of brake control systems
    • B60T2270/406Test-mode; Self-diagnosis
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60TVEHICLE BRAKE CONTROL SYSTEMS OR PARTS THEREOF; BRAKE CONTROL SYSTEMS OR PARTS THEREOF, IN GENERAL; ARRANGEMENT OF BRAKING ELEMENTS ON VEHICLES IN GENERAL; PORTABLE DEVICES FOR PREVENTING UNWANTED MOVEMENT OF VEHICLES; VEHICLE MODIFICATIONS TO FACILITATE COOLING OF BRAKES
    • B60T2270/00Further aspects of brake control systems not otherwise provided for
    • B60T2270/40Failsafe aspects of brake control systems
    • B60T2270/413Plausibility monitoring, cross check, redundancy
    • 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/0703Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
    • G06F11/0793Remedial or corrective actions

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • Hardware Redundancy (AREA)
  • Debugging And Monitoring (AREA)
  • Safety Devices In Control Systems (AREA)

Abstract

本发明涉及一种用于为至少一个微控制器单元(下文称作MCU(10))提供容错的系统。MCU从耦合至MCU(10)的至少一个传感器(11)接收信息,并向耦合至MCU(10)的至少一个致动器(12)输出信息。为了提供一种系统,该系统用于控制或影响至少一个MCU的容错或错误处理而无需软件或硬件组件的复制,并且该系统能够对各种事件作出不同反应,因而提出在MCU中包括下文中所谓的SSU(200)的系统监管单元(200)。SSU(200)对包括在SSU(200)处接收到的信息(301、302、303、325)中的错误报告作出反应;其中,SSU(200)适于基于接收到的信息(301、302、303)以及基于MCU(10)的状态历史切换至多个预定状态之一;以及向MCU(10)或耦合至MCU(10)的外部控制设备(230)输出至少一个指令,以基于SSU所切换至的新状态控制MCU(10)至少和/或所连接的设备(11、12)。这样的系统容易适用于相应应用。

Description

为至少一个微控制器单元提供容错的系统
技术领域
本发明涉及一种为至少一个微控制器单元(下文中,称作MCU)提供容错的系统。
背景技术
与安全驾驶以及增加的娱乐和信息娱乐需求有关的汽车的开发引起汽车中电子模块的迅速增加。多数电子模块集成在芯片上,其中,每个电子模块包括多种不同功能,每种功能集成在一个芯片上。包括不同功能的这种电子模块是微控制器单元,被称作MCU。此外,为了共享例如一个汽车中的多个MCU的信息,需要通信网络对由单个MCU感测或处理的信息进行交换。另一方面,汽车领域中的多个安全相关应用(例如,气囊、ABS等)在硬件或软件错误的情况下也需要可靠的操作。
一般而言,数字系统中的安全相关应用必须基于所涉及的风险来确保各种等级的错误检测和错误处理。针对这种应用的要求由IEC61508标准指定。该标准定义了未检测危险故障占所有故障的比例的上限,以及这种故障的概率的上限。这些限制取决于所需风险降低等级,并且对于如汽车中安全相关应用的应用类别而言是相当低的(≤1%resp.10-7/小时)。
采用若干种解决方案来达到这些限制,例如双锁步体系结构,通过复制错误屏蔽、由独立硬件或软件时间分集实现的一致性检查。所有这些方案的问题在于,它们需要软件或硬件组件的复制或二者的混合,因此增加了成本。
因此,需要实现高故障检测率,而无需复制。这样的解决方案可以通过在MCU的单独子单元内集成一致性检查来实现。紧密集成到现有硬件中使得开销变得较低以及更早检测到错误。
EP 1496435描述了用于检测错误的解决方案。然而,仍缺少对来自这种集成的一致性检查器的错误报告进行汇集、并根据特定安全功能的需要对这些错误报告作出反应的方式。
发明内容
因此,本发明的目的是提供一种系统,控制或影响至少一个MCU的容错或错误处理,而无需软件或硬件组件的复制,并能够对各种事件作出不同反应。此外,所述应当能够容易地适用于各个应用。
独立权利要求1的特征解决了上述目的。
从从属权利要求可以认识到其他优点。
本发明是基于以下构思:需要对检测到的错误作出一致反应,其中,所期望的反应取决于错误本身、整个系统或MCU所处的状态、先前错误、或时间约束。特别地,对错误的优选反应可能如此复杂以致于其仅可以以软件实现,但是软件及其执行CPU本身可能是错误的。因此,存在多种错误反映,并且需要保证对错误报告的处理。
为了遵守这样的情况,提出不仅考虑MCU的特定组件的信息。此外,需要提供对不同错误作出不同反应的能力。因此,提出将系统监管单元(称为SSU)包括到MCU中。在对特定事件或从MCU接收到的错误代码作出反应之前,SSU考虑MCU的历史或至少先前内部状态。仅可以在预定状态下切换SSU,其中良好地定义了从一个内部状态到另一内部状态的转换。从而避免将SSU或整个MCU切换到未定义的状态。此外,可以考虑从MCU接收到的信息以及MCU的至少先前状态,或者确切定义在特定内部状态下如何反应。如果SSU由于从MCU接收到的事件或信息而正在改变其内部状态,则SSU将执行与SSU的新内部状态相关联的动作。这样的动作可以包括:改变信令线的状态、改变寄存器的内容、或通过系统总线发送数据。所有这些动作表示可以使SSU或MCU内部或外部的其他组件独立地执行动作。因此,SSU动作可以被视为发送至SSU或系统的其他组件的命令。
将SSU实现为单个芯片上与MCU一起的硬件组件。
SSU将接收来自包括在MCU中的硬件单元中的报告,对包括其CPU的MCU的操作的一致性进行检查。这些单元在下文中将被称作“监控器”。SSU本身也是MCU的组件,并优选地是以自检、容错技术(如三重模块冗余(TMR))来实现的,从而不需要特定监控器来检查SSU本身。
此外,SSU可以采用下述机制与运行在CPU上的软件交互。SSU将可能向软件转发来自监控器的错误报告,以使得软件能够对报告作出反应或影响SSU的反应。
该构思提供以下优点:
由于SSU已知状态,所以在所定义的状态与由SSU执行的动作之间的转换是可编程的。因此,MCU的用户(即,系统设计者)可以对用于提供容错的系统在其反应方面进行修改。这是有利的,因为反应能够取决于应用、系统的特定使用以及系统的体系结构。
将SSU的错误反应提取成系统的状态、转换以及动作使SSU实现方式保持简单,并从而使SSU的自检实现方式成为可能。
与软件的交互允许将在MCU的正常CPU上运行的软件及其状态包括到关于错误反应的判定循环中。这是有利的,因为判定所需的一些信息仅可用于软件,例如,软件可以判定与传感器的连接失效之后系统将仍旧能够在安全状态下继续,这是由于后退(fallback)传感器在最后几分钟提供一致信息,从而不需要错误反应。
此外,系统提供将软件包括在对错误的实际反应中的能力。这是有利的,因为针对反应的一些功能可以仅可用于软件,例如,在故障之后,存在若干方法使系统回到安全状态,一个简单方式(例如,关闭电源)可以由SSU单独发起,并且更加用户友好的方式(将特定致动器引入所定义的状态,并继续以退化的方式与其余组件操作)太复杂以致于不能在不涉及软件的情况下实现。
SSU中的机制将把来自各个监控器的错误报告汇集到对移动到新状态中的判定中。由于仅将到新状态中的这一个转换传送至安全完整软件(而不是单独错误报告),所以向该软件通知MCU的当前一致性等级,而不会由于短时间内大量错的误报告使该软件过载。
由于以下描述的软件交互机制,SSU能够继续工作并使系统进入安全状态,甚至在软件本身或由该软件使用的处理子系统失效时也是如此。
更详细描述:
SSU负责确定MCU对检测到的内部错误的反应。为了提供这样的功能,SSU执行以下动作:
■从任何MCU子组件、从监控器、或从SSU内部定时器、计数器或寄存器接收错误信息。
■此外,SSU检查内部状态(例如,最近是否报告了类似的错误)。
■此外,使用错误反应的可编程收集,基于错误和状态来判定动作。如果错误是关键的并且系统安全时间(sst)短,则SSU将单独判定反应并执行该反应。SSU的可能的错误反应是,例如,触发用于关闭所连接的设备的安全开关、发起MCU的全部或MCU的一部分的各种重置、或使MCU进入故障模式并使其保持故障模式。如果可能的故障是不关键的或预期在系统安全时间内解决的,则SSU可以使用下述本发明的机制来通知运行在MCU的CPU上的安全软件。
■然而,如果软件在规定时间内不提供反应,则SSU可以继续适当的错误反应以保证预定反应并使MCU进入安全状态。
■在软件请求更多时间或指示错误是受控的情况下,如果错误反应定义允许该请求,则SSU可以考虑该请求。
根据本发明的优选实施例,SSU包括有限状态自动机(被称作FSA)。FSA包括信息输入端口、状态切换单元以及执行单元和信息输出端口。FSA从MCU或者从所连接的SSU组件接收多个信息。基于所接收的信息和基于存储在FSA中的MCU的状态历史,状态切换单元适用于切换至多个预定内部状态之一。根据新切换的内部状态或者根据由状态切换单元传送的状态转换,执行单元将执行至少一个动作。基于当前内部状态以及基于执行单元的动作执行,FSA可以经由信息输出端口向MCU或外部控制设备输出至少一个指令。使用FSA的优点在于,当错误报告到达时FSA逐状态进行,其中,FSA的输出在SSU上触发简短程序的执行,以影响MCU的内部寄存器或计数器。多数状态转换的定义可由系统设计者自由定义,并且可以在系统启动时被预先配置或加载到SSU中。一些状态转换也可能是不可修改的并由MCU制造商预先配置的,例如,在MCU引导过程的早期阶段对错误的反应。
因此,在预定事件或先前内部状态的情况下,FSA仅可以从一个定义状态切换至另一定义状态。这提供的优点是:与基于简单错误反应映射的方法相比,SSU可以在不同条件(例如,不同的先前内部状态)下对相同错误作出不同反应。此外,与不可编程的方法相比,系统设计者可以根据系统需要定义硬件执行的错误反应。
执行单元能够设置信号线。因此,基于FSA的当前内部状态,FSA的输出可以将信号线从关闭状态切换至开启状态。此外,输出端口能够为SSU内部寄存器指示或编制预定值。
MCU是自动网络(IVN)内所谓通信节点的中央组件。每个通信节点可以耦合至传感器,或者可以包括用于感测车辆或环境的不同状态的传感器,或者MCU可以耦合至致动器,该致动器基于从处理单元或者从另一MCU接收到的信号来执行预定功能。
根据优选实施例,SSU可以连接至外部控制设备,该外部控制设备能够关于其安全状态控制整个系统(通常通过控制供电)。整个系统可以包括分别耦合至所连接的设备(如传感器或致动器)的多个MCU。具体地,可以将外部控制设备实现为安全开关,在FSA的输出端口处的相应输出信号之后,该安全开关可以将受控系统转换到安全状态。在这样的情况下,安全开关从SSU接收预定指令。安全开关可以优选地将所有连接的设备转换到安全状态,或备选地,仅将所连接的设备的一部分以及MCU的全部或一部分转换到安全状态。
每个MCU包括CPU。多个软件对至少操作系统进行编程,并且专用软件运行在CPU上。原则上将专用软件划分成三类:首先,非安全相关软件,即,不与安全关键系统的正确运行相关的软件。以下忽略这种软件。其次,安全软件,即,负责控制用于正常应用的系统的安全关键组件的软件。第三,安全完整性软件,即,负责确保总系统以及安全软件处于安全状态并采取计数器措施(如,如果情况不再如此则关闭系统)的软件。SSU与安全完整性软件进行通信以向软件提供错误条件或从该软件接收错误报告。安全完整性软件可以与安全软件进行通信以将该安全软件切换至其他模式或从该安全软件取回附加信息。由于所有软件都在CPU上执行,并且典型地需要存储器和总线(一起通称为处理子系统),所以处理的任何错误都危及到软件的完整性,从而不能信任该软件能够始终正确工作。
因此,为了以安全方式完成与安全完整性软件的这种交互,SSU包括软件交互寄存器,该软件交互寄存器在FSA和软件之前起到媒介作用。软件交互寄存器允许SSU检测与在软件中实现的安全完整性功能的交互是否正确工作。为此,当FSA(代表SSU)向软件通知错误时,该软件交互寄存器从FSA接收预期错误代码应答。当软件能够处理所报告的错误时,软件交互寄存器另外从软件接收错误代码应答。在优选实施例中,软件的该错误代码应答可以由软件通过在错误处理功能上分布的若干步骤来计算,以确保全部被执行。软件交互寄存器将预期应答和接收到的应答进行比较,并且当不匹配时或者当在预定时间内没有从软件接收到应答时通知FSA。
因此,可以将软件的安全完整性功能包括到判定循环中,并使得可以解决软件内特定错误而SSU不会直接影响MCU。在软件不能解决所检测到的错误的情况下,软件交互寄存器将不会从软件接收与预期错误代码应答相对应的应答。该结果将被传送至FSA,FSA然后执行预定动作并向MCU的相应部分输出预定指令,以保证受控系统的状态。
此外,如果没有及时接收到来自软件的错误代码应答,则软件交互寄存器将向FSA发送“时间已到”信息。这可以是例如由执行软件的CPU中的未检测到的错误引起的,或者是由软件内的系统错误(例如“死循环”)引起的。与当FSA接收到来自软件的“时间已到”信息的情况相比,当软件向软件交互寄存器提供不正确的错误代码应答时,FSA可以作出不同反应,但是在两种情况下,SSU都将独立地使系统进入安全状态。
此外,在本发明的优选实施例中,系统包括:至少一个监控单元,适用于检测MCU的各个组件中的错误,并将这些错误报告给SSU,在SSU中这些错误由FSA进行解释。为了提供这样的错误报告,监控单元监控MCU组件的输入和输出,以及将通过相对于所监控的组件的已知预期行为来检查输入和输出值的关系并且可能地将这些输入和输入值与存储在监控内的附加信息进行比较,来检测所监控的组件的不一致性行为。例如,能够如EP 1496435中描述的来实现这样的监控单元。
监控单元用作在功能上与所监管的实体无关的实体(如,CPU、存储器、总线、外围设备),并且因此不太可能同它们监管组件一起受到共同原因故障的影响。因此,对于SSU存在三种措施来检测运行安全完整性软件的处理子系统(CPU、总线、存储器)的故障:监控单元报告错误,被写入软件交互寄存器中的错误代码应答不与预期应答相对应,或者不存在及时的错误代码应答。
在本发明的优选实施例中,安全完整性软件可以将软件请求信号传输给SSU,以请求SSU针对例如安全开关的诊断改变其内部状态。
同样,在CPU上运行的安全完整性软件可能使用例如不同传感器之间的一致性测试来检测MCU外部的错误,并且因此可能期望通过激活开关使系统进入安全状态。优选地,上述可以通过向SSU传输状态改变请求的软件来实现,使得SSU持续具有对MCU和系统状态的概观,并且被通知关于例如任何剩余的冗余储备。
此外,系统可以包括计数器,该计数器由FSA的输出设置,并能够启动至少一个计数,并递增或递减所启动的计数,或者基于FSA的输出重置计数,以及在计数达到任何预定值的情况下向FSA发送事件信号。通过这种方式,使得FSA进行计数,而不会导致如同在FSA状态空间内实现计数的情况下发生的那样增大所需的状态的数目。
这样的计数器可以用于对例如剩余多少冗余或预定错误发生的频繁程度进行计数。在特定计数达到限制的情况下,计数器经由事件通知FSA,从而FSA可以基于预定错误发生的次数来作出反应。
此外,系统包括定时器,该定时器可以基于SSU的内部状态来启动或停止,其中,在达到阈值的情况下,向FSA输出“时间已到”信号以指示预定时间间隔期满。这使得FSA具有正常地不可用于FSA的、测量时间间隔的能力(例如,提供时间用于在强制的系统关闭之前的软件的清除尝试,或者提供时间用于规则地重置错误计数器)。
FSA可以包括用于存储状态转换表的存储单元,在状态转换表中定义内部状态之间的转换,在预定信息或事件的情况下,将FSA切换至状态转换表。此外,存储单元能够存储每个内部状态或状态转换的动作列表,所述动作列表是在达到状态或传递转换的情况下执行的。
附图说明
将基于附图说明以下优选实施例。
图1a示出了根据本发明的简单系统;
图1b示出了根据本发明的更复杂的系统;
图2示出了根据本发明的MCU的框图;
图3示意了根据本发明的SSU的内部结构;
图4示出了根据本发明的FSA的内部结构;
图5示出了根据本发明的软件交互寄存器的内部结构。
具体实施方式
在图1中,根据本发明的系统仅包括一个MCU 10,该MCU 10经由通信线14与传感器11和致动器12耦合。此外,安全开关230连接至MCU 10以控制连接的设备11、12。
在图1b中示出了可以应用在车辆中的更复杂系统。存在多个MCU10a-10d,每个MCU 10a-10d耦合至传感器11c、11d或致动器12a、12b。MCU耦合至可以是车载网络(IVN)的通信线14。明显地,更复杂设置可能涉及更多个MCU以及每个MCU若干传感器、致动器或网络。
传感器11d可以是冲击传感器,需要该冲击传感器用于确定是否应当开启气囊(点火管(squib))12a的爆炸包。传感器11c可以是用于测量到目标的距离的传感器,该传感器还可以用于确定辅助制动装置是否应当干预驾驶员控制。致动器12a、12b例如可以是至少一个点火管、或制动辅助装置或ABS系统的一个压力调节器。
由传感器11c、11d提供的信息在MCU 10c、10d内被处理,并传送至相应MCU 10a或10b以根据应用来控制相应的致动器12a、12b。同样,本实施例可以为所有连接设备11c、11d、12a、12b配备安全开关(未示出)。
在图2中,示出了MCU内交互的非常概要的图示。MCU是片上系统(SOC),包括其上至少运行安全软件和安全完整性软件220的CPU210。
看门狗240监控软件220的操作。此外,MCU包括:一个或多个监控单元250,针对一致性连续地检查MCU组件的行为(未示出)。本发明的系统的中央组件是在图2的中部示出的SSU 200。容易认识到,SSU200从软件220、从至少一个监控单元250和/或从看门狗240接收信息。SSU 200基于接收到的信息(例如,错误代码)确定反应,以向CPU 210输出指令(例如,重置)、向安全完整性软件220输出指令(例如,关于错误状态的信息)、向监控单元250输出指令(例如,以强制监控单元250的特定行为)、或向布置在MCU外部的安全开关230输出指令。
SSU 200与MCU 10的单独组件交互。第一交互在SSU 200和安全完整性软件220之间发生。这是由与运行在CPU 210上的软件安全完整性功能紧密交互的需要引起的,因为软件安全完整性功能比SSU 200更容易实现专用安全行为。此外,SSU 200可以触发错误反应(如重置)或安全开关230,或者要求软件做出适当反应。然而,在接收到来自安全完整性软件的请求或命令的情况下,还可能在SSU 200和安全软件之间存在交互。
因此,SSU 200汇集来自硬件组件的关于错误或未预期情况的报告,并使反应与软件安全功能相配合。此外,SSU执行措施以避免与系统安全相关的紧急情况。
在图3中示出了SSU 200的内部结构。SSU 200包括有限状态自动机,该有限状态自动机接收多个信息并输出多个信息。此外,SSU 200包括至少一个计数器350、至少一个定时器340以及软件交互寄存器320。
计数器350、定时器340和软件交互寄存器320的布置允许更复杂的交互(例如,延迟响应、计数或交互期限),而无需扩大FSA本身。软件交互寄存器320接收来自FSA 300的预期错误条件应答322。与该信息并行地,向软件220通知该错误条件321。软件交互寄存器320接收来自软件220的应答,在软件寄存器320中对该应答进行比较,其中,在软件反应不是所期望的情况下,通知FSA 300。一般而言,可以假定将默认软件反应为好。因此,仅当软件反应不是所期望的或系统安全时间太短以至于无法在SSU 200和软件220之间进行交互时,才需要触发FSA的任何输出的事件。
此外,对于与对所报告的错误条件的软件反应是否不好有关的信息,如果在预定时间内没有发生反应,则软件交互寄存器320向FSA300提供“时间已到”信号323。
在对SSU的组件的特征进行说明之前,将对FSA 300的内部结构进行说明,在图4中更详细示出了该内部结构。FSA 300包括用于从SSU的组件或从MCU的组件接收软件请求或事件。将输入信号提供给代表FSA核心的状态切换单元306。FSA 300可以具有多个状态切换单元,然而出于简要考虑仅示出了一个状态切换单元306。状态切换单元306负责确定从先前内部状态到当前内部状态的转换。因此,状态切换单元306提供以下功能:状态×事件→转换
状态切换单元306耦合至执行单元307,执行单元307执行与转换相关联的非常简单的动作(如设置SSU内部寄存器),其中,在执行预定功能之后将新状态提供回至状态切换单元306。这允许容易地将若干连续动作与一个转换或新状态相关联。这是有必要的,因为FSA 300必须与若干SSU组件、MCU组件以及MCU的外部组件(例如,安全开关)交互。利用每次转换一个动作的实现将需要若干无条件转换来复制相同功能。为了使FSA保持简单并从而容易可靠地实现,执行单元307可以仅执行非常基本的命令,例如,将信号线设置为高或低逻辑电平,将SSU内部寄存器设置为特定值,或设置SSU内部寄存器中的比特。类似比较的任何功能转移至FSA外部的其他组件(例如,转移至软件交互寄存器或计数器)。在MCU上执行若干安全相关功能的情况下可以使用多个状态切换单元306,其中每个状态切换单元306与SSU中的不同种类的FSA交互。此外,FSA 300包括标志寄存器308,标志寄存器308可以用于存储附加信息以避免增加状态的数目。FSA 300的新内部状态可以由执行单元307发起。备选地,如果执行单元307在其已经执行与转换相关联地所有动作时提供确认,则还可以在状态切换单元306中直接计算FSA 300的新内部状态。将FSA的状态×事件→转换表以及要由执行单元307执行的动作列表存储在存储单元309中。该存储单元309可以是针对固定反应的ROM,或者可以是用于使指令在FSA的整个使用期内保持有效或至少直到下次软件更新为止保持有效的闪速或RAM存储器。
执行单元307向CPU 210或安全开关320输出指令,如,中断请求(IRQ)或重置信号。此外,可以输出用于操纵寄存器320的指令。
SSU 200包括:一个或多个定时器340,使得能够等待预定时间以例如延长重置从而允许可能的软件清除或等待错误自检。为此,定时器340可以启动由FSA 300输出的信息341、342所设置或启动的定时器之一。定时器340在达到预定时间限制之后向FSA提供“时间已到”信号343。因此,当特定定时器已经期满时,FSA 300可以根据所提供的信息切换至另一状态。
此外,SSU 200包括:计数器350,计数器350可以包括多个不同计数。计数可以经由信号351、352由FSA 300来设置和递增/递减,或者通过信号353来重置。在已经达到特定阈值的情况下,计数器350经由信号344通知FSA 300已经达到特定计数限制。因此,可以在放弃之前应用特定数目的重置或对剩余冗余进行计数。通过使用布置在有限状态自动机外部的计数器350,由于专用计数器可以由FSA设置、增加或重置,并将在达到限制时仅发送一次通知,所以可以避免FSA 300中的状态爆炸。
此外,FSA 300可以触发安全开关320或可以重置CPU 210或整个MCU 10。在预定错误的情况下,FSA 300可以指示监控单元250将MCU的输出强制为特定值。此外,FSA接收来自安全完整性软件的的命令,以启动安全开关的诊断或允许安全功能,所述安全功能是由软件来实现的,以触发安全开关320本身。然而,安全功能要求FSA触发安全开关320,其中,FSA 300将基于其内部状态和接收到的信息来判定是否可以触发安全开关230。因此,避免在错误操作安全完整性软件的情况下错误地触发安全开关。
此外,安全完整性软件220通知FSA 300关于由以软件实现的安全功能所检测到的错误,这可能减少剩余冗余,尽管硬件看起来仍旧正确。如上所述,监控单元250或其他硬件组件可以通知FSA 300关于所检测的错误以影响对所检测的错误的反应。
以下,将更详细解释软件交互寄存器320的操作。软件交互寄存器320包括用于存储软件220的应答的寄存器329,和用于存储预期结果的寄存器327,该预期结果由FSA 300基于检测到的错误条件写入。由于适当内部连接,确保寄存器329仅能够由CPU(这意味着由软件),以及寄存器327仅可以由SSU组件写入。如图3所示,在错误的情况下,FSA 300向安全完整性软件通知已经发生特定错误。并行地,基于错误,将预期错误代码应答写入寄存器327中。当写入预期错误条件应答时,启动定时器326。
如上所述,还将错误条件传输至安全完整性软件220,该安全完整性软件220可以单独或与其他软件部件220结合解决错误,并且然后将向软件交互寄存器320提供存储在寄存器329中的相应信息325。在比较单元328中对来自软件的应答进行比较。在软件反应为好的情况下,软件将利用正确应答进行计算和响应。经由信息324将这一点报告给FSA 300。这同样适用于在软件反应不是所预期的情况,引起不正确应答。此外,当在定时器326期满之前还没有接收到来自软件220的信息时,由于软件220不能够在时间内校正错误,所以软件交互寄存器320向FSA提供“时间已到”信号323,以提供由FSA 300作出反应的可能。
在软件还没有对第一错误作出反应的同时发生第二错误的情况下(例如,由于当要写入预期结果327时软件交互寄存器320的定时器326仍在运行,所以可以检测到第二错误),优选反应是FSA 300触发安全开关。备选地,在FSA 300中,可以集成若干软件交互寄存器320,或者通过适当状态和转换来解决这种情况。
以下,提供了给出状态转换以及SSU的相应操作的的示例的表,SSU经由两个I/O端口接收来自冗余传感器的数据,对数据进行预处理并经由车载网络转发。
请注意,该表不是完整的,并且没有覆盖所有可能的操作。同样,该表仅作为教育示例,并从而包含不适合在安全关键系统中使用的转换和反应。
  Nr.   事件   状态   其他条件   动作
  1   CPU故障、总线故障、MCU附属故障   除了关闭以外的所有状态   -   重置MCU禁用经由IVN的信息转发清除“recoverable”标志新状态:关闭
  Nr.   事件   状态   其他条件   动作
  2   看门狗通知   除了关闭以外的所有状态   -   重置SW禁用经由IVN的信息转发设置“recoverable”标志新状态:关闭
  3   输入IO 0故障   好或存储器故障   通知SW增加IO故障计数器命令软件交互寄存器预期在预置时间(sst)内的SW响应A新状态:IO故障
  4   输入IO 1故障   好或存储器故障   通知SW增加IO故障计数器命令软件交互
  寄存器预期在预置时间(sst)内的SW响应B新状态:IO故障
  5   IO故障计数器达到其限制(即,>1)   IO故障或存储器故障   通知SW(可能期望发送最终消息)针对预置时间(y)启动关闭延迟定时器新状态:IO双故障
  Nr.   事件   状态   其他条件   动作
  6   SW报告传感器之间的不一致性   除了关闭以外的所有状态   -   增加IO故障计数器新状态:与之前相同
  7   存储器故障   好或IO故障或IO双故障   -   通知SW期望在预置时间(sst)内响应D新状态:存储器故障
  8   网络IO故障   除了关闭以外的所有状态   -   通知SW(错误代码、IRQ?)禁用经由IVN的信息转发
  清除“recoverable”标志新状态:关闭
  9   SW交互定时   除了关闭以   预期SW不响应   重置SW
  器期满   外的所有状态   禁用经由IVN的信息转发设置“recoverable”标志新状态:关闭
  Nr.   事件   状态   其他条件   动作
  10   SW交互寄存器中SW作出的错误响应   除了关闭以外的所有状态   -   重置SW禁用经由IVN的信息转发设置“recoverable”标志停止SW交互寄存器定时器新状态:关闭
  11   关闭延迟定时器期满(定时器在第五行启动)   IO双故障   -   重置MCU禁用经由IVN的信息转发新状态:关闭
  12   重新启动   关闭   设置“Recoverable”标志   重新启用经由IVN的信息转发新状态:好
该表列出了事件(典型地,错误报告)和状态,其中将由SSU来处理的该事件。该示例中相关的状态是“好”、“IO故障”、“IO双故障”、“存储器故障”以及“关闭”。在该示例中存在被初始化为极限2的一个计数器(“IO故障计数器”),定时器(“关闭延迟定时器”)以及标志(“Recoverable”)。若干监控单元对CPU、总线、存储器、输入IP端口、网络IO端口、以及MCU的一些辅助组件(例如,时钟产生)进行监管。SSU的动作包括:重置MCU(MCU的一部分),和设置SSU内部的寄存器。
如许多情况中所见,如果安全完整性软件在系统安全时间(sst)内正确应答SSU通知(见例如第三行,本身不包含任何SSU的安全相关动作),则在CPU上运行的安全完整性软件有机会来断言要“受控”的错误。有时,还给予SW时间来清除动作,例如,向网络上的其他MCU通知第一MCU由于错误将要关闭(参见行5)。在其他情况下,当根据启动(行1)行或由于缺乏一致响应(行9和10)而质疑安全完整性软件的正确执行时,SSU独立操作以确保系统的安全状态。

Claims (10)

1.一种用于为至少一个微控制器单元(10)提供容错能力的系统,以下微控制器单元(10)被称作MCU(10),MCU(10)适于从耦合至MCU(10)的至少一个设备(11)接收信息,以及向耦合至MCU(10)的至少另一个设备(12)输出信息,所述MCU(10)包括:
CPU(210);以及
以下被称作SSU(200)的系统监管单元(200),用于对在SSU(200)处接收到的信息(301、302、303、325)中包含的错误报告作出反应;其中,SSU(200)适于基于接收到的信息(301、302、303)以及基于MCU(10)的状态历史切换至多个预定状态之一;并且
向MCU(10)或耦合至MCU(10)的外部控制设备(230)输出至少一个指令,以基于SSU所切换至的新状态来控制至少MCU(10)和/或所连接的设备(11、12)。
2.根据权利要求1所述的系统,其中,SSU(200)还包括以下被称作FSA(300)的有限状态自动机,FSA(300)包括:
信息输入端口(310),适于从MCU(10)或从SSU(200)的组件接收信息(301、302、303、325);
状态切换单元(306),适于基于在信息输入(310)处接收到信息(301、302、303)以及基于MCU(10)的状态历史切换至多个预定状态之一;
执行单元(307),适于读取状态切换单元(306)的当前内部状态,并执行与当前内部状态相关联的至少一个动作;以及
信息输出端口(311),适于向MCU(10)或外部控制设备(230)输出所述至少一个指令。
3.根据权利要求1或2所述的系统,其中,执行单元(307)能够设置信号线的逻辑电平,或者将SSU内部寄存器设置为预定值。
4.根据权利要求1至3之一所述的系统,其中,外部控制设备被实现为安全开关(230),并适于通过向MCU(10)和/或所连接的设备(11、12)传输第一预定指令来将受控系统转换到安全状态。
5.根据权利要求1至4之一所述的系统,其中,MCU(10)还包括在CPU(210)上运行的软件(220),所述软件(220)接收来自SSU(220)的信息并适于向SSU(200)输出信息。
6.根据权利要求5所述的系统,其中,SSU(200)还包括:软件交互寄存器(320),适于将由FSA(300)发送的预期错误代码应答(322)与在SSU向软件(220)通知错误之后从软件(220)接收到的错误代码应答(ACK)进行比较。
7.根据权利要求6所述的系统,其中,软件交互寄存器(320)适于接收来自软件(220)的错误代码应答(325),所述错误代码应答(325)指示FSA(300)检测到的错误是否能够由所述软件解决;在软件(220)解决所述错误的情况下,错误代码应答(325)与预期错误代码应答相对应;在软件(220)不解决所述错误的情况下,所述软件不发送相应应答;向SSU(200)传输对应的结果(324)。
8.根据权利要求1至7之一所述的系统,还包括:至少一个监控单元(250),适于检测MCU(10)的各个部件中的错误,并将这些错误报告给SSU(200),其中,监控单元(250)向SSU(200)输出指示预定错误的错误报告。
9.根据权利要求1至8之一所述的系统,其中,SSU还包括:计数器(350),适于启动至少一个计数、递增或递减所述至少一个计数、和/或基于FSA(300)的内部状态来重置所述至少一个计数。
10.根据权利要求1至9之一所述的系统,还包括:定时器(340),适于基于FSA(300)的内部状态来启动和停止至少一个定时器,以及在预定时间间隔期满的情况下输出时间已到信号(343)。
CN200880103171XA 2007-08-17 2008-08-07 为至少一个微控制器单元提供容错的系统 Expired - Fee Related CN101779193B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP07114495.0 2007-08-17
EP07114495 2007-08-17
PCT/IB2008/053178 WO2009024884A2 (en) 2007-08-17 2008-08-07 System for providing fault tolerance for at least one micro controller unit

Publications (2)

Publication Number Publication Date
CN101779193A true CN101779193A (zh) 2010-07-14
CN101779193B CN101779193B (zh) 2012-11-21

Family

ID=40328636

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200880103171XA Expired - Fee Related CN101779193B (zh) 2007-08-17 2008-08-07 为至少一个微控制器单元提供容错的系统

Country Status (4)

Country Link
US (1) US20110072313A1 (zh)
EP (1) EP2191373A2 (zh)
CN (1) CN101779193B (zh)
WO (1) WO2009024884A2 (zh)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257903A (zh) * 2012-02-15 2013-08-21 英飞凌科技股份有限公司 用于输出错误条件信号的错误信号处理单元、设备和方法
CN104714855A (zh) * 2013-12-16 2015-06-17 雅特生嵌入式计算有限公司 安全系统中的输入/输出操作
US9218236B2 (en) 2012-10-29 2015-12-22 Infineon Technologies Ag Error signal handling unit, device and method for outputting an error condition signal
CN116155389A (zh) * 2023-02-28 2023-05-23 光彩芯辰(浙江)科技有限公司 一种光模块调试系统和方法

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8290746B2 (en) * 2009-06-30 2012-10-16 Oracle America, Inc. Embedded microcontrollers classifying signatures of components for predictive maintenance in computer servers
WO2012044085A2 (en) 2010-10-01 2012-04-05 Lg Electronics Inc. Attention commands enhancement
JP5772865B2 (ja) * 2013-04-17 2015-09-02 トヨタ自動車株式会社 安全制御装置、安全制御方法、及び制御プログラム
US9823959B2 (en) * 2013-05-13 2017-11-21 Nxp Usa, Inc. Microcontroller unit and method of operating a microcontroller unit
DE102013224695A1 (de) * 2013-12-03 2015-06-03 Robert Bosch Gmbh Verfahren zum Überwachen eines Mikrocontrollers
US9547328B2 (en) * 2014-02-12 2017-01-17 Ge-Hitachi Nuclear Energy Americas Llc Methods and apparatuses for reducing common mode failures of nuclear safety-related software control systems

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4707694A (en) * 1984-03-02 1987-11-17 American Telephone And Telegraph Company Telephone system port communication method and apparatus
US4816989A (en) * 1987-04-15 1989-03-28 Allied-Signal Inc. Synchronizer for a fault tolerant multiple node processing system
DE19509558A1 (de) * 1995-03-16 1996-09-19 Abb Patent Gmbh Verfahren zur fehlertoleranten Kommunikation unter hohen Echtzeitbedingungen
DE19511842A1 (de) * 1995-03-31 1996-10-02 Teves Gmbh Alfred Verfahren und Schaltungsanordnung zur Überwachung einer Datenverarbeitungsschaltung
US5739592A (en) * 1996-01-31 1998-04-14 Grote Industries, Inc. Power and communications link between a tractor and trailer
CN1186984A (zh) * 1997-01-03 1998-07-08 合泰半导体股份有限公司 微控制器的改错方法与装置
US6256738B1 (en) * 1998-10-20 2001-07-03 Midbar Tech (1998) Ltd. CLV carrier copy protection system
US7131108B1 (en) * 2000-04-17 2006-10-31 Ncr Corporation Software development system having particular adaptability to financial payment switches
JP2002158732A (ja) * 2000-11-17 2002-05-31 Toshiba Corp 通信装置の切り換え制御システム及び切り換え制御方法
US6687104B2 (en) * 2002-04-12 2004-02-03 Visteon Global Technologies, Inc. Algorithm for detecting faults on electrical control lines
US6701874B1 (en) * 2003-03-05 2004-03-09 Honeywell International Inc. Method and apparatus for thermal powered control
US7334158B2 (en) * 2004-06-29 2008-02-19 Intel Corporation Power fault handling method, apparatus, and system
DE102004057788B4 (de) * 2004-11-30 2006-10-19 Infineon Technologies Ag Verfahren zum Betreiben eines an ein Bus-, insbesondere LIN-Bus-System anschliessbaren System-Moduls, sowie Halbleiter-Bauelement
US20060280019A1 (en) * 2005-06-13 2006-12-14 Burton Edward A Error based supply regulation
US7899977B2 (en) * 2006-12-08 2011-03-01 Pandya Ashish A Programmable intelligent search memory

Cited By (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103257903A (zh) * 2012-02-15 2013-08-21 英飞凌科技股份有限公司 用于输出错误条件信号的错误信号处理单元、设备和方法
CN103257903B (zh) * 2012-02-15 2017-04-12 英飞凌科技股份有限公司 用于输出错误条件信号的错误信号处理单元、设备和方法
US9218236B2 (en) 2012-10-29 2015-12-22 Infineon Technologies Ag Error signal handling unit, device and method for outputting an error condition signal
CN104714855A (zh) * 2013-12-16 2015-06-17 雅特生嵌入式计算有限公司 安全系统中的输入/输出操作
US9747184B2 (en) 2013-12-16 2017-08-29 Artesyn Embedded Computing, Inc. Operation of I/O in a safe system
US10120772B2 (en) 2013-12-16 2018-11-06 Artesyn Embedded Computing, Inc. Operation of I/O in a safe system
CN104714855B (zh) * 2013-12-16 2018-12-14 雅特生嵌入式计算有限公司 安全系统中的输入/输出操作
CN116155389A (zh) * 2023-02-28 2023-05-23 光彩芯辰(浙江)科技有限公司 一种光模块调试系统和方法
CN116155389B (zh) * 2023-02-28 2023-10-27 光彩芯辰(浙江)科技有限公司 一种光模块调试系统和方法

Also Published As

Publication number Publication date
WO2009024884A2 (en) 2009-02-26
US20110072313A1 (en) 2011-03-24
WO2009024884A3 (en) 2009-10-29
CN101779193B (zh) 2012-11-21
EP2191373A2 (en) 2010-06-02

Similar Documents

Publication Publication Date Title
CN101779193B (zh) 为至少一个微控制器单元提供容错的系统
CN103262045B (zh) 具有容错架构的微处理器系统
RU2585262C2 (ru) Контрольно-вычислительная система, способ управления контрольно-вычислительной системой, а также применение контрольно-вычислительной системы
US7870299B1 (en) Advanced logic system
US7120820B2 (en) Redundant control system and control computer and peripheral unit for a control system of this type
US9934111B2 (en) Control and data transmission system, process device, and method for redundant process control with decentralized redundancy
US9207661B2 (en) Dual core architecture of a control module of an engine
JP2008009795A (ja) 診断装置,回線診断方法及び回線診断プログラム
JP2008009792A (ja) 通信制御システム及び通信制御方法
JP2002358106A (ja) 安全コントローラ
JP2011043957A (ja) 障害監視回路、半導体集積回路及び故障個所特定方法
RU2284929C2 (ru) Способ управления компонентом важной для обеспечения безопасности распределенной системы
US7149925B2 (en) Peripheral component with high error protection for stored programmable controls
US7945818B2 (en) Method and apparatus for converting multichannel messages into a single-channel safe message
US11531048B2 (en) Voltage diagnostic circuit
US7337020B2 (en) Open-loop and closed-loop control unit
KR20080077334A (ko) 부하를 활성화하기 위한 스위칭 장치 및 대응 방법
US8831912B2 (en) Checking of functions of a control system having components
Sundaram et al. Controller integrity in automotive failsafe system architectures
JP2010541056A (ja) 給電電圧監視されるマイクロコントローラを有する車両制御ユニット、および関連の方法
US7539564B2 (en) Device and method for central on-board diagnosis for motor vehicles
JPH0261755A (ja) 2台のプロセッサを有するコンピュータシステムを監視する装置
CN110114805B (zh) 防火控制单元
EP3736583A1 (en) System and method to provide safety partition for automotive system-on-a-chip
JP6716429B2 (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
C17 Cessation of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20121121

Termination date: 20130807