时间服务需求(Requirements on Time Service)

📄 文档 ID:623 🏷 类型:SRS(软件需求规范) 📅 版本:AUTOSAR CP 4.4.0 📑 页数:13 📌 状态:Final 🔗 原 PDF:AUTOSAR_SRS_TimeService.pdf

目录

1 文档范围(Scope of Document)

本规范定义了 BSW 模块时间服务(Time Service)的需求。

约束:基础软件模块需求规范的首要范围是非安全相关的系统。对于安全相关系统中基础软件模块的实现,应当检查是否需要附加需求。

2 约定(Conventions to be used)

AUTOSAR 文档中的需求表示遵循 [1] 中指定的表格。在需求中,使用以下特定语义(基于 IETF RFC 2119):

3 功能概述(Functional Overview)

时间服务(Time Service)模块是服务层的一部分。该模块提供基于时间的功能服务。用例包括:

如果硬件支持且通过配置启用,可使用多种"定时器类型"——即所谓的"时间服务预定义定时器"(Time Service Predef Timers)

每个预定义定时器具有预定义的刻度时长(物理时间单位)和预定义的位数(物理范围)。由此,确保了所有支持所需时间服务预定义定时器的平台之间基于时间的功能兼容性

时间服务预定义定时器基于所谓的"GPT 预定义定时器"(GPT Predef Timers),即由 GPT 驱动提供的自由运行硬件定时器

所有服务都由用户轮询调用。不支持通知机制。

时间服务模块不使用也不分发GPT 驱动的所有功能。时间服务模块不是"定时器栈"的顶层。

4 缩略语、缩写与术语(Acronyms, abbreviations and terms)

缩略语 / 术语英文说明
GPT Predef TimerGPT Predefined Timer由 GPT 驱动提供的自由运行向上计数器。哪些 GPT Predef Timer 可用取决于硬件(时钟、硬件定时器、预分频器、定时器寄存器宽度等)和配置。GPT Predef Timer 具有预定义的物理时间单位和范围。
Time Service Predef TimerTime Service Predefined Timer具有预定义物理时间单位和范围的自由运行向上计数器。硬件定时器功能基于相应的 GPT Predef Timer。对于每个预定义定时器,时间服务模块提供一组 API 服务。用户可以实例化任意数量的定时器(仅受可用内存限制)并彼此独立使用这些实例。
Timer instance定时器实例定时器实例是 API 数据类型的数据对象。
Reference time参考时间参考时间是为每个定时器实例存储的时间值。

5 需求追溯(Requirements Tracing)

需求描述由以下 SRS 满足
RS_BRF_01056AUTOSAR BSW 模块应当提供标准化接口。SRS_Tm_00004SRS_Tm_00005SRS_Tm_00006SRS_Tm_00007SRS_Tm_00008
RS_BRF_01408AUTOSAR 应当提供可从每个基础软件层访问的服务层。SRS_Tm_00001SRS_Tm_00002SRS_Tm_00003SRS_Tm_00004SRS_Tm_00005SRS_Tm_00006SRS_Tm_00007SRS_Tm_00008
RS_BRF_01468AUTOSAR 服务应当支持用于相对时间测量的时间服务。SRS_Tm_00001SRS_Tm_00002SRS_Tm_00003SRS_Tm_00004SRS_Tm_00005SRS_Tm_00006SRS_Tm_00007SRS_Tm_00008

6 需求规范(Requirements Specification)

6.1 功能需求(Functional Requirements)

6.1.1 通用(General)

[SRS_Tm_00001] 时间服务模块应当支持不同类型的预定义定时器。

类型Valid
描述时间服务模块应当支持以下类型的预定义定时器:
  • 定时器 1µs16bit
  • 定时器 1µs24bit
  • 定时器 1µs32bit
  • 定时器 100µs32bit
理由1µs:高分辨率定时器。
16bit 定时器:支持 16bit 硬件定时器。
24bit 定时器:支持 24bit 硬件定时器。
32bit 定时器:支持 32bit 硬件定时器。
100µs32bit 定时器:覆盖汽车用例(时间跨度 4.9 天)。
用例时间测量、基于时间的状态机、超时监控、忙等待。
依赖[SRS_BSW_00343] 时间的规范与配置
支持材料
满足RS_BRF_01408RS_BRF_01468

[SRS_Tm_00002] GPT 预定义定时器应当用作时间服务模块预定义定时器的时间基准。

类型Valid
描述GPT 预定义定时器应当用作时间服务模块预定义定时器的时间基准。
理由时间服务模块必须使用驱动模块进行硬件访问。
用例读取当前定时器值。
依赖
支持材料
满足RS_BRF_01408RS_BRF_01468

6.1.2 配置(Configuration)

[SRS_Tm_00003] 时间服务模块应当能够配置启用哪些预定义定时器。

类型Valid
描述时间服务模块应当能够配置启用哪些预定义定时器。对于每个启用的预定义定时器,应当提供一组 API 服务:
  • 复位定时器
  • 获取时间跨度
  • 平移定时器
  • 同步定时器
  • 忙等待(仅 1µs 定时器)
理由在不需要时禁用预定义定时器,或当相关 GPT Predef Timer 不可用时。
用例
依赖
支持材料
满足RS_BRF_01408RS_BRF_01468

6.1.3 初始化(Initialization)

(无具体需求,参见 SRS_BSWGeneral 中的初始化通用需求)

6.1.4 正常运行(Normal Operation)

[SRS_Tm_00004] 时间服务模块应当提供一个用于复位定时器实例的同步服务。

类型Valid
描述时间服务模块应当为每个启用的预定义定时器提供一个同步服务,用于复位定时器实例。通过此服务设置参考时间,这是后续服务所需的。该服务应当具有以下参数:
  • 指向用户定义的定时器实例的指针
理由基本功能。出于性能原因,每个预定义定时器都需要此服务。使用指针(而不是标识符)来引用定时器实例,以避免对时间服务模块的用户相关配置。因此,该服务可以像库服务一样灵活使用。
用例时间测量、基于时间的状态机、超时监控、忙等待。
依赖
支持材料
满足RS_BRF_01408RS_BRF_01056RS_BRF_01468

[SRS_Tm_00005] 时间服务模块应当提供一个用于获取时间跨度的同步服务。

类型Valid
描述时间服务模块应当为每个启用的预定义定时器提供一个同步服务,用于获取时间跨度。时间跨度是参考时间与当前时刻之间的时间差。该服务应当具有以下参数:
  • 指向用户定义的定时器实例的指针
理由基本功能。出于性能原因,每个预定义定时器都需要此服务。使用指针(而不是标识符)来引用定时器实例,以避免对时间服务模块的用户相关配置。因此,该服务可以像库服务一样灵活使用。
用例时间测量、基于时间的状态机、超时监控、忙等待。
依赖
支持材料
满足RS_BRF_01408RS_BRF_01056RS_BRF_01468

[SRS_Tm_00006] 时间服务模块应当提供一个用于平移定时器实例参考时间的同步服务。

类型Valid
描述时间服务模块应当为每个启用的预定义定时器提供一个同步服务,用于平移定时器实例的参考时间。平移意味着将一个时间值添加到参考时间以获得新的参考时间。该服务应当具有以下参数:
  • 指向用户定义的定时器实例的指针
  • 要添加到参考时间的时间值
理由扩展功能。出于性能原因,每个预定义定时器都需要此服务。使用指针(而不是标识符)来引用定时器实例,以避免对时间服务模块的用户相关配置。因此,该服务可以像库服务一样灵活使用。
用例在不损失精度的情况下测量软件可运行体的周期时间。
依赖
支持材料
满足RS_BRF_01408RS_BRF_01056RS_BRF_01468

[SRS_Tm_00007] 时间服务模块应当提供一个用于同步两个定时器实例的同步服务。

类型Valid
描述时间服务模块应当为每个启用的预定义定时器提供一个同步服务,用于同步两个定时器实例。同步意味着将定时器实例"目标"的参考时间设置为定时器实例"源"的参考时间。该服务应当具有以下参数:
  • 指向用户定义的目标定时器实例的指针
  • 指向用户定义的源定时器实例的指针
理由扩展功能。出于性能原因,每个预定义定时器都需要此服务。使用指针(而不是标识符)来引用定时器实例,以避免对时间服务模块的用户相关配置。因此,该服务可以像库服务一样灵活使用。
用例测量与同一参考时间相关的不同时间戳(例如某些任务的首次调用)。
依赖
支持材料
满足RS_BRF_01408RS_BRF_01056RS_BRF_01468

[SRS_Tm_00008] 时间服务模块应当提供一个刻度时长为 1µs 的同步服务,用于通过轮询执行忙等待。

类型Valid
描述时间服务模块应当为每个启用的预定义定时器提供刻度时长为 1µs 的同步服务,用于通过轮询执行忙等待(主动等待)。等待时间应当限制为 8 位(255µs),以防止长时间阻塞代码执行。不应当禁用中断,这意味着实际等待时间可能大于期望的等待时间。 该服务应当具有以下参数:
  • 最小等待时间
理由扩展功能。出于性能原因,每个 1µs 预定义定时器都需要此服务。该服务可以像库服务一样灵活使用。
降低用户软件层面错误实现忙等待的风险。
确保正确的等待时间,与以下因素无关:
  • CPU 速度
  • 流水线效应
  • 缓存效应
  • 内存访问时间(总线宽度、等待状态等)
  • 编译器版本、编译器选项、编译器优化
用例驱动的实现(硬件相关的等待时间)。
依赖
支持材料
满足RS_BRF_01408RS_BRF_01056RS_BRF_01468

7 参考资料(References)

7.1 AUTOSAR 交付物

📋 校对记录

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