AUTOSAR AP 详解 前言前面我们讲解了关于AUTOSAR CP的一些知识接下来我们聊一聊AUTOSAR AP由于AP平台同样也很庞大本文我们仅从设计理念、架构、、工具链的角度展开说说。目录一、从 Classic 到 Adaptive 的演进二、核心设计理念三、核心架构四、工具链五、AP vs CP一、从 Classic 到 Adaptive 的演进随着自动驾驶、车联网、智能座舱等新兴技术的快速发展传统 CP 平台在计算能力、灵活性和可扩展性方面的局限性日益凸显。2016 年 AUTOSAR 组织开始研发 Adaptive PlatformAP并于 2017 年正式推出首个版本 R17-03。AutoSar AP (Adaptive Platform) 是 AUTOSAR 的新一代标准旨在应对汽车行业向CASE互联 Connected、自动 Autonomous、共享 Shared、电动 Electric转型的挑战。AUTOSAR AP 代表了汽车软件架构从静态嵌入式系统向动态服务化平台的重大转变。AP平台专为功能灵活、算力需求高的智能汽车场景设计其核心是 可扩展性支持功能动态升级如 OTA、算力按需分配甚至可在运行时加载新的软件组件。二、核心设计理念面向服务架构SOA是 AUTOSAR AP 的核心设计理念这一理念的引入彻底改变了传统汽车软件的开发模式。与 Classic 平台基于信号的通信方式不同AP 平台采用基于服务的动态通信机制通过SOME/IPScalable service-Oriented Middleware over IP协议实现服务交互。SOA架构的核心特征1. 服务抽象与封装将复杂的汽车功能抽象为独立的服务单元每个服务具有明确定义的接口和功能边界。服务可以是本地的运行在同一 ECU 上或远程的运行在不同 ECU 上应用代码无需关心服务的具体位置通信基础设施会自动处理差异。2. 动态服务发现与绑定支持运行时服务发现和动态绑定机制服务可以根据应用需求动态加载、配置和更新。这种机制大大提高了系统的灵活性允许功能的增量部署和独立更新。3. 松耦合架构设计通过标准化的服务接口实现组件间的松耦合降低了系统集成的复杂度。服务提供者和消费者之间通过接口契约进行交互不依赖于具体实现提高了软件的可复用性和可维护性。4. 分布式计算支持SOA 架构天然支持分布式计算不同的服务可以部署在不同的计算节点上通过网络进行通信。这种架构特别适合自动驾驶系统中多传感器融合、路径规划、决策控制等功能的分布式实现。三、核心架构AP 并非像 CP 那样是一个完整的静态分层架构而更像是一个运行在 POSIX 兼容操作系统如 Linux, QNX之上的中间件层。AUTOSAR AP进一步的体系结构如下AAAdaptive Application自适应应用程序运行在AUTOSAR Runtime for Adaptive Applications (ARA)之上用于实现碰撞预警、车道保持、自动驾驶等复杂的汽车功能。AA可以使用C语言编写也可以使用模型驱动开发Simulink工具生成。ARAAUTOSAR Runtime for Adaptive applications自适应应用程序的运行平台提供了AA所需的运行时环境包括内存管理、进程管理、文件安全读写、日志记录等。它由功能集群Functional ClustersFCs提供的应用程序接口所组成。Adaptive Foundation提供了AP AUTOSAR的基础功能如服务发现、事件发布订阅、请求回复、数据管理等。这些服务主要是为了实现AA之间以及AA与外部系统之间的面向服务的通信SOC基于SOME/IP协议。Adaptive Services提供了AP AUTOSAR的标准服务状态管理特定于项目实现网络管理更新配置管理UCM即我们比较熟悉的运行时软件更新OTA。四、工具链AUTOSAR AP 的开发工具链呈现出多元化和专业化的特点主要包括以下几类1) MATLAB/Simulink 工具链MATLAB 和 Simulink 是汽车行业的标准开发工具广泛用于算法开发、仿真和代码生成Simulink 提供 AUTOSAR 架构模型资源和画布通过创建、链接或导入 Simulink 模型来定义组件行为支持自动代码生成生成的代码符合 MISRA-C 标准确保代码质量和可维护性2) Python 工具支持西门子等公司开发了专门的 Python 包提供 Python 程序与 AUTOSAR Adaptive 之间的简单高级接口Python 在机器学习框架如 TensorFlow、PyTorch中占据主导地位Python 绑定为 AUTOSAR 提供了与 AI 算法集成的桥梁支持快速原型开发数据科学家可以快速在汽车原型中交付结果3) 专业配置工具Vector 的 DaVinci Developer Adaptive高级的 AUTOSAR Adaptive 项目配置工具具有清晰的导航界面和便捷的模型编辑功能Vector 提供完整的工具链支持包括 PREEvision 用于架构设计、DaVinci 用于配置管理等ETAS 的工具链包括 INTEGRIO 集成原型环境支持 ASCET-MD、MATLAB/Simulink 以及 AUTOSAR和纯 C 代码的集成开发五、AP vs CP最后我们来看看AP与CP在关键维度上的差异特性AutoSar CPAutoSar AP目标场景传统控制发动机、车身、底盘智能计算ADAS、娱乐、网关操作系统OSEK/VDX (静态 RTOS)POSIX (Linux/QNX, 动态 OS)编程语言C 语言C (14/17)通信机制信号导向服务导向 (SOA)网络协议CAN, LIN, FlexRayEthernet (SOME/IP, DDS)部署方式静态编译整体刷写动态加载支持 OTA 更新实时性硬实时软实时 / 分时资源限制资源受限 MCU高性能 MPU (GB 级内存)