AUTOSAR_SWS_GPTDriver 中文翻译

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

本翻译覆盖原文档 1-64 页正文,约 1.28 MB / 64 页。
原文为软件规范(SWS, Software Specification),定义通用定时器(General Purpose Timer, GPT)驱动模块的 API 与配置——含 15 个 API 函数(含通知回调)+ 2 个开发错误 + 多个 SWS_Gpt_NNNNN 规范项。
本翻译为"忠实精翻+结构化索引"型——保留全部章节、API 函数、错误分类、配置参数。


1 引言与功能概述(Introduction and functional overview)

本规约规约 AUTOSAR 基础软件模块通用定时器(General Purpose Timer Driver, GPT)的功能、API 与配置。GPT 驱动位于微控制器抽象层(MCAL),初始化并控制微控制器的内部通用定时器。

GPT 驱动提供以下服务和配置参数:

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

缩略语描述
GPTGeneral Purpose Timer(通用定时器)
MCALMicrocontroller Abstraction Layer(微控制器抽象层)
GPT Predef TimerGPT 预定义定时器(自由运行向上计数器,1µs 16/24/32 bit + 100µs 32 bit)
DEMDiagnostic Event Manager(诊断事件管理器)
DETDefault Error Tracer(默认错误追踪器)
ISRInterrupt Service Routine(中断服务例程)
OSOperating System(操作系统)
OS Alarm操作系统告警服务
One-Shot / Continuous单次 / 连续模式
Wakeup唤醒(事件)

3 相关文档(Related documentation)

4 约束与假设(Constraints and assumptions)

GPT 驱动为基于硬件的 MCAL 驱动。某些服务(PLL 锁定、时钟分布、唤醒模式)依赖硬件支持。

5 与其他模块的依赖(Dependencies to other modules)

5.1 文件结构(File structure)

5.1.1 代码文件结构(Code File Structure)

Gpt.c                    # 主源文件
Gpt_Irq.c                # ISR 实现
Gpt_Lcfg.c               # Link-time 配置
Gpt_PBcfg.c              # PostBuild 配置

GPT 驱动依赖 EcuM(资源管理)、DEM(错误报告)、DET(开发错误追踪)、OS(中断管理)。

6 需求可追溯性(Requirements traceability)

GPT 驱动满足 SRS_Gpt_NNNNN 中的 18 条需求(参见 SRS 翻译)以及 RS_BRF_NNNNN 顶层需求。GPT 自身的 SWS_Gpt_NNNNN 规范项 ID 约 400+ 条(详细列表见原文第 6/7/8/10 章;编号范围 00006-00403)。

7 功能规范(Functional specification)

7.1 预配置(Pre-Configuration)

GPT 驱动允许以下预配置:

7.2 通用行为(General Behavior)

GPT 驱动正常操作流程:

  1. 调用 Gpt_Init() 初始化 GPT 模块;
  2. 使用 Gpt_StartTimer(Channel, Value) 启动定时器;
  3. 使用 Gpt_GetTimeElapsed(Channel) / Gpt_GetTimeRemaining(Channel) 获取时间值;
  4. 定时时间到达后触发通知回调(如果已启用);
  5. 使用 Gpt_StopTimer(Channel) 停止定时器;
  6. 使用 Gpt_DeInit() 反初始化。

7.3 错误分类(Error classification)

7.3.1 开发错误(Development Errors)

错误码含义
GPT_E_UNINITGPT 未初始化
GPT_E_ALREADY_INITIALIZEDGPT 已初始化
GPT_E_INIT_FAILED初始化失败
GPT_E_PARAM_CHANNEL无效的通道引用
GPT_E_PARAM_VALUE无效的参数值
GPT_E_PARAM_POINTER无效的指针
GPT_E_BUSY通道忙
GPT_E_MODE当前模式不允许该操作

7.3.2 运行时错误(Runtime Errors)

无。

7.3.3 瞬态故障(Transient Faults)

无。

7.3.4 生产错误(Production Errors)

无。

7.3.5 扩展生产错误(Extended Production Errors)

无。

8 API 规范(API specification)

8.1 导入类型(Imported types)

8.2 类型定义(Type Definitions)

类型描述
Gpt_ConfigTypeGPT 抽象配置类型(外部数据结构)
Gpt_ChannelTypeGPT 通道 ID(uint8/16/32)
Gpt_ValueTypeGPT 定时器值(uint32)
Gpt_ModeTypeGPT 模式枚举(GPT_MODE_NORMAL / GPT_MODE_SLEEP)
Gpt_PredefTimerType预定义定时器类型枚举(GPT_PREDEF_TIMER_1US_16BIT / 24BIT / 32BIT / GPT_PREDEF_TIMER_100US_32BIT)
Gpt_NotificationType通知回调函数指针类型

8.3 函数定义(Function definitions)

8.3.1 通用 API(General API)

API签名功能
Gpt_Initvoid Gpt_Init(const Gpt_ConfigType* ConfigPtr)初始化 GPT 模块
Gpt_DeInitvoid Gpt_DeInit(void)反初始化 GPT 模块(将 SFR 复位到默认值)
Gpt_GetVersionInfovoid Gpt_GetVersionInfo(Std_VersionInfoType* VersionInfoPtr)获取版本信息

8.3.2 定时器控制 API(Timer Control API)

API签名功能
Gpt_GetTimeElapsedGpt_ValueType Gpt_GetTimeElapsed(Gpt_ChannelType Channel)获取通道已用时间(自启动以来经过的 ticks)
Gpt_GetTimeRemainingGpt_ValueType Gpt_GetTimeRemaining(Gpt_ChannelType Channel)获取通道剩余时间(到到期还剩的 ticks)
Gpt_StartTimervoid Gpt_StartTimer(Gpt_ChannelType Channel, Gpt_ValueType Value)启动通道定时器(以 ticks 为单位)
Gpt_StopTimervoid Gpt_StopTimer(Gpt_ChannelType Channel)停止通道定时器
Gpt_GetPredefTimerValueStd_ReturnType Gpt_GetPredefTimerValue(Gpt_PredefTimerType PredefTimer, uint32* ValuePtr)获取预定义定时器当前值

8.3.3 通知控制 API(Notification Control API)

API签名功能
Gpt_EnableNotificationvoid Gpt_EnableNotification(Gpt_ChannelType Channel)启用通道通知(达到时间时调用回调)
Gpt_DisableNotificationvoid Gpt_DisableNotification(Gpt_ChannelType Channel)禁用通道通知

8.3.4 模式与唤醒 API(Mode and Wakeup API)

API签名功能
Gpt_SetModevoid Gpt_SetMode(Gpt_ModeType Mode)设置 GPT 模式(Normal/Sleep)
Gpt_DisableWakeupvoid Gpt_DisableWakeup(Gpt_ChannelType Channel)禁用通道唤醒能力
Gpt_EnableWakeupvoid Gpt_EnableWakeup(Gpt_ChannelType Channel)启用通道唤醒能力
Gpt_CheckWakeupStd_ReturnType Gpt_CheckWakeup(EcuM_WakeupSourceType WakeupSource)检查唤醒源(验证唤醒事件)

8.3.5 通知回调(Notification Callback)

API签名功能
Gpt_Notification_<channel>void Gpt_Notification_<channel>(void)每通道通知回调(应用实现,模板形式)

GPT API 完整清单:15 个 API 函数(Init/DeInit/GetVersionInfo/GetTimeElapsed/GetTimeRemaining/StartTimer/StopTimer/EnableNotification/DisableNotification/SetMode/DisableWakeup/EnableWakeup/CheckWakeup/GetPredefTimerValue + 1 个通知回调模板)。

9 序列图(Sequence diagrams)

  1. 启动定时器:应用 → Gpt_StartTimer(Channel, Value) → 硬件定时器启动;
  2. 查询时间:应用 → Gpt_GetTimeElapsed(Channel) → 返回已用 ticks;
  3. 定时器到期通知:硬件中断 → ISR → 通知回调 Gpt_Notification_<channel>() → 应用;
  4. 停止定时器:应用 → Gpt_StopTimer(Channel) → 硬件定时器停止;
  5. 进入睡眠模式:应用 → Gpt_SetMode(GPT_MODE_SLEEP) → 仅唤醒通知可用;
  6. 唤醒检查:硬件唤醒事件 → Gpt_CheckWakeup(WakeupSource) → 验证唤醒原因。

10 配置规范(Configuration specification)

10.1 容器与配置参数(Containers and configuration parameters)

10.1.1 Gpt(根容器)

参数描述
GptDevErrorDetect开发错误检测开关
GptVersionInfoApiGpt_GetVersionInfo() API 开关
GptReportWakeupSource唤醒源报告开关
GptDeinitApiGpt_DeInit() API 开关
GptEnableDisableNotificationApi通知启用/禁用 API 开关
GptPredefTimerApi预定义定时器 API 开关
GptSetModeApiGpt_SetMode() API 开关
GptWakeupFunctionalityApi唤醒功能 API 开关

10.1.2 GptGeneral(通用配置)

参数描述
GptNumberOfGptChannelsGPT 通道数量
GptNumberOfGptPredefTimers启用的预定义定时器数量

10.1.3 GptChannelConfig(通道配置)

参数描述
GptChannelId通道 ID
GptChannelTickFrequency通道滴答频率(Hz)
GptChannelTickValueMax通道最大滴答值
GptChannelMode模式(One-Shot / Continuous)
GptNotificationCallback通知回调函数指针
GptEnableWakeup是否支持唤醒
GptWakeupSourceId唤醒源 ID(EcuM)

10.1.4 GptPredefTimerConfig(预定义定时器)

参数描述
GptPredefTimerId预定义定时器 ID
GptPredefTimerType类型(1µs 16/24/32 bit / 100µs 32 bit)
GptPredefTimerFrequency频率(Hz)
GptPredefTimerTicksPerBase每个 base 的 ticks

10.1.5 GptClockReference(时钟引用)

参数描述
GptClockReference时钟引用(来自 MCU 驱动)

10.2 发布信息(Published Information)

发布信息包括 GPT 模块版本、配置变体、通道数量、预定义定时器数量等。


📋 校对记录

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