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)ActivateTaskTerminateTaskScheduleTaskGetResourceReleaseResource 等。

什么时候用 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_COMMUNICATION
    • COMM_SILENT_COMMUNICATION
    • COMM_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)

posted @ 2026-08-02 18:56  mengjie_9  阅读(1)  评论(0)    收藏  举报