AUTOSAR 软件架构的核心是分层(Layering):把整车软件从「贴近硬件的底层驱动」到「面向功能的应用逻辑」分成若干层,每层只依赖下层提供的标准接口。AUTOSAR 提供两套平台:面向实时控制的经典平台(CP)与面向高性能计算的自适应平台(AP)。

一句话定位

CP 分层解决「实时控制软件的标准化」,AP 分层解决「智能汽车高算力软件的标准化」。

经典平台(CP)分层架构

flowchart TD
    A["应用层 Application Layer"] --> B["运行时环境 RTE"]
    B --> C["基础软件层 BSW"]
    C --> D["微控制器 Microcontroller"]

    A --> A1["软件组件 SWC"]
    A --> A2["原子组件 / 组合组件"]

    B --> B1["SWC 间通信"]
    B --> B2["SWC 与 BSW 通信"]

    C --> C1["服务层 Services"]
    C --> C2["ECU 抽象层 ECU Abstraction"]
    C --> C3["复杂驱动 CDD"]

    C1 --> C11["操作系统 OS"]
    C1 --> C12["通信服务 COM"]
    C1 --> C13["存储服务 NVM"]
    C1 --> C14["诊断服务 DEM / DCM"]

    C2 --> C21["通信硬件抽象"]
    C2 --> C22["内存硬件抽象"]
    C2 --> C23["IO 硬件抽象"]

    D --> D1["微控制器抽象层 MCAL"]
    D1 --> D11["驱动: ADC / CAN / PWM / DIO"]

各层职责

  • 应用层(Application Layer):实现具体业务功能,由若干**软件组件(SWC)**构成。SWC 只通过端口收发数据,不关心通信实现。
  • RTE(Runtime Environment,运行时环境):应用层与基础软件之间的「中间人」,负责把 SWC 之间、SWC 与 BSW 之间的通信落地为实际的总线报文或函数调用。
  • BSW(Basic Software,基础软件层):提供操作系统、通信、存储、诊断等通用服务,进一步细分:
    • 服务层(Services):OS、COM、NVM、DEM/DCM 等。
    • ECU 抽象层(ECU Abstraction):屏蔽具体 ECU 硬件差异。
    • 复杂驱动(CDD):标准接口覆盖不到的特殊外设驱动。
  • MCAL(Microcontroller Abstraction Layer,微控制器抽象层):最底层,直接操作寄存器,封装 ADC、CAN、PWM、DIO 等 MCU 外设驱动,是「换芯片只改这里」的关键。

自适应平台(AP)分层架构

flowchart TD
    A["自适应应用 Adaptive Application"] --> B["自适应 AUTOSAR 运行时 ARA"]
    B --> C["自适应基础软件"]
    C --> D["POSIX 操作系统"]

    B --> B1["通信管理 ARA::COM"]
    B --> B2["持久化 ARA::Persistence"]
    B --> B3["诊断 ARA::DM"]

    C --> C1["功能集群: 执行管理"]
    C --> C2["状态管理"]
    C --> C3["更新与配置管理"]

CP 与 AP 对比

维度经典平台 CP自适应平台 AP
目标场景实时控制(ECU)高性能计算(域控 / 中央计算)
编程语言CC++
操作系统AUTOSAR OS(OSEK)POSIX(Linux 等)
通信CAN / LIN / FlexRay面向服务(SOME/IP、以太网)
更新方式刷写整包支持动态更新与部署

共享功能

加密技术、网络管理(NM)、时间同步等,在 CP 与 AP 中都以功能簇(Functional Cluster)形式提供。

相关