本文档规定对 GPT 驱动模块的需求。
约束:基础软件模块需求规范的首要范围是非安全相关系统。因此安全需求被赋予中等优先级。
每个需求具有唯一标识符,以前缀"BSW"开头(代表"Basic Software",基础软件)。对于任何评审注释、备注或问题,请参考此唯一 ID 而非章节或页码!
每个模块特定章节包含 BSW 模块的简短功能描述。章节中相同种类的需求按以下标题分组(适用时):
GPT 驱动是微控制器抽象层(Microcontroller Abstraction Layer, MCAL)的一部分。它初始化并控制微控制器的内部通用定时器(General Purpose Timer, GPT)。
GPT 驱动提供以下服务和配置参数:
GPT 驱动能够提供精确与短期的定时。GPT 驱动的一次性或连续中断通知可用于 OS Alarm 服务开销过大的场景。
典型周期时间范围示例为 50µs ... 5 ms。
一些自由运行的向上计数器——所谓的 GPT 预定义定时器(GPT Predef Timers)——被定义。这些定时器具有预定义的滴答持续时间和预定义的位数(物理时间单位与范围)。GPT 预定义定时器由时间服务模块(Time Service)使用。
| 缩略语 | 描述 |
|---|---|
| CS | Chip select(片选) |
| DIO | Digital Input Output(数字输入输出) |
| ECU | Electric Control Unit(电子控制单元) |
| EOL | End Of Line(产线下线);常用于术语'EOL Programming'或'EOL Configuration'(下线编程/配置) |
| ICU | Input Capture Unit(输入捕获单元) |
| MAL | Microcontroller Abstraction Layer 的旧名(已被 MCAL 取代,因为"MAL"是法语词汇,意为"坏") |
| MCAL | Microcontroller Abstraction Layer(微控制器抽象层) |
| MCU | Microcontroller Unit(微控制器单元) |
| MMU | Memory Management Unit(内存管理单元) |
| Master | A device controlling other devices (slaves, see below)(控制其他设备的主设备) |
| Slave | A device being completely controlled by a master device(被主设备完全控制的从设备) |
| 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(工作组) |
| 缩略语 | 描述 |
|---|---|
| STD | Standard(标准) |
| REQ | Requirement(需求) |
| UNINIT | Uninitialized (= not initialized)(未初始化) |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_Gpt_12328 | GPT 驱动应使用 ticks 作为所有与 GPT 定时器通道相关的 API 服务的时间单位 | GPT 驱动应使用 ticks 作为时间单位;物理时间单位与 ticks 之间的转换应属于用户软件 |
| SRS_Gpt_13604 | GPT 驱动应支持特殊自由运行向上计数器(GPT 预定义定时器) | GPT 驱动应支持具有预定义滴答持续时间与位数的预定义定时器;其功能应与 GPT 定时器通道功能分离 |
| SRS_Gpt_13605 | GPT 驱动应支持不同类型的预定义定时器 | 应支持:Timer 1µs 16bit / 1µs 24bit / 1µs 32bit / 100µs 32bit |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_Gpt_12404 | 每个定时器通道应可配置 one-shot/continuous 模式 | One-Shot 模式:达到终值后停止;Continuous 模式:达到终值后自动重启 |
| SRS_Gpt_12114 | 每个定时器通道应以可使用不同时钟源的方式配置 | 应使每个定时器通道可静态配置为使用不同时钟源(若硬件支持) |
| SRS_Gpt_13606 | GPT 驱动应使可静态配置哪些预定义定时器被启用 | 应允许静态启用/禁用 GPT 预定义定时器 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_Gpt_12116 | GPT 驱动应提供将定时器通道反初始化到上电复位状态的功能 | 应提供 Gpt_DeInit() 接口将所有硬件寄存器复位到上电复位状态 |
| ID | 标题 | 描述 |
|---|---|---|
| SRS_Gpt_12117 | GPT 驱动应提供同步读取每个定时器通道当前值的 API | 应(shall)提供 Gpt_GetTimeElapsed() 同步读取服务 |
| SRS_Gpt_12128 | GPT 驱动应提供以特定参数启动定时器的服务 | 参数:定时器通道 + 时间周期(ticks 数) |
| SRS_Gpt_12119 | GPT 驱动应提供停止定时器每个通道的服务 | 应(shall)提供 Gpt_StopTimer() 停止服务 |
| SRS_Gpt_12120 | GPT 驱动应提供每个通道在时间周期到达时的通知 | 应(shall)提供每个通道的通知回调(静态可配置) |
| SRS_Gpt_12121 | GPT 驱动应提供运行时启用通知函数的功能 | 应(shall)提供 Gpt_EnableNotification() 启用通知 |
| SRS_Gpt_12122 | GPT 驱动应提供运行时禁用通知函数的功能 | 应(shall)提供 Gpt_DisableNotification() 禁用通知 |
| SRS_Gpt_13601 | GPT 驱动应能在预定义唤醒周期到期时执行唤醒事件 | 仅在硬件支持时可用 |
| SRS_Gpt_13602 | GPT 驱动应提供启用/禁用单定时器通道唤醒能力的服务 | 应(shall)提供 Gpt_EnableWakeup()/DisableWakeup() |
| SRS_Gpt_13603 | GPT 驱动应提供选择唤醒模式的服务 | Normal 模式(强制):所有通知可用;Wake-up 模式:仅唤醒通知可用 |
| SRS_Gpt_13607 | GPT 预定义定时器应被 GPT 驱动自动启动/停止 | 确保所有启用的预定义定时器在可能时运行 |
| SRS_Gpt_13608 | GPT 驱动应提供同步读取每个预定义定时器当前值的 API | 应(shall)提供 Gpt_GetPredefTimerValue() 同步服务 |
无。
| RS_BRF 需求 | 描述 | 由 SRS_Gpt 满足 |
|---|---|---|
| RS_BRF_01056 | AUTOSAR BSW 模块应提供标准化接口 | 12116, 12117, 12119, 12121, 12122, 12128, 13602, 13603, 13608 |
| RS_BRF_01064 | AUTOSAR BSW 应提供回调函数以访问上层模块 | 12120, 12121, 12122 |
| RS_BRF_01104 | AUTOSAR 应支持 ECU 与总线的睡眠与唤醒 | 13601, 13602, 13603 |
| RS_BRF_01448 | AUTOSAR 服务应支持模式与状态管理 | 13603 |
| RS_BRF_01468 | AUTOSAR 服务应支持相对时间测量的时间服务 | 13604, 13605, 13606, 13607, 13608 |
| RS_BRF_01472 | AUTOSAR 应支持模式 | 13603 |
| RS_BRF_01904 | AUTOSAR 微控制器抽象应提供对硬件定时器的访问 | 12114, 12116, 12117, 12119, 12120, 12121, 12122, 12128, 12328, 12404, 13601, 13602, 13603, 13604, 13605, 13606, 13607, 13608 |
AUTOSAR_EXP_LayeredSoftwareArchitecture — 分层软件架构AUTOSAR_TR_Glossary — 词汇表AUTOSAR_SRS_BSWGeneral — 基础软件通用需求AUTOSAR_SRS_SPALGeneral — SPAL 通用需求AUTOSAR_TPS_StandardizationTemplate — 软件标准化模板校对轮次:L1 自动校对(2026-06-13)