AutoSar之方法论Methodology

2021年12月7日汽车技术评论639阅读模式
AUTOSAR为汽车电子软件系统开发定义了通用的技术方法,即AUTOSAR方法论该方法论描述了从系统底层配置到ECU可执行代码产生过程的设计步骤。
AUTOSAR开发方法是基于虚拟功能总线的开发方法
在VFB中,软件组件之间通过端口交互,端口的类型由接口定义。接口控制软件组件间的通讯。设计者在设计软件组件时不必考虑其分配在哪个ECU,也不必考虑网络拓扑结构和ECU在车辆网络中的通讯。所以VFB使得车辆ECU间的电气架构确定之前,就能够确定系统的整个功能。
在VFB设计阶段,应用层中的软件组件通过VFB相互连接起来。在系统配置阶段,软件组件被映射到了不同的ECU上。因此,VFB实现同一个ECU的本地通讯和跨ECU的网络通讯。最后,以一个ECU为单位进行配置。而软件组件间的接口与软件组件与BSW之间通讯的接口由RTE来实现。

AutoSar之方法论Methodology

AUTOSAR设计和开发流程分为三个阶段:系统配置ECU设计与配置阶段代码生成阶段

第一阶段:定义系统配置文件。这是系统设计者或架构师的任务。包括选择硬件和软件组件,定义整个系统的约束条件。AUTOSAR通过使用信息交换格式和模板描述文件来减少初始系统设计时的工作量。系统配置的输入是ARXML类型的文件,输出是系统配置描述文件,系统配置的主要作用是把软件组件的需求映射到ECU上。

第二阶段:根据系统配置描述文件提取单个ECU资源相关的信息,提取出来的信息生成ECU提取文件。根据这个提取文件对ECU进行配置,例如操作系统任务调度,必要的BSW模块及其配置,运行实体到任务的分配等,从而生成ECU配置描述文件。该描述文件包含了特定ECU的所有信息。

第三阶段:生成代码,是基于ECU配置描述文件指定的配置来产生代码、编译代码,并把相关代码链接起来形成可执行文件。

AutoSar之方法论Methodology

在AUTOSAR中,所有的描述文件都是ARXML类型的文件系统配置输入文件包含三部分内容:

(1)软件组件描述,定义每个涉及的软件组件的接口内容,如数据类型,端口,接口等。

(2)ECU资源描述,定义每个ECU的资源需求,如处理器、存储器、外围设备、传感器和执行器等。

(3)系统约束描述,定义总线信号,软件组件间的拓扑结构和映射关系。

系统配置的功能主要是在资源和时序关系的前提下,把软件组件映射到各个ECU上,然后借助系统配置生成器生成系统配置描述文件。描述文件包括总线映射之类的所有系统信息以及软件组件与某个ECU的映射关系。

从系统配置描述文件中提取出与各个ECU相关的系统配置描述信息,提取的信息包括ECU通信矩阵、拓扑结构、映射到该ECU上的所有软件组件,并将这些信息放在各个ECU的提取文件中。

ECU配置主要是为该ECU添加必要的信息和数据,如任务调度、必要的基础软件模块及其配置、运行实体及任务分配等,并将结果保存在ECU配置描述文件中,该文件包含了属于特定ECU的所有信息,换言之,ECU上运行的软件可根据这些信息构造出来。

ECU配置描述文件中的配置信息,生成RTE和基础软件配置代码完成基础软件和软件组件的集成,最终生成ECU的可执行代

 

当然,AUTOSAR方法论不仅涵盖了从VFB设计到生成代码软件集成之间的所有步骤,还包括了标定、存储映射和数据保护等方法。其不仅规定了每一个步骤的行为,还规定了各步骤之间的衔接方式。

AutoSar之方法论Methodology

具体开发流程如下:

1. 系统配置

系统配置是对整个系统建立抽象或功能性的视角。这一阶段需要做的有:确定VFB中有哪些接口、模式、数据类型、软件组件、集合、软件组件约束(哪几个软件组件放在一个ECU上)和整个系统架构。在这一步中需要思考整个功能架构,即提出需求,再根据系统约束进行分析,最后得出一个合理的、高效的系统架构,为后几个阶段指明方向。

2. ECU设计与配置阶段

a. 建立VFB系统描述

根据前一阶段制定的方针做具体工作。所有的软件组件设计都是基于VFB的,所以在此时还没有ECU的概念,所有的软件组件都放在一起开发。整个功能描述独立于任何的ECU和网络。

这一阶段需要做的包括:具体设计VFB中的接口、模式、数据类型、软件组件及其定时。

完成该步后,整个VFB可以确定:有哪些软件组件,这些软件组件互相之间关系和通讯等。

b. 开发软件组件

基于上个阶段,即整个VFB框架搭好,只需向软件组件填充内容。

填充的内容具体有:可运行实体、事件、数据访问点和内部变量等。需要注意的是,在这里设计的软件组件不仅是应用软件组件,还包括ECU抽象层软件组件、复杂驱动软件组件和传感器/执行器软件组件。

软件组件设计完成后,可通过RTE生成器(合同阶段)来生成头文件。如果采用的是手写代码开发控制算法,这些头文件必不可少;如果采用建模的方法来建立控制算法,合同阶段也能验证VFB及软件组件内部设计的正确性。

软件组件的实现独立于ECU的配置,这是AUTOSAR方法论的主要特征。

c.  开发系统和子系统

在系统设计阶段,最重要的是知道系统的拓扑结构和ECU资源,即有几个ECU,各ECU间如何通讯,通讯形式和内容,ECU上有哪些资源,芯片引脚信息等。

这些内容应在第一阶段中定义好,对于系统开发而言,这些是必要的输入。当这些内容输入到系统,就可以将软件组件映射到ECU,并将应用层的数据映射到总线信号,此时系统就建立完成。

当系统建立后,可以建立系统抽象,为开发子系统提供基础。

子系统是在系统抽象基础上构建,子系统可以在系统抽象上进行更改。例如,重新构建软件架构,将原本映射到一个ECU上的软件组件,映射到两个ECU上。

这一阶段的最后是建立ECU提取物,ECU提取将系统中关于ECU信息提取,也为接下来针对每个ECU的配置工作提供基础。

d.  开发基础软件

在这个阶段,要定义基础软件的内部行为,而不是基础软件的配置。

因为基础软件模块独立于VFB,他们可以在任一阶段被开发,该部分是由AUTOSAR工具链供应商提供。

3. 生成代码-软件集成

软件集成是以ECU为单位的。在AUTOSAR概念中,一个ECU就意味着一个微控制器加上外围电路和软件配置,因此,每个微控制器都需要ECU配置。在这一阶段首先需要进行RTE配置。RTE的配置包括建立OS任务,并将运行实体映射到OS任务上。然后是配置BSW,其中包括通讯栈、操作系统、系统服务、存储、诊断、MCAL等基础软件模块。

在配置完成后,则是生成RTE、BSW、OS和MCAL代码。这些代码都是在不同的配置工具中分别生成,而最后放在编译器中统一编译成可执行文件。

AutoSar之方法论Methodology

 

weinxin
扫码关注公众号
关注公众号领精彩彩蛋!
AUTOSAR通信篇—AUTOSAR COM模块 汽车技术

AUTOSAR通信篇—AUTOSAR COM模块

AUTOSAR COM是AUTOSAR通讯的重要组成部分,它是从OSEK COM标准的基础上发展而来的。它提出了一个不同速率的总线网络之间进行数据交换的方法,为汽车控制单元应用软件提供了统一的通信环境...

发表评论