CN111630496B - 具有一个或多个虚拟核的电子控制单元的应用任务架构的设计方法 - Google Patents

具有一个或多个虚拟核的电子控制单元的应用任务架构的设计方法 Download PDF

Info

Publication number
CN111630496B
CN111630496B CN201980010429.XA CN201980010429A CN111630496B CN 111630496 B CN111630496 B CN 111630496B CN 201980010429 A CN201980010429 A CN 201980010429A CN 111630496 B CN111630496 B CN 111630496B
Authority
CN
China
Prior art keywords
microcontroller
cores
core
virtual
control unit
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.)
Active
Application number
CN201980010429.XA
Other languages
English (en)
Other versions
CN111630496A (zh
Inventor
D·克拉拉
A·格贝尔
R·马德
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.)
Vitesco Technologies GmbH
Original Assignee
Vitesco Technologies GmbH
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 Vitesco Technologies GmbH filed Critical Vitesco Technologies GmbH
Publication of CN111630496A publication Critical patent/CN111630496A/zh
Application granted granted Critical
Publication of CN111630496B publication Critical patent/CN111630496B/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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • G06F9/5088Techniques for rebalancing the load in a distributed system involving task migration
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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/22Microcontrol or microprogram arrangements
    • G06F9/26Address formation of the next micro-instruction ; Microprogram storage or retrieval arrangements
    • G06F9/262Arrangements for next microinstruction selection
    • G06F9/264Microinstruction selection based on results of processing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • 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/48Program initiating; Program switching, e.g. by interrupt
    • G06F9/4806Task transfer initiation or dispatching
    • G06F9/4843Task transfer initiation or dispatching by program, e.g. task dispatcher, supervisor, operating system
    • G06F9/4881Scheduling strategies for dispatcher, e.g. round robin, multi-level priority queues
    • 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/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5077Logical partitioning of resources; Management or configuration of virtualized resources
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/4557Distribution of virtual machine instances; Migration and load balancing
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45575Starting, stopping, suspending or resuming virtual machine instances

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Microcomputers (AREA)

Abstract

本发明涉及基于Autosar操作系统的电子控制单元的应用任务架构的设计方法,Autosar操作系统适用于多个微控制器(5、5a)。在与所选微控制器(5、5a)关联之前,通过使用不同于微控制器(5、5a)的一个或多个核(C0、C1、C2)的至少一个虚拟核(A0、A1、A2)来制订应用任务架构,各种任务分别被指派给所述至少一个虚拟核(A0、A1、A2),并且将所述至少一个虚拟核(A0、A1、A2)与微控制器(5、5a)的一个或多个核(C0、C1、C2)相关联,以便将指派给所述至少一个虚拟核(A0、A1、A2)的任务分配给该核或在微控制器(5、5a)的各核(C0、C1、C2)之间分配。

Description

具有一个或多个虚拟核的电子控制单元的应用任务架构的设 计方法
技术领域
本发明涉及基于Autosar操作系统的电子控制单元的应用任务架构的设计方法,Autosar操作系统适用于这样的多个微控制器:所述微控制器包括一个或多个核作为针对由电子控制单元对各种任务的处理而并行地工作的处理单元,基础软件层用于与构成电子控制单元一部分的所选微控制器连接,要由电子控制单元执行的操作系统的各种任务由应用任务架构分配(attribuer)给所选微控制器的一个或多个核。
本发明还涉及将多核微控制器集成到基于Autosar操作系统的电子控制单元中的方法,Autosar操作系统包括根据这种设计方法设计的应用任务架构。本发明还涉及基于Autosar操作系统的电子控制单元。
本发明特别适用于(但不限于)机动车辆的领域中、用于具有开放式系统架构的用于操控发动机或其他对象的控制计算机,开放式系统亦即其中可以根据标准接口或在所谓的可适配版本中重复使用功能性的系统,所述可适配版本可适配于其中可以添加或去除新的功能性的系统。
背景技术
基础软件层构成所选微控制器与基于Autosar操作系统的电子控制单元的其余部分之间的软件连接,从而向每个核分配任务。
Autosar操作系统是机动车领域的具有开放式架构的系统,其也以英语名称“AUTomotive Open System ARchitecture(机动车开放式系统架构)”而为人所知。
直到近几年为止,发动机控制计算机仍一直在使用具有单个处理单元的微控制器,即单核微控制器。而近来,出现了包括至少两个处理单元、有利地三个或更多个处理单元的微控制器,称为具有多个核的微控制器或多核微控制器,其使得能够实现高于单核微控制器的功率的计算功率,同时使用与单核微控制器的操作频率相等的操作频率。本发明既涉及单核微控制器又涉及多核微控制器,尽管多核微控制器的应用将会更为有利。
传统上,与微控制器相关联的软件的架构根据工作分派的需求或管理各种选项的需求而将功能分割为子功能。目前,例如通过将开放式系统架构的接口上方的应用软件分配给一个核、并将系统的基础软件分配给微控制器的更适于管理通信的输入输出的另一个核而将功能分配给多核微控制器的两个处理单元。
图1示出了典型的基于Autosar操作系统的电子控制单元1,其包括应用软件层2、基础软件层4和微控制器5。应用软件层2集成有将处理分配给微控制器5的应用任务架构。
操作系统意义上的任务是要按一定顺序和以一定的循环执行的一组功能/处理。这些处理不一定在功能上相关,例如速度控制的管理、接着是涡轮增压器阀的管理、接着是油箱中燃油液位的管理,但是它们的共同点是必须以相同的频率执行它们。因此,它们可以集成到同一任务中,或可以集成到链接在多个核上的两个任务中。在应用软件层2和基础软件层4之间,有Autosar标准典型的RTE层3,称为执行环境层,该层构成对网络拓扑的抽象,以用于电子控制单元1的内部和外部的、在各应用软件部件之间、以及在应用软件层2和基础软件层4之间的信息交换的目的。
同一个基于Autosar操作系统的电子控制单元1的软件部分及其应用软件层2和基础软件层4可以与具有相同核数但设计不同的各种类型的微控制器5相关联。
例如,对于具有相同核数的多核微控制器,履行相同的任务的不一定是相同的核。在将软件部分适配至新的微控制器时,必须重新设计整个应用任务架构,以使其适配至该新的微控制器,这既费时又成本高昂。
例如,在多核微控制器中,启动总是通过同一核完成的,通常是事先预先确定的,对微控制器的输入输出的访问也是如此。该核对于输入输出以及对于启动而言不一定相同,并且可能会因微控制器的类型而有所不同。供应商可以提出其核具有各种潜在功能性的微控制器,从而使得用户能够选择特定的功能性将专用于哪个核,该特定的功能性在其他核上不被激活或不可用。
还选择一个核作为操作安全核,正如为了确保冗余度和安全性控制而复制核那样。
可以使用从双核微控制器到六核微控制器的众多类型的多核微控制器。在具有相同核数的各微控制器之间,不必将相同的核用作启动核、信息输入输出的通信核以及安全核。因此,对于同一供应商提出的相同的微控制器家族,上述功能性并非总是在同一家族的各微控制器之间的相同的核上可用。这对于来自不同供应商的微控制器甚至更为紧要。
因此,由基础层的软件进行的任务分配将不会分配到各微控制器之间的相同的核上,并且这些微控制器的应用任务架构也将不同。
因而,基于给定微控制器的项目将具有与基于另一微控制器的项目不同的架构,因为必须将操作系统的任务分配给给定的核。
在机动车的领域中,尤其是对于基于Autosar操作系统的电子控制单元,成本考虑因素至关重要,因此需要用于重用应用任务架构的策略。这可以通过将基于同一平台而集成到不同的项目中的可重用的功能来实现。
根据现有技术的方法,由于不可能在尤其是具有相同数量的核的微控制器之间共享共同的任务架构,因此使得针对不同微控制器的项目之间的重用和协同作用变得困难。
本发明所基于的问题是针对基于Autosar操作系统的电子控制单元设计用于该电子控制单元的应用任务架构,该应用任务架构能够促进不同类型的单核或多核微控制器到该电子控制单元的适配。
发明内容
为此,本发明涉及基于Autosar操作系统的电子控制单元的应用任务架构的设计方法,Autosar操作系统适用于多个微控制器,微控制器包括一个或多个核作为针对由电子控制单元对操作系统的各种任务的执行而并行地工作的处理构件,基础软件架构用于与构成电子控制单元的一部分的所选微控制器连接,要由电子控制单元履行的操作系统的各种任务由应用任务架构分配给所选微控制器的一个或多个核,其特征在于,在与所选微控制器关联之前,通过使用不同于微控制器的一个或多个核的至少一个虚拟核来制订(élaboration)应用任务架构,各种任务分别被指派给所述至少一个虚拟核,并且将所述至少一个虚拟核与所选微控制器的一个或多个核相关联,以便将指派给所述至少一个虚拟核的任务分配给所选微控制器的核或在所选微控制器的各核之间分配。
基于Autosar操作系统的电子控制单元可以是引擎控制单元、机动车辆的传动控制单元、或负责机动车辆中车载的构件的操作的任何其他单元。
为了避免微控制器的多样性影响项目架构,本发明提出引入核的抽象。
这种抽象使得能够将核针对单独的计算域进行分组,例如,以集成不同的任务或取决于软件的实施而将计算分组分开。
本发明使得能够制订对于具有相同数量的核的若干类型的微控制器可以共用的应用任务架构。另外,当变为新微控制器的不同数量的核或变为任务分配给其他核的另一微控制器时,具有一个或多个虚拟核的这种应用任务架构使得能够以更少的软件重新设计而得到有利的排列。
以前,应用任务架构必须将首要活动(即任务执行控制和冗余度)分配给微控制器的特定核。然而,对于来自同一供应商、或者尤其是来自不同供应商的两个微控制器,该特定的核可能并不相同。这导致了必须完全重做应用任务架构的设计。
根据本发明,首先将这些首要活动委托给虚拟核。然后可以将该虚拟核关联至能够履行这些功能的微控制器中的实际的核。应用任务架构的设计不需要重新构建,仅需要修改虚拟核与新的微控制器中的针对这些功能的特定的核的关联。对于负责启动软件或管理微控制器的输入输出端口的核(可能因微控制器的型号而有所不同),这同样有效。
随之而来的是,微控制器的多样性不再影响应用任务架构,不再需要对其进行完全修改。
一个或多个虚拟核的使用还有助于应用任务架构的编程者独立于微控制器的一个或多个核,它们与微控制器的设计有关,并且对于不同类型的微控制器可能具有不同的功能。尽管微控制器之间存在差异,但是本发明使得能够共享标准化的任务架构。一项任务仅与单个虚拟核相关联。这种关联是僵化的。更改关联需要重新指定任务。这种重新关联通常是不可能的。必须删除然后创建新的任务。虚拟核可能没有任何关联的任务,因此保持未被操作系统使用。一个虚拟核仅与单个实际核相关联。这种关联很灵活:可以根据需要轻松更改。微控制器的核可能没有任何关联的虚拟核。例如,可以使用六核微控制器,其中只有三个或四个核处于活动状态或被使用。
有利地,所选微控制器具有多个核,应用任务架构包括多个虚拟核。由于对于首要活动向各种核的不同分配存在微控制器的多种可能性,因此这是本发明的优选应用。为了适配不同的微控制器来代替另一微控制器,改变虚拟核与微控制器的具有处理虚拟核的功能所需的部件的核之间的关联就足够了。当变为具有更多核的微控制器时,这也是有帮助的,因为添加新的虚拟核。这样,就获得了应用任务架构的标准化。
有利地,被指派给一个虚拟核的任务被分配给所选微控制器的同一个核。虚拟核对应于微控制器的特定的核。可以并行化各任务的执行,或“链接”各任务以便一个接一个地执行。
有利地,当所选微控制器包括通过桥连接的至少两组单独的核时,针对微控制器的每组核制订一组虚拟核,各组虚拟核彼此独立。各组核单独地工作。因此,每个组可以有一组虚拟核。
有利地,当所选微控制器包括具有受保护部分和不受保护部分的至少一个核时,一个虚拟核被指定为与所选微控制器的该受保护的核相关联。由于多核微控制器的所有核可能具有不同的属性和特性,因此虚拟核具有与其相关联的微控制器的核类似的属性和特性。微控制器的所有核可以具有不同的安全级别,例如,从高安全性到低安全性,还有中等安全性。核可以具有不同的时钟速度来执行指令。
本发明还涉及将多核微控制器集成到基于Autosar操作系统的电子控制单元中的集成方法,Autosar操作系统包括根据这样的设计方法设计的应用任务架构,其特征在于,对于微控制器的每个核,确定与如下各项有关的其特性:其通过软件的并行且同时的冗余执行而实行控制的能力、其安全级别、其启动微控制器的能力、其访问微控制器的输入输出外围设备的能力,并且将微控制器的每个核跟与之在特性方面最接近的虚拟核相关联。微控制器的制造商提供尤其是与微控制器的核有关的所有数据。于是应用任务架构的软件设计人员可以知道微控制器的哪个核最佳地对应于给定的虚拟核,例如履行安全核功能的虚拟核,并将其分配给专用于微控制器中的此功能的特定的核,该核可能会因微控制器而有所不同。这同样适用于特定地专用于启动微控制器的微控制器的核,该核必须与专用于启动的虚拟核相关联,并且可能适用于专用于微控制器的输入输出通信的核。
微控制器的供应商可以预备赋予了安全、启动或通信功能的多个核,并且微控制器的用户可以从能够确保一特定功能的核中选择一个核来确保该特定功能。
有利地,设定特性之间的优先级顺序,实行控制的能力具有最高优先级。
有利地,针对虚拟核以及针对微控制器的核设定核的亲和关系,亲和关系涉及集成到微控制器的核、集成到虚拟核、集成到与给定任务相同的核、集成到其安全核活动的核、或者其为有权利访问外围设备的核、或者具有给定安全级别的核。
最后,本发明涉及基于Autosar操作系统的电子控制单元,其包括应用软件层、应用任务架构和微控制器,基础软件层用于与构成电子控制单元的一部分的微控制器进行连接,要由电子控制单元履行的各种任务由应用任务架构分配给微控制器的一个或多个核,其特征在于,电子控制单元的应用任务架构是根据这样的设计方法设计的,或者在于,微控制器是根据这样的集成方法集成到电子控制单元中的。
有利地,微控制器包括三个核。目前,三核微控制器作为多核微控制器最为常见,但这并非唯一的。
最后,本发明涉及一种机动车辆,其特征在于,其包括至少一个这样的基于Autosar操作系统的电子控制单元。
附图说明
通过阅读以下详细描述并参照以非限制性示例的名义给出的附图,本发明的其他特征、目的和优点将变得显而易见,在附图中:
- 图1是基于Autosar操作系统的电子控制单元的分割视图的示意性表示,该电子控制单元可以用在本发明的框架中,
- 图2是构成根据本发明的基于Autosar操作系统的电子控制单元的一部分的应用任务架构的分割视图的示意性表示,示出了具有包括虚拟核的该应用任务架构的两个微控制器。
具体实施方式
在下文中,在附图中示出并在下面描述的微控制器包括三个核。这不是限制性的,并且本发明可以涉及单核微控制器或具有不同于三个的数个核的多核微控制器。
在没有其他限定的情况下提及的核是指微控制器的真实的核。
参考图1和图2,本发明涉及基于Autosar操作系统的电子控制单元1的应用任务架构的设计方法,Autosar操作系统适用于多个微控制器5、5a,微控制器5、5a被选择为与基于Autosar操作系统的电子控制单元1的软件部分相关联,Autosar操作系统由集成了应用任务架构的应用软件层2、基础软件层4和执行环境层3形成。
基础软件层4可以包括系统服务,即电子控制单元1、存储器、通信服务。基础软件层4包括用于抽象嵌入式系统的模块、用于抽象与微控制器5、5a的通信的模块、以及用于抽象微控制器5、5a的输入输出通信的模块。
这些抽象模块与本发明提出的虚拟核A0、A1、A2(稍后将对其进行描述)不同,它们位于集成到应用软件层2中的应用任务架构中。基础软件层4还包括微控制器5、5a的驱动器、存储器驱动器、通信驱动器、以及输入输出通信驱动器。
微控制器5、5a包括一个或多个核C0、C1、C2作为针对由电子控制单元1对各种任务T10-T14、T20-T24、T30-T34的处理而并行地工作的处理构件。附图标记T10-T14、T20-T24、T30-T34各自组合了不同的任务。图2中示出了每个核五个任务,但此数量不是限制性的,可以更高或更低。
这些任务按核形成具有明确定义的属性的任务集。可以为某些任务建立任务之间的关系,诸如并行执行、或相反地链式执行。
如上所述,应用任务架构用于与构成电子控制单元1的一部分的所选微控制器5、5a连接,要由电子控制单元1履行的各种任务T10-T14、T20-T24、T30-T34由应用任务架构分配给所选微控制器5、5a的一个或多个核C0、C1、C2。
根据本发明,在与所选微控制器5、5a关联之前,在设计基于Autosar操作系统的电子控制单元1的软件架构时,通过使用不同于微控制器的一个或多个核C0、C1、C2的至少一个虚拟核A0、A1、A2来制订应用任务架构。这使得能够抽象微控制器5、5a的一个或多个核C0、C1、C2。
参考图2,要分派给微控制器5、5a的一个或多个核C0、C1、C2的各种任务T10-T14、T20-T24、T30-T34分别被分配给一个或多个虚拟核A0、A1、A2。因此,最初完全独立于微控制器的核C0、C1、C2而制订应用任务架构。这使得能够构建将对于所有不同的微控制器5、5a保持共用的应用任务架构,并且当必须将应用任务架构适配至具有与为其制订了该应用任务架构的微控制器5、5a相同数量的核C0、C1、C2的另一微控制器5、5a时,不需要重新实现该应用任务架构。
这样,创建了通用架构,该通用架构概括了与应用软件层2和应用任务架构有关的部分的有效性。
接下来,将一个或多个虚拟核A0、A1、A2与所选微控制器5、5a的一个或多个核C0、C1、C2相关联,以便将预先指派给所述至少一个虚拟核A0、A1、A2的任务T10-T14、T20-T24、T30-T34分配给所选微控制器5、5a的核或在所选微控制器5、5a的各核C0、C1、C2之间分配。虚拟核A0、A1、A2对应于微控制器的核C0、C1、C2。
本发明使得能够在具有各种微控制器5、5a的电子控制单元1之间共享同一个应用任务架构,所述各种微控制器5、5a包括具有不同属性(例如,不具有相同的安全等级)的核C0、C1、C2。
当将各种应用集成到具有一个核或具有多个核C0、C1、C2的系统中时,可以使用虚拟核A0、A1、A2,这可以根据本发明独立于所使用的微控制器5、5a来进行。
在示出了具有三个核C0、C1、C2的两个微控制器5、5a的非限制性情况的图2中,任务T10-T14、T20-T24、T30-T34已经分派给了三个虚拟核A0、A1、A2。两个微控制器5、5a被示出为以不同的方式分派实际的核C0、C1、C2来完成这些任务T10-T14、T20-T24、T30-T34。因此,在这两种情况中,虚拟核A0、A1、A2没有与实际的核C0、C1、C2的相同布置相关联,而是与最适宜特定虚拟核A0、A1、A2并可能占据给定的微控制器5、5a中的三个核C0、C1、C2的排布中的不同位置的实际核相关联。
虚拟核A0可以对应于能够履行安全核功能的具有高安全性的核,该核在英语中也称为checker core(校验核)。其余的两个其他虚拟核的附图标记为A1和A2。
仅出于例示性而非限制性的目的,对于附图标记为5的第一微控制器,安全核是附图标记为C0的核,其也用于启动微控制器5,而对于附图标记为5a的第二微控制器,安全核是附图标记为C1的核,与启动核(即,核C0)不同。因此,对于该第二微控制器5a,与虚拟核A0相关联的是核C1。针对第一微控制器5实现的应用任务架构到第二微控制器5a的适配仅需要在将虚拟核A0、A1、A2分别与微控制器5、5a的核C0、C1、C2相关联的步骤中进行修改,架构的其余部分皆保留,这是本发明所带来的重要优点。
可能有这样的微控制器,其具有从能够实行该职责的多个核中选择安全核的可能性,用户掌握着这样的选择可能性。这样选择的安全核与专用于安全的虚拟核相关联。
作为被适配至特定微控制器5、5a的一组虚拟核A0、A1、A2的非限制性示例,可以列举具有或不具有受保护的分区的输入输出受保护的虚拟核A0、通信不受保护的虚拟核、以及不受保护的替换核,它们分别对应于三核微控制器5、5a(这是多核微控制器5、5a在本发明的上下文中的非限制性示例)的实际核。
这样,当所选微控制器5、5a具有多个核C0、C1、C2时,应用任务架构可以包括多个虚拟核A0、A1、A2,其中虚拟核A0、A1、A2的数量与微控制器5、5a所具有的核C0、C1、C2的数量相同。指派给虚拟核A0、A1、A2的任务T10-T14、T20-T24、T30-T34可以分配给所选微控制器5、5a的相同的核C0、C1、C2。
越来越多的微控制器5、5a具有并行工作的成组的核C0、C1、C2。当被选择为构成基于Autosar操作系统的电子控制单元1的一部分的微控制器5、5a包括通过桥连接的至少两组单独的核C0、C1、C2时,针对微控制器5、5a的每组核C0、C1、C2制订一组虚拟核A0、A1、A2,各组虚拟核A0、A1、A2彼此独立。例如,对于微控制器5、5a中的n组或更多组的三个核C0、C1、C2,可以制订组A0、A1、A2,然后是B0、B1、B2,依此类推,直到第n个字母,图2中未示出这种情况。
虚拟核A0、A1、A2因此可以由两个字符来定义。第一个字符(例如A)以非限制性方式指示应用域,而第二个字符是在其应用域中与虚拟核A0、A1、A2相关联的序数,例如从1到3,这不是限制性的。
任务T10-T14、T20-T24、T30-T34可以被归类为具有应用任务架构与应用软件层2之间的通信的获取任务,如从应用层向基础层4传输的命令、或者获取以及相关联的诊断,例如关于从应用层2传输到基础层4的新数据的信息。在实践中,同一任务可能同时包含命令控制和获取。
任务T10-T14、T20-T24、T30-T34可以分派给多个虚拟核A0、A1、A2。任务T10-T14、T20-T24、T30-T34可以根据它们的周期特性或随机特性或者根据其执行持续时间进行分类,并按照这些准则分派给虚拟核A0、A1、A2。
当所选微控制器5、5a包括具有受保护部分和不受保护部分的至少一个核C0或C1时,可以将第一虚拟核A0指定为与所选微控制器5、5a的该受保护核C0或C1相关联,该第一虚拟核是先前图2中示出的核A0,其以虚拟方式具有受保护和不受保护部分。因此,这样的虚拟核A0可以与微控制器中的安全核或英语的checker core(校验核)相关联。
本发明还涉及将多核微控制器5、5a集成到基于Autosar操作系统的电子控制单元1中的方法,Autosar操作系统包括根据这样的设计方法设计的应用任务架构。
对于微控制器5、5a的每个核C0、C1、C2,确定与如下各项有关的其特性:其通过并行执行同时进行的相同任务T10-T14、T20-T24、T30-T34而实行控制的能力、其安全级别、其启动微控制器5、5a的能力、以及其与应用任务架构进行输入输出通信的能力。
这对应于微控制器5、5a的供应商所给出的说明。供应商可以针对同一个微控制器提出特定核的几种组合,于是微控制器的用户可以在能够成为安全核、启动核或输入输出通信核的多个核中选取一个核。
将微控制器5、5a的每个核C0、C1、C2跟与之在特性方面最接近的虚拟核A0、A1、A2相关联,每个虚拟核A0、A1、A2已被虚拟地设计为虚拟地包括微控制器操作所需的此类特性。
在所有这些特性中,可以设定特性之间的优先级顺序,实行控制的能力具有最高优先级。例如,在图2中,第一微控制器5的核C0是受保护的并且能够履行安全核的功能,但是它也能够启动微控制器5,而第二微控制器5a的核C1是受保护的并且能够履行安全核的功能,但不能执行启动。针对两个微控制器5、5a的两个核C0、C1、C2进行的与虚拟核A0、A1、A2的关联将以受保护的虚拟核A0为优先。
对于要集成的任何功能性,可以在设计阶段指定核的亲和关系,核可以是虚拟的也可以是实际的。当集成到各个项目中时,将借助于工具来验证核的该亲和关系。
例如,核的亲和关系可以以各种方式表示,如集成到微控制器的实际核、集成到虚拟核、集成到与给定功能相同的核、集成到其安全核活动的核、或者其为有权利访问外围设备的核、或者具有给定安全级别的核、等等。
最后一种表述是最有利的,因为它是基于抽象原理,相对于核的特性而不是相对于给定的核进行定位。本发明最后涉及基于Autosar操作系统的电子控制单元1,其包括集成了应用任务架构的应用软件层2和微控制器5或5a,应用任务架构用于将微控制器5或5a集成到电子控制单元1中,要由电子控制单元1履行的各种任务T10-T14、T20-T24、T30-T34由应用任务架构分配给微控制器5或5a的一个或多个核C0、C1、C2。
根据如上所述的设计方法来设计电子控制单元1的应用任务架构,在该设计方法中,根据如上所述的集成方法将微控制器5、5a集成到基于Autosar操作系统的电子控制单元1中。

Claims (11)

1.一种基于Autosar操作系统的电子控制单元(1)的应用任务架构的设计方法,Autosar操作系统适用于多个微控制器(5、5a),微控制器(5、5a)包括一个或多个核(C0、C1、C2)作为针对由电子控制单元(1)对操作系统的各种任务(T10-T14、T20-T24、T30-T34)的执行而并行地工作的处理构件,基础软件层用于与构成电子控制单元(1)的一部分的所选微控制器(5、5a)连接,要由电子控制单元(1)执行的操作系统的各种任务(T10-T14、T20-T24、T30-T34)由应用任务架构分配给所选微控制器(5、5a)的一个或多个核(C0、C1、C2),其特征在于,在与所选微控制器(5、5a)关联之前,通过使用不同于微控制器(5、5a)的一个或多个核(C0、C1、C2)的至少一个虚拟核(A0、A1、A2)来制订应用任务架构,各种任务(T10-T14、T20-T24、T30-T34)分别被指派给所述至少一个虚拟核(A0、A1、A2),并且将所述至少一个虚拟核(A0、A1、A2)与所选微控制器(5、5a)的一个或多个核(C0、C1、C2)相关联,以便将指派给所述至少一个虚拟核(A0、A1、A2)的任务(T10-T14、T20-T24、T30-T34)分配给所选微控制器(5、5a)的核或在所选微控制器(5、5a)的各核(C0、C1、C2)之间分配,
其中,多核微控制器(5、5a)以如下方式集成到基于Autosar操作系统的电子控制单元(1)中:
对于微控制器(5、5a)的每个核(C0、C1、C2),确定与如下各项有关的其特性:其通过冗余软件执行而实行控制的能力、其安全级别、其启动微控制器(5、5a)的能力、其访问微控制器的输入输出外围设备的能力,以及
将微控制器(5、5a)的每个核(C0、C1、C2)跟与之在特性方面最接近的虚拟核(A0、A1、A2)相关联。
2.根据权利要求1所述的设计方法,其特征在于,所选微控制器(5、5a)具有多个核(C0、C1、C2),应用任务架构包括多个虚拟核(A0、A1、A2)。
3.根据权利要求2所述的设计方法,其特征在于,被指派给一个虚拟核(A0、A1、A2)的任务(T10-T14、T20-T24、T30-T34)被分配给所选微控制器(5、5a)的同一个核(C0、C1、C2)。
4.根据权利要求2或3所述的设计方法,其特征在于,当所选微控制器(5、5a)包括通过桥连接的至少两组单独的核(C0、C1、C2)时,针对微控制器(5、5a)的每组核(C0、C1、C2)制订一组虚拟核(A0、A1、A2),各组虚拟核(A0、A1、A2)彼此独立。
5.根据权利要求2或3所述的设计方法,其特征在于,当所选微控制器(5、5a)包括具有受保护部分和不受保护部分的至少一个核以形成安全核(C0或C1)时,一个虚拟核(A0)被指定为与所选微控制器(5、5a)的该安全核(C0或C1)相关联。
6.一种将多核微控制器(5、5a)集成到基于Autosar操作系统的电子控制单元(1)中的集成方法,Autosar操作系统包括根据权利要求1至5中的任一项所述的设计方法设计的基础软件层(4),其特征在于,对于微控制器(5、5a)的每个核(C0、C1、C2),确定与如下各项有关的其特性:其通过冗余软件执行而实行控制的能力、其安全级别、其启动微控制器(5、5a)的能力、其访问微控制器的输入输出外围设备的能力,并且将微控制器(5、5a)的每个核(C0、C1、C2)跟与之在特性方面最接近的虚拟核(A0、A1、A2)相关联。
7.根据权利要求6所述的集成方法,其特征在于,设定特性之间的优先级顺序,实行控制的能力具有最高优先级。
8.根据权利要求6或7所述的集成方法,其特征在于,针对虚拟核以及针对微控制器的核设定核的亲和关系,亲和关系涉及集成到微控制器的实际核、集成到虚拟核、集成到与给定任务相同的核、集成到其安全核活动的核、或者其为有权利访问外围设备的核、或者具有给定安全级别的核。
9.一种基于Autosar操作系统的电子控制单元(1),其包括应用软件层(2)、基础软件层(4)和微控制器(5、5a),应用任务架构集成在应用软件层(2)中,基础软件层(4)用于与构成电子控制单元(1)的一部分的微控制器(5、5a)连接,要由电子控制单元(1)履行的各种任务(T10-T14、T20-T24、T30-T34)由应用任务架构分配给微控制器(5、5a)的一个或多个核(C0、C1、C2),其特征在于,电子控制单元(1)的应用任务架构是根据权利要求1至5中的任一项所述的方法而设计的,或者在于,微控制器(5、5a)是根据权利要求6至8中的任一项所述的集成方法而集成到电子控制单元(1)的。
10.根据权利要求9所述的电子控制单元(1),其特征在于,微控制器(5、5a)包括三个核(C0、C1、C2)。
11.一种机动车辆,其特征在于,其包括至少一个根据权利要求9或10所述的基于Autosar操作系统的电子控制单元(1)。
CN201980010429.XA 2018-01-29 2019-01-22 具有一个或多个虚拟核的电子控制单元的应用任务架构的设计方法 Active CN111630496B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
FR1850658 2018-01-29
FR1850658A FR3077403B1 (fr) 2018-01-29 2018-01-29 Procede de conception d’une architecture de taches applicative d’une unite de controle electronique avec un ou des cœurs virtuels
PCT/FR2019/050129 WO2019145632A1 (fr) 2018-01-29 2019-01-22 Procédé de conception d'une architecture de tâches applicative d'une unité de contrôle électronique avec un ou des coeurs virtuels

Publications (2)

Publication Number Publication Date
CN111630496A CN111630496A (zh) 2020-09-04
CN111630496B true CN111630496B (zh) 2024-02-23

Family

ID=62143340

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980010429.XA Active CN111630496B (zh) 2018-01-29 2019-01-22 具有一个或多个虚拟核的电子控制单元的应用任务架构的设计方法

Country Status (4)

Country Link
US (1) US11709717B2 (zh)
CN (1) CN111630496B (zh)
FR (1) FR3077403B1 (zh)
WO (1) WO2019145632A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102019203377B3 (de) * 2019-03-13 2020-08-13 Continental Automotive Gmbh Fahrzeugsystem, Fahrzeug und Verfahren zum Betreiben eines solchen Fahrzeugsystems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802073B1 (en) * 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
CN103685000A (zh) * 2012-09-05 2014-03-26 罗伯特·博世有限公司 网关模块、通信系统和在用户之间传输数据的方法
CN104718532A (zh) * 2012-10-16 2015-06-17 大陆-特韦斯贸易合伙股份公司及两合公司 用于在冗余运行的机动车控制程序之间交换数据的接口

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063796B2 (en) * 2012-08-02 2015-06-23 GM Global Technology Operations LLC Method and apparatus for improving processing performance of a multi-core processor
US20150007196A1 (en) * 2013-06-28 2015-01-01 Intel Corporation Processors having heterogeneous cores with different instructions and/or architecural features that are presented to software as homogeneous virtual cores
US9361159B2 (en) * 2014-04-01 2016-06-07 International Business Machines Corporation Runtime chargeback in a simultaneous multithreading (SMT) environment
KR101794568B1 (ko) * 2016-03-29 2017-12-01 현대오트론 주식회사 오토사 운영체제의 태스크 분배 방법 및 그 장치
US10503544B2 (en) * 2016-10-17 2019-12-10 Toyota Jidosha Kabushiki Kaisha Efficient mapping from task graphs to dynamic system platforms

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7802073B1 (en) * 2006-03-29 2010-09-21 Oracle America, Inc. Virtual core management
CN103685000A (zh) * 2012-09-05 2014-03-26 罗伯特·博世有限公司 网关模块、通信系统和在用户之间传输数据的方法
CN104718532A (zh) * 2012-10-16 2015-06-17 大陆-特韦斯贸易合伙股份公司及两合公司 用于在冗余运行的机动车控制程序之间交换数据的接口

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"AUTOBEST:A United AUTOSAR-OS and ARINC 653 Kernel";Alexander Zuepke 等;《21st IEEE Real-Time and Embedded Technology and Applications Symposium》;20150518;第2部分A节、第3部分B节 *

Also Published As

Publication number Publication date
FR3077403B1 (fr) 2019-12-27
US11709717B2 (en) 2023-07-25
CN111630496A (zh) 2020-09-04
FR3077403A1 (fr) 2019-08-02
WO2019145632A1 (fr) 2019-08-01
US20200371847A1 (en) 2020-11-26

Similar Documents

Publication Publication Date Title
US8386654B2 (en) System and method for transforming PCIe SR-IOV functions to appear as legacy functions
Sangiovanni-Vincentelli et al. Embedded system design for automotive applications
JP5967927B2 (ja) Autosarソフトウェアシステムのautosarソフトウェア要素をバイパスする方法
EP2328095A1 (en) Control software for distributed control, and electronic control device
US8782296B2 (en) Method and device for incremental configuration of IMA type modules
CN104866762B (zh) 安全管理程序功能
Reinhardt et al. Achieving a scalable e/e-architecture using autosar and virtualization
EP1703391A2 (en) Vehicle control software and vehicle control apparatus
CN102915236A (zh) 使用硬件抽象执行软件应用程序的方法和系统
WO2015008112A1 (en) System on chip and method therefor
CN111666210A (zh) 一种芯片验证方法及装置
KR102485288B1 (ko) 차량용 제어기 및 그것의 운영체제 스케쥴링 방법
CN111630496B (zh) 具有一个或多个虚拟核的电子控制单元的应用任务架构的设计方法
CN107771388B (zh) 用于在机动车中的软件组件之间通信的方法
Pinello et al. Fault-tolerant distributed deployment of embedded control software
Vu et al. Enabling partial reconfiguration for coprocessors in mixed criticality multicore systems using PCI Express Single-Root I/O Virtualization
Scheipel et al. Smartos: An os architecture for sustainable embedded systems
CN114041121A (zh) 用于同时执行自动化设备的多个运行时系统的运行时服务器
KR20110064517A (ko) 컴포넌트 구조기반 테스팅 프레임워크 장치 및 방법
CN108536394A (zh) 命令分配方法、装置、设备及介质
CN115098072A (zh) 一种用于车辆的新型软件架构
Oertel et al. More performance with autosar adaptive
Di Natale Design and development of component-based embedded systems for automotive applications
KR100638476B1 (ko) 버추얼 플랫폼 기반의 시스템 온 칩 개발 환경 및 개발 방법
CA2794765A1 (en) Apparatus and method for receiving and sending messages

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right

Effective date of registration: 20221213

Address after: Regensburg, Germany

Applicant after: WeiPai Technology Co.,Ltd.

Applicant after: CONTINENTAL AUTOMOTIVE GmbH

Address before: Toulouse, France

Applicant before: CONTINENTAL AUTOMOTIVE FRANCE

Applicant before: CONTINENTAL AUTOMOTIVE GmbH

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230420

Address after: Regensburg, Germany

Applicant after: WeiPai Technology Co.,Ltd.

Address before: Regensburg, Germany

Applicant before: WeiPai Technology Co.,Ltd.

Applicant before: CONTINENTAL AUTOMOTIVE GmbH

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant