您可以捐助,支持我们的公益事业。

1元 10元 50元





认证码:  验证码,看不清楚?请点击刷新验证码 必填



  求知 文章 文库 Lib 视频 iPerson 课程 认证 咨询 工具 讲座 Model Center   Code  
会员   
   
 
     
   
 订阅
  捐助
多核ECU的架构挑战及分析工具
 
 
  2007  次浏览      16
 2021-3-31 
 
编辑推荐:
本文主要介绍了为什么需要引入多核ECU?AUTIX 多核架构解决方案、单核系统到多核系统的移植及AUTOSAR多核ECU的时序行为工具TA Tool Suite。
本文来自于CSDN,由火龙果软件Linda编辑、推荐。

随着汽车智能化和网联化的深入,整车功能越来越复杂,需要计算能力更强大的汽车电子控制单元进行实时数据的分析,计算,处理和执行发送。并且整车功能越来越多,导致汽车上ECU数量急剧增加,再加上人们对汽车的安全性和交互性更加关注促使汽车电子架构从分散化单个功能ECU控制向集中架构的域控制器模式发展,也催生了运算内核架构趋向于多核化。

一.为什么需要引入多核ECU?

1.为了减少ECU的数量,需要将多个较小的ECU聚合到一个多核ECU中。那么必须将分布式的多个ECU电子控制系统架构过渡到集中式控制的单个多核ECU架构。

2.在ECU上集成更多功能,需要更高的计算处理能力。例如,在相对高性能的领域应用中,如发动机控制或高级驾驶员辅助系统,需要实现越来越多的功能。在这种情况下,可以使用多核架构在多个核上多线程处理复杂计算。

3.要求ECU具有高性能与高可靠性。当发生系统故障也要保证功能的可靠性,这可以通过在不同的内核上运行相同的软件来实现。例如通过锁步核保证代码执行的正确性。

图1 多核系统使用案例

二.AUTIX 多核架构解决方案

下图给出了英飞凌目前提供的多核架构的框图。

图2 Aurix多核架构原理图

英飞凌开发的AURIX多核架构方案旨在满足汽车在性能和安全性方面的需求。多核体系结构基于三个独立的32位处理内核,其中两个内核类型为TriCore 1.6P其运行频率高达300MHz,一个内核为TriCore 1.6E,其运行频率高达200MHz,三个内核均能在汽车极限的工作温度范围内运行且性能良好。

为了满足最新的汽车安全标准ISO26262 提出的严格的安全要求,要求配置三个内核中的两个内核工作锁步模式下。当以锁步模式运行时,内核将对参与主内核运算的数据执行相同的计算操作。比较由主内核和锁步内核计算的结果,可以识别在运行时导致的错误行为,例如由于硬件故障导致的运算结果异常的错误。

三个内核均具有本地存储器,并且还可以访问各种共享资源,例如Flash和SRAM存储器单元,或者总线桥接单元(通过桥接单元访问外围总线的外部I / O设备)。除了内核之外,其他控制器(例如以太网或FlexRay控制器)可能也会共享相同的存储单元。

三.单核系统到多核系统的移植

当把基于单处理器开发的的程序当迁移到多核处理器时,必须要功能分配合理,要充分利用多核系统提供的资源,及保证应用功能的实时性。主要从以下两方面考虑:资源处理及模式处理。下面我们分析移植过程中可能遇到的挑战。

1)资源共享:

软件应用程序与多核系统兼容的主要挑战之一是共享资源(即上述共享存储器,I / O设备和协处理器或通过信号量保护的逻辑数据结构)的使用的复杂性。

传统上,通过使用位于共享存储器中的全局变量来实现各个汽车任务(即软件应用程序的元素)之间的安全共享和通信。通过使用根据操作系统支持的同步机制(SpinLock)来管理和访问这些变量,实现安全地处理单核实时系统中的并发访问问题。

在单核架构中,可以通过两个任务的相对优先级知道哪个任务会中断另一个任务,以及它们如何相互影响,这种情况下可以尽量的避免使用共享资源机制。但在多核架构下,内核间共享资源使用的频繁。假设此系统中的OS调度使用资源天花板协议(即占有资源的Task的优先级被提到最高),则在一个处理器内核上运行的特别关键的高优先级任务可能会被在另一个处理器内核上运行的非关键的低优先级任务Delay。

如下图所示:图3a)中AURIX多核处理器体系结构的两个内核上有三个任务τ1,τ2和τ3。这些任务被假定为静态分配给核心,并根据静态优先级抢先式调度策略进行调度。假定任务τ1具有最高优先级,而τ3具有最低优先级。在执行期间,这三个任务可以访问同一个共享资源,表示为SR。

图3b)图的上半部显示共享资源SR仅可用于Core 1上的任务。此执行对应于单核环境。在该示例中,假定任务τ1对SR进行了3次访问,并且在完成任务之后,较低优先级的任务τ2开始执行并在完成之前两次访问SR。

图3b)的下半部显示共享资源SR也被内核2上的低优先级任务τ3访问,这种情况对应于多核设置。该图显示了最坏情况的调度情况,其中每当请求共享资源SR时,SR已被内核2上的较低优先级的任务τ3锁定,此种情况会导致任务τ1和τ2的执行都会延迟,这样的延迟最终可能导致任务违反时序约束。对于硬实时系统,这种行为可能在运行时产生严重后果。在设计多核系统的时候一定要避免。

图3:a)静态映射在不同内核上的任务共享一个公共资源SR;

b)单核vs多核执行:核间共享资源的访问冲突会延迟较高优先级任务的执行

从设计的角度来看,通过共享资源进行的内核间交互及同步会导致在不同内核上运行的任务之间产生时序上的依赖关系,这种相互依赖关系不仅对计算性能产生负面影响而且还导致了系统的时序上的不可预测性。

各个内核上不同任务的执行以及它们对共享资源的要求是动态的,并且彼此独立的,这使得在设计时很难实现对运行时内核间干扰的预测。

关于多核体系结构,从Autosar 4.0版本开始,AUTOSAR OS规范开始对嵌入式多核处理器上软件的分布式执行的支持进行标准化。更确切地,为了处理上述核心间干扰,AUTOSAR OS指定了核心间共享资源同步机制 SpinLock。

但是,当前对在多核环境中处理功能方面的支持并不能隐式解决上面举例说明的时序问题,这些问题被认为是非功能方面。因此,为了确保多核体系结构在实时系统中的安全应用,在设计时就需要适当的解决方案来处理分析共享资源对多核应用程序的性能和定时行为的影响。

2)模式切换

当在多核平台上设计多模式的应用程序时,保证多核系统的实时性成为了另一个重大挑战。多模式应用的一个简单例子就是驾驶模式。如ECO模式驾驶,运动模式等多模式系统通过在较少的处理器上集成多种模式,从而达到集成更多的的应用程序(即软件应用程序的任务)来节省成本。每个模式都关联了一组特定的任务,这些任务实现了模式特定的功能,并且模式管理器负责管理模式之间的转换。在两种模式之间转换期间,可以停止某些任务或将其简单地中止,可以激活新任务,或者在有多个处理资源的情况下,可以迁移某些任务。另外,在许多嵌入式系统中,有些任务无法停止,并且必须在每种操作模式下以及模式切换的的过渡期间可靠地执行。

图4:在各个模式下以及它们之间的过渡期间的任务映射

如图4中所示,AURIX多核系统中的两个内核在两种操作模式(表示为模式1和模式2)下以及模式切换过渡期间三个阶段下的任务τ1,τ2,τ3和τ4的映射情况。模式1中的功能是通过执行任务τ1,τ2和τ3来实现的,而模式2中的功能是通过执行任务τ1,τ2和τ4来实现的。在该示例中,任务τ1和τ2必须独立于模式改变而连续执行。还请注意,所有这些任务都可以访问公共共享资源SR。此外,假设在这些模式可以实现了双向转换(如图4底部的箭头所示),在转过程中,必须停止执行任务τ3或τ4中的一个,并开始执行另一个任务。

模式转换包含同步模式转换和异步模式转换。在异步模式下,内核2上的任务τ3和τ4在过渡阶段的执行是互斥的,同步模式下,任务τ3和τ4在过渡阶段的执行可以是重叠。一方面,模式依赖任务的互斥执行意味着响应速度低,这对于紧急活动是不可接受的。另一方面,在过渡阶段同时执行属于不同操作模式的任务可能会导致即使只是很短的时间间隔,也会导致处理器上负载加大和内核间干扰增加。两种影响都可能延迟任务的完成,从而导致错过任务的最后截止期限。因此,当多模式应用程序是硬实时嵌入式系统的一部分时,设计人员必须在设计时确保在所有情况下都在运行时满足时序约束。这意味着不仅要在所有系统特性稳定的稳定运行模式下满足时序要求,而且还必须在它们不断变化且系统在模式之间进行转换时满足时序要求。

此外,在设计多模式系统时必须回答的一个关键问题是:在模式更改后,系统何时达到了与一种操作模式相对应的稳定状态?多个模式切换时的重叠将使实时系统的执行完全不可预测,并且必须在运行时避免。为了保证模式更改已完成并且可以安全地启动连续的模式切换,必须知道过渡阶段的持续时间,称为模式更改的建立时间或模式更改过渡等待时间。因此,获取此信息是确保多模式实时系统可预测性的关键。

类似于对多核技术的支持,AUTOSAR标准的最新规范为系统设计人员提供了对汽车系统中模式管理的功能支持。但是,对功能方面的支持并不能隐式地确保非功能方面的正确和安全特性,即安全和可预测的定时行为,尤其是在隐含共享资源的情况下。因此,必须为多模式实时系统的设计人员提供适当的时序和性能验证方法。

但是,与静态多核应用程序相比,如图3所示,如果多模式应用程序共享多核平台的元素,则它们的性能和定时行为将变得更加难以预测。任务的执行及其对共享资源的请求的动态性不仅由处理器调度策略和共享资源仲裁策略决定,还由模式管理切换决定。因此,在这种情况下,时序和性能验证工具必须共同处理(i)多核调度,(ii)共享资源仲裁和(iii)模式管理,以便在设计时进行安全的预测。

综上所述,将静态和多模式软件应用程序集成到多核体系结构上是一项艰巨的任务。时序和性能验证分析是保证多核实时系统的安全高效的重要因素。

四.AUTOSAR多核ECU的时序行为工具TA Tool Suite

TATool提供了用户友好的工具,用于嵌入式多核实时系统的设计,仿真和验证。它涵盖了整个开发周期中作为统一解决方案的非功能性需求“定时”。专家模式可对时序行为进行深入分析。 此外,TA Tool Suite简化了多核ECU中不同核上的应用软件分发。这提高了多核和多核实时系统的效率和响应性。借助TA工具套件,项目经理,系统架构师,开发人员和集成商可以充分利用多核技术的所有优势。

1)TATool Suite的选项

TA Tool Suite包括对时序要求的详细规定与设计、软件架构设计分析以及目标系统时序行为的验证,包括TA Tool Suite Base、TA.Design、TA.Simulation和TA.Inspection。

TATool Suite Base

包括项目资源管理器和时序模型创建,支持数据的导入、导出和对系统时序要求的规定和设置。

TA.Design

通过交互式界面,对高度集成的多功能软件系统中的应用层软件进行动态可视化地定义与设计,以满足其复杂的时序要求。

TA.Simulation

基于模型的ECU时序行为仿真以及基于时序度量的复杂图形表格评估,用于分析不同细致程度的系统时序行为。

TA.Inspection

验证应用程序软件和操作系统的时序行为,通过导入第三方工具记录的时序追踪测量数据,分析系统在响应时间、利用率和其他相关指标的时序信息。

2)特殊功能

TA Tool Suite包含一些增强功能以支持不同类型的项目需求。

接口导入/导出

TA Tool Suite提供通用交互文件格式的接口。TA.Design和TA.Simulation使用AUTOSAR和AMALTHEA格式的系统描述文件作为数据源。TA.Inspection则使用来自各种调试器的trace和其他分析程序的时序追踪日志作为数据源。

处理器模型

可以使用特定处理器模型,利用其派生的运行属性和存储器行为来提高TA.Simulation的精度,从而对处理器运行效果进行更详细准确的分析。有关支持的处理器型号列表,请访问

www.vector.com/ta-tool-suite。

操作系统模型

操作系统的模型是通过复制相应操作系统的动态调度行为来提高TA.Simulation的准确性,当前支持MICROSAR.OS。

工作流程编辑器

工作流程编辑器是一个TA Tool Suite中应用自动化流程的图形化工具,可以为用户在工作流程分析上节省大量时间。例如,它整合了各种系统描述文件中的信息,可以访问先前未使用过的数据源,轻松快捷地定义和执行诸如创建时序模型、开始模拟、跟踪验证和创建分析报告等常规任务。此外,TA Tool Suite还提供与DaVinci Configurator Pro的直接交互接口。

 
   
2007 次浏览       16
相关文章

汽车电子电气架构解析
一文读懂汽车自动驾驶技术原理
究竟什么是“软件定义汽车”
中央计算单元架构和高性能计算单元架构
相关文档

汽车设计-汽车的整体结构及动力系统
自动驾驶汽车软件计算框架
SysML在汽车领域的应用实践
电子电气架构-大陆汽车系统架构平台
相关课程

AutoSAR原理与实践
功能安全管理体系(基于ISO26262)
MBSE(基于模型的系统工程)
基于UML和EA进行系统分析设计
最新课程计划
信息架构建模(基于UML+EA)3-21[北京]
软件架构设计师 3-21[北京]
图数据库与知识图谱 3-25[北京]
业务架构设计 4-11[北京]
SysML和EA系统设计与建模 4-22[北京]
DoDAF规范、模型与实例 5-23[北京]
 
最新文章
AUTOSAR模式管理看这一篇就够了
AUTOSAR架构介绍
无人驾驶汽车系统入门——最短路径搜索之A*算法
汽车功能安全 - 软件开发
干货 | 一文帮你读懂ISO26262汽车功能安全!
最新课程
Auto SAR原理与实践
MBSE(基于模型的系统工程)
国际汽车行业五大质量工具理论与实战
人工智能助力汽车行业升级
基于UML和EA进行系统分析设计
SysML和EA进行系统设计建模
更多...   
成功案例
均胜(上海)汽车安全有限公司 购买EA工具
深圳某汽车企业 模型驱动的分析设计
上海某汽车电子 EA+UML进行嵌入式系统分析设计
上海蔚来汽车 SysML+EA-进行嵌入式系统分析设计
更多...