- 应用AUTOSAR的目的
AUTOSAR:Automotive Open System Architecture(汽车开放系统架构)
1)建立独立于硬件的分层软件架构;(说明以前软硬件耦合程度高)
2)为实施应用提供方法论,包括制定无缝的软件架构堆叠流程并将应用软件整合至ECU;(说明应用软件开发没有统一框架规范)
3)制定各种车辆应用接口规范,作为应用软件整合标准,以便软件构件在不同汽车平台复用。(说明以前应用软件的复用性差)
- AUTOSAR的结构
The AUTOSAR Architecture distinguishes on the highest abstraction level between three software layers: Application, Runtime Environment and Basic Software which run on a Microcontroller
再细化,可以将BSW细分成 服务层、ECU抽象层、控制器抽象层以及复杂驱动,如下图
-
MCAL(Microcontroller Abstraction Layer): 它是BSW最底层的软件,它包含内部驱动程序,这些驱动程序是可以直接访问μC和内部外设的软件模块。
作用:使更高的软件层独立于μC。 -
ECU Abstraction Layer:它的接口是微控制器抽象层的驱动程序。它还包含外部设备的驱动程序
它提供了一个访问外设和设备的API,而不管它们的位置(内部/外部的μC)和它们与μC的连接(端口引脚,接口类型)
作用:使更高的软件层独立于ECU硬件布局 -
CDD(复杂驱动):复杂的驱动程序层从硬件到RTE。
作用:提供集成特殊用途功能的可能性,例如设备驱动程序:
未在AUTOSAR中指定,
有很有限的时间限制
用于迁移等目的。 -
Services Layer服务层是基础软件的最高层,它也适用于其与应用软件的相关性:虽然对I/O信号的访问由ECU抽象层覆盖,但服务层提供:
操作系统功能
车辆网络通信与管理服务
内存服务(NVRAM管理)
诊断服务(包括UDS通信、错误记忆和故障处理)
ECU状态管理、模式管理
逻辑和时间程序流监控(Wdg管理)
作用:为应用程序、RTE和基本软件模块提供基本服务。 -
RTE是一个为应用软件(AUTOSAR软件组件和/或AUTOSAR传感器/执行器组件)提供通信服务的层。
在RTE之上,软件架构样式从“分层”更改为“组件样式”。
AUTOSAR软件组件通过RTE与其他组件(inter和/或intra ECU)和/或服务通信。
作用:使AUTOSAR软件组件独立于映射到特定ECU。
把服务层、ECU抽象层以及控制器抽象层再细化,如下图
- 解析
BSW可细分为以下服务类型: