AUTOSAR(AUTmotive Open System ARchitecture)是由全球主流汽车制造商、供应商和科技公司共同制定的开放式汽车软件架构标准,旨在提高汽车电子控制单元(ECCU)的可重用性、可扩展性和兼容性。
传统汽车软件开发模式存在高度定制化、难以复用的问题,导致开发成本高、周期长。
随着汽车电子系统复杂度提升(如ADAS、智能座舱、车联网),需要更高效的软件架构。
AUTOSAR的核心目标
- 标准化接口:定义统一的软件组件交互方式,减少对硬件的依赖。
- 软硬件解耦:使应用软件可以在不同硬件平台上移植。
- 支持功能安全和信息安全。
- 适应未来汽车E/E架构。
AUTOSAR的两种架构
AUTOSAR根据应用场景分为Classic Platform(CP)和Adaptive Platform(AP)。
Classic AUTOSAR(CP)
适用场景:实时性要求高的控制功能,如发动机管理、变速箱控制、底盘系统等。
- 基于静态配置,软件在编译时确定,运行时不可动态调整。
- 运行在实时操作系统(RTOS)上,如OESK/VDX。
- 采用事件驱动机制,适用于低延迟、高可靠的嵌入式系统。
Classic AUTOSAR的分层架构
- 应用层(Application Layer)实现具体车辆功能(如发动机控制),SWC(Software Component)。
- 运行时环境(RTE)管理SWC之间的通信,虚拟功能总线(VFB)。
- 基础软件(BSW)提供系统服务(通信、存储、诊断等),CAN、LIN。NVM、DCM。
- 微控制器抽象层(MCAL)屏蔽硬件差异,提供统一驱动接口,GPIO、ADC、PWM。
Adaptive AUTOSAR(AP)
适用场景:高性能计算需求,如自动驾驶、智能座舱、车联网等。
基于POSIX操作系统(如Linux、QNX),支持动态加载和更新软件。
采用面向服务架构(SOA),支持以太网通信(SOME/IP)。
适用于多核/异构计算平台。
AUTOSAR的核心技术
软件组件(SWC)
- 功能封装:每个SWC代表一个独立功能(如车速计算、故障检测)。
- 端口(Port):定义输入/输出接口(Sender-Receiver、Client-Server)。
- RTE通信:通过虚拟功能总线(VFB)实现SWC间的交互。
基础软件(BSW)
- 通信栈(COM):CAN、LIN、FlexRay、以太网通信
- 存储管理(NVM):EEPROM/Flash数据存储
- 诊断服务(DCM):UDS/OBD-II诊断协议
- 操作系统(OS):任务调度、中断管理
配置工具链
- AUTOSAR工具供应商:Vector、EATS(ISOLAR)、Elekrobit(Tresos)、MathWorks(Simulink)。
开发流程:
- SWC设计(使用Matlab/simulink建模)
- ECU配置(定义RTE、BSW参数)。
- 代码生成(生成C代码,集成到目标ECU)。
AUTOSAR在智能汽车中的应用
传统汽车电子
- 动力系统(EMS、TCU)->Classic AUTOSAR
- 车身控制(BCM、灯光控制)->Classic AUTOSAR
智能网联汽车
- 自动驾驶(感知、决策)->Adaptive AUTOSAR + Classic AUTOSAR
- 智能座舱(IVI、HMI)->Adaptive AUTOSAR
- OTA升级->Adaptive AUTOSAR的更新管理