AUTOSAR_SRS_SPALGeneral 中文翻译

文档编号:009 | 状态:Final(正式发布) | 发布于:AUTOSAR CP Release 4.4.0(2018-10-31)
所属标准:AUTOSAR Classic Platform 标准 | 文档责任方:AUTOSAR | 保密等级:AUTOSAR CONFIDENTIAL

本翻译覆盖原文档 1-21 页正文,约 580 KB / 21 页。
原文为软件需求规范(SRS, Software Requirements Specification),定义标准外设抽象层(Standard Peripheral Abstraction Layer, SPAL)的通用需求——适用于 MCAL 与 ECU 抽象层所有驱动与处理器(22 条 SRS_SPAL_NNNNN 需求 ID + 8 行 RS_BRF_NNNNN 追溯)。
本翻译为"忠实精翻+结构化索引"型——保留全部章节、需求 ID 编号、配置可追溯性。


1 文档范围(Scope of Document)

本文档规定对基础软件模块(BSW)的以下软件层的通用需求:

这些模块的类型为:

模块选择源自 WP 架构 BSW 模块列表与分层架构。范围包括:

约束:基础软件模块需求规范的首要范围是非安全相关系统。因此安全需求被赋予中等优先级。

需求指南(Requirements Guidelines)

应参考现有规范(以单一需求形式)。与这些规范的差异指定为附加需求。

2.1 使用约定(Conventions Used)

使用 RFC 2119 关键字:MUST/SHALL/REQUIRED(绝对要求)、MUST NOT/SHALL NOT(绝对禁止)、SHOULD/RECOMMENDED(推荐)、SHOULD NOT(不推荐)、MAY/OPTIONAL(可选)。

2.2 需求质量(Requirements quality)

所有需求应(shall)具有以下属性:

2.3 需求标识(Requirements identification)

每个需求具有唯一标识符,以前缀"BSW"开头。

2.4 需求结构(Requirements structure)

每章应(shall)以以下方式组织:功能需求(配置/初始化/正常运行/关闭操作/故障操作)/非功能需求(时序/资源使用/可用性/输出)。

3 缩略语与缩写(Acronyms and abbreviations)

缩略语描述
CSChip Select(片选)
DIODigital Input Output(数字输入输出)
ECUElectric Control Unit(电子控制单元)
ICUInterrupt Capture Unit(中断捕获单元)
MALMicrocontroller Abstraction Layer 的旧名(已被 MCAL 取代)
MCALMicrocontroller Abstraction Layer(微控制器抽象层)
MCUMicrocontroller Unit(微控制器单元)
MMUMemory Management Unit(内存管理单元)
Master / Slave主/从设备
NMINon Maskable Interrupt(不可屏蔽中断)
OSOperating System(操作系统)
PLLPhase Locked Loop(锁相环)
PWMPulse Width Modulation(脉宽调制)
RXReception(接收)
SPALStandard Peripheral Abstraction Layer(标准外设抽象层)
SFRSpecial Function Register(特殊功能寄存器)
RTERuntime environment(运行时环境)
WPWork Package(工作组)

4 概念问题(Conceptual Issues)

4.1 一般规则(General Rules)

本章包含适用于 MCAL 与 ECU 抽象层所有模块的通用概念性需求(不一定适用于其他层的 BSW 模块)。

4.2 不受时钟频率影响的驱动列表(List of drivers not affected by the clock frequency)

列于本文档中的驱动在切换时钟频率时需特别注意。

4.3 MCAL 相关 ECU 电源模式(MCAL relevant ECU Power Modes)

ECU 状态机定义了多个电源模式(Normal、Stop、Sleep 等),MCAL 驱动应能适配各模式。

4.4 唤醒场景(Wake-up Scenarios)

ECU 可由多种唤醒源唤醒(reset、watchdog、NMI、interrupt 等),由 MCAL 驱动和/或 MCU 驱动初始化。

4.5 驱动调度与集成(Scheduling and integration of drivers)

驱动应(shall)按定义顺序初始化:禁用全局中断 → 初始化整体寄存器(MCAL 系统模块)→ 初始化所有驱动 → 可启用全局中断。

5 需求可追溯性(Requirements Tracing)

RS_BRF 需求描述由 SRS_SPAL 满足
RS_BRF_01064AUTOSAR BSW 应提供回调函数以访问上层模块00157, 12056
RS_BRF_01096AUTOSAR 应支持 ECU 的启动与关闭12057, 12068, 12125, 12163, 12461, 12463
RS_BRF_01104AUTOSAR 应支持 ECU 与总线的睡眠与唤醒12067, 12069, 12267
RS_BRF_01152AUTOSAR 应支持有限的动态重配置12265
RS_BRF_01440AUTOSAR 服务应支持系统诊断功能12064
RS_BRF_01496AUTOSAR 应标准化 ECU 退出 SLEEP 模式的事件处理12267
RS_BRF_02168AUTOSAR 诊断应提供异常操作条件的集中分类与处理00157, 12064
RS_BRF_02232AUTOSAR 应支持带运行时断言检查的开发00157, 12448

6 需求规范(Requirement Specification)

6.1 功能需求(Functional Requirements)

6.1.1 通用需求(General Requirements)

配置(Configuration)
ID标题描述
SRS_SPAL_12263应允许链接时配置特定模块参数类型允许在链接时配置:硬件寄存器值、模块内值(如时序)、回调函数
SRS_SPAL_12056应允许静态配置通知机制所有驱动模块应允许静态配置通知机制;回调函数指针不应通过 API 传递
SRS_SPAL_12267唤醒源应由 MCAL 驱动和/或 MCU 驱动初始化可能的唤醒源:reset、watchdog、NMI、interrupt 等
初始化(Initialization)
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_12068MCAL 模块应以定义顺序初始化4 步顺序:禁用全局中断 → 初始化整体寄存器(MCAL 系统模块)→ 初始化所有驱动 → 可启用全局中断
SRS_SPAL_12069所有从唤醒中断唤醒的 SPAL 驱动应报告唤醒原因通过 IO 硬件抽象向 ECU 状态管理器报告;通知在 IO 硬件抽象模块中处理后发送到 EcuM
正常运行(Normal Operation)
ID标题描述
SRS_SPAL_00157所有驱动与处理器应实现通知机制4 种机制:轮询、回调函数、默认错误追踪器(DET)错误报告、诊断事件管理器(DEM)事件报告
SRS_SPAL_12169提供不同操作模式的驱动应提供模式选择服务应提供 <Mod>_SetMode() 服务以在不完全反初始化的情况下切换模式
SRS_SPAL_12063所有驱动模块应仅支持原始值模式通过 API 服务传递的值应直接使用,不再进行缩放(缩放是 ECU 抽象层的任务)
SRS_SPAL_12075具有随机流能力的驱动应使用应用缓冲区调用方在驱动作业处理期间不应修改数据
SRS_SPAL_12129ISR 应负责重置中断标志并调用相应通知函数通知函数可由用户定义,因此不允许直接访问硬件
故障操作(Fault Operation)
ID标题描述
SRS_SPAL_12064所有驱动模块应在操作模式改变导致正在运行操作降级时引发错误正在运行的操作应被保持;此错误情况在正确系统设计中不应发生
SRS_SPAL_12448所有驱动模块在开发错误检测后应有特定行为4 步行为:①上报错误到 DET;②跳过所需功能(无动作离开服务);③标准返回值返回 E_NOT_OK;④任意返回值返回 0
关闭操作(Shutdown Operation)
ID标题描述
SRS_SPAL_12067所有驱动模块应根据所选操作模式设置唤醒条件应允许启用模块特定的唤醒中断

6.2 非功能需求(Non-Functional Requirements)

6.2.1 时序要求(Timing requirements)

ID标题描述
SRS_SPAL_12077所有驱动应提供非阻塞实现非阻塞实现指避免长期循环等"不敏感、不协作的处理器时间使用"
SRS_SPAL_12078驱动应以最有效的方式编码以节约内存与运行时资源避免资源浪费

6.2.2 软件设计要求(Software design requirements)

ID标题描述
SRS_SPAL_12092驱动的 API 应通过其处理器或管理器访问不允许绕过处理器/管理器直接访问驱动的 API(除非没有处理器/管理器)
SRS_SPAL_12265配置数据应保持不变通过 init 函数传递给模块的 init 结构内容应保持不变且在运行时可用(通常位于 ROM)

6.2.3 流程要求(Process requirements)

ID标题描述
SRS_SPAL_12264应提供配置项规范SWS 应指定每个配置元素:是否可在编译前/后配置;位置(init 数据结构、配置头文件 *_Cfg.h)

7 参考文献(References)

7.1 AUTOSAR 交付物(Deliverables of AUTOSAR)

7.2 相关标准与规范(Related standards and norms)

无。


📋 校对记录

校对轮次:L1 自动校对(2026-06-13)