AUTOSAR的发展

首先思考一个问题,为什么需要AUTOSAR?

1、早期开发状态

裸写代码法,目前这种开发方式还是存在的,例如一些简单的ECU(锂电池管理单元BMS)在使用这种方式开发,缺点比较明显,软硬件耦合严重换颗芯片就要进行重新裸写。大致总结存在如下问题:

  • 电子系统的复杂性不断增长,软件代码量急速上升
  • 生命周期差别: 整车的生命周期往往长于ECU的生命周期
  • 嵌入式系统不支持硬件抽象
  • 有限的软件模块化
  • 重用性差: 当硬件(处理器型号)更换后,软件往往要推倒重写
  • 五花八门的硬件平台

2、基于封装思想的开发状态

裸写多了,程序员总会想着偷懒,通过有经验的架构师做出一套优化架构,并且结合一些操作系统(OS)对代码进行封装,这样一来便可以大大降低裸写代码法的很多弊端,极大的解决了软件的日益复杂化,可重用低的问题,不过缺点仍然有:

  1. 对于不同的客户,由于各家客户需求不同,重用性依然不好
  2. 软件耦合也会存在,同时该方法的优劣和架构师的能力直接挂钩,存在一定的安全隐患

如下图是Vector以前的解决方案:

image-20221215111724522

Vector在AUTOSAR之前的解决方案

为了解决行业内嵌人式软件开发所面临的问题,提高软件的开发效率和可重用性,降低软件的开发成本,全球主流的汽车整车厂、零部件供应商以及软件、半导体和电子工业的企业于2003年联合成立了汽车开放系统架构AUTOSAR联盟旨在推动建立汽车电气/电子(E/E)架构的开放式标准,使其成为汽车嵌人式应用功能管理的基础架构,并规范汽车电子产品、软件和元器件的互通性,使用户避免因为采用私有的协议和解决方案而导致开发成本日益增长

3、使用AutoSAR作为解决办法

AUTOSAR定义了一套支持分布式的、功能驱动的汽车电子软件开发方法和电子控制单元上的软件架构标准化方案。从结构化概念设计阶段设计AUTOSAR软件组件及其在ECU间的分配,到定义通信和ECU间的配置,通过工具为软件开发流程提供通用的支持采用成熟的工具实现需求的结构化并进行相应的管理,同时建立相应的配置。

1、AUTOSAR的诞生

自从德国发明汽车后,在后来的岁月里,汽车不断地改进不断地演化,车内的系统和零部件越来越复杂和繁多。时至今日,汽车行业,变成了一个蓬勃发展的行业

图片

作为汽车发源地的欧洲大地,准确地讲,德国,于2002年8月,有一群车企大佬(宝马、博世、大陆集团、戴姆勒克莱斯勒和大众汽车公司,后来西门子威迪欧也加入了)就共同的挑战和目标进行了讨论,成立一个联盟,制定标准,准备一统江湖。

很快,在2003年,他们就将AUTOSAR kickoff了,同时也制定了AUTOSAR Classic Platform的Draft版。

在后来几年,这个联盟吸引了无数车企和相关设备商加入,规模不断地发展壮大,所制定的标准框架也日益完善。

逐渐地,后来发现Classic Platform只覆盖了低端的设备,是基于微处理器之上的,上面更高端的系统或服务(有哪些?想想手机业务的发展情况),没有覆盖到。他们的野心是大大的,目标是宏伟的,到了2017年,一个Adaptive Platform就这样诞生了

2、AUTOSAR软硬件隔离

Android是一个非常优秀的架构设计,做到了分层软件,软硬件解耦高度可重用

android_stack11 treble_vndk
一、Android解决碎片化问题退出的Project Treble

大家经常能看到的下图能很形象的说明这一点,隔离后的好处就是不管你用NXP的还是英飞凌的亦或者是TI的;不管你的硬件是怎么设计的,我们都不用修改我们的代码,只需要配置一下AutoSAR,告诉它我换硬件了,然后AutoSAR帮你匹配硬件。当然,实际操作起来还是需要对AuoSAR配置的熟练掌握的,因为要改很多

image-20221215134911259

二、AUTOSAR的作用

旧实现各家方案是各搞各的,并且自己内部也是各项目各搞个的,也就意味着APP无法内外部复用,需要消耗大量的适配成本。

image-20221220153904740

3.Autosar的出现因素

  • 汽车电子系统复杂度和代码量的不断提升,当前整车控制系统的代码量都已达到千万行代码的级别,其复杂度远比高端的航空航天要高,只是安全性比他们要低些。
  • 软件的复习用性差,由于软件依赖于固定的硬件开发,当硬件发生变更时功能往往需要推倒重来,无疑增加重复开发的工作量和周期,这都是血琳琳的投入和成本。

汽车行业里有众多的整车厂(OEM)和供应商。一般来说,每一家OEM会生产不止一种车型,每一家OEM对不同子系统和零部件会选择不止一个供应商,每个供应商也会向不止一家OEM供货。减少开发成本最有效的办法就是,尽可能让产品可重复利用,用数量来分摊开发成本。OEM希望可以让同一套系统和部件用在不同的车型上;同一辆车上来自不同供应商的的各个系统和部件可以相互兼容;而供应商希望开发出来的部件和算法可以通过简单的软件调整就供给不同的OEM。

另一方面,各个供应商的开发进度往往是不同步的。人们希望可以在供应商开发的过程中就可以测试该部件能否与整车上的其它系统正确配合。因此需要一种统一的、标准化的系统描述方法。

这便是AUTOSAR的初衷,即通过提升OEM以及供应商之间软件模块的可复用性和可互换性来改进对复杂汽车电子电气架构的管理。

对于此,汽车圈,德国为主的几个大佬拉倒一起讨论了300来回,并成为最初的九大核心成员(博世、BMW、大陆、福特、戴姆勒、PSA、通用、丰田和大众)。