AUTOSAR架构深度解析

AUTOSAR架构深度解析

本文转载于:AUTOSAR架构深度解析


目录

AUTOSAR架构深度解析

AUTOSAR分层结构及应用软件层功能

应用软件层

虚拟功能总线VFB及运行环境RTE

基础软件层(BSW)层内划分及其功能

服务层(Services Layer)被分为3个部分:

ECU抽象层被分为4部分

微控制器抽象层(Microcontroller Abstraction Layer)被划分为四部分

复杂驱动(Complex Device Drivers)


AUTOSAR的分层式设计,用于支持完整的软件和硬件模块的独立性(Independence),中间RTE(Runtime Environment)作为虚拟功能总线VFB(Virtual Functional Bus)的实现,隔离了上层的应用软件层(Application Layer)与下层的基础软件(Basic Software),摆脱了以往ECU软件开发与验证时对硬件系统的依赖。
这里写图片描述
软硬件分离的分层设计,对于OEM及供应商来说,提高了系统的整合能力,尤其标准化交互接口以及软件组件模型的定义提高了各层的软件复用能力,从而降低了开发成本,使得系统集成与产品推出的速度极大提升。

AUTOSAR分层结构及应用软件层功能

这里写图片描述
图中所示,算上复杂驱动层(Complex Device Drivers),AUTOSAR架构中共分六层:

  1. 应用软件层(Application Layer)
  2. 运行环境RTE(Runtime Environment)
  3. 服务层(Services Layer)
  4. ECU抽象层(ECU Abstraction Layer)
  5. 微控制器抽象层(Microcontroller Abstraction Layer)
  6. 复杂驱动(Complex Device Drivers)

自上而下逐层介绍:


应用软件层

AUTOSAR的软件被组织在独立的单位软件组件(software-component)中,其中封装了部分或全部汽车电子的功能与行为,包括对具体模块功能的实现以及对应描述,但是对外界仅仅开放了定义好的接口,称之为PortPrototypes,而所有ECU内部组件之间的通信及获取其他ECU资源的动作就都必须要通过接口来访问RTE来完成了。

应用软件层内的通信关系如下:

  1. 软件组件能和同一个ECU上其他软件组件通信
  2. 软件组件能和位于不同ECU上的其他软件组件通信
  3. 软件组件能和有端口并位于同一个ECU上的基础软件(BSW)进行通信

虚拟功能总线VFB及运行环境RTE

虚拟功能总线(VFB)是底层基础软件与网络拓扑结构的抽象,是AUTOSAR提供的所有通信机制的集合,在信息数据交互的过程中,应用程序被建模为组合组件。当系统进行配置时,软件组件就会被映射到指定ECU上,而同时组件间的虚拟连接也被映射到了CAN, FlexRay,MOST等总线上。最后软件组件利用预先定义好的端口,通过VFB来实现通信。

运行环境RTE即是具体单个ECU上对VFB接口的实现,可以理解成是面向对象的编程语言中对象的创建。

各软件组件之间不允许直接进行通信,由RTE封装好了下层如OESK、COM等通信层BSW后,为上层提供数据通信所需的RTE API,再使用端口或者Sender-Receiver通信和Client-Server通信的方式进行交互。
这里写图片描述
软件组件「SWC1」的运行实体A通过端口「switch」向外发送名为a的数据元素,软件组件「SWC2」的运行实体B则通过端口「cmd」接收该数据。该过程中运行实体A调用的RTE API是Rte_Write_Switch_a, 运行实体B实现时调用的RTE_API是Rte_Read_cmd_a。可见软件组件在与其他软件进行通信时,并不依赖模块所处的网络环境及特定拓扑结构。有些ECU 内部的S/R通信API可以直接映射到赋值语句,而其他某些ECU内的C/S通信API则可以映射为调用服务运行实体的语句。


基础软件层(BSW)层内划分及其功能

服务层(Services Layer)被分为3个部分:

1. 通信服务(Communication Services)
包括CAN、LIN、FlexRay在内的整车网络系统、ECU网络及软件组件内的访问进行了统一封装,模块则通过通信硬件抽象层进行通信:

  • 对上层的应用软件层隐藏了协议以及报文属性
  • 提供了统一的总线通信接口供应用软件层调用
  • 提供了统一的网络管理服务
  • 提供了统一的诊断通信接口

2. 内存服务(Memory Services)
将微控制器内外内存的访问进行统一封装,而NVRAM管理器提供了一个RAM镜像,来支持数据的快速读取。

  • 以统一的格式为上层的应用软件层传输非易失性数据
  • 抽象了内存地址以及属性
  • 为数据的保存、加载、校验保护、验证以及安全存储提供了统一的机制

3. 系统服务(System Services)

  • 提供RTOS服务,包括中断管理、资源管理、任务管理等
  • 提供功能禁止管理、通信管理、 ECU状态管理、看门狗管理、同步时钟管理、基本软件模式管理等服务。

ECU抽象层被分为4部分

1. I/O硬件抽象层(I/O Hardware Abstraction)

  • 通过I/O硬件抽象中的信号接口来访问不同的I/O设备
  • 对电流、电压、频率等I/O信号进行封装传输
  • 对上层的应用软件层隐藏下层的ECU硬件

2. 通信硬件抽象层(Communication Hardware Abstraction)

通信硬件抽象将微控制器及板上所有的通信信道都进行了封装,并对CAN、FlexRay、LIN、MOST等通信方式进行了抽象的定义。

3. 内存硬件抽象层(Memory Hardware Abstraction)

将片内、板上的内存资源进行统一封装,如对片内EEPROM和片外的EEPROM都提供了统一的访问机制。

4. 车载设备抽象层(On-board Hardware Abstraction)

对ECU上特殊的一些外设进行封装,如WatchDog以及时钟等。

微控制器抽象层(Microcontroller Abstraction Layer)被划分为四部分

1. I/O驱动(I/O Drivers)

用于驱动模拟及数字I/O信号,如ADC, PWM,DIO。

2. 通信驱动(Communication Drivers)

负责车辆各模块及整车通信,SPI、CAN等。

3. 内存驱动(Memory Drivers)

控制设备芯片内存(如片内Flash、EEPROM)及外部映射设备(外置Flash)。

4. 微处理器驱动(Microcontroller Drivers)

驱动如看门狗(Watchdog)、时钟模块(Clock Unit)并负责RAM测试及对微控制器抽象层内部设备和映射的微控制器抽象层外部设备的内存访问等功能。
这里写图片描述

复杂驱动(Complex Device Drivers)

通过对复杂传感器评估,利用中断、TPU、PCP等来实现实时性高的传感器采样、执行器控制等功能。

AUTOSAR架构对软件组织结构的统一,使得当底层硬件配置升级时不需要更改整个系统,有利于未来整车系统软件的更新,而目前各OEM都在着力研发的智能汽车、自动驾驶等技术都对现有的汽车架构提出了较高的要求,因而AUTOSAR的推广也成为了汽车电子行业的趋势。

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: AutoSAR架构是一种用于电子控制单元(ECU)软件开发的标准化架构。它的设计目标是实现跨不同汽车制造商的软件组件的可重用性、互换性和可移植性。AutoSAR架构的原理是将应用软件、基础软件和硬件抽象层(HAL)分离开来,以实现模块化开发和故障隔离。 AutoSAR架构中的应用软件是按照功能和任务进行划分的组件,这些功能可能包括发动机管理、制动系统、安全系统等。基础软件是为应用软件提供支持的软件,例如通信栈、定时器管理、诊断模块等。而HAL是与硬件交互的软件层,通过HAL层,应用软件可以与ECU硬件进行交互。 AutoSAR架构具有以下特点: 1. 可重用性:AutoSAR架构允许开发人员将已开发和验证的组件在不同的车型中重复使用,提高了软件开发效率和质量。 2. 互换性:不同汽车制造商使用AutoSAR架构开发的软件组件可以互换,这意味着一个汽车制造商可以使用另一个汽车制造商开发的模块,以提升产品的可靠性和性能。 3. 可移植性:AutoSAR架构提供了一种独立于具体硬件平台的软件开发环境,使得软件可以轻松地在不同的ECU上移植和运行。 4. 简化开发过程:AutoSAR架构通过定义标准接口和协议,简化了不同模块之间的通信和集成过程,加快了开发周期。 5. 提高系统可靠性:AutoSAR架构具有内置的故障隔离机制,当一个模块发生故障时,不会对其他模块产生影响,提高了系统的可靠性和稳定性。 总之,AutoSAR架构是一种标准化的软件架构,可以提供跨不同汽车制造商的软件组件的可重用性、互换性和可移植性,以及简化开发过程和提高系统可靠性的优势。 ### 回答2: AUTOSARAutomotive Open System Architecture)是一种用于汽车电子系统开发的软件架构标准。它旨在解决汽车电子系统复杂性增加和软件重用性低的问题。 AUTOSAR架构由四个主要的软件层组成:应用层、运行时环境(RTE)、基础软件(BSW)和硬件抽象层(HAL)。应用层是汽车应用软件的顶层,负责处理具体的汽车功能和要求。RTE提供了应用程序和BSW之间的接口,使得应用程序可以与底层软件进行通信。BSW提供了一些常用的软件功能模块,例如通信、诊断和存储管理。HAL负责将软件与硬件进行适配,在不同的硬件平台上具有一致的API接口。 AUTOSAR架构的主要优势是其模块化和可重用性。开发人员可以根据特定的需求和功能,选择和配置不同的软件模块,而无需从头开始开发。这种模块化的架构使得软件开发更加高效和灵活,可以降低开发和维护的成本。此外,AUTOSAR还提供了一些标准化的接口和通信协议,使得不同厂商的软件和硬件可以进行互操作。 然而,AUTOSAR架构也存在一些挑战。首先,它需要对汽车业务和功能具有深入的理解,以正确选择和配置相应的软件模块。其次,AUTOSAR架构在初期的实施和配置方面可能具有一定的复杂性。最后,AUTOSAR架构的开销相对较高,需要更多的计算和内存资源。 总的来说,AUTOSAR架构是一种适用于汽车电子系统开发的软件架构标准,它通过模块化和可重用的设计,提高了软件开发的效率和灵活性。它有助于降低开发和维护成本,并促进不同厂商的软硬件互操作。然而,使用AUTOSAR架构需要对汽车领域有深入的理解,并且可能存在一定的复杂性和资源开销。 ### 回答3: AUTOSAR (Automotive Open System Architecture) 是一种用于汽车电子系统的开放式架构标准。它旨在推动汽车电子系统中的软件和硬件的互操作性和可重用性。 AUTOSAR的设计目标是提供一种标准化的方法和架构,以优化汽车电子系统的开发和集成。它定义了在不同的汽车电子系统之间进行通信和协作的标准接口和协议,以及如何在这些系统中实现应用程序软件和硬件的交互。 AUTOSAR架构由四个主要层组成:应用层、运行时环境层、基础软件层和硬件层。 - 应用层:应用层包含汽车电子系统的应用软件,这些软件是根据汽车制造商和供应商的需求和规范开发的。应用层将这些软件组织成不同的应用软件组件,这些组件可以在不同的汽车电子系统中被重复使用,并且能够跨不同的硬件平台进行移植。 - 运行时环境层:运行时环境层提供了应用程序之间的通信和协作所需的运行时环境。它包含了通信协议、消息传递机制和事件触发机制等组件,以确保应用程序组件能够相互通信和协调任务。 - 基础软件层:基础软件层包含了与硬件平台无关的驱动程序和服务,以支持 AUTOSAR 应用程序的运行。它提供了硬件抽象层和操作系统接口等功能,以便应用程序能够在不同的硬件平台上运行。 - 硬件层:硬件层包含了汽车电子系统的硬件平台,例如传感器、执行器和控制器等。它定义了硬件与软件之间的接口和通信协议,以确保硬件和软件能够正确地进行交互。 AUTOSAR 的主要优点是它提供了一种标准化的方法和架构,以便不同的汽车制造商和供应商能够在不同的硬件平台上开发和集成软件。它使汽车电子系统更加模块化和可组合,并提高了软件和硬件的可重用性和互操作性。此外,AUTOSAR 还提供了一种灵活性和可扩展性强的架构,以适应不同汽车电子系统的需求和变化。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值