本文档规定对 MCU 驱动模块的需求。
约束:基础软件模块需求规范的首要范围是非安全相关系统。因此安全需求被赋予中等优先级。
每个需求具有唯一标识符,以前缀"BSW"开头(代表"Basic Software",基础软件)。对于任何评审注释、备注或问题,请参考此唯一 ID 而非章节或页码!
每个模块特定章节包含 BSW 模块的简短功能描述。章节中相同种类的需求按以下标题分组(适用时):功能需求(配置、初始化、正常运行、关闭操作、故障操作)/非功能需求(时序、资源、可用性、输出)。
| 缩略语 | 描述 |
|---|---|
| CS | Chip select(片选) |
| DIO | Digital Input Output(数字输入输出) |
| ECU | Electric Control Unit(电子控制单元) |
| EOL | End Of Line(产线下线) |
| 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(工作组) |
MCU 驱动 [Microcontroller Unit] 提供基础微控制器初始化、下电功能、复位与微控制器特定功能服务(其他 MCAL 软件模块所需)。初始化服务允许在启动代码之外进行灵活且与应用相关的 MCU 初始化(参见下图)。启动代码非常 MCU 特定。本文档中提供的启动代码描述仅作指导,暗示在标准化 MCU 初始化能够启动之前必须考虑的功能。
启动代码流程:STARTUP Code → Reset → Bootloader(需要/不需要)→ MCU driver(在 AUTOSAR 中标准化/不在范围内)→ 额外初始化服务、下电服务、复位服务。
MCU 驱动直接访问微控制器硬件并位于微控制器抽象层(MCAL)。
MCU 驱动特性:
| RS_BRF 需求 | 描述 | 由 SRS_Mcu 满足 |
|---|---|---|
| RS_BRF_00129 | AUTOSAR 应支持数据损坏检测与保护 | 13701 |
| RS_BRF_01064 | AUTOSAR BSW 应提供回调函数以访问上层模块 | 12394 |
| RS_BRF_01096 | AUTOSAR 应支持 ECU 的启动与关闭 | 12331, 12350 |
| RS_BRF_01184 | AUTOSAR 应支持不同的降级方法 | 12268, 12421 |
| RS_BRF_01856 | AUTOSAR 微控制器抽象应提供对内部 MCU 配置的访问 | 12000, 12207, 12208, 12215, 12277, 12336, 12392 |
| RS_BRF_02168 | AUTOSAR 诊断应提供异常操作条件的集中分类与处理 | 12394 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_Mcu_12421 | 低功耗模式配置 | 应(shall)可配置硬件支持的低功耗模式(完全 MCU 特定) |
| SRS_Mcu_12350 | 应允许静态配置启动时初始化的 RAM 段 | MCU 驱动应允许静态配置启动时初始化的 RAM 段 |
| SRS_Mcu_12331 | 应提供初始化已配置 RAM 段内容的服务 | 应(shall)提供 Mcu_InitRamSection() 初始化服务;未配置的 RAM 段不应被修改 |
| SRS_Mcu_12392 | 应提供查询 MCU 内所有 PLL 锁定状态的服务 | 应(shall)提供 Mcu_GetPllStatus() 服务;返回值:Locked / Un-Locked / Unsupported |
| SRS_Mcu_12336 | 应提供激活 PLL 时钟分布到整个 MCU 的服务 | 应(shall)提供 Mcu_DistributePllClock() 服务;仅在 PLL 锁定后执行 |
| SRS_Mcu_12207 | 应配置时钟安全特性 | 应(shall)配置时钟安全特性(若 HW 支持):晶体丢失检测、limp home 模式、错误检测通知 |
| SRS_Mcu_12208 | 应提供初始化 MCU 时钟系统的服务 | 应(shall)提供 Mcu_InitClock() 服务;包括 PLL 因子、PLL 锁定、时钟预分频器 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_Mcu_12000 | 应提供查询标准化复位原因的服务 | 应(shall)提供 Mcu_GetResetReason();标准化原因:Power On / External Hard / Internal Watchdog Timer / Other |
| SRS_Mcu_12215 | 应提供查询原始复位状态的服务 | 应(shall)提供 Mcu_GetRawReset();返回完整、原始、µC 特定的复位信息(用于诊断错误内存存储) |
| SRS_Mcu_12277 | 应提供复位触发函数 | 应(shall)提供 Mcu_PerformReset() 复位触发函数(用于致命错误处理) |
| SRS_Mcu_13701 | 应提供查询 RAM 状态的服务 | 应(shall)提供 Mcu_GetRamState();标准化状态:RAM state valid / invalid(默认) |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_Mcu_12394 | 应提供时钟源失败的通知 | 应(shall)提供时钟生成失败通知回调;不应在启动阶段调用(与 DEM 交互) |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_Mcu_12268 | 应提供激活 MCU 节能模式的服务 | 应(shall)提供 Mcu_SetMode() 服务以激活 µC 节能模式 |
本章 [MCU 驱动] 集中了多种功能类型以解决从 MCU 节能模式或复位恢复后正确初始化的问题。配置工具对于此功能的正确实现非常重要,可能需要成为最终解决方案的一部分。
AUTOSAR_EXP_LayeredSoftwareArchitecture — 分层软件架构AUTOSAR_TR_Glossary — 词汇表AUTOSAR_SRS_BSWGeneral — 基础软件通用需求AUTOSAR_SRS_SPALGeneral — SPAL 通用需求AUTOSAR_TPS_StandardizationTemplate — 软件标准化模板校对轮次:L1 自动校对(2026-06-13)