背景
AUTOSAR(Automotive Open System Architecture)是一个跨汽车行业的标准化软件架构,旨在促进汽车电子系统的开发和部署。下面是AUTOSAR发展的一些关键点:
-
起源和背景: AUTOSAR最初于2003年由汽车制造商宝马、戴姆勒克莱斯勒、福特和供应商博世联合发起,旨在应对汽车电子系统日益复杂的挑战。这些挑战包括不断增长的软件代码量、硬件和软件之间的紧密耦合,以及不同汽车制造商之间的差异化。
-
标准化软件架构: AUTOSAR致力于建立一个标准化的汽车软件架构,以便不同汽车制造商和供应商可以共享和重用软件组件。这意味着开发一次,部署多次,有助于降低开发成本和时间。
-
架构和标准: AUTOSAR定义了软件架构、通信协议、应用接口等方面的标准,以支持汽车电子系统的开发和集成。其中,最重要的是AUTOSAR架构,它提供了一个分层的软件体系结构,包括应用层、运行时环境、基础设施层等,以及与硬件无关的通信协议。
-
增强功能和适应性: 随着时间的推移,AUTOSAR标准不断发展和演进,以适应汽车行业的变化和需求。这包括增强对新技术(如自动驾驶、电动汽车)的支持,提高架构的灵活性和可配置性,以及加强安全性和可靠性。
-
全球化采用: AUTOSAR已成为全球范围内汽车电子系统开发的主要标准之一,得到了许多汽车制造商、供应商和软件开发商的采用。许多汽车公司都在其车辆中使用AUTOSAR标准,以确保软件的可重用性和互操作性。
AUTOSAR(Automotive Open System Architecture)是一种跨汽车行业的标准化软件架构,旨在促进汽车电子系统的开发、部署和管理。下面是AUTOSAR的概述:
1. 目标和原则:
- 标准化: AUTOSAR旨在建立一个统一的汽车软件平台,使不同制造商和供应商能够共享和重用软件组件,从而降低开发成本和时间。
- 模块化: AUTOSAR鼓励模块化设计和开发,使得软件组件可以独立开发、测试和部署。
- 可扩展性: AUTOSAR提供了一种可扩展的软件架构,支持汽车电子系统的不断演进和增强功能。
- 硬件无关性: AUTOSAR的设计考虑了与硬件无关的特性,使得软件能够在不同的硬件平台上运行。
2. 架构和组成:
- 应用层(Application Layer): 包含车辆的应用软件,如引擎控制、传感器管理等,业务代码。
- 运行时环境(Runtime Environment): 提供运行时支持,包括任务管理、内存管理、时间管理等,起到与底层操作进行隔离作用,上层与下层通信,都需要经过RTE。
- 基础软件层(BSW Layer): 提供基础设施支持,如通信栈、诊断模块、ECU管理等。
- 复杂设备驱动(Complex Device Drivers): 用于与复杂硬件设备(如传感器、执行器)进行通信。
3. 核心概念:
- 软件组件(Software Component): 可独立开发、测试和部署的软件单元。
- 服务接口(Service Interface): 描述软件组件之间的通信接口,包括客户端接口和服务器接口。
- 通信接口(Communication Interface): 描述ECU之间的通信协议和数据交换格式。
- 配置描述(Configuration Description): 描述软件组件、服务接口和通信接口之间的关系和配置信息。
4. 标准化和规范:
- AUTOSAR标准:AUTOSAR联盟制定了一系列的技术规范和标准,涵盖了软件架构、通信协议、接口规范等方面。
- 工具链支持:为了支持AUTOSAR开发,提供了各种工具链,包括配置工具、仿真工具、代码生成工具等。
5. 应用领域:
- 汽车电子系统:AUTOSAR广泛应用于汽车电子控制单元(ECU),包括引擎控制、传感器管理、车载娱乐系统等。
- 汽车网络:AUTOSAR定义了一套标准的通信协议,支持在不同ECU之间进行数据交换和通信。
AUTOSAR的发展标志着汽车行业朝着更加标准化、模块化和可重用的方向发展,为未来汽车技术的创新和发展奠定了基础。
工具链
-
MATLAB +DaVinci(国内主流,参考书籍有《基于AUTOSAR规范的车用电机控制器软件开发》)
-
MATLAB+ ETAS(博世和联电主要用这个,参考书籍有《AUTOSAR规范与车用控制器软件开发》)
-
Matlab:大家应该都很熟悉了,主要是用Simulink做代码生成的,就是我们的应用层软件就需要Matlab来开发,当然手写也是可以的,不过弊端就很多了,这个看预算和需求吧
-
DaVinci Developer:主要用来设计AppL的程序架构
-
DaVinci Configurator pro:主要用来配置BSW和自动生成RTE的
-
EB Tresos:主要用来配置MCAL的,可以兼容英飞凌、瑞萨、恩智浦的芯片
接下来会介绍Appl、BSW、MCAL这几部分,并会选择NXP和infineon做一些小功能实操。