1. AutoSAR 简介

近年来,汽车E/E系统的的复杂程度快速增加,其中功能代码爆炸式增长,硬体平台种类增多,开发流程和文件格式未统一等问题给汽车电子系统的研发提出了更大的挑战。

自2003年起,全球全球各大汽车整车厂、汽车零部件供应商、汽车电子软体系统公司联合建立的一套标准协议,拟定了一个符合汽车电子软体开发的、开放的以及标准化的软体架构,即Auto SAR。AUTOSAR成员之间开展合作的主要目标是:使基本系统功能以及介面标椎化,使软体开发合作伙伴之间能交换、转换和集成各自的车载网路功能,最大限度地提高车辆售后的软体更新和系统升级效率。

AutoSAR架构的主要目标有三个:

  • 建立独立于硬体的分层软体架构
  • 为实施应用提供方法论,包括制定无缝的软体架构堆叠流程并将应用软体整合至ECU
  • 制定各种车辆应用介面规范,作为应用软体整合标准,以便软体构件在不同汽车平台复用
  1. Auto SAR分层模型

为了实现应用程序和硬体模块之间的分离,AutoSAR架构中的电子软体架构被分为四层,从上到下依次为:应用层(Application Layer),运行时环境(Run Time Environment,RTE),基础软体层(Basic Software,BSW)和微控制器(Microcontroller)。

    1. 应用层(Application Layer)

    应用层中的功能由各软体组件SWC(Software Component)实现,组件中封装了部分或者全部汽车电子功能,包括对其具体功能的实现以及对应描述,如控制大灯,空调等部件的运作,但与汽车硬体系统没有连接。

      1. 运行时环境(Run Time Environment,RTE)

      中间件部分给应用层提供了通信手段,这里的通信是一种广义的通讯,可以理解成介面,应用层与其他软体体的信息交互有两种,第一种是应用层中的不同模块之间的信息交互;第二种是应用层模块同基础软体之间的信息交互。而RTE就是这些交互使用的介面的集散地,它汇总了所有需要和软体体外部交互的介面。从某种意义上来看,设计符合AUTOSAR的系统其实就是设计RTE。

        1. 基础软体层(Basic Software,BSW)

        根据不同的功能对基础软体继续可以细分成四部分,分别为服务层(Service Layer),ECU抽象层(ECUAbstract Layer),复杂驱动(ComplexDriver)和MCAL(Microcontroller Absstraction Layer),四部分之间的互相依赖程度不尽相同。

        • 服务层(Service Layer),这一层基础软体提供了汽车ECU非应用相关的服务,包括OS,网路通讯,内存管理(NVRAM),诊断(UDS,故障管理等),ECU状态管理模块等。
        • ECU抽象层(ECU Abstract Layer),这一层软体提供了ECU应用相关的服务,它是对一个ECU的抽象,它包括了所有的ECU的输入输出,比如AD,DIO,PWM等。
        • MCAL(Microcontroller Absstraction Layer),这一层软体是对ECU所使用的主控晶元的抽象,它跟晶元的实现紧密相关,是ECU软体的最底层部分,直接和主控晶元及外设晶元进行交互。
        • 复杂驱动(Complex Drivers),汽车ECU中有一些领域的ECU会处理相当复杂的硬体信号,执行相当复杂的硬体动作,例如发动机控制,ABS等,这些功能相关的软体很难抽象出来适用于所有的汽车ECU,它是跟ECU的应用以及ECU所使用的硬体紧密相关的,属于AUTOSAR构架中在不同的ECU上无法移植的部分。
        1. 微控制器(Microcontroller)

        底层驱动层由各晶元厂家提供

        推荐阅读:

        相关文章