分享

聊聊AUTOSAR开发的方法论

 黄南山 2017-07-06

聊聊AUTOSAR开发的方法论

欢迎张工的文章,关于AUTOSAR开发方法论的介绍。

AUTOSAR由三部分构成:软件架构,方法论和模板,软件接口。大家对AUTOSAR的分层架构都有很多认识,知道AUTOSAR的分层架构:应用软件层,RTE层,基础软件层。

本文对AUTOSAR的方法论进行简单介绍,让大家初步认识AUTOSAR的开发流程。AUTOSAR的开发方法是基于虚拟功能总线的开发方法。

AUTOSAR系统架构中,软件组件的交互是基于虚拟功能总线(Virtual Function Bus, VFB )进行的。在VFB上,软件组件之间通过端口(Port)交互,Port的类型由接口(Interface)定义。接口控制了软件组件间通讯的内容和语义。Port和Interface的组合被称为AUTOSAR Port Interface。VFB使得设计者在设计软件组件时不必考虑它们会被分配在哪个ECU上,也不必考虑网络拓扑结构和ECU在车辆网络中如何通讯。这就意味着,通过VFB,在车辆ECU间的电气架构确定之前,就能够确定系统的整个功能。

所以在VFB设计阶段,不需要关心软件组件间的真实通讯方式,只需要在VFB上实现通讯即可,其他事情都可交给系统配置来做。

如上图所示,在VFB设计阶段,应用层中的软件组件都通过VFB相互连接起来。然后,在系统配置阶段,软件组件被映射到了不同的ECU上。这样VFB就变为了同一个ECU上的本地通讯和跨ECU网络通讯。最后,以一个ECU为单位进行配置。而软件组件间的接口与软件组件与BSW之间通讯的接口由RTE来实现。

AUTOSAR需要为系统开发的流程制定一种普遍适用的技术路线,这就是AUTOSAR方法论。AUTOSAR方法论不仅涵盖了从VFB设计到生成代码软件集成之间的所有步骤,还包括了标定、存储映射和数据保护等方法。其不仅规定了每一个步骤的行为,还规定了各步骤之间的衔接方式。

上图展示了AUTOSAR方法论的整体工作流程,其中包括了从VFB设计到软件集成的各个阶段,这些阶段有:

A.建立抽象系统描述

建立抽象系统描述就是对整个系统建立一个抽象或功能性的视角。在AUTOSAR方法论中这一阶段是可以跳过的,因为这一阶段并不有任何实质性的产物。但是为使接下来的几个阶段更为有效,少走回头路,在实际的开发过程中还是要保留。

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

B.建立VFB系统描述

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

这一阶段需要做的有:具体设计VFB中的接口、模式、数据类型、软件组件及其定时。在这一步做完之后,其实整个VFB就可以确定了,即有哪些软件组件,这些软件组件互相之间的关系是怎么样的,它们之间通讯的语法和语义又是如何。

C.开发软件组件

这一阶是基于上个阶段来操作的,即整个VFB框架已经搭好了,就只需向软件组件内填充内容了。填充的内容具体有:运行实体、事件、数据访问点和内部变量(Inter-Runnable Variables, IRV)等。需要注意的是,在这里设计的软件组件不仅是应用软件组件,还包括ECU抽象层软件组件、复杂驱动软件组件和传感器/执行器软件组件。

软件组件内部设计一旦完成,那就可以通过RTE生成器(合同阶段)来生成头文件。如果采用的是手写代码开发控制算法的话,这些头文件则必不可少;如果采用建模的方法来建立控制算法的话,合同阶段也能验证VFB及软件组件内部设计的正确性。软件组件的实现独立于ECU的配置,这是AUTOSAR方法论的主要特征

D.开发系统和子系统

在系统设计阶段,最重要的是知道系统的拓扑结构和ECU资源,即有几个ECU,各ECU间是怎样通讯的,它们通讯的形式和内容是怎样的,ECU上有哪些资源,芯片引脚信息等等。这些内容应该在第一阶段中就应该定义好了,对于系统开发来说,这些就是必要的输入。当这些内容输入到系统后,就可以将软件组件映射到ECU,并且将应用层的数据映射到总线上的信号,此时系统就建立好了。

当系统建立完毕后,可以建立系统抽象,为开发子系统提供基础。子系统是在系统抽象的基础上构建的,子系统可以在系统抽象上进行更改。例如,重新构建软件架构,将原本映射到一个ECU上的软件组件,映射到两个ECU上。

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

E.开发BSW

在这个阶段中是要定义BSW的内部行为,而不是BSW的配置。因为基础软件模块独立于VFB,他们可以在任一阶段被开发,该部分是由AUTOSAR工具链供应商提供。

F.软件集成

软件集成是也是以ECU为单位的。在AUTOSAR概念中,一个ECU就意味着一个微控制器加上外围电路和软件配置,因此,每个微控制器都需要ECU配置。

在这一阶段首先需要进行RTE配置。RTE的配置包括建立OS任务,并将运行实体映射到OS任务上。然后是配置BSW,其中包括通讯栈、操作系统、系统服务、存储、诊断、MCAL等基础软件模块。

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



    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多