381 lines
15 KiB
Markdown
381 lines
15 KiB
Markdown
# 看门狗驱动需求(Requirements on Watchdog Driver)
|
||
|
||
| 字段 | 内容 |
|
||
|---|---|
|
||
| **文档标题** | 看门狗驱动需求(Requirements on Watchdog Driver) |
|
||
| **文档所有者** | AUTOSAR |
|
||
| **文档责任方** | AUTOSAR |
|
||
| **文档标识号** | 197 |
|
||
| **文档状态** | 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 | 细微修正 / 澄清 / 编辑性变更;详细信息请参考 ChangeDocumentation |
|
||
| 2016-11-30 | 4.3.0 | AUTOSAR Release Management | 新增第 5 章:需求追踪 |
|
||
| 2014-10-31 | 4.2.1 | AUTOSAR Release Management | 编辑性变更 |
|
||
| 2013-10-31 | 4.1.2 | AUTOSAR Administration | ID 重命名;使用标准化模板;将 SRS 需求链接到新特性文档 |
|
||
| 2011-12-22 | 4.0.3 | AUTOSAR Administration | 新增窗口看门狗概念需求 |
|
||
| 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 | 修改"用户建议";新增"修订信息" |
|
||
| 2006-11-28 | 2.1 | AUTOSAR Administration | 法律声明修订 |
|
||
| 2006-05-16 | 2.0 | AUTOSAR Administration | 作为独立文档发布。SRS SPAL V1.0.0 已被拆分为 15 个独立文档,以发布 2.0 |
|
||
| 2005-05-31 | 1.0 | AUTOSAR Administration | 作为 SRS SPAL V1.0.0 的一部分初始发布 |
|
||
|
||
---
|
||
|
||
## 目录(Table of Contents)
|
||
|
||
1. [文档范围](#1-文档范围)
|
||
2. [如何阅读本文档](#2-如何阅读本文档)
|
||
- 2.1 [使用的约定](#21-使用的约定)
|
||
- 2.2 [需求结构](#22-需求结构)
|
||
3. [缩略语与缩写](#3-缩略语与缩写)
|
||
4. [功能概述](#4-功能概述)
|
||
- 4.1 [内部看门狗驱动](#41-内部看门狗驱动)
|
||
- 4.2 [外部看门狗驱动](#42-外部看门狗驱动)
|
||
5. [需求追踪](#5-需求追踪)
|
||
6. [需求规范](#6-需求规范)
|
||
- 6.1 [功能需求](#61-功能需求)
|
||
- 6.2 [非功能需求](#62-非功能需求)
|
||
7. [参考文献](#7-参考文献)
|
||
- 7.1 [AUTOSAR 交付物](#71-autosar-交付物)
|
||
- 7.2 [相关标准与规范](#72-相关标准与规范)
|
||
|
||
---
|
||
|
||
## 1 文档范围
|
||
|
||
本文档规定了看门狗驱动(Watchdog Driver)模块的需求。
|
||
|
||
### 约束
|
||
|
||
基础软件模块需求规范的首要范围是非安全相关系统。因此,安全需求被分配到中等优先级。
|
||
|
||
---
|
||
|
||
## 2 如何阅读本文档
|
||
|
||
每个需求都有其唯一的标识符,以 "BSW"("Basic Software" 的缩写)前缀开头。对于任何审阅注释、评论或问题,请参考此唯一 ID 而不是章节或页码!
|
||
|
||
### 2.1 使用的约定
|
||
|
||
- AUTOSAR 文档中需求的表示遵循 [5] 中指定的表。
|
||
- 在需求中,使用以下特定语义(取自互联网工程任务组 IETF 的征求意见稿 RFC 2119)。
|
||
|
||
本文件中使用的关键字 "MUST"、"MUST NOT"、"REQUIRED"、"SHALL"、"SHALL NOT"、"SHOULD"、"SHOULD NOT"、"RECOMMENDED"、"MAY" 和 "OPTIONAL" 应按照 RFC 2119 中的描述进行解释。请注意,它们所使用文档的需求级别会修改这些词的强制力。
|
||
|
||
- **MUST**:这个词,或术语 "REQUIRED" 或 "SHALL",意味着该定义是规范的绝对要求。
|
||
- **MUST NOT**:这个词组,或词组 "SHALL NOT",意味着该定义是规范的绝对禁止。
|
||
- **SHOULD**:这个词,或形容词 "RECOMMENDED",意味着在特定情况下可能存在忽略特定条目的有效理由,但在选择不同方案之前必须充分理解并仔细权衡其全部含义。
|
||
- **SHOULD NOT**:这个词组,或词组 "NOT RECOMMENDED",意味着在特定情况下特定行为可能是可接受的甚至是有用的,但在实现任何带有此标签描述的行为之前,应理解其全部含义并仔细权衡该情况。
|
||
- **MAY**:这个词,或形容词 "OPTIONAL",意味着某个项目是真正可选的。一个供应商可能选择包含该项目,因为特定市场需要它或因为供应商认为它增强了产品,而另一个供应商可能省略同一项目。不包含特定选项的实现必须准备好与包含该选项的另一个实现互操作,尽管可能具有降低的功能。同样,包含特定选项的实现必须准备好与不包含该选项的另一个实现互操作(当然,除了该选项提供的功能之外)。
|
||
|
||
### 2.2 需求结构
|
||
|
||
每个模块特定章节包含基础软件模块的简短功能描述。每章中相同类型的需求按以下标题分组(如果适用):
|
||
|
||
**功能需求**:
|
||
- 配置(模块的哪些元素需要可配置)
|
||
- 初始化
|
||
- 正常运行
|
||
- 关闭操作
|
||
- 故障操作
|
||
- ...
|
||
|
||
**非功能需求**:
|
||
- 时序需求
|
||
- 资源使用
|
||
- 可用性
|
||
- 其他工作包的输出(例如描述模板、工具...)
|
||
- ...
|
||
|
||
---
|
||
|
||
## 3 缩略语与缩写
|
||
|
||
具有局部作用域的缩略语和缩写不包含在 AUTOSAR 词汇表中。这些必须出现在本地词汇表中。
|
||
|
||
| 缩写 / 首字母缩略词 | 描述 |
|
||
|---|---|
|
||
| CS | Chip select(片选) |
|
||
| DIO | Digital Input Output(数字输入输出) |
|
||
| ECU | Electric Control Unit(电子控制单元) |
|
||
| EOL | End Of Line(生产线末端),通常用于术语 "EOL Programming" 或 "EOL Configuration" |
|
||
| HIS | Herstellerinitiative Software(德国汽车制造商软件标准化倡议) |
|
||
| ICU | Interrupt Capture Unit(中断捕获单元) |
|
||
| MAL | 旧名称为 Microcontroller Abstraction Layer(由 MCAL 取代,因为 'MAL' 在法语中意为 "bad") |
|
||
| 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 | 该工作组的名称 |
|
||
| SFR | Special Function Register(特殊功能寄存器) |
|
||
| RTE | Runtime environment(运行时环境) |
|
||
| WP | Work Package(工作包) |
|
||
| STD | Standard(标准) |
|
||
| REQ | Requirement(需求) |
|
||
| UNINIT | Uninitialized(未初始化) |
|
||
|
||
由于这是专业人员的文档,因此所有其他术语都假定已知。
|
||
|
||
---
|
||
|
||
## 4 功能概述
|
||
|
||
### 4.1 内部看门狗驱动
|
||
|
||
内部看门狗驱动控制 MCU 的内部看门狗定时器。它提供触发功能和模式选择服务。
|
||
|
||
### 4.2 外部看门狗驱动
|
||
|
||
外部看门狗驱动控制外部硬件看门狗。它提供触发功能和模式选择服务。它与内部看门狗驱动具有相同的功能范围。
|
||
|
||
---
|
||
|
||
## 5 需求追踪
|
||
|
||
| 需求 | 描述 | 由以下需求满足 |
|
||
|---|---|---|
|
||
| `RS_BRF_01008` | AUTOSAR 应将硬件相关层组织为微控制器独立层和微控制器相关层 | `SRS_Wdg_12168` |
|
||
| `RS_BRF_01136` | AUTOSAR 应支持在系统启动后解析已配置 BSW 数据的变体 | `SRS_Wdg_12105` |
|
||
| `RS_BRF_01448` | AUTOSAR 服务应支持模式与状态管理 | `SRS_Wdg_12018` |
|
||
| `RS_BRF_01464` | AUTOSAR 服务应支持看门狗的标准化处理 | `SRS_Wdg_12015`、`SRS_Wdg_12019`、`SRS_Wdg_12106`、`SRS_Wdg_13500` |
|
||
| `RS_BRF_01912` | AUTOSAR 微控制器抽象应提供对 SPI 的访问 | `SRS_Wdg_12166` |
|
||
| `RS_BRF_01936` | AUTOSAR 微控制器抽象应提供对 MCU 内部和外部硬件看门狗的访问 | `SRS_Wdg_12165`、`SRS_Wdg_12167` |
|
||
|
||
---
|
||
|
||
## 6 需求规范
|
||
|
||
### 6.1 功能需求
|
||
|
||
#### 6.1.1 内部看门狗驱动
|
||
|
||
##### 6.1.1.1 配置
|
||
|
||
###### 6.1.1.1.1 [SRS_Wdg_12015] 看门狗驱动应允许静态配置看门狗模式
|
||
|
||
> **类型**:Valid(有效)
|
||
>
|
||
> **描述**:看门狗驱动应允许静态配置看门狗模式。看门狗模式至少应包括所需的看门狗周期。可以添加任何 MCU 特定参数。
|
||
> 进一步说明:每个看门狗模式具有相同的参数集,值会有所不同。
|
||
>
|
||
> **基本原理**:用于模式切换。
|
||
>
|
||
> **用例**:其他模式参数可以是:
|
||
> - window / timeout 模式的选择
|
||
> - 超时反应(reset 或 NMI)
|
||
>
|
||
> **依赖性**:[SRS_Wdg_12018] 看门狗模式选择服务
|
||
>
|
||
> **支持材料**:BMW 规范 MCAL V1.0a,REQ MAL31.1.2
|
||
> (`RS_BRF_01464`)
|
||
|
||
##### 6.1.1.2 初始化
|
||
|
||
###### 6.1.1.2.1 [SRS_Wdg_12105] 看门狗驱动应提供允许选择静态配置的看门狗模式之一的初始化服务
|
||
|
||
> **类型**:Valid(有效)
|
||
>
|
||
> **描述**:看门狗驱动应提供允许选择静态配置的看门狗模式之一的初始化服务。
|
||
>
|
||
> **基本原理**:基本功能
|
||
>
|
||
> **用例**:--
|
||
>
|
||
> **依赖性**:--
|
||
>
|
||
> **支持材料**:--
|
||
> (`RS_BRF_01136`)
|
||
|
||
###### 6.1.1.2.2 [SRS_Wdg_12106] 应不可能禁用看门狗
|
||
|
||
> **类型**:Valid(有效)
|
||
>
|
||
> **描述**:看门狗初始化服务和看门狗模式选择服务不得允许禁用看门狗。
|
||
> 此需求仅适用于安全相关系统。因此,此功能应是静态可配置的(通过预处理器开关)。
|
||
>
|
||
> **基本原理**:避免在安全相关 ECU 中存在禁用看门狗的代码序列。
|
||
>
|
||
> **用例**:用于安全相关系统。
|
||
>
|
||
> **依赖性**:--
|
||
>
|
||
> **支持材料**:--
|
||
> (`RS_BRF_01464`)
|
||
|
||
##### 6.1.1.3 正常运行
|
||
|
||
###### 6.1.1.3.1 [SRS_Wdg_12018] 看门狗驱动应提供选择看门狗模式的服务
|
||
|
||
> **类型**:Valid(有效)
|
||
>
|
||
> **描述**:看门狗驱动应提供选择看门狗模式的服务:
|
||
> - Fast 模式(强制)
|
||
> - Slow 模式(可选)
|
||
> - Off(可选)
|
||
>
|
||
> **基本原理**:允许根据 ECU 状态调整看门狗行为。
|
||
>
|
||
> **用例**:允许为启动和运行模式切换不同的超时周期:
|
||
> - ECU 启动模式:Slow 模式(长超时周期)
|
||
> - ECU 运行模式:Fast 模式(短超时周期)
|
||
>
|
||
> **依赖性**:[SRS_Wdg_12015] 看门狗模式的配置
|
||
>
|
||
> **支持材料**:不要求每个微控制器提供所有模式。一些看门狗在设置后不允许模式更改。
|
||
> (`RS_BRF_01448`)
|
||
|
||
###### 6.1.1.3.2 [SRS_Wdg_12019] 看门狗驱动应提供看门狗触发例程
|
||
|
||
> **类型**:Valid(有效)
|
||
>
|
||
> **描述**:看门狗驱动应提供看门狗触发例程。此例程应允许与看门狗设备进行数据交换(双向)。
|
||
>
|
||
> **基本原理**:基本功能
|
||
>
|
||
> **用例**:只要看门狗触发条件有效,此例程应重新触发看门狗以防止其过期。数据交换可用于提供密码机制的复杂看门狗(例如用于安全相关系统)。
|
||
>
|
||
> **依赖性**:--
|
||
>
|
||
> **支持材料**:窗口看门狗概念(Windowed Watchdog Concept)
|
||
> (`RS_BRF_01464`)
|
||
|
||
###### 6.1.1.3.3 [SRS_Wdg_13500] 看门狗驱动应提供用于设置看门狗触发条件的服务
|
||
|
||
> **类型**:Valid(有效)
|
||
>
|
||
> **描述**:看门狗驱动应提供用于设置看门狗触发条件的服务。
|
||
>
|
||
> **基本原理**:基本功能
|
||
>
|
||
> **用例**:看门狗接口模块应使用此服务(重新)设置看门狗驱动的触发条件。
|
||
>
|
||
> **依赖性**:--
|
||
>
|
||
> **支持材料**:窗口看门狗概念(Windowed Watchdog Concept)
|
||
> (`RS_BRF_01464`)
|
||
|
||
##### 6.1.1.4 关闭操作
|
||
|
||
由于安全原因以及大多数看门狗不允许停用,因此看门狗驱动不提供 Deinit 函数。因此,[SRS_SPAL_12163] 驱动模块反初始化对此模块无效。
|
||
|
||
#### 6.1.2 外部看门狗驱动
|
||
|
||
##### 6.1.2.1 通用
|
||
|
||
###### 6.1.2.1.1 [SRS_Wdg_12165] 对于外部看门狗驱动,应适用与内部看门狗驱动相同的需求
|
||
|
||
> **类型**:Valid(有效)
|
||
>
|
||
> **描述**:对于外部看门狗驱动,应适用与内部看门狗驱动相同的需求。
|
||
>
|
||
> **基本原理**:内部和外部看门狗之间没有功能差异。保持功能范围相同。
|
||
>
|
||
> **用例**:--
|
||
>
|
||
> **依赖性**:内部看门狗驱动的需求
|
||
>
|
||
> **支持材料**:--
|
||
> (`RS_BRF_01936`)
|
||
|
||
##### 6.1.2.2 配置
|
||
|
||
###### 6.1.2.2.1 [SRS_Wdg_12166] 外部 SPI 看门狗的驱动应允许静态配置所需的 SPI 参数
|
||
|
||
> **类型**:Valid(有效)
|
||
>
|
||
> **描述**:外部 SPI 看门狗的驱动应允许静态配置所需的 SPI 参数。
|
||
> 这些参数由 SPI Handler 规范指定。
|
||
>
|
||
> **基本原理**:SPI 访问的基本配置
|
||
>
|
||
> **用例**:在同一 SPI 总线上与其他 SPI 设备驱动一起使用 SPI 看门狗驱动。
|
||
>
|
||
> **依赖性**:--
|
||
>
|
||
> **支持材料**:AUTOSAR SWS SPI Handler
|
||
> (`RS_BRF_01912`)
|
||
|
||
### 6.2 非功能需求
|
||
|
||
#### 6.2.1 外部看门狗驱动
|
||
|
||
##### 6.2.1.1 [SRS_Wdg_12167] 外部看门狗驱动应具有与内部看门狗驱动语义相同的 API
|
||
|
||
> **类型**:Valid(有效)
|
||
>
|
||
> **描述**:外部看门狗驱动应具有与内部看门狗驱动语义相同的 API。
|
||
>
|
||
> **基本原理**:便于通过看门狗管理器控制看门狗。保持内部和外部看门狗的处理相似。
|
||
>
|
||
> **用例**:将相同的看门狗管理器用于内部或外部看门狗驱动。
|
||
>
|
||
> **依赖性**:--
|
||
>
|
||
> **支持材料**:--
|
||
> (`RS_BRF_01936`)
|
||
|
||
##### 6.2.1.2 [SRS_Wdg_12168] 外部看门狗驱动的源代码应独立于底层微控制器
|
||
|
||
> **类型**:Valid(有效)
|
||
>
|
||
> **描述**:外部看门狗驱动的源代码应独立于底层微控制器。
|
||
>
|
||
> **基本原理**:跨多个微控制器复用外部看门狗驱动
|
||
>
|
||
> **用例**:示例:使用标准化的 SPI Handler 接口,无需任何修改即可在 NEC V850 和 Renesas M16C 上使用相同的外部 SPI 看门狗设备驱动。
|
||
>
|
||
> **依赖性**:--
|
||
>
|
||
> **支持材料**:--
|
||
> (`RS_BRF_01008`)
|
||
|
||
---
|
||
|
||
## 7 参考文献
|
||
|
||
### 7.1 AUTOSAR 交付物
|
||
|
||
- **[1]** List of Basic Software Modules
|
||
`AUTOSAR_TR_BSWModuleList.pdf`
|
||
- **[2]** Layered Software Architecture
|
||
`AUTOSAR_EXP_LayeredSoftwareArchitecture.pdf`
|
||
- **[3]** General Requirements on Basic Software Modules
|
||
`AUTOSAR_SRS_BSWGeneral.pdf`
|
||
- **[4]** General Requirements on SPAL
|
||
`AUTOSAR_SRS_SPALGeneral.pdf`
|
||
- **[5]** Software Standardization Template
|
||
`AUTOSAR_TPS_StandardizationTemplate.pdf`
|
||
|
||
### 7.2 相关标准与规范
|
||
|
||
不适用(NA)。
|
||
|
||
---
|
||
|
||
## 翻译说明
|
||
|
||
- **翻译完整性**:本文档为 AUTOSAR 看门狗驱动需求规范(SRS)的中文翻译版本,完整翻译了 1-7 章全部内容。
|
||
- **保留的英文术语**:所有需求 ID(`SRS_Wdg_xxxxx`、`RS_BRF_xxxxx`、`SRS_SPAL_xxxxx`)、模块缩写(MCAL、ECU、SPI、NMI、RTE、SPAL)、RFC 2119 关键字(MUST、SHALL 等)、AUTOSAR 方框符 `⌈⌋` 均按要求保留为英文。
|
||
- **省略的内容**:免责声明(Disclaimer)按要求未翻译。
|
||
- **关键概念**:
|
||
- 内部看门狗驱动(MCAL 层)和外部看门狗驱动(板载设备抽象层)共享相同的功能范围和 API。
|
||
- 三种看门狗模式:**Fast**(强制)、**Slow**(可选)、**Off**(可选)。
|
||
- **Off 模式禁用**可静态配置,用于安全相关系统(避免 ECU 中存在禁用看门狗的代码序列)。
|
||
- **窗口看门狗概念**(Windowed Watchdog Concept)用于支持更严格的时序约束。 |