AUTOSAR System Services(系统服务层)
AUTOSAR System Services(系统服务层)
系统服务层是 BSW 中距离用户最近的横向服务层,提供操作系统、看门狗、ECU 状态管理、错误记录、通用可复用基础服务等。它不直接操作具体总线硬件,而是为上层所有模块提供系统级能力。
3.1 主要模块
| 模块 | 全名 | 功能 |
|---|---|---|
| OS | Operating System | 调度(调度任务/Runnables)、中断管理、资源管理(用于 AUTOSAR CP 的 OSEK 派生 OS) |
| WdgM | Watchdog Manager | 看门狗管理器,监督所有死循环/时序 |
| Wdg | Watchdog Driver | MCAL 层的看门狗驱动(如 MCU 内看门狗) |
| EcuM | ECU Manager | ECU 初始化、启动/关闭(OFF/STARTUP/RUN/POST-RUN/SHUTDOWN)等状态管理 |
| ComM | Communication Manager | 通信管理器,协调 NM、PDU、总线状态的切换 |
| Det | Default Error Tracer | 用于记录开发阶段发生的重复/系统错误(Debate 表) |
| Dcm | Diagnostic Communication Manager | 诊断通信管理(处理诊断请求/响应) |
| Dem | Diagnostic Event Manager | 诊断事件管理(记录故障事件) |
| Fim | Function Inhibition Manager | 故障处理(抑制功能) |
| StbM | Start-up Time Base Manager | 同步/基准时间服务 |
| Xcp | Universal Measurement/Calibration | 标定/测量协议(用于 ECU 标定) |
| CSP? | ... | 其他 |
注:对于一些 "系统服务" 用户常把 Dem/Fim/Dcm 单独归到诊断类,但它们本质上也是系统级服务。本页重点介绍 OS、WdgM、EcuM、ComM、Det。
3.2 OS(Operating System)
AUTOSAR CP 的 OS 是基于 OSEK/VDX 扩展而来的实时操作系统,核心能力:
- 调度:
- 基于优先级的抢占式 / 非抢占式调度;
- 任务(Task)与中断(ISR)的优先级管理;
- 调度表(Schedule Table):RTE 用它来周期调度 Runnable。
- 任务类型:
- Basic Task:执行完即结束,可自激活;
- Extended Task:可等待事件(Event / Semaphore)。
- 资源管理 / 资源锁(Spinlock/Resource)与计数器(Counter)。
- Runnable 调度:RTE 通过 OS 调度表(Table entry)触发 SWC 的 Runnable,实现诸如周期 10ms/100ms/1s 的执行。
- 常用 OS API(OSEK/AUTOSAR OS):
ActivateTask、TerminateTask、ScheduleTask、GetResource、ReleaseResource等。
什么时候用 RTE/OS
- 一个 Runnable 通常映射到一个 OS 任务执行上下文:由 RTE 为每个 ECU 构建「RTE 任务」,根据触发(事件/周期)调用 Runnable。
3.3 看门狗(WdgM + Wdg)
看门狗是保障系统不死机/不流程的关键机制:
- Wdg(MCAL):直接控制硬件看门狗(如 MCG、窗口看门狗)。
- WdgM:看门狗管理器,负责任务级别的 "长期看门狗" 概念:
- 每个被监视的实体(如 ISR、Runnable)有一个检查点(Checkpoint);
- 看门狗管理器通过喂狗(Kick/Refresh)、超时监控;若实体超时,则触发复位/错误处理。
WdgM 监控周期:每个 (监控实体) 周期性调用 WdgM 的 supervision 检查,
如果超时 -> 触发 reset 或 DEF-EVENT(进入 Dem 记录)
3.4 EcuM(ECU 管理器)
EcuM 定义了 ECU 的全局状态机和启动/停止时序:
MODE: TRQ off(Power On) -> STARTUP -> RUNNING <-> SLEEP/SHUTDOWN_step
包括:
- 启动序列:上电 -> 初始化(MCAL/BSW)-> 应用运行;
- 关闭序列:关电(休眠之前保存关键数据);
- Sleep/Wakeup 管理:从睡眠切换到唤醒。
3.5 ComM(Communication Manager)
ComM 统一管理各个通信通道(Can/Lin/Eth)的通信状态:
- 三种主要状态:
COMM_FULL_COMMUNICATIONCOMM_SILENT_COMMUNICATIONCOMM_NO_COMMUNICATION
- 通过 BusS/ComM 与 NM、PDU 交互:
- 当请求通信时,ComM 要求 NM 发送网络管理报文(让总线唤醒/保持唤醒);
- 当所有请求释放后,ComM 将总线置入休眠模式。
3.6 错误与开发辅助模块
- Det:默认错误追踪,
Det_ReportError记录模块调用错误(开发阶段)。 - Dem(后续诊断篇)。
- Rte、Crc、Eax:CRC 计算、EcuC 等辅助模块(用于系统级基础设施)。
小结
系统服务层为 ECU 提供了运行的基础设施:OS 决定调度、看门狗保证可靠性、EcuM/ComM 管理生命周期与网络状态、Det/Dem 辅助开发调试。下一节我们深入诊断服务(UDS)。

浙公网安备 33010602011771号