什么是AUTOSAR, 为什么要用AUTOSAR

一、为什么用AUTOSAR?

随着汽车电子的发展,一款现代豪华汽车可能包含多达100个ECU 包括从简单的传感器接口到复杂的信息娱乐及远程信息单元。
在这里插入图片描述
今天的汽车从过去的机械液压的启动转到今天的机械电子的启动,电子化的程度越来越高,要解决这个问题。

  • AUTOSAR联盟提出了个口号“在标准上合作,在实现上竞争”。
  • 预计到2020年,所有车辆都将拥有一些基于AUTOSAR的ECU,因此该标准不能被忽视。
  • 改用AUTOSAR的一些原因和好处如下表所示:
    在这里插入图片描述

二、AUYTOSAR架构

AUTOSARarchitecture的分层式设计,用于支持完整的软件和硬件模块的独立性(Independence),中间RTE(Runtime Environment)作为虚拟功能总线VFB(Virtual FunctionalBus)的实现,隔离了上层的应用软件层(Application Layer)与下层的基础软件(Basic Software),摆脱了以往ECU软件开发与验证时对硬件系统的依赖。
在这里插入图片描述
在这里插入图片描述

  • 软硬件分离的分层设计,对于OEM及供应商来说,提高了系统的整合能力,尤其标准化交互接口以及软件组件模型的定义提高了各层的软件复用能力,从而降低了开发成本,使得系统集成与产品推出的速度极大提升。

  • 算上复杂驱动层(Complex Device Drivers),AUTOSAR架构中共分六层:
    应用软件层(Application Layer)
    运行环境RTE(Runtime Environment)
    服务层(Services Layer)
    ECU抽象层(ECUAbstraction Layer)
    微控制器抽象层(Microcontroller Abstraction Layer)
    复杂驱动(Complex Device Drivers)
    在这里插入图片描述

  • 应用层(Application)
    应用层由一个个Software component(SWC)组成,主要包括Application Software Component(控制策略、软件算法)、Sensor Software Component(传感器参数计算)、Actuator Software Component(执行器控制)。
    其中Application可以完全与MCU、ECU无关,甚至与互相关联的SWC组件所在位置无关,而Sensor和Actuator类型的SWC调用与ECU硬件平台相关。同时多个SWC可组合成为一个Composition合集被调用。
    在这里插入图片描述

  • 实时环境(RTE)
    AUTOSAR架构中各个Component之间无法直接进行的数据交换,必须通过RTE封装的API。
    因此RTE使ECU应用层与基础软件层无需形成映射关系就实现了SWC之间和SWC与BSW之间的数据交互。
    同时在AUTOSAR架构中还存在虚拟功能总线VFB(VirtualFunctional Bus)的概念。
    VFB是AUTOSAR提供的所有通信机制的总和,所有的Component(包括SWC、ECU抽象、服务、复杂驱动)之间的通信组成了VFB。
    所以说RTE属于VFB在单个ECU上的实现实例
    在这里插入图片描述

  • 基础软件(BSW)
    BSW被抽象划分为3个层面和一个组件,分别是MCU层、ECU层、服务层,以及复杂设备驱动组件。
    在这里插入图片描述
    (1)MCU层(Microcontroller Abstraction Layer)
    MCU层的目的在于使上层软件与MCU处理器的型号选型剥离开。其中包括了关于MCU的驱动。
    在这里插入图片描述
    (2)ECU抽象层(ECU Abstraction Layer)
    ECU层的目的在于使上层软件与ECU硬件电路设计剥离开。其中包括了关于ECU上的芯片驱动和外部设备的IO接口。
    在这里插入图片描述
    (3)服务层(ServiceLayer)
    服务层的目的在于提供给应用层可用的服务内容,主要包括:诊断、操作系统、通信、内存管理等
    在这里插入图片描述
    (4)复杂设备驱动组件(Complex Device Drivers)
    复杂设备驱动组件的目的在于提供复杂传感器和执行器的驱动,使应用层可直接访问硬件资源。
    通常对于实时性有着非常高需求的应用可以利用该组件实现控制管理,或是将过去已经应用非常成熟的功能代码移植到该架构下时可放在该组件中,比如ECU的喷油点火,MCU的PWM控制等
    在这里插入图片描述

三、AUTOSAR方法论

AUTOSAR为符合该标准的汽车电子软件系统开发过程定义了一套通用的技术方法,这种方法即被称为AUTOSAR方法论(AUTOSAR Methodology)。

  • 汽车OEM作为整车系统功能的规划和设计者,需要了解并掌握AUTOSAR提供的这套开发流程,才能主导和推进符合AUTOSAR标准的系统的开发过程。
    在这里插入图片描述

主要步骤可划分两个阶段:

  • 第一个阶段是系统配置阶段,这属于系统级设计决策工作。
    首先是编写系统配置输入文件,为XML类型的文件。应用软件的描述术语在 AOTUSAR中为软件构件(Software Components),该文件将确定需要使用的软件构件(即系统具有哪些功能)和硬件资源(ECU),以及整个系统的约束条件。

  • AUTOSAR提供了一系列的模板(软件构件模板,ECU资源模板和系统模板)和标准的信息交换格式,工具供应商可据此提供相应的工具支持,从而简化系统设计的工作,最终系统设计者只需要使用工具填充或编辑相应的模板即可导出系统配置输入文件
    系统配置输入包含三部分内容:
    第一个输入是软件构件描述,定义每个需要的软件构件的接口内容,包括数据类型,端口,接口等;
    第二个输入是ECU资源描述,定义了每个ECU的资源需求,如处理器、外部设备、存储器、传感器和执行器等;
    第三个输入是系统约束描述,定义总线信号,拓扑结构和软件构件的映射关系。
    系统配置阶段接下来的工作是将初步获得的系统配置输入文件,借助系统配置生成器生成系统配置描述文件,同样为XML文件,这是系统配置阶段的最终工作成果。
    该文件将包含所有的系统信息,包括将软件构件映射到相关的ECU上(这种映射需要考虑到构件的需要、构件的连接、资源需求以及约束条件,有时也需要考虑成本等方面的因素),以及通信矩阵(整车的网络结构、时序以及网络数据帧的内容)。

  • 第二个阶段是ECU的配置,这阶段的工作需要对系统中每个ECU分别进行。
    首先是使用第一个阶段的工作成果——系统配置描述文件,从中提取出与各个ECU相关的系统配置描述信息,提取的信息包括ECU通信矩阵、拓扑结构、顶级功能组合(据此产生需映射到该ECU上的所有软件构件),将放在另一个XML文件中。

  • 提取信息的工作可借助工具完成。

  • 然后进入ECU配置的实际工作中,这一步负责往输入对象中添加具体应用所必需的信息,如任务调度、必要的BSW模块、BSW配置信息、给任务分配的可运行实体等。
    这一步的结果被放在ECU 配置描述文件中,它包含了具体ECU所需的所有信息。

  • 最后一步是生成具体ECU的可执行程序,此步将根据ECU配置描述文件中的配置信息,构建完成ECU的基础软件的设置和基于AUTOSAR构件的应用软件的集成,最终生成ECU的可执行代码。

此外,要说明的是,AUTOSAR系统的设计过程使用了虚拟功能总线(Virtual Functional Bus)的概念。

  • 虚拟功能总线(VirtualFunctional Bus)将AUTOSAR软件构件相互间的通信以及软件构件与基础软件之间的通信进行了抽象,同时使用预先定义的标准接口。
  • 而对于虚拟功能总线来说,ECU内部通信和外部总线通信并没有什么区别,这种区别要等到系统布局以及ECU的具体功能最终确定才会体现出来。软件构件本身对于这种区别并不关注,因此我们可以在独立的情况下开发软件构件。
  • 在系统实现过程中,虚拟功能总线所代表的功能最终以RTE的生成来体现。

四、AUTOSAR标准化接口

通过RTE实现AUTOSAR软件构件(即应用程序)相互间的通信以及软件构件与基础软件之间的通信的前提是,软件构件必须具有标准的 AUTOSAR接口。
在这里插入图片描述
目前,AUTOSAR已定义了一些典型的汽车电子应用领域(动力,车身/舒适和底盘)的标准接口。

  • AUTOSAR按照功能逻辑分别将这些领域的系统划分成若干个模块,这些模块可被视为一个软件构件或多个软件构件的组合,这些功能性的软件构件的接口被明确定义,所定义的接口的内容包括名称,含义,范围,数据类型,通信类型,单位等。
  • 应用软件开发者在软件构件的设计与开发时需要应用这些接口定义。
    这里以车身/舒适系统的雨刷管理的软件构件的接口定义为示例,如下图:
1)CmdWashing接口由WiperWasherManager构件提供,其数据内容为FrontWasher构件的Activation接口所使用。 

2)CmdWashing包含一个“Command”的数据元素。 

3)“Command”的数据类型为“t_onoff”。 

4)“t_onoff”属于“RecordType”,该类型描述一般的开/关信息。 
  • 应用软件开发者应该意识到,面向AUTOSAR运行时环境(RTE)接口的应用软件设计的重要性,及早地将AUTOSAR应用层接口引入到实际的项目中来,为实现应用软件的可复用性做好准备,从而优化整个软件开发流程。

  • 参考:链接

  • 3
    点赞
  • 60
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
AUTOSAR是一种汽车软件架构标准,旨在提供一种统一的方法来开发、部署和管理汽车电子系统的软件。它的全称是Automotive Open System Architecture,即汽车开放系统架构。AUTOSAR的目标是通过标准化汽车软件架构,提高汽车电子系统的可重用性、可扩展性和互操作性,从而降低汽车电子系统的开发和维护成本,并加快新功能的开发和上市速度[^1]。 AUTOSAR的基本思想是将汽车软件系统分为多个独立的软件组件,这些组件可以在不同的硬件平台上运行,并通过标准化的接口进行通信。这种模块化的设计使得软件的开发、测试和维护更加容易,同时也提高了系统的可靠性和安全性。 AUTOSAR的基本架构包括应用层、运行时环境、基础软件和硬件抽象层。应用层包括汽车功能的软件组件,运行时环境提供了组件之间的通信和调度机制,基础软件提供了底层的功能支持,硬件抽象层提供了与硬件平台无关的接口。 AUTOSAR的开发方法是基于模型驱动开发(Model-Driven Development,MDD)的方法。开发人员可以使用AUTOSAR的工具和方法来设计和建模汽车软件系统,然后自动生成代码,并进行测试和验证。这种开发方法可以提高开发效率,减少错误,并支持软件的重用和配置。 然而,AUTOSAR也有一些局限性,例如复杂性较高、学习曲线较陡等。此外,由于AUTOSAR是一个开放的标准,不同的汽车制造商和供应商可能会有不同的实现方式和版本兼容性的问题。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢打篮球的普通人

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值