CN104094233A - 车辆用控制装置 - Google Patents

车辆用控制装置 Download PDF

Info

Publication number
CN104094233A
CN104094233A CN201380008189.2A CN201380008189A CN104094233A CN 104094233 A CN104094233 A CN 104094233A CN 201380008189 A CN201380008189 A CN 201380008189A CN 104094233 A CN104094233 A CN 104094233A
Authority
CN
China
Prior art keywords
data
mentioned
arithmetic unit
handling part
renewal
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
CN201380008189.2A
Other languages
English (en)
Other versions
CN104094233B (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.)
Hitachi Astemo Ltd
Original Assignee
Hitachi Automotive Systems Ltd
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 Hitachi Automotive Systems Ltd filed Critical Hitachi Automotive Systems Ltd
Publication of CN104094233A publication Critical patent/CN104094233A/zh
Application granted granted Critical
Publication of CN104094233B publication Critical patent/CN104094233B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/3001Arithmetic instructions
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B60VEHICLES IN GENERAL
    • B60RVEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
    • B60R16/00Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
    • B60R16/02Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30003Arrangements for executing specific machine instructions
    • G06F9/30007Arrangements for executing specific machine instructions to perform operations on data operands
    • G06F9/30032Movement instructions, e.g. MOVE, SHIFT, ROTATE, SHUFFLE
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/52Program synchronisation; Mutual exclusion, e.g. by means of semaphores

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Mechanical Engineering (AREA)
  • Computational Mathematics (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Combined Controls Of Internal Combustion Engines (AREA)

Abstract

本发明提供一种车辆用控制装置。若在多个运算装置间对共有存储器的数据缓冲区进行更新处理或参照处理时使用排他控制,则等待时间增大,难以保证实时性。本发明涉及的车辆用控制装置对数据缓冲区进行复用,各运算装置对进行了复用的不同的数据缓冲区进行更新处理和参照处理。此外,对于由数据更新处理进行了更新的一个数据缓冲区,由与执行数据更新处理的运算装置不同的运算装置在比数据更新处理的执行周期更短时间的期间内使对该数据缓冲区进行了复用的数据缓冲区同步。

Description

车辆用控制装置
技术领域
本发明涉及用于在多个运算装置间更新/参照共有存储器的数据的技术。
背景技术
近年的大量的车辆系统由操作电子化的车辆控制机器的ECU即电子控制装置(Electronic Control Unit)、和能够进行多个ECU间的通信的车载LAN(Local Area Network)构成。
在车辆系统中,伴随运算量的增加,开始采用搭载有搭载了多个运算装置(CPU)的多核微型控制器(多核微型计算机)的ECU。在多核微型计算机中,在多个CPU间访问双通道RAM等共有存储器的共有数据(数据的写入或数据的读出)时存在发生数据的竞争的可能性。
作为用于避免数据的竞争的方法,已知有排他控制。排他控制是用于实现访问共有数据的定时不同时发生的手法,使用信号量等。在访问共有数据之前进行信号量的获取,在获取成功的情况下进行数据的更新(写入)、参照(读出)。在数据的更新或参照结束之后进行信号量的释放。信号量的释放仅仅能够由获取信号量的CPU或任务进行。在一方CPU获取了信号量时,如果其他CPU想要获取信号量,则直到信号量被释放为止成为等待状态。信号量被释放后,等待信号量的释放的CPU之中的1个CPU能够获取信号量。多核间的信号量由使多个CPU不能同时获取信号量的硬件实现。
此外,在车辆系统开发中,在每次开发新的车种时,有可能会发生新功能的追加、ECU搭载的多核微型计算机的性能变更,需要变更执行软件的CPU分配。每当CPU分配变更时需要进行变更软件的作业,所以对软件的开发资产进行再利用的工时増大。
在下述专利文献1中,对从运算装置间的双方更新/参照的共有存储器的数据进行复用,通过多个指示器对用于参照的数据和用于更新的数据进行切换。在将最新值新写入空存储器中的情况下,对表示参照用的数据的指示器进行更新。这样,在进行指示器的更新或参照时,由于在运算装置间发生数据的竞争,所以使用排他控制。在执行参照处理时新作成参照用的指示器并参照被复用的数据,所以能够实现使执行的CPU无需意识地访问共有数据。
在先技术文献
专利文献
专利文献1:JP特开2009-110063号公报
发明要解决的课题
在上述专利文献1中,在指示器的更新、参照中使用排他控制,由于所有CPU访问该指示器,所以通过排他控制从而其他的CPU发生等待时间,在要求严格的实时性的发动机控制等高速控制中,存在不能允许该等待时间的课题。特别,若在排他控制中发生执行中的任务的切换(以下,称为抢占),该任务暂时中断,则其他的CPU的等待时间增加,因此可能成为严重的延迟。为了不发生抢占而存在进行嵌入禁止的方法,但是在共有数据的数量较多的情况下,由于嵌入禁止时间的增大会给其他的CPU的处理带来极大的影响,因此不能多用。
发明内容
本发明为了解决上述这样的课题而形成,其目的在于,在搭载共有存储器的多核微型计算机中,提供一种用于没有排他控制所引起的等待时间就进行对共有数据的访问的技术。
用于解决课题的手段
为了解决上述课题,本发明的车辆用控制装置具备:多个运算装置;和共有存储器,其冗余地保存上述多个运算装置共同访问的共有数据;该车辆用控制装置的特征在于,上述共有存储器具备程序区域和数据区域,上述数据区域具备与上述多个运算装置分别对应并冗余地保存上述共有数据的多个数据缓冲区,上述程序区域具备:数据更新处理部,其用于上述多个运算装置中的一个运算装置更新与上述一个运算装置对应的数据缓冲区而保存新的共有数据,并且对上述多个运算装置中的其他的控制装置通知共有数据的更新;数据同步部,其用于上述其他的运算装置在上述通知后,将与上述一个运算装置对应的数据缓冲区的共有数据复制到与上述其他的运算装置对应的数据缓冲区中;和数据参照处理部,其用于上述其他的运算装置参照与上述其他的运算装置对应的数据缓冲区。
发明效果
根据本发明涉及的车辆用控制装置,车辆用控制装置一面通过同步处理来保证数据的一致性,一面参照、更新各CPU用的数据,因此能够没有排他控制的延迟地进行数据访问。
附图说明
图1是实施方式1涉及的发动机控制ECU的构成图。
图2是CPU1用更新类别表的例子。
图3是CPU2用更新类别表的例子。
图4是CPU1用发动机转速的例子。
图5是CPU2用发动机转速的例子。
图6是发动机旋转计算部的动作流程。
图7是实施方式1涉及的数据更新处理部的动作流程。
图8是执行核心判别部的动作流程。
图9是数据同步部的动作流程。
图10是燃料喷射控制部的动作流程。
图11是数据参照处理部的动作流程。
图12是实施方式2涉及的发动机控制ECU的构成图。
图13是CPU1用最新值开关的例子。
图14是CPU2用最新值开关的例子。
图15是CPU3用最新值开关的例子。
图16是发动机转速A的例子。
图17是发动机转速B的例子。
图18是错误计数器的例子。
图19是实施方式2涉及的数据更新处理部的动作流程。
图20是实施方式2涉及的数据参照处理部的动作流程。
图21是发动机转速诊断处理部的动作流程。
具体实施方式
本发明涉及的车辆用控制装置,通过对多个运算装置双方访问的数据进行复用,并根据执行应用的CPU来切换进行访问的对象数据,从而在应用之间不会发生数据访问的竞争。此外,通过执行使复用的数据间的值一致的同步处理,来保证数据的一致性。以下,使用附图来说明本发明的实施方式。
<实施方式1>
图1是本发明的实施方式1涉及的车辆系统的发动机控制ECU1的构成图。发动机控制ECU1具备运算装置101(CPU1)、运算装置102(CPU2)、共有存储器103、输入输出电路116。作为共有存储器103,例如可以是双通道RAM、能进行高速访问的SDRAM等。此外,向发动机控制ECU1输入来自曲柄角传感器117或未图示的发动机的吸入空气量传感器等各种传感器的输入信号,对用于向发动机喷射燃料的喷射器118等致动器进行控制。共有存储器103具有:与喷射器118等致动器的控制处理相关的程序区域104;和用于对控制所需的数据进行二重冗余化来存储的数据存储区域111。程序区域104具有:用于根据曲柄角传感器来计算发动机转速的发动机旋转计算部105;用于对向发动机喷射燃料的期间、定时进行运算的燃料喷射控制部106;用于将发动机转速等数据保存至数据存储区域111中的数据更新处理部107;用于从数据存储区域111获取发动机转速等数据的数据参照处理部108;用于在多个CPU间使冗余化后的数据同步的数据同步部109;和判别正在执行数据更新处理或数据参照处理的CPU的执行核心判别部110。数据存储区域111对在后述的图2中说明的CPU1用更新类别表112、图3的CPU2用更新类别表113、图4的CPU1用发动机转速114、图5的CPU2用发动机转速115进行保存。为了说明的方便,在实施方式1中使用2个运算装置、2个更新类别表、2个发动机转速,但是不限于此。例如,可以是3个运算装置、3个更新类别表、3个发动机转速,也可以是4个运算装置、4个更新类别表、4个发动机转速。
图2是CPU1用更新类别表112的例子。该表表示:识别数据的种类的数据ID1120、表示数据有无更新的更新标记1121、对数据ID所表示的数据进行了更新的CPU编号。为了说明的方便,在实施方式1中使用CPU1用更新类别表,但是不限于此。例如,可以表的结构不同,也可以不实装为表。CPU1用更新类别表112表示运算装置101应同步的数据。
图3是CPU2用更新类别表113的例子。该表的项目与CPU1用更新类别表112相同。为了说明的方便,在实施方式1中使用CPU2用更新类别表,但是并不限于此。例如,可以表的结构不同,也可以不实装为表,还可以不与CPU1用更新类别表一致。CPU2用更新类别表113表示运算装置102应同步的数据。
图4是CPU1用发动机转速114的变量的例子。CPU1用发动机转速1140保存发动机转速。为了说明的方便,在实施方式1中使用CPU1用发动机转速1140,但是并不限于此。例如,也可以不是单独的变量,而是实装为多个数据的集合即结构体。
图5是CPU2用发动机转速115的变量的例子。CPU2用发动机转速1150保存发动机转速。为了说明的方便,在实施方式1中使用CPU1用发动机转速1150,但是并不限于此。例如,可以不是单独的变量,而是实装为多个数据的集合即结构体,也可以不采用与CPU1用发动机转速114相同的实装方法。
以下,说明具备多个运算装置的发动机控制ECU1计算发动机转速,进行燃料喷射的流程。在实施方式1中,进行了如下设想:对运算装置101(CPU1)进行分配以便其必须执行发动机旋转计算部105,对运算装置102(CPU2)进行分配以便其必须执行燃料喷射控制部106,且数据更新处理部107、数据参照处理部108、数据同步部109、执行核心判别部110能够由两个运算装置来执行,但是并不限于此。图6是发动机旋转计算部105的动作流程。以下,说明图6的各步骤。
(图6:步骤105000)
发动机旋转计算部105基于曲柄角传感器117来计算发动机转速。
(图6:步骤105001)
发动机旋转计算部105将计算出的发动机转速作为自变量对数据更新处理部107进行调用,并将发动机转速保存在共有存储器103中。
通过以上方式,计算出发动机转速,并将发动机转速保存到共有存储器中。
图7是数据更新处理部107的动作流程。以下,针对图7的各步骤进行说明。
(图7:步骤107000)
数据更新处理部107调用核心判别处理部110,获取正在执行数据更新处理部107的CPU编号。
(图7:步骤107001)
数据更新处理部107在所获取到的CPU编号为1的情况下,进入步骤107002,在CPU编号为1以外例如2的情况下,进入步骤107003。
(图7:步骤107002)
数据更新处理部107将自变量的发动机转速保存到共有存储器103的CPU1用发动机转速114中。实施方式1的2个运算装置由于能够通过运算装置1命令来更新向CPU1用发动机转速114保存的保存处理,因此不执行核心内排他控制。所谓核心内排他控制指的是,在OSEK/VDX所定义的OSEK OS的Resource这样的相同的CPU内防止数据的竞争的排他控制。即使不能根据运算装置1命令进行更新,在为已经确定在步骤107002执行中不会发生抢占的系统的情况下,也可以不执行核心内排他控制。为了说明的方便,在实施方式1中对CPU1用发动机转速114这1个变量进行更新,但是并不限于此。例如,也可以对2个以上的变量进行更新。此时,在为已经确定在步骤107002执行中不会发生抢占的系统的情况下,也可以不执行核心内排他控制。但是,在发生抢占的情况下,需要执行核心内排他控制。此外,如果使用具备TDMA形式的调度的多核OS,则只要进行调度以便不会在相同的时间加入针对相同数据类别的数据更新处理和数据参照处理即可,所以能够简单地进行应用。
(图7:步骤107003)
数据更新处理部107将自变量的发动机转速保存在共有存储器103的CPU2用发动机转速115中。实施方式1的2个运算装置由于能够根据运算装置1命令来更新向CPU2用发动机转速115保存的保存处理,因此不执行核心内排他控制。为了说明的方便,在实施方式1中对CPU2用发动机转速115这1个变量进行更新,但是与步骤107002同样地并不限于此。
(图7:步骤107004)
数据更新处理部107为了使其他的运算装置知晓CPU1用发动机转速114的更新,从更新类别表的数据ID中搜索与表示发动机转速的数据ID相等的串,对对象的更新标记和更新核心进行更新。在实施方式1中,CPU1被分配为进行发动机转速数据的更新,CPU2被分配为进行发动机转速数据的参照,所以进行更新的更新类别表仅是CPU2用更新类别表。在实施方式1中,更新标记为0时表示未对数据进行更新,更新标记为1时表示对数据进行了更新,但是并不限于二值数据,也可以是任意的变量。此外,在实施方式1中,在更新核心中保存CPU编号,但是只要能够识别运算装置,就不限定于此。
(图7:步骤107005)
数据更新处理部107向其他CPU、在本实施方式中向运算装置102发送嵌入信号,结束处理。
通过以上方式,按照CPU编号将发动机转速保存至共有存储器,对更新类别表进行更新,并向其他的CPU发送嵌入信号。由此,其他的CPU可以无需等待时间地参照更新后的发动机转速的最新值。另外,该嵌入信号例如可以设定为最高优先级。
图8是执行核心判别部110的动作流程。以下,针对图8的各步骤进行说明。
(图8:步骤110000)
执行核心判别部110访问用于判定执行核心的硬件寄存器,判定并获取自身的CPU编号。为了说明的方便,在实施方式1中通过硬件寄存器来判定CPU编号,但是并不限于此。
(图8:步骤110001)
执行核心判别部110返回获取到的CPU编号。
通过以上方式,能够获取正在执行执行核心判别部的运算装置的CPU编号。
图9是数据同步部109的动作流程。以下,针对图9的各步骤进行说明。
(图9:步骤109000)
数据同步部109调用核心判别处理部110,获取正在执行数据更新处理部107的CPU编号。
(图9:步骤109001)
数据同步部109在获取到的CPU编号为1的情况下,进入步骤109002,在CPU编号为1以外例如2的情况下,进入步骤109003。
(图9:步骤109002)
数据同步部109参照共有存储器103的CPU1用更新类别表112。
在实施方式1中,由于通过最高优先级的嵌入信号来起动,所以只要数据的更新处理在非常短的时间内不会再次进行,就不会发生数据的竞争。因此,不使用排他控制。但是,起动方法并不限于此。例如,在为如下的系统的情况下也可以不使用排他控制:在执行下一次的数据更新处理部之前,执行数据参照处理部,在数据更新处理部的执行之后并且数据参照处理部的执行之前,调用数据同步部。此外,即使不是最高优先级的嵌入信号,如果在执行下一次的更新处理之前能够起动数据同步部,也可以不使用排他控制。另外,数据更新处理部和数据参照处理部按照同一周期来执行,或者数据更新处理部按照比数据参照处理部短的周期来执行。
(图9:步骤109003)
数据同步部109参照共有存储器103的CPU2用更新类别表113。与步骤109002同样地不使用排他控制。并且,起动方法也不限于此。
(图9:步骤109004)
数据同步部109在所参照的更新类别表的更新标记为1的类别存在、即表示更新的串存在的情况下,进入步骤109005,在表示更新的串不存在的情况下,结束处理。在实施方式1中,通过更新标记来通知数据的更新,但是并不限于此。例如,可以使嵌入信号其本身具有更新了数据的含义,也可以按要更新的每个数据来实装专用的数据同步部。
(图9:步骤109005)
数据同步部109参照更新类别表的更新标记表示1的类别的更新核心,来识别进行了更新的CPU。由此可知最新值的数据,并将对象的数据值复制到自身的数据。在实施方式1中,如图3所示,由于更新核心为1,因此将CPU1用发动机转速114的值复制至CPU2用发动机转速115。
(图9:步骤109006)
数据同步部109将与进行了复制的数据对应的自身的更新类别表的更新标记清除为0,进入步骤109004。
通过以上方式,不使用核心间的排他控制,就能够使各核心用的数据值一致。
图10是燃料喷射控制部106的动作流程。以下,针对图10的各步骤进行说明。
(图10:步骤106000)
燃料喷射控制部106调用数据参照处理部,获取共有存储器的发动机转速。
(图10:步骤106001)
燃料喷射控制部106基于获取到的发动机转速来计算出燃料喷射量,由喷射器来喷射燃料。
通过以上方式,从共有存储器获取发动机转速,对喷射器进行控制。
图11是数据参照处理部108的动作流程。以下,针对图11的各步骤进行说明。
(图11:步骤108000)
数据参照处理部108调用核心判别处理部110,获取正在执行数据更新处理部107的CPU编号。
(图11:步骤108001)
数据参照处理部108在获取到的CPU编号为1的情况下,进入步骤108002,在CPU编号为1以外例如2的情况下,进入步骤108003。
(图11:步骤108002)
数据参照处理部108从共有存储器103的CPU1用发动机转速114中获取发动机转速。实施方式1的2个运算装置由于能够通过运算装置1命令来更新从CPU1用发动机转速114获取的处理,因此不执行核心内排他控制。即使不能通过运算装置1命令来进行更新,在为已经确定在步骤107802执行中不会发生抢占的系统的情况下,也可以不执行核心内排他控制。为了说明的方便,在实施方式1中对CPU1用发动机转速114这1个变量进行更新,但是并不限于此。例如,也可以对2个以上的变量进行更新。此时,在为已经确定在步骤108002执行中不会发生抢占的系统的情况下,也可以不执行核心内排他控制。但是,在发生抢占的情况下,需要执行核心内排他控制。
(图11:步骤108003)
数据参照处理部108从共有存储器103的CPU2用发动机转速115中获取发动机转速。实施方式1的2个运算装置由于能够通过运算装置1命令来更新向CPU2用发动机转速115保存的保存处理,因此不执行核心内排他控制。为了说明的方便,在实施方式1中,对CPU2用发动机转速115这个变量进行更新,但是与步骤108002同样,并不限于此。
(图11:步骤108004)
数据参照处理部108返回获取到的发动机转速,结束处理。
通过以上方式,能够从共有存储器获取发动机转速。
在实施方式1中,虽然在进行了更新的数据的通知中使用更新类别表,但是并不限于此。例如,可以使嵌入信号其本身具有更新了数据的含义,也可以按要更新的每个数据来实装专用的数据同步部。
此外,在实施方式1中,通过嵌入信号来起动数据同步部,但是并不限于此。例如,也可以实装按顺序起动数据同步部和数据更新处理部的任务。
此外,在实施方式1中,由数据更新处理部和数据参照处理部来执行执行核心判别部,但是并不限于此。例如,若是执行发动机旋转计算部、燃料喷射控制部的运算装置在实行中不被变更的系统,则只要仅在初始化时在实行时执行一次即可。
如上所述,根据本实施方式1,能够实现不使用排他控制地使用共有存储器,来进行数据的更新、参照,因此适用于像发动机控制那样需要在多个运算装置间高速转送数据的车辆系统。例如在发动机控制中,与发动机旋转同步地执行喷射器控制所需的运算。若发动机成为高旋转则运算周期变得更短,因此适于设为能够排除排他控制的本实施方式1。
此外,根据本实施方式1,通过最高优先级的嵌入信号来起动数据同步部,由此在下一次执行数据更新处理部之前起动数据同步部变得容易,能够在开发时抑制开发工时。适用于按照一定间隔来起动数据更新处理部的车辆系统。
此外,根据本实施方式1,通过发动机旋转计算处理部、燃料喷射控制部这样的应用对数据更新处理部和数据参照处理部进行利用,能够不必意识正在由哪个运算装置执行就进行数据的更新和参照。因此,即使对在新车种开发时变更执行的运算装置,由于要变更的地方可以减少,因此能够削减软件的开发工时。
<实施方式2>
实施方式2为如下示例:具备3个运算装置,数据同步部使在发动机旋转计算部的控制运算和燃料喷射控制部的控制运算中未使用的数据同步。在本实施方式中,示出了3个运算装置的例子,但只要存在多个运算装置就能够应用本实施方式。
图12是本发明的实施方式2涉及的车辆系统的发动机控制ECU2的构成图。发动机控制ECU由运算装置201(CPU1)、运算装置202(CPU2)、运算装置203(CPU3)、存储器204、输入输出电路223、曲柄角传感器224、喷射器225构成。
存储器204由程序区域205和数据存储区域213构成,程序区域205由发动机旋转计算部206、燃料喷射控制部207、发动机转速诊断部208、数据更新处理部209、数据参照处理部210、数据同步部211、执行核心判别部212构成。数据存储区域213是在后述的图13中说明的CPU1用最新值开关214、图14的CPU2用最新值开关215、图15的CPU3用最新值开关216、与实施方式1相同的CPU1用更新类别表217、CPU2用更新类别表218、CPU2用更新类别表219、图16的发动机转速A220、图17的发动机转速B221、图18的错误计数器222。
图13是CPU1用最新值开关214的例子。表示如下状况:若CPU1用最新值开关2140的值为0,则将发动机转速的最新值保存至发动机转速A220中,若CPU1用最新值开关2140的值为1,则将发动机转速的最新值保存至发动机转速B221中。CPU1用最新值开关2140的值在运算装置201执行了数据更新处理部时、或执行了数据同步部时被更新。
图14是CPU2用最新值开关215的例子。表示如下状况:若CPU2用最新值开关2150的值为0,则将发动机转速的最新值保存至发动机转速A220中,若CPU2用最新值开关2150的值为1,则将发动机转速的最新值保存至发动机转速B221中。CPU2用最新值开关2150的值在运算装置202执行了数据更新处理部时、或执行了数据同步部时被更新。
图15是CPU3用最新值开关216的例子。表示如下状况:若CPU3用最新值开关2160的值为0,则将发动机转速的最新值保存至发动机转速A220中,若CPU3用最新值开关2160的值为1,则将发动机转速的最新值保存至发动机转速B221中。CPU3用最新值开关2160的值在运算装置203执行了数据更新处理部时、或执行了数据同步部时被更新。
另外,CPU1用最新值开关214、CPU2用最新值开关215、CPU3用最新值开关216不仅实装在存储器204内的区域中,也可以通过存储器204外的硬件来实装。
图16是发动机转速A220的例子,图17是发动机转速B221的例子。对于发动机转速A220、发动机转速B221,始终是保存最新值的一方成为被参照的对象,未保存最新值的另一方成为被更新的对象。被更新的对象通过下一次更新而保存最新值。即,交替地哪一方成为最新值,上述最新值用开关表示最新值。但是,并不限于此。例如,也可以不使用开关而使用指示器来表示最新值的发动机转速的缓冲区和下一次更新对象的发动机转速的缓冲区。但是,指示器是表示存储器或寄存器的位置的逻辑值,有可能发生表示错误的位置的异常。在本实施方式中,由于不使用指示器而使用开关,因此能够提高可靠性。
图18是错误计数器222的例子。错误计数器2220的值是在发动机转速诊断部将发动机转速的值判断为異常时进行累加的值。
以下,以与实施方式1之间的差异为中心来说明具备多个运算装置的发动机控制ECU2计算发动机转速,进行燃料喷射的流程。
发动机旋转计算部206与发动机旋转计算部105的图6所示的动作相同,燃料喷射控制部207与燃料喷射控制部106的图10所示的动作相同。数据同步部211成为按照能够由3个CPU来进行数据同步部109的图9所示的动作的方式进行了扩展的动作。数据同步部通过参照各CPU的更新类别表,来判定是否更新了各CPU的最新值开关,将更新后的最新值开关的值复制至自身的最新值开关。在运算装置201对CPU1用最新值开关214进行更新并发送嵌入信号时,运算装置202所执行的数据同步部211将CPU1用最新值开关214的值复制至CPU2用最新值开关215,运算装置203所执行的数据同步部211将CPU1用最新值开关214的值复制至CPU3用最新值开关216。执行核心判定部212与执行核心判定部110的图8所示的动作相同。
图19是数据更新处理部209的动作流程。以下,针对图19的各步骤进行说明。
(图19:步骤209000)
数据更新处理部209呼叫核心判别处理部212,获取正在执行数据更新处理部209的CPU编号。
(图19:步骤209001)
数据更新处理部209在获取到的CPU编号为1的情况下,进入步骤209002,在CPU编号为1以外,例如2或3的情况下,进入步骤209003。
(图19:步骤209002)
数据更新处理部209获取CPU1用最新值开关214的值。
(图19:步骤209003)
数据更新处理部209在获取到的CPU编号为2的情况下,进入步骤209004,在CPU编号为2以外,例如3的情况下,进入步骤209005。
(图19:步骤209004)
数据更新处理部209获取CPU2用最新值开关215的值。
(图19:步骤209005)
数据更新处理部209获取CPU3用最新值开关216的值。
(图19:步骤209006)
数据更新处理部209将发动机转速保存到与开关的值相应的发动机转速的缓冲区中。例如,在开关的值为0的情况下,将最新值的发动机转速保存到发动机转速B221中。
(图19:步骤209007)
数据更新处理部209对自身的开关的值进行更新。例如,在运算装置201更新了发动机转速B221的情况下,将CPU1用最新值开关214的值更新为1。
(图19:步骤209008)
数据更新处理部209对其他的更新类别表的数据ID的更新标记和更新核心进行更新。例如,在更新了CPU1用最新值开关214的值的情况下,对与表示发动机转速的CPU1用最新值开关的数据ID相应的CPU2用更新类别表218、CPU3用更新类别表219的更新标记、和更新CPU进行更新。
(图19:步骤209009)
数据更新处理部209对其他的CPU发送嵌入信号。虽然在实施方式2中输入嵌入信号对其他的CPU通知更新,但是并不限于该方法。
通过以上方式,能够对共有存储器的发动机转速进行更新。
图20是数据参照处理部210的动作流程。以下,针对图20的各步骤进行说明。
(图20:步骤210000)
数据参照处理部210调用核心判别处理部212,获取正在执行数据参照处理部210的CPU编号。
(图20:步骤210001)
数据参照处理部209在获取到的CPU编号为1的情况下,进入步骤210002,在CPU编号为1以外例如2或3的情况下,进入步骤210003。
(图20:步骤210002)
数据参照处理部210获取CPU1用最新值开关214的值。
(图20:步骤210003)
数据参照处理部210在获取到的CPU编号为2的情况下,进入步骤210004,在CPU编号为2以外例如3的情况下,进入步骤210005。
(图20:步骤210004)
数据参照处理部210获取CPU2用最新值开关215的值。
(图20:步骤210005)
数据参照处理部210获取CPU3用最新值开关216的值。
(图20:步骤210006)
数据参照处理部210从与开关的值相应的发动机转速的缓冲区中读出发动机转速。例如,在开关的值为1的情况下,从发动机转速B221中获取作为最新值的发动机转速。
通过以上方式,能够获取共有存储器的发动机转速。
图21是发动机转速诊断部208的动作流程。以下,针对图21的各步骤进行说明。
(图21:步骤208000)
发动机转速诊断部208调用数据参照处理部210,获取保存在共有存储器中的发动机转速。
(图21:步骤208001)
发动机转速诊断部208在为用于判定发动机转速的值是否进入到正常值范围的正常值范围外的情况下,进入步骤208002,在为正常值范围内的情况下,结束处理。但是,判定为异常的方法并不限于此。
(图21:步骤208002)
发动机转速诊断部208对错误计数器222的值进行累加。例如,在错误计数器222的值上加1。但是,并不限于此。
在实施方式2中,对数据进行复用,在对数据进行参照的情况下,从最新值开关所表示的数据中读出值,在对数据进行更新的情况下,写入到不是最新值开关所表示的数据的值中。更新了数据的CPU在数据更新后无延迟地向其他的CPU通知数据的更新。对数据进行参照的CPU能够接受该通知并无延迟地参照最新值。另外,在本实施例中,使用了开关,但是并不限于此。例如,可以使用表示最新值的指示器和表示更新对象的指示器来实装,但是不使用指示器而使用开关的方法更能够提高可靠性。
如以上,根据本实施方式2,即使运算装置为3个以上,不使用排他控制而使用共有存储器,也能够进行数据的更新和参照,因此适用于如发动机控制这样需要在多个运算装置间高速转送数据的车辆系统。
符号说明
1  发动机控制ECU
101、102  运算装置
103  共有存储器
104  程序区域
105  发动机旋转计算部
106  燃料喷射控制部
107  数据更新处理部
108  数据参照处理部
109  数据同步部
111  数据存储区域
112  CPU1用更新类别表
113  CPU2用更新类别表
114  CPU1用发动机转速
115  CPU2用发动机转速

Claims (12)

1.一种车辆用控制装置,具备:多个运算装置;和共有存储器,其冗余地保存上述多个运算装置共同访问的共有数据,
该车辆用控制装置的特征在于,
上述共有存储器具备程序区域和数据区域,
上述数据区域具备与上述多个运算装置分别对应并冗余地保存上述共有数据的多个数据缓冲区,
上述程序区域具备:
数据更新处理部,其用于上述多个运算装置中的一个运算装置更新与上述一个运算装置对应的数据缓冲区而保存新的共有数据,并且对上述多个运算装置中的其他的控制装置通知共有数据的更新;
数据同步部,其用于上述其他的运算装置在上述通知后,将与上述一个运算装置对应的数据缓冲区的共有数据复制到与上述其他的运算装置对应的数据缓冲区中;和
数据参照处理部,其用于上述其他的运算装置参照与上述其他的运算装置对应的数据缓冲区。
2.一种车辆用控制装置,具备:多个运算装置;和共有存储器,其冗余地保存上述多个运算装置共同访问的共有数据,
该车辆用控制装置的特征在于,
上述共有存储器具备程序区域和数据区域,
上述数据区域具备:
多个数据缓冲区,其用于冗余地保存上述共有数据;和
多个最新值开关,其与上述多个运算装置分别对应地设置,并表示在上述多个数据缓冲区中最后被更新的数据缓冲区,
上述程序区域具备:
数据更新处理部,其用于上述多个运算装置中的一个运算装置基于与上述一个运算装置对应的最新值开关来更新上述多个数据缓冲区中的一个数据缓冲区而保存新的共有数据,并对上述多个运算装置中的其他的控制装置通知共有数据的更新;
数据同步部,其在上述通知后将与上述一个运算装置对应的最新值开关的值复制到与上述其他的控制装置对应的最新值开关中;和
数据参照处理部,其用于上述其他的运算装置基于与上述其他的控制装置对应的最新值开关来参照上述多个数据缓冲区中的一个数据缓冲区。
3.根据权利要求1或2所述的车辆用控制装置,其特征在于,
上述数据区域具备更新类别表,该更新类别表包含上述多个数据缓冲区的类别、有无变更、变更运算装置识别符的信息,并复用成上述多个运算装置的数目以上。
4.根据权利要求1或2所述的车辆用控制装置,其特征在于,
上述共有数据是车载机器的控制所需的控制值。
5.根据权利要求4所述的车辆用控制装置,其特征在于,
在上述共有数据中保存能够对保存控制值的数据缓冲区进行确定的信息。
6.根据权利要求1或2所述的车辆用控制装置,其特征在于,
具备核心判别部,该核心判别部用于识别正在执行处理的运算装置,并返回该运算装置的识别符。
7.根据权利要求6所述的车辆用控制装置,其特征在于,
上述数据更新处理部按照由上述核心判别部获取到的运算装置识别符,对成为对共有数据进行更新的对象的数据缓冲区进行切换,
上述数据参照处理部按照由上述核心判别部获取到的运算装置识别符,对成为对共有数据进行参照的对象的数据缓冲区进行切换。
8.根据权利要求3所述的车辆用控制装置,其特征在于,
上述数据更新处理部通过变更包含共有数据的类别、共有数据有无更新、表示上述一个运算装置的识别符在内的更新类别表,来进行上述通知。
9.根据权利要求1或2所述的车辆用控制装置,其特征在于,
上述通知包含向上述其他的运算装置的嵌入信号。
10.根据权利要求1或2所述的车辆用控制装置,其特征在于,
在比上述数据更新处理部被执行一次、对相同的共有数据进行更新的下一次的上述数据更新处理部被执行的时间更短时间的期间内,上述数据同步部的执行完成。
11.根据权利要求8所述的车辆用控制装置,其特征在于,
上述数据同步部根据上述更新类别表的类别来确定进行了更新的共有数据的类别,根据上述更新类别表有无变更来判定是否需要进行复制,根据上述更新类别表的识别符来确定成为复制源的上述数据缓冲区,自身的运算装置将确定出的上述数据缓冲区的值复制至上述数据缓冲区中。
12.根据权利要求1或2所述的车辆用控制装置,其特征在于,
在上述多个运算装置之中,预先决定执行上述数据更新处理部、上述数据同步部、和上述数据参照处理部的运算装置。
CN201380008189.2A 2012-02-23 2013-01-28 车辆用控制装置 Active CN104094233B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2012036924A JP5816572B2 (ja) 2012-02-23 2012-02-23 車両用制御装置
JP2012-036924 2012-02-23
PCT/JP2013/051689 WO2013125294A1 (ja) 2012-02-23 2013-01-28 車両用制御装置

Publications (2)

Publication Number Publication Date
CN104094233A true CN104094233A (zh) 2014-10-08
CN104094233B CN104094233B (zh) 2018-12-07

Family

ID=49005487

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380008189.2A Active CN104094233B (zh) 2012-02-23 2013-01-28 车辆用控制装置

Country Status (5)

Country Link
US (1) US9547492B2 (zh)
JP (1) JP5816572B2 (zh)
CN (1) CN104094233B (zh)
DE (1) DE112013001146T5 (zh)
WO (1) WO2013125294A1 (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589831A (zh) * 2014-11-10 2016-05-18 三星电子株式会社 具有信号量功能的片上系统和信号量分配方法
CN107615714A (zh) * 2015-05-18 2018-01-19 国立大学法人名古屋大学 通信装置及通信限制程序
CN108351840A (zh) * 2015-11-25 2018-07-31 日立汽车系统株式会社 车辆控制装置
CN108701055A (zh) * 2016-04-28 2018-10-23 日立汽车系统株式会社 车辆控制装置和车辆系统
CN108885570A (zh) * 2016-06-24 2018-11-23 日立汽车系统株式会社 车辆控制装置
CN113474220A (zh) * 2019-03-05 2021-10-01 日立安斯泰莫株式会社 车辆控制装置

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2016042588A1 (ja) * 2014-09-17 2016-03-24 三菱電機株式会社 車載制御装置及びこの車載制御装置のシミュレーション装置
JP6281463B2 (ja) 2014-10-03 2018-02-21 株式会社デンソー 制御装置
US9537914B1 (en) 2015-12-01 2017-01-03 International Business Machines Corporation Vehicle domain multi-level parallel buffering and context-based streaming data pre-processing system
JP6512087B2 (ja) 2015-12-09 2019-05-15 株式会社デンソー 車両用制御装置
JP6380461B2 (ja) * 2016-06-02 2018-08-29 住友電気工業株式会社 中継装置、プログラム更新システム、およびプログラム更新方法
JP2018163528A (ja) * 2017-03-27 2018-10-18 日立オートモティブシステムズ株式会社 車両制御装置
JP7042138B2 (ja) * 2018-03-30 2022-03-25 日立Astemo株式会社 処理装置
JP7147367B2 (ja) * 2018-08-23 2022-10-05 富士通株式会社 制御装置及び制御プログラム
EP3624510A1 (en) * 2018-09-17 2020-03-18 KNORR-BREMSE Systeme für Nutzfahrzeuge GmbH Apparatus and method for synchronizing end nodes
JP2020177074A (ja) * 2019-04-16 2020-10-29 株式会社デンソー 車両用装置、車両用装置の制御方法
JP2021152338A (ja) * 2020-03-24 2021-09-30 日立Astemo株式会社 制御装置
WO2022113747A1 (ja) * 2020-11-24 2022-06-02 株式会社オートネットワーク技術研究所 車載情報処理装置及び車載情報処理方法

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1250532A (zh) * 1997-01-09 2000-04-12 奥潘弗雷姆有限公司 数据共享方法和计算机体系结构
US20010014932A1 (en) * 2000-02-10 2001-08-16 Shigeru Suganuma Multi-processor system
CN1776647A (zh) * 2004-11-16 2006-05-24 惠普开发有限公司 处理器中避免竞争的委派写入
CN101136039A (zh) * 2006-08-29 2008-03-05 国际商业机器公司 使用主机数据集来复制和同步多个数据集的方法
CN101351772A (zh) * 2006-01-09 2009-01-21 国际商业机器公司 用于在不同虚拟机映像之间共享文件的方法和系统
JP2009110063A (ja) * 2007-10-26 2009-05-21 Toyota Motor Corp 記憶装置、情報処理装置、データアクセス方法、プログラム
CN101548268A (zh) * 2006-10-05 2009-09-30 瓦拉泰克有限公司 高级竞争检测

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH08106440A (ja) * 1994-10-07 1996-04-23 Hitachi Ltd 分散共有メモリ計算機システム
US5649102A (en) 1993-11-26 1997-07-15 Hitachi, Ltd. Distributed shared data management system for controlling structured shared data and for serializing access to shared data
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
JP2003203062A (ja) * 2002-01-09 2003-07-18 National Institute Of Advanced Industrial & Technology リアルタイム処理用共有メモリ制御方式及び方法、並びにそれを実行させるためのプログラム
JP2004086615A (ja) * 2002-08-27 2004-03-18 Matsushita Electric Ind Co Ltd バス通信装置
US7406487B1 (en) * 2003-08-29 2008-07-29 Symantec Operating Corporation Method and system for performing periodic replication using a log
US20080120478A1 (en) * 2006-10-05 2008-05-22 Holt John M Advanced synchronization and contention resolution
US8015375B1 (en) * 2007-03-30 2011-09-06 Emc Corporation Methods, systems, and computer program products for parallel processing and saving tracking information for multiple write requests in a data replication environment including multiple storage devices
JP2009037403A (ja) * 2007-08-01 2009-02-19 Fujitsu Ltd マルチコアプロセッサにおけるコアメモリの有効活用方法
US9756125B2 (en) * 2011-06-16 2017-09-05 Telefonaktiebolaget Lm Ericsson (Publ) Client and a server and methods thereof for data management relating to shared data storage

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1250532A (zh) * 1997-01-09 2000-04-12 奥潘弗雷姆有限公司 数据共享方法和计算机体系结构
US20010014932A1 (en) * 2000-02-10 2001-08-16 Shigeru Suganuma Multi-processor system
CN1776647A (zh) * 2004-11-16 2006-05-24 惠普开发有限公司 处理器中避免竞争的委派写入
CN101351772A (zh) * 2006-01-09 2009-01-21 国际商业机器公司 用于在不同虚拟机映像之间共享文件的方法和系统
CN101136039A (zh) * 2006-08-29 2008-03-05 国际商业机器公司 使用主机数据集来复制和同步多个数据集的方法
CN101548268A (zh) * 2006-10-05 2009-09-30 瓦拉泰克有限公司 高级竞争检测
JP2009110063A (ja) * 2007-10-26 2009-05-21 Toyota Motor Corp 記憶装置、情報処理装置、データアクセス方法、プログラム

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105589831A (zh) * 2014-11-10 2016-05-18 三星电子株式会社 具有信号量功能的片上系统和信号量分配方法
CN105589831B (zh) * 2014-11-10 2020-11-06 三星电子株式会社 具有信号量功能的片上系统和信号量分配方法
CN107615714A (zh) * 2015-05-18 2018-01-19 国立大学法人名古屋大学 通信装置及通信限制程序
CN107615714B (zh) * 2015-05-18 2020-09-04 国立大学法人名古屋大学 通信装置及记录介质
CN108351840A (zh) * 2015-11-25 2018-07-31 日立汽车系统株式会社 车辆控制装置
CN108351840B (zh) * 2015-11-25 2022-06-10 日立汽车系统株式会社 车辆控制装置
CN108701055A (zh) * 2016-04-28 2018-10-23 日立汽车系统株式会社 车辆控制装置和车辆系统
CN108701055B (zh) * 2016-04-28 2021-12-28 日立安斯泰莫株式会社 车辆控制装置和车辆系统
CN108885570A (zh) * 2016-06-24 2018-11-23 日立汽车系统株式会社 车辆控制装置
CN108885570B (zh) * 2016-06-24 2021-11-19 日立安斯泰莫株式会社 车辆控制装置
CN113474220A (zh) * 2019-03-05 2021-10-01 日立安斯泰莫株式会社 车辆控制装置
CN113474220B (zh) * 2019-03-05 2024-02-20 日立安斯泰莫株式会社 车辆控制装置

Also Published As

Publication number Publication date
JP5816572B2 (ja) 2015-11-18
JP2013171547A (ja) 2013-09-02
DE112013001146T5 (de) 2014-11-06
WO2013125294A1 (ja) 2013-08-29
CN104094233B (zh) 2018-12-07
US20150039865A1 (en) 2015-02-05
US9547492B2 (en) 2017-01-17

Similar Documents

Publication Publication Date Title
CN104094233A (zh) 车辆用控制装置
CN101194477B (zh) 通信系统节点、与控制和缓冲相关的数据的数据存储方法
CN102144222B (zh) 执行时间估计方法、执行时间估计程序以及执行时间估计装置
US10127161B2 (en) Method for the coexistence of software having different safety levels in a multicore processor system
CN101489835B (zh) 在机动车环境中检查测量值的似真度的方法和装置
CN102609342B (zh) 使用时间标记事件诊断硬件和软件故障的方法和系统
CN103080921B (zh) 多核处理器系统、同步控制系统、同步控制装置、信息生成方法
JP5310138B2 (ja) 車両制御システム
KR101131344B1 (ko) 메커트로닉스 시스템의 모델에 기초한 진단 방법
CN105094084A (zh) 支持多核控制器上的相干数据访问的服务和系统
CN113395348B (zh) 一种车载芯片、功能故障检查方法及电子设备
JP2015067107A (ja) 車両用制御装置
JP2021089632A (ja) 情報処理装置、制御方法及びプログラム
CN105556402A (zh) 用于影响控制设备的控制程序的方法
CN113467962A (zh) 汽车开放系统架构、状态管理方法和装置
CN106155770B (zh) 任务调度方法和电子设备
CN110574343A (zh) 用于保护车辆安全系统的操作系统的方法和半导体电路
CN102906713A (zh) 信息处理系统以及系统控制器
US10162560B2 (en) Memory unit for automatically multiplying the content of a memory location, and data network having a memory unit
US20140380327A1 (en) Device and method for synchronizing tasks executed in parallel on a platform comprising several calculation units
CN114830089A (zh) 数据结构、存储器装置和设备
US7222202B2 (en) Method for monitoring a set of semaphore registers using a limited-width test bus
CN107710162A (zh) 电子控制装置及栈使用方法
JP2006236371A (ja) 制御システム
WO2023195384A1 (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
GR01 Patent grant
GR01 Patent grant
CP01 Change in the name or title of a patent holder
CP01 Change in the name or title of a patent holder

Address after: Hitachinaka County, Japan

Patentee after: Hitachi astemo Co.,Ltd.

Address before: Hitachinaka County, Japan

Patentee before: HITACHI AUTOMOTIVE SYSTEMS, Ltd.