AUTOSAR(Automotive Open System Architecture,汽车开放系统架构)是一个全球性的联盟,致力于制定汽车电子软件的标准。自2003年成立以来,它聚集了包括汽车制造商、零部件供应商、电子、半导体和软件系统公司在内的众多行业合作伙伴。AUTOSAR的主要目标是开发一套开放、标准化的汽车电子软件架构,该架构允许汽车电子系统的软件进行高效交换与更新,同时提供了管理日益复杂汽车电子和软件系统的有效基础。
为了达到这些目标,AUTOSAR定义了一套分层架构,该架构将运行在微控制器上的电子控制单元(ECU)软件分为三个主要层面:应用层(Application Layer)、运行时环境层(RTE Layer)以及基础软件层(BSW Layer)。每一层都包含一系列服务和功能,旨在提高软件的模块化、复用性,并降低与硬件平台的耦合性。
应用层位于AUTOSAR分层架构的顶层,负责定义车辆功能相关的软件组件(Software Component,简称SWC),如应用软件组件、传感器软件组件和执行器软件组件等。这些软件组件在概念上独立于硬件,便于软件功能的复用和维护。
RTE(Run Time Environment,运行时环境)层位于应用层和基础软件层之间,作为两者间的通信中介。RTE提供了必要的通信服务,使应用层的软件组件能够相互通信,以及与基础软件层(BSW)进行交互。通过这种方式,应用层软件的架构得以从具体ECU硬件和BSW中抽象出来。
基础软件层(BSW)位于分层架构的底层,它提供了与硬件紧密相关的服务和驱动。BSW层通常被细分为若干子层,如服务层(Service Layer)、ECU抽象层(ECU Abstraction Layer)、微控制器抽象层(Microcontroller Abstraction Layer)和复杂驱动层(Complex Drivers)。每个子层都包含一组特定的软件模块,提供如诊断服务、通信管理、输入输出处理等基本功能。
浙江大学ESE实验中心是一个在AUTOSAR领域具有前瞻性研究的机构,自2004年起就专注于AUTOSAR的研究,并成功开发了符合AUTOSAR标准的集成ECU开发工具链——SmartSARStudio。该工具链支持从软件架构设计到网络系统配置、基础软件核配置、诊断、标定和仿真测试的完整流程,并提倡软件为中心的快速迭代开发模式。
SmartSARStudio之外,Vector公司开发的MICROSAR产品是一个系列的基于AUTOSAR标准的软件模块,包括了运行时环境(RTE)、配置管理(CAL)、操作系统(OS)、通信管理(COM)、输入输出处理(IO)、系统服务(SYS)和诊断(DIAG)等。MICROSAR为开发人员提供了高度标准化的接口,使得他们能够忽略不同硬件平台的差异,甚至在没有硬件平台的情况下先期进行应用程序的开发,然后通过仿真工具如CANoe进行仿真和调试。
在配置方面,DaVinci工具系列提供了与AUTOSAR标准兼容的配置和开发环境。DaVinci Developer是一个专用的ECU软件开发工具,用于生成ECU的运行时环境源代码,用户可通过其图形用户界面开发应用程序并定义应用程序接口。DaVinci Configurator Pro则用于配置和生成ECU中的基础软件(BSW),它能够保证配置过程的一致性,提供及时的错误和缺失数据警告。
AUTOSAR的分层架构通过标准化和模块化的理念,支持汽车行业的软件开发者创建更加灵活、可重用和高效能的软件解决方案,为汽车电子和软件系统的未来发展奠定了坚实的基础。