为至少一个微控制器单元提供容错的系统的制作方法

文档序号:6478069阅读:178来源:国知局

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