其他分享
首页 > 其他分享> > AUTOSAR 是什么

AUTOSAR 是什么

作者:互联网

汽车开放系统架构(AUTOSAR)是什么 - 知乎

AutoSAR架构(二) - 知乎

WHAT

AUTOSAR,全称为Automotive Open System Architecture,即汽车开放系统架构。

开放的汽车控制器(ECU)标准软件架构

WHY 基本思想:软硬件分离

WHY——WHERE

在一个汽车控制器中,

于是人们就想通过

来让应用软件开发者可以专注于具体应用功能的开发,而无需考虑控制器底层的运行过程。这样即使更换了处理器硬件,应用软件也无需做太多修改就可以被移植过去。

而底层软件的开发则交给专门的公司,他们为每一个处理器硬件写好驱动,并封装成标准化接口提供给上层。这样底层软件就可以被高效地集成到不同项目中。

而由于同一套底层软件被大量重复使用,发现bug的概率大大提高,从而可以很快得到修补,并且通过更新对其它项目进行同步修补。

WHY——AIM TO

WHY——BY

HOW

AUTOSAR的基本架构

 Classic AUTOSAR架构(图片来源:AUTOSAR官网)

AUTOSAR的开发方法

AUTOSAR遵循的是一种自上而下的开发方式。

即先进行系统设计,再分别进行开发实现,最终进行系统集成。

下图便是AUTOSAR开发流程的一个简要概括。

 

STEP1 系统功能架构设计

这里首先要提一下虚拟功能总线(Virtual Functional Bus,VFB)。

它是为SWC之间的通信和对BSW服务的调用提供一个虚拟的中间层。

这样整车厂在初期进行系统设计(1)时,就可以专注于软件功能模块的设计,而无需考虑硬件的限制。

SWC因而也可以重复利用,并在不同项目里自由组合。

STEP2 将SWC分割到不同的ECU上,得到系统描述文档

完成系统功能架构设计后,第2步便是将SWC分割到不同的ECU上。

通常来说,功能相近的SWC要放在一个ECU上,这样可以减少总线上传递的信号数量,减少总线负载,也减少传输延迟。

这一步会把:

STEP3 控制器描述文档

完成系统设计之后,就可以为每个控制器单独生成一个控制器描述文档(ECU Extract of System Description),同样是AUTOSAR XML格式。

它包含了系统里跟这个ECU有关的所有信息:

例如拥有哪些总线,每个总线的参数(如CAN的比特率、LIN的Schedule Table等等),在每条总线上都收发哪些信号,是否带E2E校验,包含哪些SWC,分别都收发哪些信号,等等。

STEP4 分发文档给不同供应商

接下来便是把这些控制器描述文档分发给各个控制器相应的供应商。

应用层的开发即可以是由同一个控制器的供应商来做,也可以是整车厂自己做,甚至可以将同一个控制器的不同SWC交给不同的供应商来做。

开发过程可以是基于模型的,也可以手动编写C代码。

STEP 5 供应商进行测试

之后供应商便可以对控制器及相应的部件进行测试。前面说过,一辆车上各个部件往往是交给不同的供应商来做的。供应商之间的开发进度往往不同步,而且一般也不会互相往来。那么供应商如何在没有其他部件的情况下,测试自己的部件是否能在系统中正确工作呢?由于我们是在一个设计好的完整系统中切割出一个个ECU Extract的,所以它已经包含了跟系统中其它部件的接口信息。

于是各个供应商可以通过仿真工具建立起一个虚拟的系统环境,来测试他们的部件是否与系统兼容。这也就是硬件在环测试(Hardware in the loop,HIL)。

各个部件开发完成后,就可以集成到一起进行测试了。由于各个部件是基于同一个系统设计开发出来的,它们集成到一起后便可以互相配合了。

当然,实际当中会很多问题在单独开发测试阶段没有被发现,集成到一起之后才会被发现。之后还需要不停地进行修改、测试。

但在AUTOSAR框架下,这个过程也是非常清晰的。当需要修改两个控制器之间的信号时,只要先在系统描述文档里进行修改,再生成更新后的控制器描述文档,相应地供应商再将它们导入AUTOSAR开发工具中,更新相应的信号路径、参数等,就可以很快地生成新的C代码。

局限

AUTOSAR的设想很美好,不过在实际应用当中还是有各种限制。

首先,目前提供AUTOSAR开发工具链及基础层软件的基本上就Vector、Elektrobit(Continental)和Bosch三家,而由于各家对AUTOSAR标准的理解和具体实现方式不同,导致它们的基础层软件在某些方面是不兼容的。这使得应用时的灵活性受到了限制。

其次,AUTOSAR的整套工具链价格还是相当昂贵的。AUTOSAR的优势是提高软件的可复用性来降低成本,但对于一些小供应商来说,如果做的量太小的话,这一优势相对于购置整套开发环境的成本便不那么明显了。

另外,传统AUTOSAR的灵活性也是相对而言的。传统AUTOSAR用的是OSEK OS,是一个静态操作系统。其进程的数量、优先级、内存分配等等都是固定的。一旦需要做一个改动,比如添加一个通信信号,都需要重新生成一遍整个ECU的代码并刷写。

于是人们又开发出了Adaptive AUTOSAR,来满足汽车越来越高的智能化,越来越快的功能和软件更新频率要求。

标签:AUTOSAR,什么,总线,控制器,ECU,软件,SWC
来源: https://blog.csdn.net/lamanchas/article/details/121889127