一、AUTOSAR背景介绍
1.1 AUTOSAR是什么?
AUTOSAR是英文AUTomotive Open Systems ARchitecture的缩写,中文意思是汽车开放系统架构,它定义了一套支持分布式的、功能驱动的汽车电子软件开发方法和电子控制单元上的软件架构标准化方案,以便应用于不同的汽车平台,提高软件复用,降低开发成本。
1.2 AUTOSAR标准建立背景
1)电子系统的复杂性不断增长
2)软件代码量急速上升
3)生命周期差别: 整车的生命周期往往长于ECU的生命周期
4)嵌入式系统不支持硬件抽象
5)有限的软件模块化
6)重用性差: 当硬件(处理器型号)更换后,软件往往要推倒重写
7)五花八门的硬件平台
1.3 AUTOSAR合作伙伴
1.4 AUTOSAR的目标和计划
1)标准化:在标准上合作,在实现上竞争
2)将汽车系统的基础软件标准化为一个跨OEM的“标准栈”
3)集成不同供应商生产的功能模块
4)适用于不同的车辆及不同的车型
5)适用于整个产品的生命周期
6)从软件站把硬件抽象出来,对于不同硬件平台具有更大的灵活性
7)更多的配置而非实现
8)标准化的AUTOSAR的代码配置/建模工具
9)重用性可以覆盖整个网络节点,甚至跨不同的OEM
10)软件功能模块在不同车型之间被重用
1.5 AUTOSAR现实情况
1)许多OEMs和供应商已在大范围的应用中引入AUTOSAR
2)大多数核心成员基本完成基础软件的迁移,使得基础软件完全遵从AUTOSAR规范
3)AUTOSAR核心成员在2011年生产了给予ATUTOSAR架构的2500万颗ECU,2016年生产大约3亿颗
1.6 AUTOSAR版本发展
二、AUTOSAR技术概述
2.1 软件架构
1)软件架构分层图
2)软件架构之微处理器抽象层
3) 软件架构之ECU抽象层
4)软件架构之复杂驱动
5)软件架构之服务层
6)软件架构之AUTOSAR 运行时环境
7)功能组
8) 软件架构之接口介绍
9)软件架构之接口视图
2.2 方法论
AUTOSAR为符合该标准的汽车电子软件系统开发过程定义了一套通用的技术方法,这种方法即被称为AUTOSAR方法论(AUTOSAR Methodology)。汽车OEM作为整车系统功能的规划和设计者,需要了解 并掌握AUTOSAR提供的这套开发流程,才能主导和推进符合AUTOSAR标准的系统的开发过程。
- AUTOSAR方法论将系统开发过程分为不同的阶段,主线是从系统设计到ECU配置到ECU可执行文件生成,如图 1所示。还有一条直线是软件组件的设计和实现。每个阶段都定义有配套的辅助工具,各个工具之间以给定模板为格式的XML作为信息交互的载体。
- 方法论之阶段划分
- 第一阶段是整体功能的定义和设计,这一阶段主要是由整车厂商规划系统的功能,软件供应商设计和实现的软件组件,只需提供符合AUTOSAR标准接口的描述文形式,系统设计者便可以很方便地把各个组件实现整合起来。设计软件系统的同时,还可以设计硬件网络拓扑结构,定义网络通信的内容,最后按照ECU为单位,抽取各个ECU的描述信息,这一阶段的支持工具通常需要软件组件设计工具和系统配置工具等。
- 第二阶段是各个ECU局部的详细配置,以系统配置抽取的ECU信息为基础,ECU的配置既是进一步的细化配置,也是更贴近于ECU实现的配置。这一阶段的内容包括运行时环境的配置,操作系统和COM通信的配置,以及相关基础服务软件的配置,结果是产生一个包含ECU整体信息的配置描述文件。最后各个模块的代码生成工具根据此配置文件生成各个模块的代码,再和软件组件的实现集成在一起编译生成ECU可执行文件。
- 方法论总结:
- AUTOSAR方法论的最大特点是对开发流程和工具做了比较详细的定义。AUTOSAR定义了开发流程中需要各个工具的所扮演的角色,以符合AUTOSAR Schema的标准格式XML文件作为工具间信息传递的载体,这种信息交换方式贯穿AUTOSAR开发工具链的始终。统一的格式简化了工具之间的连接,无论是设计过程中的反复迭代,无论采用自顶向下还是自下而上的方式均能适用,使得不同开发工具供应商开发的工具可以很方便集成一套完整的解决方案。AUTOSAR开发工具之间兼容性的增强在很大程度上有利于减小基于模型的AUTOSAR软件开发流程的实施难度。
- 简单来说,依据定义的一套规范,结合AUTOSAR工具链,根据应用的需求,和标准的应用接口。进行应用的设计和开发。SW-C可以通过配置或者手动代码实现。而RTE以及基础软件等都通过配置来完成。
2.3 标准应用接口
通过RTE实现AUTOSAR软件构件(即应用程序)相互间的通信以及软件构件与基础软件之间的通信的前提是,软件构件必须具有标准的AUTOSAR接口。目前,AUTOSAR 4.2版已定义了大部分典型的汽车电子应用领域(动力,车身/舒适和底盘,乘务员行人安全,人机界面、多媒体和通信等)的标准接口。AUTOSAR按照功能逻辑分别将这些领域的系统划分成若干个模块,这些模块可被视为一个软件构件或多个软件构件的组合,这些功能性的软件构件的接口被明确定义,所定义的接口的内容包括名称,含义,范围,数据类型,通信类型,单位等。应用软件开发者在软件构件的设计与开发时需要应用这些接口定义。
- 车身和舒适性模块的构件组成
- 刮水器喷洗器系统的应用接口图
三、AUTOSAR开发流程
- 系统设计(OEM)
- ECU开发集成
- 自上而下的开发流程
四、总结
- AUTOSAR正在成为现实,建立这样一个标准化平台并贯彻标准化,将会缩短新产品的研发时间和测试时间,从而帮助企业实现快速的市场反应。许多OEM都计划在接下来的车型中采用AUTOSAR。在市场上不少工具和软件供应商都已推出了符合AUTOSAR标准的工具或软件支撑,可为AUTOSAR系统的设计和开发提供完整的无缝的解决方案。
- AUTOSAR是汽车电子软件平台标准化的历程中的一个巨大飞跃,我们需要学习和理解它。但是也必须看到,在整个汽车行内打破传统的软件开发平台需要相当长的一个过程。我们可以根据用户的需求和目标,在初期搭建AUTOSAR与传统软件的混合平台,这是是一个能够实现向AUTOSAR平滑升级的可行的方法。在这个过程里,重点不是单纯地使用,理解AUTOSAR的理念和思想才最重要,因为它对汽车电子软件开发的工作流程和商业模式都将带来意义深远的变革。