AUTOSAR简介及分层架构

这里写目录标题

      • 1、AUTOSAR简介
      • 2、AUTOSAR的分层架构
        • 2.1、应用软件层(ASW)
        • 2.2、运行时环境(RTE)
        • 2.3、基础软件层(BSW)
        • 2.4、微控制器-MCAL层

1、AUTOSAR简介

AUTOSAR(AUTomotive Open System ARchitecture)是一种为汽车软件开发提供开放化、标准化、可重用化的架构标准。它旨在解决汽车电子系统日益复杂和多样化的软件需求,以提高软件开发效率、降低开发成本、提高软件质量和可靠性。

2、AUTOSAR的分层架构

AUTOSAR分层架构中,自上而下分别:应用软件层(ASW)、运行时环境(RTE)、基础软基层(BSW)和微控制器(Microcontroller)。

AUTOSAR简介及分层架构_第1张图片

2.1、应用软件层(ASW)

ASW(Application Software)层是AUTOSAR架构的一个重要组成部分,它包含若干个软件组件(SWC),软件组件间通过端口(Port)进行交互。每个软件组件可以包含一个或者多个运行实体(RE),运行实体中封装了相关控制算法,其可由RTE事件(RTE Event)触发。

ASW层主要的作用:

①、提供应用软件的运行环境:ASW层为上层应用软件提供一个标准的运行环境,包括硬件抽象层和基础软件组件。它隐藏了底层硬件的复杂性,使应用软件能够独立于具体的硬件平台运行。
②、实现软件模块的组合和配置:ASW层允许开发人员将不同的软件模块组合在一起,并在实时系统中配置和管理这些软件模块。它提供了一个统一的界面和规范,使得不同供应商的软件模块可以无缝集成和协作。
③、提供软件组件通信机制:ASW层定义了一套标准的接口和通信机制,用于不同软件组件之间的相互通信和数据交换。这种标准化的通信机制可以保证软件组件之间的互操作性和可靠性。
④、支持软件模块的自动化测试和验证:ASW层提供了一套标准的测试工具和验证平台,用于对软件模块进行自动化测试和验证。这样可以提高软件开发的效率和质量,减少错误和缺陷。

2.2、运行时环境(RTE)

RTE(Run-Time Environment)作为应用软件层与基础软件层交互的桥梁,为软硬件分离提供了可能。RTE可以实现软件组件间、基础软件间以及软件组件与基础软件之间的通信。RTE封装了基础软基层的通信和服务,使得应用层可以通过RTE接口函数调用基础软件的服务。除此之外,RTE抽象了ECU之间的通信,即RTE通过使用标准化的接口将其统一为软件组件之间的通信。由于RTE的实现与具体的ECU相关,所以必须为每个ECU分别实现。
RTE层的主要功能包括:

①、通信管理:RTE层负责管理软件组件之间的通信,包括消息的传递和接收。它提供了一套API,使得不同的软件组件可以通过消息传递方式进行通信。
②、数据管理:RTE层负责管理软件组件之间的数据交换。它定义了数据类型和数据接口,确保软件组件能够正确地访问和共享数据。
③、事件触发和调度:RTE层通过事件触发和调度机制,控制软件组件的执行顺序和时间。它可以根据事先定义的优先级和触发条件,自动触发和调度软件组件的执行。
④、错误处理:RTE层可以监测和处理软件组件的错误。它提供了错误检测、错误处理和错误恢复机制,确保系统的稳定运行。

2.3、基础软件层(BSW)

BSW(Basic Software)层是AUTOSAR架构中的一部分,负责提供基础软件功能支持,包括以下几个方面的作用:

①、 任务调度和任务管理:BSW层负责管理和调度各种任务,并提供任务间的通信机制,以确保任务按照预定的优先级和时间要求运行。
②、内存管理:BSW层负责管理车载电子系统中的内存分配和释放,以保证系统的稳定性和安全性。
③、设备驱动和通信协议:BSW层提供设备驱动程序,用于与外设(如传感器、执行器等)进行通信,并实现与车辆网络通信协议(如CAN、LIN、FlexRay等)的支持。
④、诊断和故障管理:BSW层负责实现车辆的诊断功能,包括故障检测、故障处理和故障通知等,以提高车辆的可靠性和安全性。
⑤、电源管理:BSW层负责管理车辆电源系统,实现电源的初始化、控制和监视功能,以确保车辆电源的稳定和高效使用。

2.4、微控制器-MCAL层

AUTOSAR中,MCAL(Microcontroller Abstraction Layer)是一个重要的软件层。它主要负责将硬件特定的底层驱动程序与上层应用程序分离开来,提供一个抽象的接口,使得应用程序可以独立于具体的硬件平台。

MCAL层的作用包括以下几个方面:

①、硬件抽象:提供对硬件的抽象接口,通过统一的API,使得应用程序可以通过相同的方式访问不同的硬件平台,无需考虑底层硬件的差异。
②、低级驱动:MCAL层提供了与底层硬件直接交互的驱动程序,包括对外设(如CAN、SPI、I2C等)、时钟、中断等的控制。这些驱动程序封装了底层硬件的操作细节,提供了简单易用的API供上层应用程序调用。
③、硬件配置:MCAL层提供了对硬件参数的配置接口,包括时钟频率、中断优先级、IO口配置等。通过MCAL层,应用程序可以方便地配置硬件参数,无需直接操作底层寄存器。
④、故障诊断:MCAL层还提供了故障诊断的功能。当硬件发生故障或异常时,MCAL层可以通过相应的接口提供错误码或故障状态,方便上层应用程序进行故障处理。

你可能感兴趣的:(自动驾驶嵌入式工程师修炼秘籍,#,AUTOSAR,开发,自动驾驶,嵌入式软件,ADAS,架构,AUTOSAR)