AUTOSAR Safety BSW 深度 — WdgM / SafetyOS / E2E / MPU 协同
本质与导读
本质 AUTOSAR Classic 的 ASIL D 软件安全不靠单点,而靠 BSW 层 WdgM、E2E、Safety OS、MPU/CRC Driver 协同——时间监督、通信完整性、空间/时间隔离三类保护缺一不可,任一缺位即无法 claim ASIL D。
1. AUTOSAR Safety BSW Stack 全景
下图把 5 大 Safety module 在 AUTOSAR stack 中的位置一次说清:
5 大 module:
- WdgM — Services Layer,监督任务
- E2E — Services Layer,通信保护
- Safety OS — Services Layer,任务 + 内存隔离
- MPU Driver — MCAL,硬件 MPU 配置
- CRC Driver — MCAL,HW CRC 加速
2. WdgM (Watchdog Manager) 深度
WdgM 是任务监督的核心:
2.1 alive supervision
alive supervision 的工程特点 + 应用场景:
- 每个 supervised entity (SE) 周期上报 alive counter
- WdgM 检查 counter 在 expected 范围
- 不一致 → reset / SafeState
2.2 deadline supervision
deadline supervision 的工程特点 + 应用场景:
- task 必须在 deadline 内完成
- 超时 → 触发 WdgM 干预
- 适合 ASIL D 主驱 PWM 任务
2.3 logical supervision
logical supervision 的工程特点 + 应用场景:
- 控制流监督(checkpoint A → B → C)
- 跳过 checkpoint → trap
- 防 SEU + bug 引起的 control flow attack
2.4 与 SBC fast WD 联动
与 SBC fast WD 联动的工程特点 + 应用场景:
- WdgM 通过 Wdg drv 写 SBC fast WD
- Q&A 或 window WD 协议
- 见 topic-sbc-watchdog-deep
3. E2E (End-to-End) 深度
E2E 保护通信完整性,8 个 Profile:
3.1 E2E Profile 选型
E2E Profile 选型的工程特点 + 应用场景:
- Profile 1: 8-bit CRC + 4-bit counter(老,慢)
- Profile 2: 8-bit CRC (CRC-8-H2F) + 4-bit counter,动态 DataID list
- Profile 4: 32-bit CRC (CRC-32P4)(主驱推荐)
- Profile 5: 16-bit CRC (CRC-16-CCITT),CAN FD / Ethernet 紧凑头
- Profile 7: variable size(中央网关)
- Profile 22: AUTOSAR R22-11 新
3.2 CRC + Counter + DataID
CRC + Counter + DataID 的工程特点 + 应用场景:
- CRC:抓 bit flip
- Counter:抓重放 / 丢失 / stuck
- DataID:抓错的发送端
- 详见 topic-can-e2e-secoc
4. Safety OS 深度
AUTOSAR Safety OS (OS-Application) 4 个核心:
4.1 OS-Application 隔离
OS-Application 隔离的工程特点 + 应用场景:
- 一个 ECU 内多个 OS-App
- 不同 ASIL 任务分在不同 OS-App
- ASIL D 与 QM 任务严格隔离
4.2 Memory Protection
Memory Protection 的工程特点 + 应用场景:
- 每 OS-App 拥有独立 memory region
- MPU 硬件 enforce
- 写其他 region → trap
4.3 Time Protection
Time Protection 的工程特点 + 应用场景:
- task execution time budget (e.g., 100μs)
- inter-arrival time
- 超时 → 触发 trap
4.4 Trusted Functions
Trusted Functions 的工程特点 + 应用场景:
- 低 ASIL 任务通过 trusted function 调用高 ASIL 资源
- 严格 syscall + parameter validation
5. MPU 与 Memory Partition 协同
ASIL D 内存分区设计:
| Region | ASIL | 访问 |
|---|---|---|
| ASIL D code | D | ASIL D RX,其他禁 |
| ASIL D data | D | ASIL D RW,其他禁 |
| ASIL B code | B | ASIL B RX |
| ASIL B data | B | ASIL B RW |
| Shared (E2E) | D | D 写 + B 读 |
| Stack ASIL D | D | ASIL D 独占 |
Aurix TC397 / S32K3 MPU 都支持 16+ region。
6. AUTOSAR Safety BSW 配置工具
主流配置工具:
- Vector DaVinci Configurator + MICROSAR Safety — 60%+ 市场
- EB tresos Safety — Bosch / 大众主流
- Mentor / Siemens VSTAR Safety — 工业 + 部分汽车
- 国产 — 经纬恒润 + 沪牛 + 普华 — 部分国产 EV 用
7. EV 主驱典型 Safety BSW 配置
EV 主驱 ASIL D 项目典型配置:
7.1 WdgM 配置
WdgM 配置的工程特点 + 应用场景:
- 3-5 supervised entity
- alive checkpoint:PWM task / control task / safety task
- deadline:PWM 100μs / control 1ms
- 与 SBC fast WD 8ms 联动
7.2 E2E 配置
E2E 配置的工程特点 + 应用场景:
- 主驱接收扭矩指令:Profile 4 (32-bit CRC)
- 主驱发送扭矩反馈:Profile 4
- ASIL D 通信全部保护
7.3 Safety OS 配置
Safety OS 配置的工程特点 + 应用场景:
- 3 个 OS-App:ASIL D 主功能 / ASIL B 监控 / QM 通信
- 严格 MPU partition
- Time Protection 防 task hang
8. BSW 资源占用
AUTOSAR Safety BSW 占用资源:
| Module | ROM (KB) | RAM (KB) | CPU (%) |
|---|---|---|---|
| WdgM | 20-30 | 2-5 | 1-3% |
| E2E (5 个 protected signal) | 30-50 | 5-10 | 5-10% |
| Safety OS | 50-100 | 20-50 | 10-15% |
| MPU drv | 5-10 | 1-2 | 1% |
| CRC drv | 5-10 | 1-2 | 1-2% |
| 总 | 110-200 KB | 30-70 KB | 18-30% |
Aurix TC397 (4MB Flash / 512KB SRAM) 完全够用,但 CPU 18-30% overhead 必须算在预算内。
9. ASIL D 主驱 BSW 验证 5 项
ASIL D BSW 验证清单:
- WdgM fault injection — 故意停 alive counter,验证 reset
- E2E corrupt injection — 故意 corrupt CRC / counter,验证 error 返回
- Safety OS partition test — 跨 region 写,验证 trap
- Time Protection test — task 故意 hang,验证 trap
- Coverage report — MC/DC ≥ 90%
10. AUTOSAR Adaptive 趋势
AUTOSAR Adaptive (Linux + container) 在 EV 趋势:
- ASIL D 主驱仍主用 Classic(Adaptive 不够 deterministic)
- 中央计算 / 智驾用 Adaptive
- Classic + Adaptive 混合架构是主流
11. 国产 AUTOSAR Safety BSW 现状
国产 AUTOSAR Safety BSW:
- 经纬恒润 INTEWORK-DPSE — ASIL D cert 进行中
- 沪牛 NeuSAR — ASIL B+ cert
- 普华 ORIENTAIS — ASIL B cert
- 东软睿驰 NeuSAR — ASIL D 在路上
国产替代瓶颈:cert 跟不上,主流 EV 主驱仍 Vector / EB 主导。
12. 一句话总结
AUTOSAR Safety BSW = ASIL D 软件的硬骨架 — WdgM (监督) + E2E (通信) + Safety OS (隔离) + MPU + CRC drv 5 大 module,缺一不可。主流配置:Vector MICROSAR Safety + DaVinci,占用 ROM 110-200KB / RAM 30-70KB / CPU 18-30%。新项目 AUTOSAR 选型必看:Safety BSW cert + Tool Qualification + Tier-1 经验。国产 AUTOSAR Safety BSW 仍稀缺,主驱 PEU 仍 70% Vector / EB。配置错 = 量产后 ASIL D evidence 失效 = 项目重做。
核心要点
- 5 大 Safety BSW:WdgM / E2E / Safety OS / MPU drv / CRC drv
- WdgM 监督 alive + deadline + logical 三种
- E2E Profile 4 (32-bit CRC) 主流 EV 主驱用
- Safety OS = OS-App 隔离 + Memory Protection + Time Protection
- BSW 资源占用 18-30% CPU,必须预算
缩写表
只列本页用到的工业标准缩写;通用英语…
只列本页用到的工业标准缩写;通用英语 / 单位 / 月份 / 我们的
层/Lxtag 不列。覆盖不到的术语见正文 inline 注释。
| 缩写 | 全称 | 中文 / 备注 |
|---|---|---|
| AUTOSAR | Automotive Open System Architecture | 汽车开放系统架构 |
| BSW | Basic Software | 基础软件 (AUTOSAR) |
| E2E | End-to-End protection | 端到端通信保护 (AUTOSAR) |
| MPU | Memory Protection Unit | 内存保护单元(区域级访问权限硬件 enforce) |
| ASIL | Automotive Safety Integrity Level | ISO 26262 安全完整性等级 QM→A→B→C→D |
| SBC | System Basis Chip | 系统基础芯片(电源 + 收发器 + 监控集成) |
| EV | Electric Vehicle | 电动车 |
| MCAL | Microcontroller Abstraction Layer | 微控制器抽象层 (AUTOSAR) |
| PWM | Pulse Width Modulation | 脉冲宽度调制 |
| ECU | Electronic Control Unit | 电子控制单元 |
| QM | Quality Management | ISO 26262 最低等级,只走质量流程 |
| DC | Diagnostic Coverage | 诊断覆盖率 (功能安全语境) |
Cross-references
- ← 索引
- 功能安全工程师指南 hub — V-cycle + 8 大主题
- ASIL Decomposition 深度 — BSW 与 ASIL 拆解
- Lockstep Core 深度 — BSW 与硬件 lockstep 协同
- SBC Watchdog 深度 — WdgM 与 SBC fast WD 联动
- CAN E2E + SecOC — E2E 通信保护详解
- Tool Qualification 深度 — Vector / EB tool qualification