本文档规定对基础软件模块(BSW)的以下软件层的通用需求:
这些模块的类型为:
模块选择源自 WP 架构 BSW 模块列表与分层架构。范围包括:
约束:基础软件模块需求规范的首要范围是非安全相关系统。因此安全需求被赋予中等优先级。
应参考现有规范(以单一需求形式)。与这些规范的差异指定为附加需求。
使用 RFC 2119 关键字:MUST/SHALL/REQUIRED(绝对要求)、MUST NOT/SHALL NOT(绝对禁止)、SHOULD/RECOMMENDED(推荐)、SHOULD NOT(不推荐)、MAY/OPTIONAL(可选)。
所有需求应(shall)具有以下属性:
每个需求具有唯一标识符,以前缀"BSW"开头。
每章应(shall)以以下方式组织:功能需求(配置/初始化/正常运行/关闭操作/故障操作)/非功能需求(时序/资源使用/可用性/输出)。
| 缩略语 | 描述 |
|---|---|
| CS | Chip Select(片选) |
| DIO | Digital Input Output(数字输入输出) |
| ECU | Electric Control Unit(电子控制单元) |
| ICU | Interrupt Capture Unit(中断捕获单元) |
| MAL | Microcontroller Abstraction Layer 的旧名(已被 MCAL 取代) |
| MCAL | Microcontroller Abstraction Layer(微控制器抽象层) |
| MCU | Microcontroller Unit(微控制器单元) |
| MMU | Memory Management Unit(内存管理单元) |
| Master / Slave | 主/从设备 |
| NMI | Non Maskable Interrupt(不可屏蔽中断) |
| OS | Operating System(操作系统) |
| PLL | Phase Locked Loop(锁相环) |
| PWM | Pulse Width Modulation(脉宽调制) |
| RX | Reception(接收) |
| SPAL | Standard Peripheral Abstraction Layer(标准外设抽象层) |
| SFR | Special Function Register(特殊功能寄存器) |
| RTE | Runtime environment(运行时环境) |
| WP | Work Package(工作组) |
本章包含适用于 MCAL 与 ECU 抽象层所有模块的通用概念性需求(不一定适用于其他层的 BSW 模块)。
列于本文档中的驱动在切换时钟频率时需特别注意。
ECU 状态机定义了多个电源模式(Normal、Stop、Sleep 等),MCAL 驱动应能适配各模式。
ECU 可由多种唤醒源唤醒(reset、watchdog、NMI、interrupt 等),由 MCAL 驱动和/或 MCU 驱动初始化。
驱动应(shall)按定义顺序初始化:禁用全局中断 → 初始化整体寄存器(MCAL 系统模块)→ 初始化所有驱动 → 可启用全局中断。
| RS_BRF 需求 | 描述 | 由 SRS_SPAL 满足 |
|---|---|---|
| RS_BRF_01064 | AUTOSAR BSW 应提供回调函数以访问上层模块 | 00157, 12056 |
| RS_BRF_01096 | AUTOSAR 应支持 ECU 的启动与关闭 | 12057, 12068, 12125, 12163, 12461, 12463 |
| RS_BRF_01104 | AUTOSAR 应支持 ECU 与总线的睡眠与唤醒 | 12067, 12069, 12267 |
| RS_BRF_01152 | AUTOSAR 应支持有限的动态重配置 | 12265 |
| RS_BRF_01440 | AUTOSAR 服务应支持系统诊断功能 | 12064 |
| RS_BRF_01496 | AUTOSAR 应标准化 ECU 退出 SLEEP 模式的事件处理 | 12267 |
| RS_BRF_02168 | AUTOSAR 诊断应提供异常操作条件的集中分类与处理 | 00157, 12064 |
| RS_BRF_02232 | AUTOSAR 应支持带运行时断言检查的开发 | 00157, 12448 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_SPAL_12263 | 应允许链接时配置特定模块参数类型 | 允许在链接时配置:硬件寄存器值、模块内值(如时序)、回调函数 |
| SRS_SPAL_12056 | 应允许静态配置通知机制 | 所有驱动模块应允许静态配置通知机制;回调函数指针不应通过 API 传递 |
| SRS_SPAL_12267 | 唤醒源应由 MCAL 驱动和/或 MCU 驱动初始化 | 可能的唤醒源:reset、watchdog、NMI、interrupt 等 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_SPAL_12057 | 所有驱动模块应实现初始化接口 | 应实现 <Mod>_Init() 初始化服务(初始化模块全局变量与 SFR) |
| SRS_SPAL_12125 | 所有驱动模块应仅初始化已配置的资源 | 未在配置文件中配置的资源不应被修改 |
| SRS_SPAL_12163 | 所有驱动模块应实现反初始化接口 | 应实现 <Mod>_DeInit() 服务(复位 SFR 到默认复位值) |
| SRS_SPAL_12461 | 控制器寄存器初始化的特定规则应适用于所有驱动实现 | 4 条规则:①硬件仅单用时由实现驱动初始化;②I/O 寄存器由 PORT 驱动初始化;③多模块影响非 I/O 寄存器由 MCU 驱动初始化;④一次性写入寄存器由启动代码初始化 |
| SRS_SPAL_12462 | 寄存器初始化设置应被发布 | 驱动实现者应在其文档中发布所有寄存器初始化设置 |
| SRS_SPAL_12463 | 寄存器初始化设置应被组合并转发 | 配置器应组合不同驱动的所有初始化设置并检查一致性;若成功则转发到负责初始化硬件的模块 |
| SRS_SPAL_12068 | MCAL 模块应以定义顺序初始化 | 4 步顺序:禁用全局中断 → 初始化整体寄存器(MCAL 系统模块)→ 初始化所有驱动 → 可启用全局中断 |
| SRS_SPAL_12069 | 所有从唤醒中断唤醒的 SPAL 驱动应报告唤醒原因 | 通过 IO 硬件抽象向 ECU 状态管理器报告;通知在 IO 硬件抽象模块中处理后发送到 EcuM |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_SPAL_00157 | 所有驱动与处理器应实现通知机制 | 4 种机制:轮询、回调函数、默认错误追踪器(DET)错误报告、诊断事件管理器(DEM)事件报告 |
| SRS_SPAL_12169 | 提供不同操作模式的驱动应提供模式选择服务 | 应提供 <Mod>_SetMode() 服务以在不完全反初始化的情况下切换模式 |
| SRS_SPAL_12063 | 所有驱动模块应仅支持原始值模式 | 通过 API 服务传递的值应直接使用,不再进行缩放(缩放是 ECU 抽象层的任务) |
| SRS_SPAL_12075 | 具有随机流能力的驱动应使用应用缓冲区 | 调用方在驱动作业处理期间不应修改数据 |
| SRS_SPAL_12129 | ISR 应负责重置中断标志并调用相应通知函数 | 通知函数可由用户定义,因此不允许直接访问硬件 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_SPAL_12064 | 所有驱动模块应在操作模式改变导致正在运行操作降级时引发错误 | 正在运行的操作应被保持;此错误情况在正确系统设计中不应发生 |
| SRS_SPAL_12448 | 所有驱动模块在开发错误检测后应有特定行为 | 4 步行为:①上报错误到 DET;②跳过所需功能(无动作离开服务);③标准返回值返回 E_NOT_OK;④任意返回值返回 0 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_SPAL_12067 | 所有驱动模块应根据所选操作模式设置唤醒条件 | 应允许启用模块特定的唤醒中断 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_SPAL_12077 | 所有驱动应提供非阻塞实现 | 非阻塞实现指避免长期循环等"不敏感、不协作的处理器时间使用" |
| SRS_SPAL_12078 | 驱动应以最有效的方式编码以节约内存与运行时资源 | 避免资源浪费 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_SPAL_12092 | 驱动的 API 应通过其处理器或管理器访问 | 不允许绕过处理器/管理器直接访问驱动的 API(除非没有处理器/管理器) |
| SRS_SPAL_12265 | 配置数据应保持不变 | 通过 init 函数传递给模块的 init 结构内容应保持不变且在运行时可用(通常位于 ROM) |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_SPAL_12264 | 应提供配置项规范 | SWS 应指定每个配置元素:是否可在编译前/后配置;位置(init 数据结构、配置头文件 *_Cfg.h) |
AUTOSAR_TR_Glossary — 词汇表AUTOSAR_EXP_LayeredSoftwareArchitecture — 分层软件架构AUTOSAR_SRS_BSWGeneral — 基础软件通用需求AUTOSAR_SWS_ECUStateManager — ECU 状态管理器规范AUTOSAR_TPS_StandardizationTemplate — 软件标准化模板无。
校对轮次:L1 自动校对(2026-06-13)