Classic 与 Adaptive AUTOSAR:不是替代,是分工
汽车软件里有两个 AUTOSAR:Classic 和 Adaptive。常被问起的一个问题是”Adaptive 是不是 Classic 的换代”——不是。CP 管”控制”,AP 管”计算”:一个守车身底盘的确定性,一个扛智驾域控的算力。这篇把两个平台逐维度摆开,讲清它们在现代车上怎么共存,以及对测试工程师意味着什么。
一、逐维度对比
| 维度 | Classic(CP) | Adaptive(AP) |
|---|---|---|
| 目标硬件 | 经典 MCU(Aurix、S32K),KB~MB 内存,无 MMU | 高性能 SoC,GB 级内存,带 MMU |
| 干什么活 | 控制:发动机、刹车、车身、底盘 | 计算:感知融合、规划、泊车、座舱、中央计算 |
| 操作系统 | AUTOSAR OS(OSEK 血统),静态任务表,固定优先级 | POSIX OS(Linux/QNX)+ ARA 运行时 |
| 语言/范式 | C,一切静态:ARXML 配置 → 代码生成 → 编译期定死 | C++14/17,面向对象,允许动态内存/动态调度 |
| 通信范式 | 信号导向:SWC 经 RTE 收发信号,通信矩阵编译期固定,跑 CAN/LIN/FlexRay | 服务导向(ara::com + SOME/IP):事件/方法/字段,服务发现,运行时动态订阅,跑车载以太网 |
| 更新方式 | 整刷:整个 ECU 固件重烧 | 应用级 OTA:像装 App 一样部署单个应用(UCM) |
| 实时/安全 | 硬实时 µs 级,可到 ASIL D,锁步核 | 软实时 ms 级,通常 ASIL B,安全靠监控(PHM)与分解 |
| 软件形态 | SWC + RTE + BSW 分层(MCAL/ECU 抽象/服务) | Adaptive Application + ara::com + 功能集群(Exec/State/UCM/PHM/Crypto/Log) |
一句话画像:CP 是”编译期就把一辈子定死的劳模”——确定、可认证、不许惊喜;AP 是”上线后还能长身体的平台”——动态、可更新,代价是确定性让位。
二、现代车上怎么共存
E/E 架构里两边都在,甚至同一颗域控内共存:SoC 跑 Linux + AP 做感知规划,旁边挂一颗 MCU 跑 CP 当”安全岛”——AP 算出的规划指令,由 CP 侧做安全监控与兜底执行。两边之间靠网关做信号↔服务翻译(CAN ↔ SOME/IP):
┌──────────────────── 域控制器 ────────────────────┐
│ SoC:Linux + AP —— 感知融合 / 规划 / OTA │
│ │ 规划指令 │
│ ▼ │
│ MCU:CP 安全岛(ASIL D)—— │
│ 安全监控 / 兜底执行 │
└─────────┬────────────────────────────────────────┘
│
网关:信号 ↔ 服务(CAN ↔ SOME/IP)
│
车身 / 底盘 ECU 群(CP)
“AP 会不会取代 CP”是伪命题:只要车上还有刹车和转向要控制,CP 就在。两个平台的分工不是时间轴上的新旧替代,而是同一辆车上的空间分工——算力归 AP,确定性归 CP。
三、对测试工程师的含义
- 测 CP 的对象:总线信号激励与观测(CAN/LIN/FlexRay)、UDS 诊断、故障注入——传统 HIL 主战场;PIL 刚需也在这边(定点、TASKING 编译器);
- 测 AP 的对象:服务接口(SOME/IP)、以太网流量、日志追踪、状态管理、OTA 流程;AP 应用大量先在 Linux 容器里做 SIL——AP 域控的 SIL 占比远高于 CP 时代,这直接改变了测试平台的形态:接入层从总线接口卡变成以太网和容器,纯软件仿真能覆盖的用例比例大幅上升;
- 两边通用:测试方法论(场景、判定、回归)在两边完全一致,变的只是接入层;
- 概念对应:CP 的 SWC ↔ AP 的 Adaptive Application;CP 的 RTE ↔ AP 的 ara::com。
CP 把确定性焊死在编译期,AP 把灵活性留到运行时——车上的分工由此而来:性命攸关的控制回路交给”不许惊喜”的 CP,吃算力的智能功能交给”能长身体”的 AP。测试工程师要做的不是选边,而是两套接入层都会,一套方法论通吃。
附:名词解释(按出场顺序)
| 名词 | 通俗解释 |
|---|---|
| AUTOSAR | 汽车行业统一的软件架构标准;分 Classic 和 Adaptive 两个平台 |
| Classic AUTOSAR(CP) | 面向 MCU 的经典平台:一切静态配置,管”控制” |
| Adaptive AUTOSAR(AP) | 面向高性能 SoC 的自适应平台:动态、可更新,管”计算” |
| MCU / SoC | 微控制器(小内存、强实时)/ 片上系统(大内存,跑 Linux 级操作系统) |
| MMU | 内存管理单元;有它才有虚拟内存和进程隔离 |
| OSEK | 老牌汽车嵌入式实时操作系统标准,AUTOSAR OS 的血统来源 |
| POSIX | 类 Unix 操作系统的接口标准,Linux/QNX 都遵循 |
| ARA | AP 的应用运行时(AUTOSAR Runtime for Adaptive applications);ara::com 是其中的通信部分 |
| ARXML | AUTOSAR 的 XML 配置格式,CP 的一切静态配置由它描述 |
| SWC(软件组件) | CP 的应用软件单元,经 RTE 与其他组件通信 |
| RTE(运行时环境) | CP 里把 SWC 黏到基础软件上的生成代码层,通信矩阵编译期定死 |
| 信号导向 / 服务导向 | 两种通信范式:按”信号值”收发(CP)vs 按”服务接口”订阅与调用(AP) |
| SOME/IP | 车载以太网上的服务导向通信协议,AP 的主力 |
| 车载以太网 | 补充/替代 CAN 的车内高速总线,AP 通信的物理层 |
| OTA | 空中下载升级;AP 支持应用级 OTA,像装 App 一样部署单个应用 |
| UCM | AP 的更新与配置管理功能集群,应用级 OTA 的执行者 |
| ASIL | 汽车安全完整性等级(QM/A/B/C/D,D 最严) |
| 锁步核 | 两个核跑同样的指令逐周期比对,硬件级检错,ASIL D 常用 |
| PHM | 平台健康管理:AP 靠监控而非锁步来保安全 |
| BSW / MCAL | CP 的基础软件分层 / 其中最底层的微控制器抽象层 |
| 功能集群 | AP 平台的功能模块群:Exec/State/UCM/PHM/Crypto/Log 等 |
| E/E 架构 | 整车电子电气架构 |
| 域控制器(域控) | 按功能域集中的大算力控制器,常是 SoC + MCU 异构组合 |
| 安全岛 | 域控里跑 CP 的 MCU,专做安全监控与兜底执行 |
| UDS | 统一诊断服务(ISO 14229),CP 侧诊断的主战场 |
| HIL / PIL / SIL | 硬件在环 / 处理器在环 / 软件在环 |
| 定点 | 没有浮点硬件时用整数模拟小数的计算方式,MCU 侧常见 |
| TASKING | 汽车 MCU 常用的商业编译器厂商;PIL 要暴露的正是这类工具链问题 |
下一步:
查看全部文章