车辆控制装置的制作方法

文档序号:12287799阅读:217来源:国知局
车辆控制装置的制作方法

本发明涉及车辆控制装置。



背景技术:

在汽车、电梯、建设机械等技术领域,使用通过嵌入式软件对控制对象进行控制的嵌入式控制装置。嵌入式软件与现有的利用机械机构和电路的控制方式相比能够列举能实现灵活且高度的控制的优点。

在这样的嵌入式控制装置中,例如车辆控制装置近年来急剧地向高性能化迈进,由此引起CPU(Central Processing Unit:中央处理器)的运算量增加的问题。为了解决该问题,正在研发通过实现增加CPU内核的数量的多核化或多CPU化而提高每单位时间的运算量的配置。

但是,在多核处理器上高效地运行以单核处理器为前提研发的已有的软件时存在很多问题。特别是在确立将程序的执行顺序制约严格的车辆控制软件并行分配给多个内核的任务分配方式时存在大的问题。

下述专利文献1记载有高效地将按用于单核处理器而研发的已有的车辆控制软件分配给多个内核的技术。在该文献中,通过根据软件的依存关系和进度状况将任务分配给等待处理的内核来确保已有程序的执行顺序。

下述专利文献2记载有确保在发生所需的CPU利用率大的任务时也能够执行其任务的可能性而与现有技术相比提高实时性的技术。在该文献中,根据任务被要求的时间制约和实时任务的所需计算量计算任务满足时间制约所需的CPU利用率,以使得计算出的CPU利用率成为最大的方式分配任务。

现有技术文献

专利文献

专利文献1:日本特开2012-108576号公报

专利文献2:日本特开2010-277171号公报



技术实现要素:

发明所要解决的问题

上述专利文献1记载的技术未考虑具有多个控制周期的软件的处理。例如在车辆控制软件的情况下,在控制一个系统的软件中混杂有具有多个控制周期的程序(即,有在相互不同的执行周期执行的多个程序)的情况较多。专利文献1记载的技术未考虑控制周期引起的差异,本来应该优先控制周期短的软件延迟执行,存在超过最后期限的可能性。

上述专利文献2记载的技术未考虑程序的依存关系。例如在车辆控制软件的情况下,需要考虑要求严格满足从传感器值信息的取得到执行器控制值的计算为止的程序执行顺序制约等程序间的依存关系来分配任务。专利文献2记载的技术由于以没有执行顺序制约的任务为前提,所以不能如车辆控制软件那样将具有执行顺序制约的软件正确地分配给多个内核。

本发明是鉴于上述那样的问题而完成的发明,其目的在于,提供即使在混杂有具有两个以上的控制周期的软件的情况下也能够以满足最后期限的方式将程序分配给多个内核的车辆控制装置。

用于解决问题的技术方案

本发明的车辆控制装置考虑任务的执行顺序、任务的执行周期和处理器内核之间的通信成本来将各任务分配给处理器内核。

发明的效果

根据本发明的车辆控制装置,即使在使用混杂有多个控制周期、存在任务之间的依存关系的控制软件的情况下,也能够满足各任务的最后期限并同时向处理器内核分配任务。

附图说明

图1是示意地说明向处理器内核分配已有的单核用的车辆控制软件的结果的图。

图2是本发明的车辆控制装置1的系统结构图。

图3是表示任务分配部105的详细结构的图。

图4是表示执行控制参数101的具体例的图。

图5是说明加权部1051的处理的流程图。

图6是表示加权部1051对通信成本进行加权的例子的图。

图7是表示加权通信成本1052的例子的图。

图8是说明任务分派部1053的处理的流程图。

图9是表示任务分派部1053的任务分配结果的示意图。

图10是表示执行日志201的例子的图。

图11是表示车辆控制装置1的变形例的系统结构图。

具体实施方式

<多核的任务分配>

以下,为了容易理解本发明,首先对在多核处理器向各处理器内核分配任务时的问题进行说明,之后对本发明的实施方式进行说明。

图1是示意地说明将已有的单核用的车辆控制软件分配给处理器内核的结果的图。图1的圆内的数字1~10表示作为一个群组的程序单位的任务。圆之间的箭头表示任务之间的依存关系。依存关系是指关于任务的执行顺序或数据交互的依存关系。箭头的方向等于程序的执行顺序制约。例如任务2只可在任务1结束之后执行。在图1中,作为任务的分配目的地存在内核A和内核B两个内核。

图1(a)表示任务的执行周期仅为一个的情况下的任务分配结果。程序根据任务间的依存关系、以使用箭头表示的依存关系不逆转的方式分配至各个内核。由图1(a)右侧的程序执行时的时序图可知,软件由两个内核并行执行,与单核利用时相比以更少的时间完成整个处理。

图1(b)表示混杂有多个控制周期的情况下的任务分配结果。在车辆控制软件中,混杂有按相互不同的控制周期执行的任务的情况较多,因此可以说图1(b)是反映车辆控制软件的实际情况的图。在图1(b)中,任务1、3、7、8、10控制周期为10ms,任务2、4、5、6、9控制周期为5ms。如图1(b)右侧的程序执行时的时序图所示,当在混杂有多个控制周期的情况下使用现有技术分配任务时,存在本来应该优先处理的、控制周期短的任务的处理延迟而引起超期的可能性。在图1(b)中,任务9超过最后期限。

<本发明的实施方式>

图2是本发明的车辆控制装置1的系统结构图。车辆控制装置1包括具有多个处理器内核(此处为102~104)的处理器、任务分配部105。任务分配部105取得执行控制参数101并基于此将任务向各处理器内核分配。处理器将记录有任务分配结果的执行日志201写入存储装置2。

执行控制参数101记录关于控制车辆所需的硬件和软件的信息。更详细而言,记录有多内核结构、总配线、传感器值、控制软件(任务)的控制周期参数1011、优先顺位、最后期限、任务的执行顺序参数1012、内核间的通信成本参数1013等。

控制周期参数1011记录处理器执行的程序(任务)的控制周期。执行顺序参数1012记录处理器执行的程序的执行顺序。此处所谓的执行顺序包括图1中说明的那样的任务之间的依存关系。通信成本参数1013记录在假设为了利用各不相同的处理器内核执行前任务和后任务而需要在处理器内核间进行数据通信的情况下、为此所需的时间。

执行日志201是记录内核102~104的运算结果的一部分或全部的日志,包括控制周期日志202、执行顺序日志203、通信成本日志204。控制周期日志202、执行顺序日志203、通信成本日志204分别对应控制周期参数1011、执行顺序参数1012、通信成本参数1013,记录关于各处理器内核实际执行任务时的控制周期、执行顺序、通信成本的日志。

图3是表示任务分配部105的详细结构的图。任务分配部105具有加权部1051、加权通信成本1052、任务分派部1053。任务分配部105取得执行控制参数101作为输入。加权部1051按照执行控制参数101的记录对内核之间的通信成本进行加权而生成加权通信成本1052。任务分派部1053按照加权通信成本信息1052向各内核分派任务。加权的具体例后述。

图4是表示执行控制参数101的具体例的图。车辆控制装置1执行的软件具有任务1~10。控制周期参数1011记录各任务的控制周期,如图4所示那样混杂有5ms和10ms的控制周期。执行顺序参数1012记录各任务的执行顺序。例如任务2和3在处理完任务1之前不能开始执行。通信成本参数1013记录内核之间的数据通信所用时间。例如在将任务1和任务2分配给了不同的内核的情况下,为了在任务1与2之间数据共享,作为通信成本需要作为依存关系a的通信成本的10μs。由于通信成本仅在不同的内核之间需要,所以例如将任务1与2分配给相同的内核的情况下的通信成本为0。

图5是说明加权部1051的处理的流程图。以下对图5的各步骤进行说明。

(图5:步骤S10511~S10512)

加权部1051在取得执行控制参数101时开始本流程图(S10511)。加权部1051由此取得加权的任务之间的依存关系(执行控制参数101)(S10512)。

(图5:步骤S10513~S10514)

加权部1051根据在步骤S10512取得的依存关系的前任务与后任务各自的控制周期,决定对于通信成本的权重(S10513)。关于加权的想法后述。加权部1051使用在步骤S10513决定的权重针对在步骤S10512取得的依存关系对通信成本进行加权,计算加权通信成本1052。

(图5:步骤S10515)

加权部1051确认是否对执行控制参数101记录的任务之间的所有依存关系完成了加权。在未完成的情况下返回步骤S10512重复同样的处理。在完成的情况下结束本流程图。

图6是表示加权部1051对通信成本赋予的权重的例子的图。任务分派部1053如后述那样将加权通信成本高的任务优先地对处理器内核进行分配。因此,加权部1051对应该早完成的任务、即控制周期短的任务赋予更高的权重。

在图6所示的例子中,在依存关系的后任务的控制周期短(即5ms周期)的情况下,与控制周期长(即10ms周期)的情况相比令权重大。由此成为短周期任务优先对处理器内核分配。进一步,在依存关系的前任务的控制周期短的情况下,与长的情况相比令权重更大。由此,容易集中分配多个短周期任务,因此能够更可靠地遵守最后期限。

图7是表示加权通信成本1052的例子的图。着眼于任务之间的依存关系h和i时,加权前的通信成本是h为30、i为10,因此依存关系h的值更大。但是,观察由加权部1051计算出的加权通信成本1052时,依存关系h为90,依存关系i为100,依存关系i的值更大。这表示进行加权的结果是评价为:作为任务6结束后执行的任务的候选,与依存关系h(任务8)相比,依存关系i(任务9)的优先度更高。因此,任务分派部1053在任务6之后将任务9比任务8更优先地分配给处理器内核。

图8是说明任务分派部1053的处理的流程图。以下对图8的各步骤进行说明。

(图8:步骤S10531~S10532)

任务分派部1053在加权部1051计算完加权通信成本1052时,开始本流程图(S10531)。任务分派部1053列出可分配的所有任务(S10532)。可分配的任务是按照执行顺序参数1012记录的任务之间的依存关系接下来能够向处理器内核分配的任务。

(图8:步骤S10533)

任务分派部1053将可分配的所有任务中加权通信成本最高的任务分配至处理器内核。在可分配的任务中混杂有通信成本是0的任务和不是0任务的情况下,这些任务会分配至不同的处理器内核。这是因为,通信成本是0的任务被分配至与前一个的任务相同的处理器内核,而通信成本不是0的任务被分配至与前一个的任务不同的处理器内核。在这种情况下,优先分配通信成本不是0的任务中加权通信成本最高的任务,通信成本是0的任务与此同时分配至其它处理器内核即可。在通信成本是0的任务存在多个的情况下,将其中权重最大的任务优先分配即可。

(图8:步骤S10534)

任务分派部1053对是否已经将可分配的所有任务分配至处理器内核进行确认。在未分配任务还有剩余的情况下返回步骤S10532重复同样的处理。在全部分配完的情况下结束本流程图。

(图8:步骤S10531~S10534:补充)

任务分派部1053既可以将本流程图说明的任务分派例如仅在从车辆控制装置1起动至处理器开始任务执行为止的期间实施,也可以在处理器开始任务执行之后的适当的时刻(例如处理器负载比较低时)取得执行控制参数101而再次分配任务,还可以将它们同时使用。

图9是表示任务分派部1053的任务分配结果的示意图。如图7中说明的那样,当对能够在任务6之后分配的任务8与9进行比较时,因为任务9的加权通信成本更高,所以将任务9优先分配给处理器内核。因为在任务6完成的时刻内核B执行任务7,所以任务9分配给空闲的内核A。其结果是,控制周期为5ms的所有任务能够在最后期限以内完成。

图10是表示执行日志201的例子的图。执行日志201是在车辆控制装置1的运行中记录各处理器内核执行的任务及其执行时刻的日志。执行日志201内的各日志并不一定作为个别的数据记录,能够为了记录的方便而以适当的格式记录。通过执行日志201,能够把握车辆控制装置1执行的程序的执行时刻、执行顺序、通信时间。例如能够在发生错误时的程序的行迹分析和调试工作中对执行日志201加以利用。通信成本日志204既可以记录实际的通信成本,也可以记录加权通信成本,还可以同时记录它们双方。

车辆控制装置1的处理器在要从特定的时刻(例如发生错误的时刻)保存规定时间前的记录的情况下,对存储装置2的特定存储区域重复记录执行日志201。即,当该存储区域的可用空间用尽时,从该存储区域的旧日志起按顺序由新日志覆盖。或者,在要保存从特定的时刻起一定时间后的记录的情况下,对存储装置2的特定存储区域记录执行日志201,在达到该存储区域的可用空间上限的时刻停止日志输出。在存储装置2的可用空间充足的情况下,也可以不使用上述那样的方法而单纯记录所有执行日志201。

图11是表示车辆控制装置1的变形例的系统结构图。车辆控制装置1并不一定要将执行控制参数101保持在内部,也能够从外部取得。同样,存储装置2也能够设置在车辆控制装置1的内部,也能够作为外部存储装置构成。执行控制参数101既可以以数据文件形式、也可以通过适当的电信号记录执行控制参数101。

<本发明的总结>

如上所述,本发明的车辆控制装置1按照控制周期参数1011和执行顺序参数1012的记录、满足关于任务之间的依存关系和各任务的执行周期的制约并同时将各任务分配给处理器内核。由此,在存在执行顺序制约、最后期限制约的车辆控制软件中也能够满足这些制约并同时有效率地执行任务。

此外,本发明的车辆控制装置1在任务之间的依存关系的后任务为短周期任务的情况下将该任务优先分配给处理器内核。由此,能够更可靠地在最后期限前完成控制周期短的任务。

本发明并不限定于上述的实施方式包括各种变形例。上述实施方式为了使本发明容易理解而进行了详细说明,但是并不必然包括所说明的所有结构。例如在上述实施方式中说明了车辆控制装置的结构例,但是本发明的方式在对其它家庭用设备、工业用设备、医疗设备等进行电子控制的嵌入式系统中也能够应用。

在上述实施方式中,作为控制周期例示了5ms和10ms这两个周期,该数值仅为例示,本发明并不限定于此。此外,在混杂有三种以上控制周期的情况下也能够应用本发明。例如在图6中,以控制周期为两种作为前提地说明了前后任务的组合,不过在具有三种以上控制周期的情况下、也能够对其各组合同样地确定权重。在这种情况下,对前任务和后任务中的任一任务而言均使得控制周期越短的任务权重越大即可。

在上述实施方式中,以控制周期参数1011满足指定的控制周期作为前提,不过在优先度低的任务中,还存在即使一定程度的次数地不满足控制周期也不会产生动作上的妨碍的任务。并不一定优选将这样的任务仅根据控制周期分配。因此也可以将各任务的优先度与控制周期参数1011一起记录,任务分配部105使得越是优先度低的任务越是在不满足控制周期的情况下也被允许(不被当作错误)的次数多。

上述各结构、功能、处理部、处理单元等例如也可以通过利用集成电路进行设计等、利用硬件实现其一部分。此外,上述各结构、功能等也可以通过对信息处理器实现各自的功能的程序进行解释、执行而以软件实现。实现各功能的程序、图表、文件夹等信息能够存储于存储器、硬盘、SSD(Solid State Drive:固态硬盘)等记录装置、IC卡、SD卡、DVD等记录介质。

附图标记的说明

1:车辆控制装置、101:执行控制参数、1011:控制周期参数、1012:执行顺序参数、1013:通信成本参数、102~104:处理器内核、105:任务分配部、1051:加权部、1052:加权通信成本、1053:任务分派部、2:存储装置、201:执行日志、202:控制周期日志、202:执行顺序日志、203:通信成本日志。

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