确保计算器的操作的方法与流程

文档序号:14518952阅读:205来源:国知局
确保计算器的操作的方法与流程

本发明涉及确保微型计算机中包括的计算器的操作的方法。



背景技术:

具有微型计算机并执行高级别处理的各种设备被广泛使用。例如,在车辆中安装有电子控制单元(ecu)。ecu具有一个或更多个微型计算机并且进行各种车辆控制。为了保持或者提高具有微型计算机的这样的设备的可靠性,提出了由一个微型计算机提供对另一微型计算机的操作的监测的各种技术。

在日本未审查专利申请公开第2009-184423号(jp2009-184423a)中公开了一种包括至少两个微型计算机和监测设备、并且由第二微型计算机和监测设备中的每一个来监测第一微型计算机的操作的设备。

在日本未审查专利申请公开第2014-154043号(jp2014-154043a)中公开了一种通过监测微型计算机来监测马达控制微型计算机的处理负载、并且检测引起异常(诸如处理负载的增加)的过渡现象的设备。

可以在功能级别和实现级别以各种形式来配置微型计算机,并且存在调用微型计算机的每个组成部分的各种方式。基本地,微型计算机包括:存储器,其存储程序、数据等;控制器,其例如访问存储器、获取和执行指令并且与外部单元通信;以及计算器,其进行四种基本算术计算、逻辑计算、关系计算等。



技术实现要素:

图4是涉及根据相关技术的设备的一个示例的功能框图,该设备通过第二微型计算机和监测设备中的每一个来监测第一微型计算机的操作。第一微型计算机910被连接至第二微型计算机920和监测集成电路(ic)930。第一微型计算机910包括第一cpu911、第一计算器912以及第一存储器913。第二微型计算机920包括第二cpu921、第二计算器922以及第二存储器923。当第一cpu911正常操作时,第一cpu911向监测ic930周期性地发送监视脉冲。监测ic930包括监视定时器。例如,当设备启动时,监测ic930启动监视定时器。每当监测ic930接收到监视脉冲时,监测ic930初始化监视定时器。当第一微型计算机910中出现任何异常并且该异常阻止第一cpu911发送监视脉冲时,或者当第一cpu911在第一微型计算机910中检测到异常并且停止发送监视脉冲时,监视定时器不被初始化并且产生超时,而监测ic930向第一微型计算机910发送复位信号。当第一cpu911接收到复位信号时,第一cpu911复位第一微型计算机910。第二微型计算机920监测第一微型计算机910是否正常操作。当第二微型计算机920检测到第一微型计算机910的异常操作时,第二微型计算机920向第一微型计算机910发送复位信号以复位第一微型计算机910。

例如,第一微型计算机910和第二微型计算机920可以被安装在一个ecu中,或者可以被分别安装在两个ecu中。在两种情况中的任一种情况下,由第二微型计算机920监测第一微型计算机910的操作的方法具有许多组成部分,并且该方法执行两个微型计算机之间的通信。因此,配置和处理是复杂的,并且在执行定时上施加了许多约束以便不阻碍用于另一功能操作的处理或通信。因此,不能充分确保第一微型计算机910的操作。此外,不能减少微型计算机的数量,并且不能实现成本降低。

最期望由微型计算机自身来确保该微型计算机的操作。然而,在验证微型计算机中所包括的计算器的情况下,当对计算结果的验证使用作为验证目标的计算器的计算功能时,计算结果是不可靠的,并且不能确保计算器的操作。因此,验证必须使用另一微型计算机的计算器。

本发明提供了由包括计算器的微型计算机来确保该计算器的操作的方法。

本发明的一个方面涉及由包括存储器、计算器以及cpu的微型计算机的cpu执行的确保该计算器的操作的方法。在存储器存储有立即返回至调用方的用于正常操作的函数并存储有在不使用所述计算器的情况下进行用于异常操作的处理的用于异常操作的函数、通过将具有作为起始地址的预定地址的预定大小的区域的所述起始地址与预定值相加而获取的存储器的第一地址存储有所述用于正常操作的函数的地址、并且除所述第一地址之外的存储器的所有地址存储有用于异常操作的函数的地址的状态下,所述方法包括:由cpu使计算器进行预定的操作验证计算,其中所述预定的操作验证计算的作为正常操作中的结果值的正确值被设置为所述预定值;由cpu获取由计算器进行的操作验证计算的所述结果值;由cpu使用cpu的相对地址引用功能来引用通过将存储器的所述起始地址与所获取的结果值相加而获取的地址中存储的地址;以及由cpu执行在所引用的地址处存储的函数。

根据本发明的该方面,在不通过使用另一微型计算机的计算器来比较正确值与本计算器的结果值以确定结果值是否与正确值匹配的情况下,当计算器的结果值与正确值匹配时执行用于正常操作的函数,而当计算器的结果值与正确值不匹配时执行用于异常操作的函数。因为可以由用于异常操作的函数来执行例如复位之类的措施,所以可以在不使用另一微型计算机的情况下确保计算器的正常操作。

在根据本发明的该方面的方法中,用于异常操作的处理可以包括跳转至微型计算机的复位入口地址。

本发明的该方面使微型计算机在异常操作中能够立即被复位。

在根据本发明的该方面的方法中,微型计算机可以在进行用于异常操作的处理之前周期性地输出监视脉冲,并且用于异常操作的处理可以包括停止监视脉冲的输出。

本发明的该方面使异常操作中的微型计算机能够从监测监视脉冲的监测ic接收复位信号,从而复位微型计算机。此外,在复位之前,微型计算机的操作可以继续一段时间。

在根据本发明的该方面的方法中,用于异常操作的处理还可以包括防止中断和进入无限循环。

本发明的该方面使异常操作中的微型计算机能够从监测监视脉冲的监测ic接收复位信号,从而复位微型计算机。此外,可以立即停止微型计算机的操作。

在根据本发明的该方面的方法中,正常操作中的cpu可以被配置成向包括监视定时器的监测ic周期性地发送监视脉冲,并且当监测ic接收到监视脉冲时监测ic可以复位监视定时器。

在根据本发明的该方面的方法中,当cpu停止发送监视脉冲时,监视定时器可以导致超时并且监测ic可以向微型计算机发送复位信号。

本发明的该方面能够提供由包括计算器的微型计算机来确保该计算器的操作的方法。

附图说明

下面将参照附图来描述本发明的示例性实施例的特征、优点以及技术意义和工业意义,附图中,相同的附图标记表示相同的要素,并且其中:

图1是根据本发明的一个实施例的设备的功能框图;

图2是根据本发明的实施例的操作验证处理的流程图;

图3是示出根据本发明的实施例的数组的数据结构的图;

图4是根据相关技术的设备的功能框图;以及

图5是根据比较示例的操作验证处理的流程图。

具体实施方式

本发明提供由微型计算机来确保该微型计算机中所包括的计算器的操作的方法。在本发明中,存储器中的具有从预定起始地址开始的预定大小的区域的第一地址存储有用于正常操作的函数的地址,而该区域的其他地址存储有用于异常操作的函数的地址。cpu使计算器进行作为操作验证处理的操作验证计算。接下来,通过使用cpu的相对地址引用功能来引用通过将起始地址与计算结果的值相加而获取的地址中存储的地址,并且执行在引用的地址处存储的函数。第一地址是通过将起始地址与操作验证计算的正确值相加而获取的地址。当计算器的结果值等于该正确值时,执行用于正常操作的函数。当结果值不等于正确值时,执行用于异常操作的函数。如上所述,当在计算器中出现异常并且该异常生成不等于正确值的计算结果时,执行用于异常操作的函数以启用例如复位之类的措施,而无需通过使用另一微型计算机的计算器来比较计算结果与正确值以确定计算结果是否与正确值匹配。因此,不使用另一微型计算机就可以确保计算器的操作,并且可以确保计算器的正常操作。

在下文中,将通过参照附图来详细描述本发明的一个实施例。

图1是示出根据本实施例的包括微型计算机100和监测ic130的电子设备的功能块的图。微型计算机100包括中央处理单元(cpu)101、计算器102以及存储有各种类型的数据、程序以及例行程序(函数)的存储器103。cpu101进行以下处理:例如,读取和写入存储器103的数据、执行程序(指令)、以及与未示出的连接至微型计算机100的外部设备通信。在执行程序时,当需要时cpu101使计算器102进行计算并且通过使用计算的结果来继续处理。在本说明书中,cpu101与作为操作验证目标的计算器102将被描述为如上所述的分离的功能块。也就是说,cpu101指的是微型计算机100的下述部分:该部分用作进行数据的读取和写入、执行程序、通信等的控制器,并且不用作计算器102。当cpu101正常操作时,cpu101向监测ic130周期性地发送监视脉冲。监测ic130包括监视定时器。当监测ic130接收到监视脉冲时,监测ic130复位监视定时器。当在微型计算机100中出现任何异常并且该异常阻止cpu101发送监视脉冲时,或者当cpu101在微型计算机100中检测到异常并且停止发送监视脉冲时,监视定时器导致超时,并且监测ic130向微型计算机100发送复位信号。当cpu101接收到复位信号时,cpu101复位(初始化或重启)微型计算机100。

存储器103存储有用于操作验证处理的程序和数据。该程序包括下述的用于正常操作的函数和用于异常操作的函数。当由数组allay[n](n=0,1,2,...,n)来表示存储器103的具有从预定地址开始的预定地址范围的区域时,对于预定值y(0,1,2,...,n中的任一个),allay[y](对应于第一地址)存储有用于正常操作的函数的地址值(函数指针)。除了allay[y]之外的allay[0]至allay[n]的所有元素存储有用于异常操作的函数(其进行用于异常操作的处理)的地址值(函数指针)。图3示意性地示出存储器103中的数组的结构。y是下述预定的测试计算f(x)(x是预定的参数)的正确值。

存储器103可以是rom,并且预先在固定的区域存储程序和数据。存储器103可以是ram,并且cpu101可以动态得到ram中的区域并且从另一存储器等向所述区域中适当地加载程序和数据。当存储器103是ram时,每次执行操作验证处理时cpu101例如可以紧接在进行下述的操作验证处理之前得到用于数组的区域并且加载地址值,以便保护地址值的可靠性。

图2示出表示根据本实施例的由微型计算机100的cpu101执行以便验证计算器102的操作的处理的流程图。将在下文中描述流程图的每一个步骤。

[步骤s11]:cpu101使计算器102执行预定的测试计算f(x)(x是预定的参数)。根据计算器102的特点来确定计算的类型,例如加、减、乘、除、比特移位以及逻辑计算,使得当计算器102的计算功能存在异常时获取到除正确值之外的计算结果。

[步骤s12]:cpu101获取计算器102的计算结果的值y。

[步骤s13]:cpu101引用通过将存储器103的预定地址allay[0]与计算结果的值y相加而获取的地址。也就是说,cpu101引用数组的元素allay[y]的值。通过使用cpu101的相对地址引用功能来执行相加处理,并且因此可以不使用计算器102来执行相加处理。

[步骤s14]:cpu101执行以下函数:该函数的地址等于在步骤s13中引用的allay[y]的值。cpu101跳转至引用的函数指针。用于异常操作的函数包括一组不使用计算器102的指令,使得即使当在计算器102中存在异常时也可以执行用于异常操作的函数。

当步骤s11中的计算器102的计算结果的值y等于正确值y时,也就是说,当计算器102正常操作时,在步骤s14中执行用于正常操作的函数。用于正常操作的函数是不进行任何处理的函数(立即返回至调用方的函数)。因此,当前流程立即终止。

当步骤s11中的计算器102的计算结果的值y不等于正确值y时,也就是说,当计算器102异常操作时,在步骤s14中执行用于异常操作的函数。

如上所述,在步骤s14中,因此通过确定计算结果的值y是否等于正确值y来执行不同的处理,而无需通过使用计算器102的比较功能来分支。

用于异常操作的函数的处理的示例包括复位微型计算机100的处理。当计算器102的异常操作是由暂时原因引起时,通过复位和重启微型计算机100,计算器102恢复并且正常地操作。即使当计算器102由于永久性故障而异常地操作并且不能恢复且不能正常操作时,也可以通过在重启期间操作其他安全功能来采取诸如停止微型计算机100的操作和进行警报通知的安全措施。可以进行诸如停止微型计算机100的预定功能的处理,而不是复位微型计算机100。

如在本示例中,当监测ic130基于由微型计算机100输出的监视脉冲来监测微型计算机100时,复位微型计算机100的处理的示例包括停止监视脉冲的输出的处理。在这种情况下,微型计算机100可以在微型计算机100从监测ic130接收到复位信号之前退出用于异常操作的函数,并且继续各种类型的功能操作。除了停止监视脉冲的输出的处理之外,微型计算机100还可以被防止中断并且进入无限循环。在这种情况下,微型计算机100可以立即停止各种类型的功能操作。功能操作可以被设计成基于安全性而继续或立即停止,而不管由计算器102中的异常引起的影响是否显著等。复位微型计算机100的处理可以是跳转至复位入口地址(例如启动处理的起始地址)的处理。在这种情况下,微型计算机100被立即初始化并且重启。还可以将该处理应用于未布置由监测ic130等监测监视脉冲的配置的情况。当用于异常操作的函数包括无限循环或跳转至复位入口地址的处理时,通过复位微型计算机100,流程不会以从用于异常操作的函数退出的形式而终止,而会以停止的形式而终止。

不限制进行操作验证处理的定时。例如,操作验证处理可以在每次进行用于向监测ic130发送监视脉冲的周期性中断处理时进行,或者在进行该周期性中断处理预定次数时进行,或者可以以其他定时来进行。

操作验证处理可以被始终周期性地执行,或者可以在预定功能工作时被执行。在具有多个微型计算机的设备或系统中,所有的微型计算机可以进行操作验证处理,或者具有重要功能的部分微型计算机可以进行操作验证处理。例如,在车载式系统中,具有行驶功能的ecu的微型计算机可以在车辆的行驶期间执行操作验证处理。

在这之前描述的步骤s11至s14的操作验证处理中,通过使用cpu101的相对地址引用功能,cpu101可以在计算器102的计算结果匹配正确值时执行用于正常操作的处理,并且可以在计算器102的计算结果不匹配正确值时执行用于异常操作的处理。因此,不通过使用另一微型计算机的计算器来将计算器102的计算结果与正确值进行比较。如上所述,因为一个微型计算机100可以以自包含(self-contained)的方式来验证计算器102的操作,所以没有进行两个微型计算机之间的通信。因此,增加了执行定时的自由度,并且可以充分确保微型计算机100的操作。未布置第二微型计算机来验证计算器102,因此可以容易地实现设备或整个系统的成本降低。该处理方法可以被应用于包括微型计算机的各种设备或系统。比较示例

出于与实施例比较的目的,将描述由在图4中示出的设备中的第二微型计算机920进行的对第一微型计算机910中包括的第一计算器912的操作的验证。

在本比较示例中,第二微型计算机920使第二计算器922将第一计算器912的计算结果与正确值进行比较。图5示出了表示由第一cpu911和第二cpu921执行的操作验证处理的流程图。将在下文中描述流程图的每一个步骤。

[步骤s91]:第一微型计算机910的第一cpu911使第一计算器912执行预定的测试计算f(x)(x是预定的参数)。[步骤s92]:第一cpu911获取第一计算器912的计算结果y,并且向第二微型计算机920发送计算结果y。[步骤s93]:第二微型计算机920的第二cpu921接收计算结果y。[步骤s94]:第二cpu921使第二计算器922将计算结果y与正确值y进行比较,以便确定计算结果y是否等于正确值y。正确值y可以是由第二计算器922执行计算f(x)的结果的值,或者可以是提前给出的预定值。[步骤s95]:第二cpu921获取比较结果。当计算结果y等于正确值y时,第二cpu921终止处理。当计算结果y不等于正确值y时,第二cpu921转到步骤s96。[步骤s96]:第二cpu921向第一微型计算机910发送复位信号并且终止处理。

该方法具有许多组成部分,进行两个微型计算机之间的通信,并且使每一个微型计算机进行处理。因此,在执行定时上施加了许多限制,并且不能充分确保第一计算器912的操作。该方法使用第二微型计算机,并且不能实现成本降低。

本发明对于包括微型计算机的各种设备或系统是有用的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1