AUTOSAR Safety BSW 深度 — WdgM / SafetyOS / E2E / MPU 协同

功能安全L2别名 AUTOSAR Safety BSW · WdgM · SafetyOS · OS-Application · E2E protection · MPU partition · 更新

本质与导读

本质 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 中的位置一次说清:

AUTOSAR Safety BSW Stack

5 大 module,以及三个容易被画错/说错的定位细节:

  • WdgM — Services Layer 标准模块(SWS WatchdogManager),经 WdgIf → Wdg drv(MCAL)三层链驱动内部/外部看门狗,监督任务
  • E2E — 严格说是 library(SWS E2ELibrary),不驻留某一层:RTE 通过 E2E Transformer(E2EXf)在信号收发路径上调用它,图中画在 Services 层是示意位置
  • Safety OS — 商用叫法,不是规范模块名:隔离能力(memory / timing protection、OS-Application)是 SWS Os 在 SC3/SC4 下的规范内建(§4.1)
  • MPU Driver — 标准里没有独立的 MPU SWS:MPU 由 OS 在启动与上下文切换时管理;vendor MCAL 常附带非标 Mpu 复杂驱动,图中位置按 vendor 实践画
  • CRC Driver / library — CRC 例程来自 SWS CRCLibrary,可绑定硬件加速(如 TC397 的 FCE)

2. WdgM (Watchdog Manager) 深度

WdgM 是任务监督的核心:每个被监督对象是一个 supervised entity(SE),SE 在代码关键路径上打 checkpoint(WdgM_CheckpointReached),WdgM 的周期 MainFunction 独立汇总仲裁——监督者与被监督者解耦,这是它比"task 自己喂狗"强的根本原因。

2.1 alive supervision

alive supervision 验的是"活性 + 频率":SE 在一个 supervision reference cycle(WdgMSupervisionReferenceCycle)内报告 checkpoint 的次数必须落在期望值 ± 容差内(WdgMExpectedAliveIndications + WdgMMinMargin/WdgMMaxMargin):

  • 抓 task 挂死(次数 = 0)与超频跑(如中断风暴导致重复执行,次数超上限)
  • 只数次数不看时点——task 在 cycle 末尾挤着跑完也算 OK,所以它测不出调度抖动
  • 失败可容忍 WdgMFailedAliveSupervisionRefCycleTol 个 reference cycle(local status 先进 FAILED),超出才 EXPIRED

2.2 deadline supervision

deadline supervision 验的是"时点":一对 checkpoint(start → end)之间的实测间隔必须落在 [min, max]:

  • 抓调度延迟 / 抖动 / 执行时间漂移——正好补 alive 的盲区
  • 违规没有容忍参数,local status 直接 EXPIRED(SWS WdgM 状态机:FAILED 只可由 alive 失败进入)
  • 典型用在 ASIL D 主驱 PWM / 电流环这类硬实时任务

2.3 logical supervision

logical supervision 验的是"控制流":checkpoint 构成有向图,运行时的转移必须沿配置边(A → B → C):

  • 抓 SEU 打飞 PC、非法跳转、被跳过的初始化 / 校验步骤
  • 与 alive/deadline 正交:次数对、时间对、但顺序错,只有它能抓
  • 违规同样直接 EXPIRED,无容忍

2.4 状态机与三条反应路径

WdgM 的反应不是简单"咬狗复位",local / global 两级状态机给了分级处理空间。local status:OK → FAILED(仅 alive,容忍窗内)→ EXPIRED;global status:OK / FAILED / EXPIRED / STOPPED / DEACTIVATED。三条反应路径按烈度递增:

  • 应用级降级 — RTE mode notification 把 local/global status 通知 SWC,应用做 limp-home 仲裁
  • 分区级重启 — 结合 OS-Application:TerminateApplication(RESTART) 只重启出错分区
  • 系统级复位 / 安全态 — global EXPIRED 后,WdgM 还容忍 WdgMExpiredSupervisionCycleTol 个 supervision cycle 才进 STOPPED、停止经 WdgIf_SetTriggerCondition 喂狗——这个容忍窗是刻意留给 Dem/NvM 写 freeze frame 的,归零它就等于放弃故障记录(§12 G2)

2.5 与 SBC fast WD 联动

MCU 内部 WD 不独立于 MCU 自身失效,ASIL D 必须再挂一条外部硬件通道:

  • WdgM 停喂 → Wdg drv 停止服务 SBC 外部看门狗(window 或 Q&A 协议)
  • SBC 超窗 / 答错计数达限 → 硬件拉 safe-state 输出直达栅极驱动 STO,不经 MCU 决策
  • 协议与器件对比见 topic-sbc-watchdog-deep;本页 §7 给 TLF35584 全链算术

3. E2E (End-to-End) 深度

E2E 保护"发送 SWC 封装 → 接收 SWC 解封"整条软件路径的通信完整性——链路层 CRC 在每个网关被剥掉重算,只有 E2E 是真端到端。FO R23-11 PRS E2E Protocol 定义 10 个数据 Profile(1/2/4/5/6/7/8/11/22/44)+ 4 个 method Profile(4m/7m/8m/44m,给 SOME/IP 方法调用);信号类通信只看前十个。

3.1 E2E Profile 选型

选型三维:总线带宽预算 × 消息定长/变长 × ASIL 对 CRC/Counter 强度的下限。主流几档:

ProfileCRCCounter线上开销定位
P01 → P118-bit (0x1D)4-bit≈ 2 BCAN classic;P01 legacy,新项目用 P11
P02 → P228-bit (0x2F)4-bit≈ 1.5 BCAN classic,DataIDList 轮换;P22 是 P02 现代替代
P0516-bit (0x1021)8-bit3 BCAN-FD 定长消息,ASIL D 主流
P0616-bit (0x1021)8-bit5 B(含 Length)CAN-FD / FlexRay 变长消息
P0432-bit (0xF4ACFB13)16-bit12 B(含 Length)Ethernet / SOME/IP,数据 ≤ 4 KB
P4432-bit (0xF4ACFB13)16-bit12 BP04 大数据版,≤ 64 KB
P0764-bit (ECMA)32-bit20 BEthernet 大 PDU
P0832-bit (0xF4ACFB13)32-bit16 BEthernet,长计数需求

两个常见口径错误在此正名:P22 不是 R22-11 新增——它和 P11 一样是老 Profile(P02/P01)的现代替代,规范明言新项目弃 P01/P02;"主驱推荐 P04"不成立——扭矩指令走 CAN-FD 定长帧时主流是 P05(3 字节开销,32 字节帧装得下 E2E + SecOC),P04 是 Ethernet backbone / SOME/IP 侧的选择。

3.2 CRC + Counter + DataID

三个字段各抓一类 fault,组合才覆盖 ISO 26262-6 Annex D 的通信 fault 清单:

  • CRC:抓数据内容随机损坏(bit flip);多项式与 Hamming distance 证据链、以及"CRC 不抓什么"见 topic-can-e2e-secoc §3
  • Counter:抓重放 / 丢失 / stuck / 乱序;接收端按增量判 OK / OKSOMELOST / REPEATED / WRONGSEQUENCE / NONEWDATA
  • DataID:抓无意 masquerade(错的发送端 / 错路由)——进 CRC 计算,两端配置不一致时表现为 100% CRC fail
  • 状态聚合交给 E2E state machine(E2E_SM):滑动窗口 + OkCount/ErrorCount 判 VALID/INVALID,应用只消费 SM 状态而非单帧 status——完整参数化与 FTTI 预算topic-can-e2e-secoc §9

4. Safety OS 深度

"Safety OS" 指按 ASIL 开发/认证的 AUTOSAR OS 实现(Vector MICROSAR Safe、EB tresos Safety OS、ETAS RTA-OS 等);其隔离机制全部来自 SWS Os 的 Scalability Class 定义,不是 vendor 私货。

4.1 Scalability Class — 隔离能力的规范开关

SC 等级决定 OS 带哪些保护,选错等级 = 隔离能力先天缺失:

SC内容典型场景
SC1OSEK OS + schedule table单 ASIL、无分区小 ECU
SC2SC1 + timing protection + 全局时间同步时间隔离需求
SC3SC1 + memory protection + OS-Application + trusted function混合 ASIL 空间隔离
SC4SC2 + SC3 全集ASIL D 主驱标配

4.2 OS-Application 隔离

OS-Application 是分区单元:task / ISR / counter / alarm 按信任域打包:

  • 一个 ECU 内多个 OS-App,不同 ASIL 任务归不同 OS-App
  • trusted OS-App 特权态跑(通常 BSW),non-trusted 用户态跑,ASIL D 与 QM 严格分开
  • 分区级恢复:TerminateApplication 可带 RESTART 选项,错误不必整机复位

4.3 Memory Protection

空间隔离由 MPU 硬件 enforce,OS 在上下文切换时切保护配置:

  • 每 OS-App 拥有独立 data / stack region,写其他 region → 硬件 trap
  • trap 进 ProtectionHook,返回值决定烈度:PRO_IGNORE / PRO_TERMINATETASKISR / PRO_TERMINATEAPPL(_RESTART) / PRO_SHUTDOWN
  • 只隔 RAM 不够——外设寄存器空间同样要进访问矩阵(§12 G3)

4.4 Timing Protection

时间隔离防"高 ASIL 任务被低 ASIL 任务饿死",SC2/SC4 内建三个预算:

  • execution time budget:单次激活的最坏执行时间上限(如 100 μs)
  • inter-arrival time:两次激活的最小间隔,防中断风暴 / 高频重触发
  • resource lock / interrupt disable 时间上限:防长临界区阻塞高优先级任务
  • 超限 → ProtectionHook;注意 budget 必须按 WCET 配而非平均值(§12 G5)

4.5 Trusted Functions

低 ASIL / non-trusted 分区要用高特权资源时,唯一合法通道是 trusted function:

  • CallTrustedFunction 经 OS 受控切换到 trusted 上下文,等价 syscall
  • 被调函数必须做参数校验(指针范围、长度)——这层校验代码本身继承高 ASIL
  • 滥用即后门:trusted function 列表应短、可审计,每条有安全论证

5. MPU 与 Memory Partition 协同

ASIL D 内存分区设计(FFI:让 QM/低 ASIL 永远写不进高 ASIL 数据):

RegionASIL访问
ASIL D codeDASIL D RX,其他禁
ASIL D dataDASIL D RW,其他禁
ASIL B codeBASIL B RX
ASIL B dataBASIL B RW
Shared (E2E)DD 写 + B 读
Stack ASIL DDASIL D 独占

硬件资源口径(常被笼统写成"16+ region",按手册说清):TC397 每个 TriCore 核有 18 个 Data Protection Range(DPR)+ 10 个 Code Protection Range(CPR),组织成 6 组可切换 Protection Set(PSW.PRS 选择)——range 是上下界寄存器对,不受 ARM 式对齐限制;S32K3 的 Cortex-M7 用 16 region 的核内 MPU(v7-M,region 有对齐/大小约束)。跨核/跨 master 还有一层总线级保护(TC3xx 外设 ACCEN 按 bus master 白名单)。TC397 的逐 region 配置实例与动态 FFI 测试见 topic-software-safety §4 Step 4。


6. AUTOSAR Safety BSW 配置工具与商用栈

主流商用 Safety BSW + 配置工具(市场份额无权威公开数,以下按装车面观察排序):

  • Vector MICROSAR Classic + DaVinci Configurator — Safety 产品线 MICROSAR Safe(SafeBSW / SafeOS / SafeRTE),事实上的全球主流
  • Elektrobit(Continental 旗下)EB tresos Studio + Safety OS — 大众系广泛使用
  • ETAS(Bosch 旗下)RTA-OS / RTA-BSW — Bosch 体系量产主力
  • 国产 — 经纬恒润 INTEWORK-EAS / 东软睿驰 NeuSAR cCore / 普华 ORIENTAIS — ASIL D 认证均已落地(§11)

工具本身还要过 tool qualification(TCL 分级 + qualification kit),见 topic-tool-qualification-deep


7. Worked design — TC397 + TLF35584 主驱监督链端到端

本节把 §2-§5 的机制拼成一条可逐段核算的真器件设计链:EV 主驱逆变器,Safety Goal「避免意外扭矩」ASIL D,FTTI = 100 ms(与 topic-torque-safety / topic-software-safety 口径一致)。通信链(E2E + SecOC 帧布局与注入验收)已在 topic-can-e2e-secoc §9 给全,本节做它的孪生:任务监督链

7.1 平台与监督对象

硬件:Infineon TC397(6× TriCore 1.6.2 @ 300 MHz,ASIL D 任务跑 lockstep 核;16 MB PFlash / 2.8-6.9 MB SRAM 按 variant)+ Infineon TLF35584(safety SBC,datasheet Rev 2.0:WWD 窗口看门狗 + FWD 功能看门狗(SPI Q&A)双协议;SS1/SS2 safe-state 输出,fail-safe 时拉低、SS1→SS2 延迟可配;ERR pin 监视 MCU SMU 的 toggle 信号,恒高/恒低即判错——与 SPI 看门狗互为独立通道)。软件:AUTOSAR CP R22-11,OS SC4。

SETask(核 / 周期)Supervision关键参数
SE1 转矩控制CPU0 / 1 msalivereference cycle 10 ms,expected 10,margin ±1;FailedAliveSupervisionRefCycleTol = 1
SE2 电流采样CPU1 / 250 μsdeadlinestart→end ∈ [0.02, 0.20] ms;违规直接 EXPIRED
SE3 安全状态机CPU0 / 10 mslogical读输入→合理性→输出仲裁 有向图;跳步直接 EXPIRED

全局参数:WdgM MainFunction(= supervision cycle)10 ms;WdgMExpiredSupervisionCycleTol = 2(EXPIRED 后留 20 ms 给 Dem 写 freeze frame);TLF35584 FWD 服务窗 10 ms,WD error counter 门限 3 次(达限锁定进 fail-safe,见 topic-infineon-aurix-tc3xx-fusa-deep §5.1)。

7.2 Fault reaction 时间预算(逐段最坏值)

以最慢路径(alive 失败,走满全部容忍窗)核算:

#机制最坏时延
1fault → 下个 MainFunction 判 local FAILEDWdgM 10 ms 周期检查≤ 10 ms
2FAILED 容忍窗 → local EXPIREDFailedAliveSupervisionRefCycleTol = 1+ 10 ms
3global EXPIRED → STOPPEDExpiredSupervisionCycleTol = 2(freeze frame 窗)+ 20 ms
4停喂 → TLF35584 错 3 次达限 → fail-safeFWD 10 ms 窗 × error counter 3+ 30 ms
5SS1/SS2 拉低 → 栅极驱动 STO 关栅硬件线,不经 MCU+ 1 ms

余量 29 ms 吃调度抖动 / 晶振温漂 / 参数取整。deadline / logical 违规没有 #2 的容忍窗,同链最坏 61 ms。两个架构判断值得写进 safety case:safe state 由 SBC 硬件路径落地(SS1 → STO),不依赖 MCU 自身活着——MCU reset + LBIST 重启不在安全反应链上;WdgMImmediateReset 能砍掉 #3/#4 换更快 reset,但牺牲 freeze frame 且 reset ≠ 主驱 safe state,本设计不用。

7.3 E2E 配置(通信链侧,对齐姊妹页)

扭矩指令 VCU → 主驱走 CAN-FD 定长帧:P05(3 字节开销),MaxDeltaCounter = 2,E2E_SM 窗口参数使 tFD ≤ 30 ms——完整帧布局、SecOC 叠加与十类 fault 注入验收见 topic-can-e2e-secoc §9,本页不重复;唯一接口要求:E2E_SM 判 INVALID 后的降扭反应与 §7.2 监督链共用同一 FTTI 预算表,两条链分别 ≤ 100 ms 各自闭环。


8. BSW 资源占用

Safety BSW 的资源开销必须进预算——但要把账记对:CPU 大头是 OS 保护开销(trap / syscall / 上下文切换随任务频率线性涨),不是 CRC 计算。量级参考(TC397 @ 300 MHz,硬件 CRC(FCE)可用,以 vendor AN + 项目 profiling 口径,实际以实测为准):

ModuleROM (KB)RAM (KB)CPU 量级依据
WdgM(3 类 supervision,3-5 SE)10-251-4< 1%MainFunction 10 ms,单次几十 μs
E2E lib + E2EXf(20 signal @ 100 Hz)10-301-4< 0.5%P05 check 约 1 μs/帧;FCE 更低
OS SC4(memory + timing protection)30-10010-505-15%任务周期越短占比越高
Wdg + WdgIf + SPI 链5-151-2< 1%10 ms 一帧 Q&A
Crc drv(FCE 硬件)2-10< 1≈ 0硬件卸载
合计≈ 60-180≈ 15-606-17%(典型 ≈ 10%)

旧口径"18-30% CPU"过于悲观——它把软件 CRC 全速跑在小核、且把应用任务切换全记 BSW 账的两个旧假设叠加了。TC397 的 16 MB PFlash / MB 级 SRAM 对这个 ROM/RAM 量级是零头;真正要在 250 μs / 1 ms 级任务系统里逐项 profiling 的是 OS 行:resource usage evaluation 本身就是 ISO 26262-6:2018 Table 7 点名的 unit 验证方法,不是 nice-to-have。


9. ASIL D 主驱 BSW 验证 5 项

ASIL D BSW 验证清单——共同判据是"注入后检出 + 进安全态的实测时序落在 §7.2 预算表内,trace 留档进 safety case":

  • WdgM fault injection — 挂死 SE task(alive)/ 人为拖长执行(deadline)/ 打乱 checkpoint 顺序(logical),三类各有用例,验 local → global → SBC 全链
  • E2E corrupt injection — corrupt CRC / counter 跳变 / 重放 / 停发,对齐 topic-can-e2e-secoc §9.5 的十类 fault;negative test 缺位 = 机制可能根本没在跑(§12 G4)
  • Safety OS partition test — 跨 region 写(含跨 OS-App 写外设寄存器),验 MPU trap → ProtectionHook → 预期反应
  • Timing protection test — task 故意 hang / 高频重触发,验 execution budget 与 inter-arrival 两条都咬
  • Coverage report — MC/DC 对 ASIL D 是 ISO 26262-6:2018 Table 9 的 highly recommended(++);标准不给数值门限,数值目标(常见 ≥ 90%,或 100% 减 justified deviation)由项目定义——实操闭环(插桩→注入补缺→dead code deviation)见 topic-software-safety §4 Step 3

10. AUTOSAR Adaptive 趋势

AUTOSAR Adaptive(POSIX / 服务化)在 EV 的位置要分清:

  • ASIL D 主驱仍主用 Classic——Adaptive 的动态调度对硬实时 determinism 不友好
  • 中央计算 / 智驾域用 Adaptive;Classic + Adaptive 混合架构是主流
  • 概念有对应物:Classic 的 WdgM 职责在 Adaptive 里由 PHM(Platform Health Management) 承接(同样 alive/deadline/logical supervision),E2E 走同一份 PRS E2E Protocol——机制思想跨平台复用

11. 国产 AUTOSAR Safety BSW 现状

国产三家的功能安全认证在 2022-2024 间已陆续落地,"认证跟不上"的旧叙事需要更新:

  • 经纬恒润 INTEWORK-EAS(-CP) — 27 个模块过 ISO 26262 ASIL D 流程 + 产品双认证(注意产品名是 INTEWORK-EAS,非 DPSE)
  • 东软睿驰 NeuSAR — Classic 平台 cCore 过 ASIL D 认证;aCore 是 Adaptive 产品线
  • 普华基础软件 ORIENTAIS — OS 过 ASIL D 产品认证,定位动力 / 底盘安全系统

真实瓶颈已从认证转向生态:海外主机厂准入、量产 track record、配置工具链成熟度(对标 DaVinci / tresos 的易用性与诊断能力)、Safety Manual / AoU 工程支持深度。主流 EV 主驱平台现阶段仍以 Vector / EB / ETAS 为主,国产在自主品牌新平台上渗透。


12. 工程陷阱(Gotcha)

7 条 BSW 配置 / 集成层的高频返工点——共同规律是"模块都启用了,但配置让保护没真正起作用":

G1 — 喂狗点错位,狗形同虚设:把 Wdg trigger 塞进 timer ISR 或 idle task——ISR 还活着、被监督 task 全死,狗照样被喂饱。checkpoint 必须打在被监督 task 的关键路径上,由 WdgM MainFunction 独立仲裁。修法:review 所有 WdgM_CheckpointReached 调用点归属;fault injection 挂死 task 证明狗真咬(§9)。

G2 — ExpiredSupervisionCycleTol 两头都是坑:设 0 → EXPIRED 立即 STOPPED,reset 前 Dem freeze frame 没写完,量产出现"查无记录的幽灵复位";设太大 → 直接加粗 §7.2 第 3 行,悄悄吃穿 FTTI。修法:该参数必须出现在 fault reaction 预算表里正着算,并用注入实测验证时序。

G3 — OS-App 只隔 RAM 不隔外设:QM 分区直写 GTM/PWM 寄存器,FFI 破功而 MPU 报告全绿。修法:外设寄存器空间进访问矩阵(TC3xx 用 ACCEN 按 bus master 白名单),partition test 必含"跨 App 写外设"用例。

G4 — E2EXf 没真挂上:RTE transformer 链漏配 / DataID 映射错,protect 从未被调用,线上 CRC 字节恒 0——联调时常被当成"预留字节"放过。修法:验收必含 negative test:corrupt 注入必须报错,不报错 = 机制没在跑。

G5 — timing protection budget 按平均执行时间配:cache 冷启动 / flash wait state / 中断嵌套下 WCET 超 budget,量产偶发 ProtectionHook 误杀 ASIL D task——保护机制自己成了可用性事故。修法:budget 按 WCET 分析(静态工具 + 实测包络)配,留 ≥ 20% 余量;ProtectionHook 的反应等级(terminate task / restart App / shutdown)按 ASIL 论证,不拍脑袋。

G6 — 共享库继承 caller 保护上下文:QM 与 ASIL D 共链的 math/util 库在谁调用就在谁的上下文跑,共享静态数据成跨分区写点,stack 溢出向下踩相邻分区。修法:per-OS-App stack + MPU stack guard(越界即 trap);共享库无状态化,或整体按最高 ASIL 开发。

G7 — debug 期禁狗,量产忘恢复:开发 / 刷写阶段外部 WD 常被禁用,量产件配置未恢复 → channel B 整条缺失而功能测试全绿。修法:EOL 下线检查必含"停喂狗必须触发 fail-safe"一条;WD 使能状态进量产配置基线审计。


13. Corner cases

3 条边界条件,平时测不到、出事就是整链失效:

C1 — 上电启动窗竞态:TLF35584 上电即开始跑看门狗(INIT 长开窗),SSW → OS 启动 → WdgM 初始化这条链(叠加 OTA A/B 切换、一次性 NvM 迁移)必须在窗内完成首次服务,否则永远起不来。慢启动超窗的 AoU mismatch 实例见 topic-seooc-engineering-deep §10.3。

C2 — 模式切换后监督参数失配:limp-home / 降功耗模式下任务周期变了,alive expected indications 不跟着切 → 误报 EXPIRED(或反向放松成漏检)。WdgM 规范内建 per-mode 参数集(WdgM_SetMode),用它,别自造"临时关监督"开关——后者十有八九忘了恢复。

C3 — 信号网关重生 E2E:跨网段 signal gateway 重打包会终结并重算 E2E,"端到端"被切成两段,网关内部 corruption 裸露在保护外。要么 PDU 级透传保持一条 E2E 贯穿,要么把网关软件拉进安全边界、按两段分别 claim——审计 routing 配置时盯住"E2E 的终点是不是真的应用端"。


14. 一句话总结

AUTOSAR Safety BSW = ASIL D 软件的硬骨架——WdgM(监督)+ E2E(通信)+ OS SC4(隔离)+ MPU 分区 + CRC 协同,缺一不可;正名三件事:E2E/CRC 是 library、"Safety OS"能力是 SWS Os SC3/SC4 规范内建、标准里没有独立 MPU 驱动。真器件链 TC397 + TLF35584 的最坏 fault reaction 71 ms < FTTI 100 ms,逐段可核;资源量级 ROM 60-180 KB / RAM 15-60 KB / CPU 6-17%(大头是 OS 保护开销)。选型看三样:Safety BSW 认证 + Tool Qualification + Tier-1 量产经验;国产三家 ASIL D 认证已齐,差距在生态与 track record。配置错 = 量产后 ASIL D evidence 失效 = 项目重做。


核心要点

  • 5 大 Safety BSW:WdgM / E2E / Safety OS / MPU 分区 / CRC——E2E 与 CRC 是 library,MPU 归 OS 管(无独立 SWS)
  • WdgM 三类 supervision 正交:alive 数次数、deadline 卡时点、logical 卡顺序;deadline/logical 违规直接 EXPIRED,EXPIRED→STOPPED 容忍窗是留给 freeze frame 的
  • E2E:PRS R23-11 共 10 数据 + 4 method Profile;CAN-FD 定长 ASIL D 主流是 P05(3 B),P04 属 Ethernet 侧;P11/P22 是 P01/P02 的现代替代
  • Safety OS 隔离 = SC3/SC4 规范内建:OS-Application + memory protection + timing protection + trusted function
  • Worked design:TC397(每核 18 DPR + 10 CPR)+ TLF35584(WWD/FWD + SS1/SS2)监督链最坏 71 ms < FTTI 100 ms
  • 资源:ROM 60-180 KB / RAM 15-60 KB / CPU 6-17%,大头是 OS 保护开销不是 CRC;resource usage evaluation 是 26262-6 Table 7 点名项
  • 国产恒润 INTEWORK-EAS / 东软睿驰 NeuSAR cCore / 普华 ORIENTAIS 均已 ASIL D 认证,瓶颈在生态不在证书

缩写表

只列本页用到的工业标准缩写;通用英语…

只列本页用到的工业标准缩写;通用英语 / 单位 / 月份 / 我们的 层/Lx tag 不列。覆盖不到的术语见正文 inline 注释。

缩写全称中文 / 备注
AUTOSARAutomotive Open System Architecture汽车开放系统架构
BSWBasic Software基础软件 (AUTOSAR)
E2EEnd-to-End protection端到端通信保护 (AUTOSAR)
MPUMemory Protection Unit内存保护单元(区域级访问权限硬件 enforce)
ASILAutomotive Safety Integrity LevelISO 26262 安全完整性等级 QM→A→B→C→D
SBCSystem Basis Chip系统基础芯片(电源 + 收发器 + 监控集成)
EVElectric Vehicle电动车
MCALMicrocontroller Abstraction Layer微控制器抽象层 (AUTOSAR)
PWMPulse Width Modulation脉冲宽度调制
ECUElectronic Control Unit电子控制单元
QMQuality ManagementISO 26262 最低等级,只走质量流程
DCDiagnostic Coverage诊断覆盖率 (功能安全语境)
SWS / PRSSoftware Specification / Protocol Requirements SpecificationAUTOSAR 规范文档类型
SESupervised EntityWdgM 被监督实体
SCScalability ClassAUTOSAR OS 能力等级 SC1-SC4
RTERuntime EnvironmentAUTOSAR 运行时环境
CRCCyclic Redundancy Check循环冗余校验
FFIFreedom From Interference免于干扰 (ISO 26262-6 Annex D)
FTTIFault Tolerant Time Interval容错时间间隔
WWD / FWDWindow / Functional Watchdog窗口 / 功能(Q&A)看门狗
DPR / CPRData / Code Protection RangeTriCore 数据 / 代码保护范围寄存器
WCETWorst-Case Execution Time最坏执行时间
STOSafe Torque Off安全转矩关断(硬件关栅路径)
SMUSafety Management UnitAURIX 安全管理单元(ERR pin 信号源)
Dem / NvMDiagnostic Event Manager / NVRAM Manager故障记录 / 非易失存储模块
PHMPlatform Health ManagementAUTOSAR Adaptive 健康管理(WdgM 对应物)
SEUSingle Event Upset单粒子翻转
AoUAssumptions of Use使用假设 (SEooC 语境)

Cross-references