Files
autosar_standard_spec_v4.4/IO/AUTOSAR_SRS_PWMDriver.md
T

21 KiB
Raw Blame History

PWM 驱动需求(Requirements on PWM Driver

AUTOSAR CP Release 4.4.0

文档元信息

字段 内容
文档标题 PWM 驱动需求(Requirements on PWM Driver
文档所有者 AUTOSAR
文档责任方 AUTOSAR
文档标识号 113
文档状态 Final(最终版)
所属 AUTOSAR 标准 Classic Platform(经典平台)
所属标准版本 4.4.0

文档变更历史(Document Change History

日期 版本 变更人 变更描述
2018-10-31 4.4.0 AUTOSAR Release Management 编辑性变更
2017-12-08 4.3.1 AUTOSAR Release Management 编辑性变更
2016-11-30 4.3.0 AUTOSAR Release Management 新增需求追踪章节
2015-07-31 4.2.2 AUTOSAR Release Management 编辑性变更
2014-10-31 4.2.1 AUTOSAR Release Management 编辑性变更
2013-10-31 4.1.2 AUTOSAR Release Management 编辑性变更
2013-03-15 4.1.1 AUTOSAR Administration 新增支持 ECU 降级概念的需求;新增到新功能文档的链接
2010-09-30 3.1.5 AUTOSAR Administration 法律声明修订
2008-08-13 3.1.1 AUTOSAR Administration 法律声明修订
2007-12-21 3.0.1 AUTOSAR Administration 扩展文档元信息;小幅布局调整
2007-01-24 2.1.15 AUTOSAR Administration 修改 "SRS_Pwm_12379 PWM 通道组频率" 以支持独立 PWM 频率;与软件同步占空比描述;法律声明修订;"用户建议" 修订;"修订信息" 新增
2006-05-16 2.0 AUTOSAR Administration 作为独立文档发布。SRS SPAL V1.0.0 已被拆分为 12 个独立文档,以发布 2.0;模块配置修改
2005-05-31 1.0 AUTOSAR Administration 作为 SRS SPAL V1.0.0 的一部分初始发布

目录(Table of Contents

  1. 文档范围(Scope of Document
  2. 如何阅读本文档(How to read this document
  3. 功能概述(Functional Overview
  4. 缩略语与缩写(Acronyms and abbreviations
  5. 需求追踪(Requirements Tracing
  6. 需求规范(Requirement Specification
  7. 相关文档(Related Documentation

1 文档范围(Scope of Document

本文档规定了 PWM 驱动模块的需求。

约束(Constraints

基础软件模块需求规范的首要范围是非安全相关系统。因此,安全需求被分配到中等优先级。


2 如何阅读本文档(How to read this document

每个需求都有其唯一的标识符,以 "BSW""Basic Software" 的缩写)前缀开头。对于任何审阅注释、评论或问题,请参考此唯一 ID 而不是章节或页码!

2.1 使用的约定(Conventions used

  • AUTOSAR 文档中需求的表示遵循 [5] 中指定的表。
  • 在需求中,使用以下特定语义。

本文件中使用的关键字 "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY" 和 "OPTIONAL" 应按照所示进行解释。请注意,它们所使用文档的需求级别会修改这些词的强制力。

  • MUST:这个词,或术语 "REQUIRED" 或 "SHALL",意味着该定义是规范的绝对要求。
  • MUST NOT:这个词组,或词组 "SHALL NOT",意味着该定义是规范的绝对禁止。
  • SHOULD:这个词,或形容词 "RECOMMENDED",意味着在特定情况下可能存在忽略特定条目的有效理由。
  • SHOULD NOT:意味着在特定情况下特定行为可能是可接受的甚至是有用的,但在实现任何带有此标签描述的行为之前,应理解其全部含义并仔细权衡该情况。
  • MAY:这个词,或形容词 "OPTIONAL",意味着某个项目是真正可选的。

2.2 需求结构(Requirements structure

每个模块特定章节包含基础软件模块的简短功能描述。同一类型的需求在每个章节内按以下标题分组(如果适用):

功能需求(Functional Requirements):

  • 配置(Configuration
  • 初始化(Initialisation
  • 正常运行(Normal Operation
  • 关闭操作(Shutdown Operation
  • 故障操作(Fault Operation
  • ...

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

  • 时间需求(Timing Requirements
  • 资源使用(Resource Usage
  • 可用性(Usability
  • 对其他 WP 的输出
  • ...

3 功能概述(Functional Overview

本规范规定了 AUTOSAR 基础软件模块 Pwm 驱动的功能、API 和配置。

每个 PWM 通道链接到属于微控制器的硬件 PWM。PWM 信号的类型(例如中心对齐、左对齐等)未在本规范中定义,留给实现。

驱动提供用于初始化和控制微控制器内部 PWM 级(脉宽调制)的服务。PWM 模块生成具有可变脉冲宽度的脉冲。它允许选择占空比和信号周期时间。


4 缩略语与缩写(Acronyms and abbreviations

缩略语 描述
CS 片选(Chip Select
DIO 数字输入输出(Digital Input Output
ECU 电控单元(Electric Control Unit
DMA 直接内存访问(Direct Memory Access
ICU 输入捕获单元(Input Capture Unit
MAL 微控制器抽象层的旧名称(已被 MCAL 取代,因为 'MAL' 在法语中意为 'bad'
MCAL 微控制器抽象层(Microcontroller Abstraction Layer
MCU 微控制器单元(Microcontroller Unit
MISO 主输入从输出(Master Input Slave Output
MMU 内存管理单元(Memory Management Unit
MOSI 主输出从输入(Master Output Slave Input
Master 控制其他设备(从设备)的设备
Slave 完全由主设备控制的设备
NMI 不可屏蔽中断(Non Maskable Interrupt
OS 操作系统(Operating System
PLL 锁相环(Phase Locked Loop
PWM 脉宽调制(Pulse Width Modulation
RX 接收(Reception,在总线通信的上下文中)
SPAL 此工作组名称
SFR 特殊功能寄存器(Special Function Register
RTE 运行时环境(RunTime Environment
缩写 描述
STD 标准(Standard
REQ 需求(Requirement
UNINIT 未初始化(Uninitialized

由于这是面向专业人士的专业文档,其他所有术语均假定为已知。


5 需求追踪(Requirements Tracing

需求 描述 由...满足
RS_BRF_01008 AUTOSAR 应将硬件相关层组织成微控制器独立层和微控制器依赖层 SRS_Pwm_12379
RS_BRF_01096 AUTOSAR 应支持 ECU 的启动和关闭 SRS_Pwm_12380, SRS_Pwm_12381
RS_BRF_01136 AUTOSAR 应支持在系统启动后解析已配置 BSW 数据的变体 SRS_Pwm_12295, SRS_Pwm_12380, SRS_Pwm_12382
RS_BRF_01184 AUTOSAR 应支持不同的降级方法 SRS_Pwm_12460, SRS_Pwm_12461, SRS_Pwm_12462, SRS_Pwm_12463
RS_BRF_01448 AUTOSAR 服务应支持模式和状态管理 SRS_Pwm_12358, SRS_Pwm_12385, SRS_Pwm_12460, SRS_Pwm_12461, SRS_Pwm_12462, SRS_Pwm_12463
RS_BRF_01856 AUTOSAR 微控制器抽象应提供对内部 MCU 配置的访问 SRS_Pwm_12293, SRS_Pwm_12375, SRS_Pwm_12389
RS_BRF_01968 AUTOSAR IO 硬件抽象应支持边沿触发的 I/O 信号 SRS_Pwm_12299
RS_BRF_01992 AUTOSAR IO 硬件抽象应支持频域 I/O 信号 SRS_Pwm_12297, SRS_Pwm_12383, SRS_Pwm_12459
RS_BRF_02200 AUTOSAR 诊断应提供对内部配置和校准数据的外部访问 SRS_Pwm_12378

6 需求规范(Requirement Specification

6.1 功能需求(Functional Requirements

6.1.1 通用(General

6.1.1.1 [SRS_Pwm_12459] PWM 驱动应为占空比提供缩放方案

字段 内容
Type Valid
Description PWM 驱动应为占空比提供以下缩放方案:
- 0 = 0%
- 0x8000 = 100%

0x8000 提供最高分辨率,同时允许使用 16 位值表示 100% 占空比。
Rationale 选择值 0x8000(32768)是因为可以高效地实现以下计算。
Use Case 源代码示例:
AbsoluteDutyCycle = ((uint32)AbsolutePeriodTime * RelativeDutyCycle) >> 15;
Dependencies [SRS_Pwm_12383] 占空比分辨率
Supporting Material --
⌋(RS_BRF_01992)

6.1.1.2 [SRS_Pwm_12383] PWM 驱动应提供 16 位接口以设置占空比

字段 内容
Type Valid
Description PWM 驱动应提供 16 位接口以设置占空比。
Rationale --
Use Case --
Dependencies 占空比始终是信号的有效电平(高或低,取决于空闲电平配置,请参见 [SRS_Pwm_12293]
Supporting Material --
⌋(RS_BRF_01992)

6.1.2 配置(Configuration

6.1.2.1 [SRS_Pwm_12375] PWM 驱动应允许对 PWM 通道数进行模块范围配置

字段 内容
Type Valid
Description PWM 驱动应允许对以下参数进行模块范围配置:
- PWM 通道数
Rationale 基本配置
Use Case --
Dependencies --
Supporting Material --
⌋(RS_BRF_01856)

6.1.2.2 [SRS_Pwm_12293] PWM 驱动应允许对 PWM 通道属性进行静态配置

字段 内容
Type Valid
Description PWM 驱动应允许对每个 PWM 通道的以下选项进行静态配置。
强制参数:
- 已分配的硬件通道
- 默认周期值
- 默认占空比值
- 极性(高或低)
- 空闲状态(占空比 = 0%)高或低
- 通道类型:
- 固定周期
- 固定周期、移相(如果硬件支持)
- 可变周期

可选参数(如果硬件支持):
- 通道相位偏移
- 相位偏移的参考通道
- 微控制器特定通道属性
Rationale 基本通道配置。
Use Case 通道相位偏移:避免 EMC 问题
Dependencies [SRS_Pwm_12383], [SRS_Pwm_12459]
Supporting Material --
⌋(RS_BRF_01856)

6.1.2.3 [SRS_Pwm_12378] PWM 驱动应能为 PWM 信号的每个边沿分配通知

字段 内容
Type Valid
Description PWM 驱动应能为 PWM 信号的每个边沿分配通知。该通知应可静态配置。
Rationale --
Use Case PWM 边沿触发的 ADC 转换
PWM 信号诊断
Dependencies [SRS_Pwm_12299], [SRS_Pwm_12293]
Supporting Material --
⌋(RS_BRF_02200)

6.1.2.4 [SRS_Pwm_12379] 使用相同 MCU 定时器的所有 PWM 通道应具有相同频率或独立频率

字段 内容
Type Valid
Description 使用相同 MCU 定时器的所有 PWM 通道应具有相同频率或独立频率。
Rationale 取决于微控制器硬件,可能并非每个 PWM 通道都有自己的定时器。在这种情况下,PWM 通道必须共享一个定时器。PWM 通道的频率必须与硬件定时器频率相同或独立。配置必须考虑这一点。
Use Case --
Dependencies --
Supporting Material --
⌋(RS_BRF_01008)

6.1.2.5 [SRS_Pwm_12389] PWM 驱动应仅允许对某些 PWM 通道的频率进行静态配置

字段 内容
Type Valid
Description PWM 驱动应仅允许对某些 PWM 通道的频率进行静态配置。
Rationale --
Use Case 某些 PWM 通道的频率在运行时不应可更改
Dependencies [SRS_Pwm_12293] 通道类型的配置
Supporting Material --
⌋(RS_BRF_01856)

6.1.3 初始化(Initialization

6.1.3.1 [SRS_Pwm_12380] 通过初始化 PWM 驱动,所有 PWM 通道都应启动

字段 内容
Type Valid
Description 通过初始化 PWM 驱动,所有 PWM 通道都已启动。
Rationale --
Use Case --
Dependencies --
Supporting Material --
⌋(RS_BRF_01136, RS_BRF_01096)

6.1.3.2 [SRS_Pwm_12381] 通过反初始化 PWM 驱动,所有 PWM 通道都应停止

字段 内容
Type Valid
Description 通过反初始化 PWM 驱动,所有 PWM 通道都已停止。PWM 输出的状态应可配置。
Rationale --
Use Case --
Dependencies [SRS_Pwm_12293] PWM 通道属性配置
Supporting Material --
⌋(RS_BRF_01096)

6.1.4 正常运行(Normal Operation

6.1.4.1 [SRS_Pwm_12295] PWM 驱动应提供设置选定通道占空比的服务

字段 内容
Type Valid
Description PWM 驱动应提供设置选定通道占空比的服务。参数应为:
- PWM 通道
- PWM 占空比(范围:0..100%0% = 反相极性电平,100% = 极性电平,不允许出现尖峰)
Rationale 基本功能。
Use Case --
Dependencies [SRS_Pwm_12459], [SRS_Pwm_12383]
Supporting Material --
⌋(RS_BRF_01136)

6.1.4.2 [SRS_Pwm_12382] PWM 驱动应等到信号周期结束以更新 PWM 信号的占空比

字段 内容
Type Valid
Description PWM 驱动应等到信号周期结束以更新 PWM 信号的占空比。该功能应可配置。
Rationale 占空比在周期内无效。
周期内的占空比变化可能导致输出信号上的不期望伪影(插入一个过短/过长的脉冲)。这被称为"缓冲/非缓冲 PWM 输出操作"Freescale HC08)。缓冲操作(可避免这些不良影响)需要两个寄存器而不是一个。
Use Case --
Dependencies --
Supporting Material --
⌋(RS_BRF_01136)

6.1.4.3 [SRS_Pwm_12358] PWM 驱动应能将所选通道的输出立即设置为给定状态

字段 内容
Type Valid
Description PWM 驱动应能将所选通道的输出立即设置为给定状态。
Rationale 允许禁用 PWM 输出。
Use Case MOSFET 控制的直流电机的制动斜坡:
占空比在斜坡内逐步降低。达到目标制动占空比值(例如 35%)后,通过立即将占空比设置为 0% 来关闭 MOSFET。
Dependencies --
Supporting Material 这应是一个单独的接口
⌋(RS_BRF_01448)

6.1.4.4 [SRS_Pwm_12385] PWM 驱动应提供获取 PWM 通道输出状态的服务

字段 内容
Type Valid
Description PWM 驱动应提供获取 PWM 通道状态(高或低)的服务(如果硬件支持)。
Rationale 允许读回 PWM 的状态以进行诊断。
Use Case 低频 PWM 输出的诊断。
调制时使用轮询进行边沿检测。

Hella 在 2005-02-17 的说明:
功率级连接到 PWM 输出引脚。功率级的诊断输出连接到 ADC 输入引脚。一旦 PWM 输出引脚上出现所请求的电平,就应启动诊断输出的评估。
Dependencies --
Supporting Material --
⌋(RS_BRF_01448)

6.1.4.5 [SRS_Pwm_12297] PWM 驱动应提供设置选定通道周期的服务

字段 内容
Type Valid
Description PWM 驱动应提供设置选定通道周期的服务。参数应为:
- PWM 通道
- PWM 周期
- PWM 占空比

此功能仅适用于配置为"可变周期"通道类型的 PWM 通道。
Rationale PWM 占空比参数对于保持频率和占空比之间的一致性是必要的。否则,当周期有效时有效占空比将发生变化,或者 PWM 驱动将不得不自行重新计算有效占空比。
Use Case - 具有稳定 50% 占空比方波的 Kojak 警报器
- 具有不同频率的 LED 闪烁
Dependencies [SRS_Pwm_12459] PWM 占空比缩放
Supporting Material --
⌋(RS_BRF_01992)

6.1.4.6 [SRS_Pwm_12299] PWM 驱动应允许在运行时启用/禁用 PWM 边沿通知

字段 内容
Type Valid
Description PWM 驱动应允许在运行时启用/禁用 PWM 边沿通知。
Rationale 允许与其他模块同步
Use Case PWM 边沿触发的 ADC 转换
PWM 信号诊断
在单缓冲情况下使用通知更新占空比
Dependencies [SRS_Pwm_12293] PWM 通道属性配置
Supporting Material --
⌋(RS_BRF_01968)

6.1.4.7 [SRS_Pwm_12460] API 应能读取 PWM HW 模块的当前电源状态

字段 内容
Type Valid
Description PWM 驱动应实现允许从 MCAL 模块外部读取 HW 外设当前电源状态的 API。此 API 可由 IoHwAbs 和 CDD SW 组件使用。
Rationale 必须能够收集有关外设当前电源状态的信息;这对于断言外设的实际状态很有用,例如为了知道在给定时刻外设支持哪些操作,或者决定应将其设置为哪个电源状态。
Use Case --
Dependencies --
Supporting Material 概念 n.596 ECU 降级
⌋(RS_BRF_01448, RS_BRF_01184)

6.1.4.8 [SRS_Pwm_12461] API 应能读取 <PWM/ADC> HW 模块的目标电源状态

字段 内容
Type Valid
Description PWM 驱动应实现允许从 MCAL 模块外部读取 HW 外设目标电源状态的 API。此 API 可由 IoHwAbs 和 CDD SW 组件使用。
Rationale 获取有关目标电源状态的信息是必要的,以便了解是否正在执行电源状态转换,以及在肯定的情况下,是哪一个。
Use Case --
Dependencies --
Supporting Material 概念 n.596 ECU 降级
⌋(RS_BRF_01448, RS_BRF_01184)

6.1.4.9 [SRS_Pwm_12462] PWM 驱动应将电源状态设置过程分为两部分

字段 内容
Type Valid
Description PWM 驱动应将电源状态转换序列分为两部分:准备阶段(允许外设进入目标电源状态的预备配置更改)和设置阶段(有效启用有效电源状态)。
Rationale 某些外设可能比其他外设需要更多时间来执行进入给定电源状态所需的所有预备转换。此外,模块之间可能存在一些与硬件相关的依赖关系,需要在能够转换目标外设之前将不同的外设设置为特定的电源状态或硬件配置。
通过将过程分为准备阶段和设置阶段,可以同步不同的外设,使其全部同时进入有效的电源状态,并且还可以协调硬件状态中间转换。
Use Case --
Dependencies --
Supporting Material 概念 n.596 ECU 降级
⌋(RS_BRF_01448, RS_BRF_01184)

6.1.4.10 [SRS_Pwm_12463] 应能选择同步或异步的电源状态转换过程

字段 内容
Type Valid
Description 应能配置同步或异步电源状态转换行为。如果配置了同步行为,则电源转换准备应原子地发生,并且执行它的 SWC 必须等待结果。如果配置了异步行为,则电源转换准备应在请求后在后台进行,并且 MCAL 模块应在完成时通知已注册的 SWC。
Rationale 某些外设可以在可忽略或可接受的时间内准备为有效电源状态,从而可以节省处理通知所需的基础结构,同时阻塞调用者所需的时间。其他外设可能需要更长的时间来准备目标电源状态,在这种情况下,期望通知的 SWC 可以指示不同的模块为电源状态做准备并继续其执行,直到相关 MCAL 模块发出所有通知。
Use Case --
Dependencies --
Supporting Material 概念 n.596 ECU 降级
⌋(RS_BRF_01448, RS_BRF_01184)

6.2 非功能需求(Non-Functional Requirements

6.2.1 [SRS_Pwm_12386] PWM 驱动不应涵盖通用 I/O 上的 PWM 仿真

字段 内容
Type Valid
Description PWM 驱动应仅适用于 MCU 上的 PWM 引脚。
PWM 驱动不应涵盖通用 I/O 上的 PWM 仿真。
Rationale --
Use Case --
Dependencies --
Supporting Material --
⌋()

7 相关文档(Related Documentation

7.1 AUTOSAR 交付物(Deliverables of AUTOSAR

  • [1] 基础软件模块列表,AUTOSAR_TR_BSWModuleList.pdf
  • [2] 分层软件架构,AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf
  • [3] 基础软件模块的一般需求,AUTOSAR_SRS_BSWGeneral.pdf
  • [4] SPAL 的一般需求,AUTOSAR_SRS_SPALGeneral.pdf
  • [5] 软件标准化模板,AUTOSAR_TPS_StandardizationTemplate.pdf

翻译说明

本文档为 AUTOSAR 4.4.0 版本 PWM 驱动软件需求规范的中文翻译。保留了所有需求 ID(SRS_Pwm_xxxxx)、参考标识符及模块缩写。原始文档共 19 页,本翻译涵盖了全部章节内容。